; LLVM IR from aws/s2n-tls :: tests/unit (s2n_psk_offered_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_debug_info = type { ptr, ptr }
%struct.s2n_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_offered_psk_list = type { ptr, %struct.s2n_stuffer, i16 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_offered_psk = type { %struct.s2n_blob, i16, i32 }
%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_config = type { i32, ptr, ptr, %struct.certs_by_type, %struct.s2n_blob, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, i64, ptr, i64, i64, ptr, ptr, ptr, ptr, ptr, ptr, i32, i8, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i8, i8, %struct.s2n_x509_trust_store, i16, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, i32, ptr, ptr, i32, %struct.s2n_blob }
%struct.certs_by_type = type { [4 x ptr] }
%struct.s2n_x509_trust_store = type { ptr, i8 }
%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 }
%struct.s2n_psk = type { i32, %struct.s2n_blob, %struct.s2n_blob, i32, i32, i64, %struct.s2n_blob, %struct.s2n_early_data_config, i64 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }

@s2n_use_color_in_output = external dso_local global i8, align 1
@_s2n_debug_info = external thread_local global %struct.s2n_debug_info, align 8
@s2n_errno = external thread_local global i32, align 4
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str.76 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [79 x i8], align 1
@stderr = external global ptr, align 8
@.str.78 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [39 x i8], align 1
@__const.main.wire_identity_1 = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.wire_identity_2 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [73 x i8], align 1
@__const.main.wire_identity = external hidden unnamed_addr constant [9 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [61 x i8], align 1
@__const.main.wire_identity_bytes = external hidden unnamed_addr constant [20 x i8], align 16
@.str.138 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [75 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.159 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [35 x i8], align 1
@__const.main.test_secret = external hidden unnamed_addr constant [7 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [87 x i8], align 1
@s2n_client_psk_extension = external constant %struct.s2n_extension_type, align 8
@.str.181 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [133 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [25 x i8], align 1

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

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

; Function Attrs: nounwind willreturn memory(read)
declare ptr @strrchr(ptr noundef, i32 noundef) #2

declare i32 @s2n_calculate_stacktrace() #3

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

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

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

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

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

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

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

; 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) #8

; Function Attrs: nounwind uwtable
declare dso_local zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef) #0

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local ptr @s2n_offered_psk_new() #0

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

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

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

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #2

; 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 [4 x i8], align 1
  %10 = alloca [4 x i8], align 1
  %11 = alloca %struct.s2n_offered_psk_list, align 8
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca %struct.s2n_offered_psk_list, align 8
  %21 = alloca %struct.s2n_offered_psk, align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca %struct.s2n_offered_psk_list, align 8
  %29 = alloca %struct.s2n_offered_psk, align 8
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca %struct.s2n_offered_psk, align 8
  %41 = alloca %struct.s2n_offered_psk_list, align 8
  %42 = alloca ptr, align 8
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca %struct.s2n_result, 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 i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca %struct.s2n_offered_psk, align 8
  %58 = alloca %struct.s2n_offered_psk_list, align 8
  %59 = alloca i32, align 4
  %60 = alloca %struct.s2n_result, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca %struct.s2n_offered_psk, align 8
  %69 = alloca %struct.s2n_offered_psk_list, align 8
  %70 = alloca i32, align 4
  %71 = alloca %struct.s2n_result, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, 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 %struct.s2n_offered_psk, align 8
  %81 = alloca %struct.s2n_offered_psk_list, align 8
  %82 = alloca ptr, align 8
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca %struct.s2n_result, align 4
  %86 = alloca i32, align 4
  %87 = alloca %struct.s2n_result, align 4
  %88 = alloca i32, 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 i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca %struct.s2n_offered_psk, align 8
  %103 = alloca %struct.s2n_offered_psk_list, align 8
  %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 i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca %struct.s2n_offered_psk, align 8
  %113 = alloca %struct.s2n_offered_psk_list, align 8
  %114 = alloca ptr, align 8
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca %struct.s2n_result, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca %struct.s2n_offered_psk, align 8
  %127 = alloca %struct.s2n_offered_psk_list, align 8
  %128 = alloca ptr, align 8
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca %struct.s2n_result, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca %struct.s2n_offered_psk, align 8
  %144 = alloca %struct.s2n_offered_psk_list, align 8
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca %struct.s2n_offered_psk, align 8
  %151 = alloca %struct.s2n_offered_psk_list, align 8
  %152 = alloca ptr, align 8
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca %struct.s2n_result, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca %struct.s2n_offered_psk, align 8
  %170 = alloca i64, align 8
  %171 = alloca ptr, align 8
  %172 = alloca i32, align 4
  %173 = alloca ptr, align 8
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca ptr, align 8
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca %struct.s2n_offered_psk, align 8
  %182 = alloca ptr, align 8
  %183 = alloca i16, align 2
  %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 ptr, align 8
  %194 = alloca ptr, align 8
  %195 = alloca i16, align 2
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca [9 x i8], align 1
  %200 = alloca ptr, align 8
  %201 = alloca i32, align 4
  %202 = alloca ptr, align 8
  %203 = alloca i16, align 2
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca ptr, align 8
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca %struct.s2n_result, align 4
  %212 = alloca i32, align 4
  %213 = alloca %struct.s2n_result, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca %struct.s2n_result, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca ptr, align 8
  %221 = alloca i32, align 4
  %222 = alloca ptr, align 8
  %223 = alloca i16, align 2
  %224 = alloca [20 x i8], align 16
  %225 = alloca %struct.s2n_blob, align 8
  %226 = alloca i32, align 4
  %227 = alloca %struct.s2n_offered_psk, align 8
  %228 = alloca %struct.s2n_offered_psk_list, align 8
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca ptr, align 8
  %237 = alloca %struct.s2n_result, align 4
  %238 = alloca i32, align 4
  %239 = alloca %struct.s2n_result, align 4
  %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 ptr, align 8
  %247 = alloca %struct.s2n_result, align 4
  %248 = alloca i32, align 4
  %249 = alloca %struct.s2n_result, align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca ptr, align 8
  %258 = alloca %struct.s2n_result, align 4
  %259 = alloca i32, align 4
  %260 = alloca %struct.s2n_result, 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 ptr, align 8
  %268 = alloca i32, align 4
  %269 = alloca ptr, align 8
  %270 = alloca i32, align 4
  %271 = alloca %struct.s2n_result, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca %struct.s2n_stuffer, align 8
  %275 = alloca i32, align 4
  %276 = alloca %struct.s2n_result, align 4
  %277 = alloca i32, align 4
  %278 = alloca %struct.s2n_offered_psk_list, align 8
  %279 = alloca %struct.s2n_stuffer, align 8
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca %struct.s2n_offered_psk, align 8
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca ptr, align 8
  %290 = alloca i32, align 4
  %291 = alloca ptr, align 8
  %292 = alloca i32, align 4
  %293 = alloca %struct.s2n_result, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca %struct.s2n_stuffer, align 8
  %297 = alloca i32, align 4
  %298 = alloca %struct.s2n_result, align 4
  %299 = alloca i32, align 4
  %300 = alloca %struct.s2n_offered_psk_list, align 8
  %301 = alloca %struct.s2n_stuffer, align 8
  %302 = alloca i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca %struct.s2n_offered_psk, align 8
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca ptr, align 8
  %313 = alloca i32, align 4
  %314 = alloca %struct.s2n_offered_psk_list, align 8
  %315 = alloca %struct.s2n_offered_psk, align 8
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca i32, align 4
  %321 = alloca i32, align 4
  %322 = alloca ptr, align 8
  %323 = alloca i32, align 4
  %324 = alloca [7 x i8], align 1
  %325 = alloca ptr, align 8
  %326 = alloca %struct.s2n_result, align 4
  %327 = alloca i32, align 4
  %328 = alloca %struct.s2n_result, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca ptr, align 8
  %333 = alloca %struct.s2n_result, align 4
  %334 = alloca i32, align 4
  %335 = alloca %struct.s2n_result, align 4
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca i32, align 4
  %339 = alloca i32, align 4
  %340 = alloca i32, align 4
  %341 = alloca %struct.s2n_offered_psk_list, align 8
  %342 = alloca i64, align 8
  %343 = alloca i32, align 4
  %344 = alloca i32, align 4
  %345 = alloca ptr, align 8
  %346 = alloca i16, align 2
  %347 = alloca %struct.s2n_offered_psk, align 8
  %348 = alloca i32, align 4
  %349 = alloca i32, align 4
  %350 = alloca i32, align 4
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca i32, align 4
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i32, align 4
  %362 = alloca i32, align 4
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca i32, align 4
  %366 = alloca i32, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = 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 %374

374:                                              ; preds = %2
  br label %375

375:                                              ; preds = %374
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %376 = load ptr, ptr @stdout, align 8, !tbaa !9
  %377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %376, ptr noundef @.str.76, ptr noundef @.str.77) #12
  %378 = load ptr, ptr @stdout, align 8, !tbaa !9
  %379 = call i32 @fflush(ptr noundef %378)
  br label %380

380:                                              ; preds = %375
  %381 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %382 = icmp eq i32 %381, -1
  br i1 %382, label %383, label %434

383:                                              ; preds = %380
  br label %384

384:                                              ; preds = %383
  br label %385

385:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #12
  %386 = call ptr @__errno_location() #13
  %387 = load i32, ptr %386, align 4, !tbaa !5
  store i32 %387, ptr %6, align 4, !tbaa !5
  %388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %389 = call i32 @s2n_print_stacktrace(ptr noundef %388)
  %390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %391 = trunc i8 %390 to i1
  br i1 %391, label %392, label %414

392:                                              ; preds = %385
  %393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %394 = call i32 @fileno(ptr noundef %393) #12
  %395 = call i32 @isatty(i32 noundef %394) #12
  %396 = icmp ne i32 %395, 0
  br i1 %396, label %397, label %414

397:                                              ; preds = %392
  %398 = load i32, ptr %6, align 4, !tbaa !5
  %399 = call ptr @__errno_location() #13
  store i32 %398, ptr %399, align 4, !tbaa !5
  %400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %401 = load i32, ptr @test_count, align 4, !tbaa !5
  %402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %403 = load i32, ptr %402, align 4, !tbaa !5
  %404 = call ptr @s2n_strerror(i32 noundef %403, ptr noundef @.str.80)
  %405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %406 = load i32, ptr %405, align 4, !tbaa !5
  %407 = call ptr @s2n_strerror_debug(i32 noundef %406, ptr noundef @.str.80)
  %408 = call ptr @__errno_location() #13
  %409 = load i32, ptr %408, align 4, !tbaa !5
  %410 = call ptr @strerror(i32 noundef %409) #12
  %411 = call ptr @__errno_location() #13
  %412 = load i32, ptr %411, align 4, !tbaa !5
  %413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %400, ptr noundef @.str.78, i32 noundef %401, ptr noundef @.str.79, ptr noundef @.str.77, i32 noundef 52, ptr noundef %404, ptr noundef %407, ptr noundef %410, i32 noundef %412) #12
  br label %431

414:                                              ; preds = %392, %385
  %415 = load i32, ptr %6, align 4, !tbaa !5
  %416 = call ptr @__errno_location() #13
  store i32 %415, ptr %416, align 4, !tbaa !5
  %417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %418 = load i32, ptr @test_count, align 4, !tbaa !5
  %419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %420 = load i32, ptr %419, align 4, !tbaa !5
  %421 = call ptr @s2n_strerror(i32 noundef %420, ptr noundef @.str.80)
  %422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %423 = load i32, ptr %422, align 4, !tbaa !5
  %424 = call ptr @s2n_strerror_debug(i32 noundef %423, ptr noundef @.str.80)
  %425 = call ptr @__errno_location() #13
  %426 = load i32, ptr %425, align 4, !tbaa !5
  %427 = call ptr @strerror(i32 noundef %426) #12
  %428 = call ptr @__errno_location() #13
  %429 = load i32, ptr %428, align 4, !tbaa !5
  %430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %417, ptr noundef @.str.81, i32 noundef %418, ptr noundef @.str.79, ptr noundef @.str.77, i32 noundef 52, ptr noundef %421, ptr noundef %424, ptr noundef %427, i32 noundef %429) #12
  br label %431

431:                                              ; preds = %414, %397
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #12
  br label %432

432:                                              ; preds = %431
  call void @exit(i32 noundef 1) #14
  unreachable

433:                                              ; No predecessors!
  br label %434

434:                                              ; preds = %433, %380
  br label %435

435:                                              ; preds = %434
  br label %436

436:                                              ; preds = %435
  %437 = load i32, ptr @test_count, align 4, !tbaa !5
  %438 = add nsw i32 %437, 1
  store i32 %438, ptr @test_count, align 4, !tbaa !5
  %439 = call i32 @s2n_enable_atexit()
  %440 = icmp eq i32 %439, -1
  br i1 %440, label %441, label %492

441:                                              ; preds = %436
  br label %442

442:                                              ; preds = %441
  br label %443

443:                                              ; preds = %442
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #12
  %444 = call ptr @__errno_location() #13
  %445 = load i32, ptr %444, align 4, !tbaa !5
  store i32 %445, ptr %7, align 4, !tbaa !5
  %446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %447 = call i32 @s2n_print_stacktrace(ptr noundef %446)
  %448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %449 = trunc i8 %448 to i1
  br i1 %449, label %450, label %472

450:                                              ; preds = %443
  %451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %452 = call i32 @fileno(ptr noundef %451) #12
  %453 = call i32 @isatty(i32 noundef %452) #12
  %454 = icmp ne i32 %453, 0
  br i1 %454, label %455, label %472

455:                                              ; preds = %450
  %456 = load i32, ptr %7, align 4, !tbaa !5
  %457 = call ptr @__errno_location() #13
  store i32 %456, ptr %457, align 4, !tbaa !5
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = load i32, ptr @test_count, align 4, !tbaa !5
  %460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = call ptr @s2n_strerror(i32 noundef %461, ptr noundef @.str.80)
  %463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %464 = load i32, ptr %463, align 4, !tbaa !5
  %465 = call ptr @s2n_strerror_debug(i32 noundef %464, ptr noundef @.str.80)
  %466 = call ptr @__errno_location() #13
  %467 = load i32, ptr %466, align 4, !tbaa !5
  %468 = call ptr @strerror(i32 noundef %467) #12
  %469 = call ptr @__errno_location() #13
  %470 = load i32, ptr %469, align 4, !tbaa !5
  %471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %458, ptr noundef @.str.78, i32 noundef %459, ptr noundef @.str.82, ptr noundef @.str.77, i32 noundef 52, ptr noundef %462, ptr noundef %465, ptr noundef %468, i32 noundef %470) #12
  br label %489

472:                                              ; preds = %450, %443
  %473 = load i32, ptr %7, align 4, !tbaa !5
  %474 = call ptr @__errno_location() #13
  store i32 %473, ptr %474, align 4, !tbaa !5
  %475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %476 = load i32, ptr @test_count, align 4, !tbaa !5
  %477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %478 = load i32, ptr %477, align 4, !tbaa !5
  %479 = call ptr @s2n_strerror(i32 noundef %478, ptr noundef @.str.80)
  %480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %481 = load i32, ptr %480, align 4, !tbaa !5
  %482 = call ptr @s2n_strerror_debug(i32 noundef %481, ptr noundef @.str.80)
  %483 = call ptr @__errno_location() #13
  %484 = load i32, ptr %483, align 4, !tbaa !5
  %485 = call ptr @strerror(i32 noundef %484) #12
  %486 = call ptr @__errno_location() #13
  %487 = load i32, ptr %486, align 4, !tbaa !5
  %488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %475, ptr noundef @.str.81, i32 noundef %476, ptr noundef @.str.82, ptr noundef @.str.77, i32 noundef 52, ptr noundef %479, ptr noundef %482, ptr noundef %485, i32 noundef %487) #12
  br label %489

489:                                              ; preds = %472, %455
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #12
  br label %490

490:                                              ; preds = %489
  call void @exit(i32 noundef 1) #14
  unreachable

491:                                              ; No predecessors!
  br label %492

492:                                              ; preds = %491, %436
  br label %493

493:                                              ; preds = %492
  br label %494

494:                                              ; preds = %493
  br label %495

495:                                              ; preds = %494
  %496 = call i32 @s2n_init()
  %497 = icmp eq i32 %496, -1
  br i1 %497, label %498, label %549

498:                                              ; preds = %495
  br label %499

499:                                              ; preds = %498
  br label %500

500:                                              ; preds = %499
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #12
  %501 = call ptr @__errno_location() #13
  %502 = load i32, ptr %501, align 4, !tbaa !5
  store i32 %502, ptr %8, align 4, !tbaa !5
  %503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %504 = call i32 @s2n_print_stacktrace(ptr noundef %503)
  %505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %506 = trunc i8 %505 to i1
  br i1 %506, label %507, label %529

507:                                              ; preds = %500
  %508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %509 = call i32 @fileno(ptr noundef %508) #12
  %510 = call i32 @isatty(i32 noundef %509) #12
  %511 = icmp ne i32 %510, 0
  br i1 %511, label %512, label %529

512:                                              ; preds = %507
  %513 = load i32, ptr %8, align 4, !tbaa !5
  %514 = call ptr @__errno_location() #13
  store i32 %513, ptr %514, align 4, !tbaa !5
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = load i32, ptr @test_count, align 4, !tbaa !5
  %517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %518 = load i32, ptr %517, align 4, !tbaa !5
  %519 = call ptr @s2n_strerror(i32 noundef %518, ptr noundef @.str.80)
  %520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %521 = load i32, ptr %520, align 4, !tbaa !5
  %522 = call ptr @s2n_strerror_debug(i32 noundef %521, ptr noundef @.str.80)
  %523 = call ptr @__errno_location() #13
  %524 = load i32, ptr %523, align 4, !tbaa !5
  %525 = call ptr @strerror(i32 noundef %524) #12
  %526 = call ptr @__errno_location() #13
  %527 = load i32, ptr %526, align 4, !tbaa !5
  %528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %515, ptr noundef @.str.78, i32 noundef %516, ptr noundef @.str.83, ptr noundef @.str.77, i32 noundef 52, ptr noundef %519, ptr noundef %522, ptr noundef %525, i32 noundef %527) #12
  br label %546

529:                                              ; preds = %507, %500
  %530 = load i32, ptr %8, align 4, !tbaa !5
  %531 = call ptr @__errno_location() #13
  store i32 %530, ptr %531, align 4, !tbaa !5
  %532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %533 = load i32, ptr @test_count, align 4, !tbaa !5
  %534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %535 = load i32, ptr %534, align 4, !tbaa !5
  %536 = call ptr @s2n_strerror(i32 noundef %535, ptr noundef @.str.80)
  %537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %538 = load i32, ptr %537, align 4, !tbaa !5
  %539 = call ptr @s2n_strerror_debug(i32 noundef %538, ptr noundef @.str.80)
  %540 = call ptr @__errno_location() #13
  %541 = load i32, ptr %540, align 4, !tbaa !5
  %542 = call ptr @strerror(i32 noundef %541) #12
  %543 = call ptr @__errno_location() #13
  %544 = load i32, ptr %543, align 4, !tbaa !5
  %545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %532, ptr noundef @.str.81, i32 noundef %533, ptr noundef @.str.83, ptr noundef @.str.77, i32 noundef 52, ptr noundef %536, ptr noundef %539, ptr noundef %542, i32 noundef %544) #12
  br label %546

546:                                              ; preds = %529, %512
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #12
  br label %547

547:                                              ; preds = %546
  call void @exit(i32 noundef 1) #14
  unreachable

548:                                              ; No predecessors!
  br label %549

549:                                              ; preds = %548, %495
  br label %550

550:                                              ; preds = %549
  br label %551

551:                                              ; preds = %550
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #12
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 1 @__const.main.wire_identity_1, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #12
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %10, ptr align 1 @__const.main.wire_identity_2, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %11) #12
  call void @llvm.memset.p0.i64(ptr align 8 %11, i8 0, i64 56, i1 false)
  br label %552

552:                                              ; preds = %551
  %553 = load i32, ptr @test_count, align 4, !tbaa !5
  %554 = add nsw i32 %553, 1
  store i32 %554, ptr @test_count, align 4, !tbaa !5
  %555 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef null)
  br i1 %555, label %556, label %609

556:                                              ; preds = %552
  br label %557

557:                                              ; preds = %556
  br label %558

558:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #12
  %559 = call ptr @__errno_location() #13
  %560 = load i32, ptr %559, align 4, !tbaa !5
  store i32 %560, ptr %12, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @s2n_print_stacktrace(ptr noundef %561)
  %563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %564 = trunc i8 %563 to i1
  br i1 %564, label %565, label %587

565:                                              ; preds = %558
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @fileno(ptr noundef %566) #12
  %568 = call i32 @isatty(i32 noundef %567) #12
  %569 = icmp ne i32 %568, 0
  br i1 %569, label %570, label %587

570:                                              ; preds = %565
  %571 = load i32, ptr %12, align 4, !tbaa !5
  %572 = call ptr @__errno_location() #13
  store i32 %571, ptr %572, align 4, !tbaa !5
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = load i32, ptr @test_count, align 4, !tbaa !5
  %575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %576 = load i32, ptr %575, align 4, !tbaa !5
  %577 = call ptr @s2n_strerror(i32 noundef %576, ptr noundef @.str.80)
  %578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %579 = load i32, ptr %578, align 4, !tbaa !5
  %580 = call ptr @s2n_strerror_debug(i32 noundef %579, ptr noundef @.str.80)
  %581 = call ptr @__errno_location() #13
  %582 = load i32, ptr %581, align 4, !tbaa !5
  %583 = call ptr @strerror(i32 noundef %582) #12
  %584 = call ptr @__errno_location() #13
  %585 = load i32, ptr %584, align 4, !tbaa !5
  %586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %573, ptr noundef @.str.78, i32 noundef %574, ptr noundef @.str.84, ptr noundef @.str.77, i32 noundef 62, ptr noundef %577, ptr noundef %580, ptr noundef %583, i32 noundef %585) #12
  br label %604

587:                                              ; preds = %565, %558
  %588 = load i32, ptr %12, align 4, !tbaa !5
  %589 = call ptr @__errno_location() #13
  store i32 %588, ptr %589, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = load i32, ptr @test_count, align 4, !tbaa !5
  %592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = call ptr @s2n_strerror(i32 noundef %593, ptr noundef @.str.80)
  %595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %596 = load i32, ptr %595, align 4, !tbaa !5
  %597 = call ptr @s2n_strerror_debug(i32 noundef %596, ptr noundef @.str.80)
  %598 = call ptr @__errno_location() #13
  %599 = load i32, ptr %598, align 4, !tbaa !5
  %600 = call ptr @strerror(i32 noundef %599) #12
  %601 = call ptr @__errno_location() #13
  %602 = load i32, ptr %601, align 4, !tbaa !5
  %603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %590, ptr noundef @.str.81, i32 noundef %591, ptr noundef @.str.84, ptr noundef @.str.77, i32 noundef 62, ptr noundef %594, ptr noundef %597, ptr noundef %600, i32 noundef %602) #12
  br label %604

604:                                              ; preds = %587, %570
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #12
  br label %605

605:                                              ; preds = %604
  br label %606

606:                                              ; preds = %605
  call void @exit(i32 noundef 1) #14
  unreachable

607:                                              ; No predecessors!
  br label %608

608:                                              ; preds = %607
  br label %609

609:                                              ; preds = %608, %552
  br label %610

610:                                              ; preds = %609
  br label %611

611:                                              ; preds = %610
  br label %612

612:                                              ; preds = %611
  %613 = load i32, ptr @test_count, align 4, !tbaa !5
  %614 = add nsw i32 %613, 1
  store i32 %614, ptr @test_count, align 4, !tbaa !5
  %615 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef %11)
  br i1 %615, label %616, label %669

616:                                              ; preds = %612
  br label %617

617:                                              ; preds = %616
  br label %618

618:                                              ; preds = %617
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #12
  %619 = call ptr @__errno_location() #13
  %620 = load i32, ptr %619, align 4, !tbaa !5
  store i32 %620, ptr %13, align 4, !tbaa !5
  %621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %622 = call i32 @s2n_print_stacktrace(ptr noundef %621)
  %623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %624 = trunc i8 %623 to i1
  br i1 %624, label %625, label %647

625:                                              ; preds = %618
  %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
  %629 = icmp ne i32 %628, 0
  br i1 %629, label %630, label %647

630:                                              ; preds = %625
  %631 = load i32, ptr %13, align 4, !tbaa !5
  %632 = call ptr @__errno_location() #13
  store i32 %631, ptr %632, align 4, !tbaa !5
  %633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %634 = load i32, ptr @test_count, align 4, !tbaa !5
  %635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %636 = load i32, ptr %635, align 4, !tbaa !5
  %637 = call ptr @s2n_strerror(i32 noundef %636, ptr noundef @.str.80)
  %638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %639 = load i32, ptr %638, align 4, !tbaa !5
  %640 = call ptr @s2n_strerror_debug(i32 noundef %639, ptr noundef @.str.80)
  %641 = call ptr @__errno_location() #13
  %642 = load i32, ptr %641, align 4, !tbaa !5
  %643 = call ptr @strerror(i32 noundef %642) #12
  %644 = call ptr @__errno_location() #13
  %645 = load i32, ptr %644, align 4, !tbaa !5
  %646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %633, ptr noundef @.str.78, i32 noundef %634, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 65, ptr noundef %637, ptr noundef %640, ptr noundef %643, i32 noundef %645) #12
  br label %664

647:                                              ; preds = %625, %618
  %648 = load i32, ptr %13, align 4, !tbaa !5
  %649 = call ptr @__errno_location() #13
  store i32 %648, ptr %649, align 4, !tbaa !5
  %650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %651 = load i32, ptr @test_count, align 4, !tbaa !5
  %652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %653 = load i32, ptr %652, align 4, !tbaa !5
  %654 = call ptr @s2n_strerror(i32 noundef %653, ptr noundef @.str.80)
  %655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %656 = load i32, ptr %655, align 4, !tbaa !5
  %657 = call ptr @s2n_strerror_debug(i32 noundef %656, ptr noundef @.str.80)
  %658 = call ptr @__errno_location() #13
  %659 = load i32, ptr %658, align 4, !tbaa !5
  %660 = call ptr @strerror(i32 noundef %659) #12
  %661 = call ptr @__errno_location() #13
  %662 = load i32, ptr %661, align 4, !tbaa !5
  %663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %650, ptr noundef @.str.81, i32 noundef %651, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 65, ptr noundef %654, ptr noundef %657, ptr noundef %660, i32 noundef %662) #12
  br label %664

664:                                              ; preds = %647, %630
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #12
  br label %665

665:                                              ; preds = %664
  br label %666

666:                                              ; preds = %665
  call void @exit(i32 noundef 1) #14
  unreachable

667:                                              ; No predecessors!
  br label %668

668:                                              ; preds = %667
  br label %669

669:                                              ; preds = %668, %612
  br label %670

670:                                              ; preds = %669
  br label %671

671:                                              ; preds = %670
  br label %672

672:                                              ; preds = %671
  %673 = load i32, ptr @test_count, align 4, !tbaa !5
  %674 = add nsw i32 %673, 1
  store i32 %674, ptr @test_count, align 4, !tbaa !5
  %675 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %11, i32 0, i32 1
  %676 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %675, i32 noundef 0)
  %677 = icmp eq i32 %676, -1
  br i1 %677, label %678, label %731

678:                                              ; preds = %672
  br label %679

679:                                              ; preds = %678
  br label %680

680:                                              ; preds = %679
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #12
  %681 = call ptr @__errno_location() #13
  %682 = load i32, ptr %681, align 4, !tbaa !5
  store i32 %682, ptr %14, align 4, !tbaa !5
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = call i32 @s2n_print_stacktrace(ptr noundef %683)
  %685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %686 = trunc i8 %685 to i1
  br i1 %686, label %687, label %709

687:                                              ; preds = %680
  %688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %689 = call i32 @fileno(ptr noundef %688) #12
  %690 = call i32 @isatty(i32 noundef %689) #12
  %691 = icmp ne i32 %690, 0
  br i1 %691, label %692, label %709

692:                                              ; preds = %687
  %693 = load i32, ptr %14, align 4, !tbaa !5
  %694 = call ptr @__errno_location() #13
  store i32 %693, ptr %694, align 4, !tbaa !5
  %695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %696 = load i32, ptr @test_count, align 4, !tbaa !5
  %697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %698 = load i32, ptr %697, align 4, !tbaa !5
  %699 = call ptr @s2n_strerror(i32 noundef %698, ptr noundef @.str.80)
  %700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %701 = load i32, ptr %700, align 4, !tbaa !5
  %702 = call ptr @s2n_strerror_debug(i32 noundef %701, ptr noundef @.str.80)
  %703 = call ptr @__errno_location() #13
  %704 = load i32, ptr %703, align 4, !tbaa !5
  %705 = call ptr @strerror(i32 noundef %704) #12
  %706 = call ptr @__errno_location() #13
  %707 = load i32, ptr %706, align 4, !tbaa !5
  %708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %695, ptr noundef @.str.78, i32 noundef %696, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 68, ptr noundef %699, ptr noundef %702, ptr noundef %705, i32 noundef %707) #12
  br label %726

709:                                              ; preds = %687, %680
  %710 = load i32, ptr %14, align 4, !tbaa !5
  %711 = call ptr @__errno_location() #13
  store i32 %710, ptr %711, align 4, !tbaa !5
  %712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %713 = load i32, ptr @test_count, align 4, !tbaa !5
  %714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %715 = load i32, ptr %714, align 4, !tbaa !5
  %716 = call ptr @s2n_strerror(i32 noundef %715, ptr noundef @.str.80)
  %717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %718 = load i32, ptr %717, align 4, !tbaa !5
  %719 = call ptr @s2n_strerror_debug(i32 noundef %718, ptr noundef @.str.80)
  %720 = call ptr @__errno_location() #13
  %721 = load i32, ptr %720, align 4, !tbaa !5
  %722 = call ptr @strerror(i32 noundef %721) #12
  %723 = call ptr @__errno_location() #13
  %724 = load i32, ptr %723, align 4, !tbaa !5
  %725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %712, ptr noundef @.str.81, i32 noundef %713, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 68, ptr noundef %716, ptr noundef %719, ptr noundef %722, i32 noundef %724) #12
  br label %726

726:                                              ; preds = %709, %692
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #12
  br label %727

727:                                              ; preds = %726
  br label %728

728:                                              ; preds = %727
  call void @exit(i32 noundef 1) #14
  unreachable

729:                                              ; No predecessors!
  br label %730

730:                                              ; preds = %729
  br label %731

731:                                              ; preds = %730, %672
  br label %732

732:                                              ; preds = %731
  br label %733

733:                                              ; preds = %732
  br label %734

734:                                              ; preds = %733
  %735 = load i32, ptr @test_count, align 4, !tbaa !5
  %736 = add nsw i32 %735, 1
  store i32 %736, ptr @test_count, align 4, !tbaa !5
  %737 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %11, i32 0, i32 1
  %738 = call i32 @s2n_stuffer_skip_write(ptr noundef %737, i32 noundef 1)
  %739 = icmp eq i32 %738, -1
  br i1 %739, label %740, label %793

740:                                              ; preds = %734
  br label %741

741:                                              ; preds = %740
  br label %742

742:                                              ; preds = %741
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #12
  %743 = call ptr @__errno_location() #13
  %744 = load i32, ptr %743, align 4, !tbaa !5
  store i32 %744, ptr %15, align 4, !tbaa !5
  %745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %746 = call i32 @s2n_print_stacktrace(ptr noundef %745)
  %747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %748 = trunc i8 %747 to i1
  br i1 %748, label %749, label %771

749:                                              ; preds = %742
  %750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %751 = call i32 @fileno(ptr noundef %750) #12
  %752 = call i32 @isatty(i32 noundef %751) #12
  %753 = icmp ne i32 %752, 0
  br i1 %753, label %754, label %771

754:                                              ; preds = %749
  %755 = load i32, ptr %15, align 4, !tbaa !5
  %756 = call ptr @__errno_location() #13
  store i32 %755, ptr %756, align 4, !tbaa !5
  %757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %758 = load i32, ptr @test_count, align 4, !tbaa !5
  %759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %760 = load i32, ptr %759, align 4, !tbaa !5
  %761 = call ptr @s2n_strerror(i32 noundef %760, ptr noundef @.str.80)
  %762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %763 = load i32, ptr %762, align 4, !tbaa !5
  %764 = call ptr @s2n_strerror_debug(i32 noundef %763, ptr noundef @.str.80)
  %765 = call ptr @__errno_location() #13
  %766 = load i32, ptr %765, align 4, !tbaa !5
  %767 = call ptr @strerror(i32 noundef %766) #12
  %768 = call ptr @__errno_location() #13
  %769 = load i32, ptr %768, align 4, !tbaa !5
  %770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %757, ptr noundef @.str.78, i32 noundef %758, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 69, ptr noundef %761, ptr noundef %764, ptr noundef %767, i32 noundef %769) #12
  br label %788

771:                                              ; preds = %749, %742
  %772 = load i32, ptr %15, align 4, !tbaa !5
  %773 = call ptr @__errno_location() #13
  store i32 %772, ptr %773, align 4, !tbaa !5
  %774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %775 = load i32, ptr @test_count, align 4, !tbaa !5
  %776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %777 = load i32, ptr %776, align 4, !tbaa !5
  %778 = call ptr @s2n_strerror(i32 noundef %777, ptr noundef @.str.80)
  %779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %780 = load i32, ptr %779, align 4, !tbaa !5
  %781 = call ptr @s2n_strerror_debug(i32 noundef %780, ptr noundef @.str.80)
  %782 = call ptr @__errno_location() #13
  %783 = load i32, ptr %782, align 4, !tbaa !5
  %784 = call ptr @strerror(i32 noundef %783) #12
  %785 = call ptr @__errno_location() #13
  %786 = load i32, ptr %785, align 4, !tbaa !5
  %787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %774, ptr noundef @.str.81, i32 noundef %775, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 69, ptr noundef %778, ptr noundef %781, ptr noundef %784, i32 noundef %786) #12
  br label %788

788:                                              ; preds = %771, %754
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #12
  br label %789

789:                                              ; preds = %788
  br label %790

790:                                              ; preds = %789
  call void @exit(i32 noundef 1) #14
  unreachable

791:                                              ; No predecessors!
  br label %792

792:                                              ; preds = %791
  br label %793

793:                                              ; preds = %792, %734
  br label %794

794:                                              ; preds = %793
  br label %795

795:                                              ; preds = %794
  br label %796

796:                                              ; preds = %795
  %797 = load i32, ptr @test_count, align 4, !tbaa !5
  %798 = add nsw i32 %797, 1
  store i32 %798, ptr @test_count, align 4, !tbaa !5
  %799 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef %11)
  br i1 %799, label %853, label %800

800:                                              ; preds = %796
  br label %801

801:                                              ; preds = %800
  br label %802

802:                                              ; preds = %801
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #12
  %803 = call ptr @__errno_location() #13
  %804 = load i32, ptr %803, align 4, !tbaa !5
  store i32 %804, ptr %16, align 4, !tbaa !5
  %805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %806 = call i32 @s2n_print_stacktrace(ptr noundef %805)
  %807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %808 = trunc i8 %807 to i1
  br i1 %808, label %809, label %831

809:                                              ; preds = %802
  %810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %811 = call i32 @fileno(ptr noundef %810) #12
  %812 = call i32 @isatty(i32 noundef %811) #12
  %813 = icmp ne i32 %812, 0
  br i1 %813, label %814, label %831

814:                                              ; preds = %809
  %815 = load i32, ptr %16, align 4, !tbaa !5
  %816 = call ptr @__errno_location() #13
  store i32 %815, ptr %816, align 4, !tbaa !5
  %817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %818 = load i32, ptr @test_count, align 4, !tbaa !5
  %819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %820 = load i32, ptr %819, align 4, !tbaa !5
  %821 = call ptr @s2n_strerror(i32 noundef %820, ptr noundef @.str.80)
  %822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %823 = load i32, ptr %822, align 4, !tbaa !5
  %824 = call ptr @s2n_strerror_debug(i32 noundef %823, ptr noundef @.str.80)
  %825 = call ptr @__errno_location() #13
  %826 = load i32, ptr %825, align 4, !tbaa !5
  %827 = call ptr @strerror(i32 noundef %826) #12
  %828 = call ptr @__errno_location() #13
  %829 = load i32, ptr %828, align 4, !tbaa !5
  %830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %817, ptr noundef @.str.78, i32 noundef %818, ptr noundef @.str.88, ptr noundef @.str.77, i32 noundef 70, ptr noundef %821, ptr noundef %824, ptr noundef %827, i32 noundef %829) #12
  br label %848

831:                                              ; preds = %809, %802
  %832 = load i32, ptr %16, align 4, !tbaa !5
  %833 = call ptr @__errno_location() #13
  store i32 %832, ptr %833, align 4, !tbaa !5
  %834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %835 = load i32, ptr @test_count, align 4, !tbaa !5
  %836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %837 = load i32, ptr %836, align 4, !tbaa !5
  %838 = call ptr @s2n_strerror(i32 noundef %837, ptr noundef @.str.80)
  %839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %840 = load i32, ptr %839, align 4, !tbaa !5
  %841 = call ptr @s2n_strerror_debug(i32 noundef %840, ptr noundef @.str.80)
  %842 = call ptr @__errno_location() #13
  %843 = load i32, ptr %842, align 4, !tbaa !5
  %844 = call ptr @strerror(i32 noundef %843) #12
  %845 = call ptr @__errno_location() #13
  %846 = load i32, ptr %845, align 4, !tbaa !5
  %847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %834, ptr noundef @.str.81, i32 noundef %835, ptr noundef @.str.88, ptr noundef @.str.77, i32 noundef 70, ptr noundef %838, ptr noundef %841, ptr noundef %844, i32 noundef %846) #12
  br label %848

848:                                              ; preds = %831, %814
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #12
  br label %849

849:                                              ; preds = %848
  br label %850

850:                                              ; preds = %849
  call void @exit(i32 noundef 1) #14
  unreachable

851:                                              ; No predecessors!
  br label %852

852:                                              ; preds = %851
  br label %853

853:                                              ; preds = %852, %796
  br label %854

854:                                              ; preds = %853
  br label %855

855:                                              ; preds = %854
  br label %856

856:                                              ; preds = %855
  %857 = load i32, ptr @test_count, align 4, !tbaa !5
  %858 = add nsw i32 %857, 1
  store i32 %858, ptr @test_count, align 4, !tbaa !5
  %859 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %11, i32 0, i32 1
  %860 = call i32 @s2n_stuffer_skip_read(ptr noundef %859, i32 noundef 1)
  %861 = icmp eq i32 %860, -1
  br i1 %861, label %862, label %915

862:                                              ; preds = %856
  br label %863

863:                                              ; preds = %862
  br label %864

864:                                              ; preds = %863
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #12
  %865 = call ptr @__errno_location() #13
  %866 = load i32, ptr %865, align 4, !tbaa !5
  store i32 %866, ptr %17, align 4, !tbaa !5
  %867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %868 = call i32 @s2n_print_stacktrace(ptr noundef %867)
  %869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %870 = trunc i8 %869 to i1
  br i1 %870, label %871, label %893

871:                                              ; preds = %864
  %872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %873 = call i32 @fileno(ptr noundef %872) #12
  %874 = call i32 @isatty(i32 noundef %873) #12
  %875 = icmp ne i32 %874, 0
  br i1 %875, label %876, label %893

876:                                              ; preds = %871
  %877 = load i32, ptr %17, align 4, !tbaa !5
  %878 = call ptr @__errno_location() #13
  store i32 %877, ptr %878, align 4, !tbaa !5
  %879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %880 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %882, ptr noundef @.str.80)
  %884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %885 = load i32, ptr %884, align 4, !tbaa !5
  %886 = call ptr @s2n_strerror_debug(i32 noundef %885, ptr noundef @.str.80)
  %887 = call ptr @__errno_location() #13
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = call ptr @strerror(i32 noundef %888) #12
  %890 = call ptr @__errno_location() #13
  %891 = load i32, ptr %890, align 4, !tbaa !5
  %892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %879, ptr noundef @.str.78, i32 noundef %880, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 73, ptr noundef %883, ptr noundef %886, ptr noundef %889, i32 noundef %891) #12
  br label %910

893:                                              ; preds = %871, %864
  %894 = load i32, ptr %17, align 4, !tbaa !5
  %895 = call ptr @__errno_location() #13
  store i32 %894, ptr %895, align 4, !tbaa !5
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = load i32, ptr @test_count, align 4, !tbaa !5
  %898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %899 = load i32, ptr %898, align 4, !tbaa !5
  %900 = call ptr @s2n_strerror(i32 noundef %899, ptr noundef @.str.80)
  %901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %902 = load i32, ptr %901, align 4, !tbaa !5
  %903 = call ptr @s2n_strerror_debug(i32 noundef %902, ptr noundef @.str.80)
  %904 = call ptr @__errno_location() #13
  %905 = load i32, ptr %904, align 4, !tbaa !5
  %906 = call ptr @strerror(i32 noundef %905) #12
  %907 = call ptr @__errno_location() #13
  %908 = load i32, ptr %907, align 4, !tbaa !5
  %909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %896, ptr noundef @.str.81, i32 noundef %897, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 73, ptr noundef %900, ptr noundef %903, ptr noundef %906, i32 noundef %908) #12
  br label %910

910:                                              ; preds = %893, %876
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #12
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911
  call void @exit(i32 noundef 1) #14
  unreachable

913:                                              ; No predecessors!
  br label %914

914:                                              ; preds = %913
  br label %915

915:                                              ; preds = %914, %856
  br label %916

916:                                              ; preds = %915
  br label %917

917:                                              ; preds = %916
  br label %918

918:                                              ; preds = %917
  %919 = load i32, ptr @test_count, align 4, !tbaa !5
  %920 = add nsw i32 %919, 1
  store i32 %920, ptr @test_count, align 4, !tbaa !5
  %921 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef %11)
  br i1 %921, label %922, label %975

922:                                              ; preds = %918
  br label %923

923:                                              ; preds = %922
  br label %924

924:                                              ; preds = %923
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #12
  %925 = call ptr @__errno_location() #13
  %926 = load i32, ptr %925, align 4, !tbaa !5
  store i32 %926, ptr %18, align 4, !tbaa !5
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = call i32 @s2n_print_stacktrace(ptr noundef %927)
  %929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %930 = trunc i8 %929 to i1
  br i1 %930, label %931, label %953

931:                                              ; preds = %924
  %932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %933 = call i32 @fileno(ptr noundef %932) #12
  %934 = call i32 @isatty(i32 noundef %933) #12
  %935 = icmp ne i32 %934, 0
  br i1 %935, label %936, label %953

936:                                              ; preds = %931
  %937 = load i32, ptr %18, align 4, !tbaa !5
  %938 = call ptr @__errno_location() #13
  store i32 %937, ptr %938, align 4, !tbaa !5
  %939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %940 = load i32, ptr @test_count, align 4, !tbaa !5
  %941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %942 = load i32, ptr %941, align 4, !tbaa !5
  %943 = call ptr @s2n_strerror(i32 noundef %942, ptr noundef @.str.80)
  %944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %945 = load i32, ptr %944, align 4, !tbaa !5
  %946 = call ptr @s2n_strerror_debug(i32 noundef %945, ptr noundef @.str.80)
  %947 = call ptr @__errno_location() #13
  %948 = load i32, ptr %947, align 4, !tbaa !5
  %949 = call ptr @strerror(i32 noundef %948) #12
  %950 = call ptr @__errno_location() #13
  %951 = load i32, ptr %950, align 4, !tbaa !5
  %952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %939, ptr noundef @.str.78, i32 noundef %940, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 74, ptr noundef %943, ptr noundef %946, ptr noundef %949, i32 noundef %951) #12
  br label %970

953:                                              ; preds = %931, %924
  %954 = load i32, ptr %18, align 4, !tbaa !5
  %955 = call ptr @__errno_location() #13
  store i32 %954, ptr %955, align 4, !tbaa !5
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = load i32, ptr @test_count, align 4, !tbaa !5
  %958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = call ptr @s2n_strerror(i32 noundef %959, ptr noundef @.str.80)
  %961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %962 = load i32, ptr %961, align 4, !tbaa !5
  %963 = call ptr @s2n_strerror_debug(i32 noundef %962, ptr noundef @.str.80)
  %964 = call ptr @__errno_location() #13
  %965 = load i32, ptr %964, align 4, !tbaa !5
  %966 = call ptr @strerror(i32 noundef %965) #12
  %967 = call ptr @__errno_location() #13
  %968 = load i32, ptr %967, align 4, !tbaa !5
  %969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %956, ptr noundef @.str.81, i32 noundef %957, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 74, ptr noundef %960, ptr noundef %963, ptr noundef %966, i32 noundef %968) #12
  br label %970

970:                                              ; preds = %953, %936
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #12
  br label %971

971:                                              ; preds = %970
  br label %972

972:                                              ; preds = %971
  call void @exit(i32 noundef 1) #14
  unreachable

973:                                              ; No predecessors!
  br label %974

974:                                              ; preds = %973
  br label %975

975:                                              ; preds = %974, %918
  br label %976

976:                                              ; preds = %975
  br label %977

977:                                              ; preds = %976
  br label %978

978:                                              ; preds = %977
  %979 = load i32, ptr @test_count, align 4, !tbaa !5
  %980 = add nsw i32 %979, 1
  store i32 %980, ptr @test_count, align 4, !tbaa !5
  %981 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %11, i32 0, i32 1
  %982 = call i32 @s2n_stuffer_free(ptr noundef %981)
  %983 = icmp eq i32 %982, -1
  br i1 %983, label %984, label %1037

984:                                              ; preds = %978
  br label %985

985:                                              ; preds = %984
  br label %986

986:                                              ; preds = %985
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #12
  %987 = call ptr @__errno_location() #13
  %988 = load i32, ptr %987, align 4, !tbaa !5
  store i32 %988, ptr %19, align 4, !tbaa !5
  %989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %990 = call i32 @s2n_print_stacktrace(ptr noundef %989)
  %991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %992 = trunc i8 %991 to i1
  br i1 %992, label %993, label %1015

993:                                              ; preds = %986
  %994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %995 = call i32 @fileno(ptr noundef %994) #12
  %996 = call i32 @isatty(i32 noundef %995) #12
  %997 = icmp ne i32 %996, 0
  br i1 %997, label %998, label %1015

998:                                              ; preds = %993
  %999 = load i32, ptr %19, align 4, !tbaa !5
  %1000 = call ptr @__errno_location() #13
  store i32 %999, ptr %1000, align 4, !tbaa !5
  %1001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1002 = load i32, ptr @test_count, align 4, !tbaa !5
  %1003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1004 = load i32, ptr %1003, align 4, !tbaa !5
  %1005 = call ptr @s2n_strerror(i32 noundef %1004, ptr noundef @.str.80)
  %1006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1007 = load i32, ptr %1006, align 4, !tbaa !5
  %1008 = call ptr @s2n_strerror_debug(i32 noundef %1007, ptr noundef @.str.80)
  %1009 = call ptr @__errno_location() #13
  %1010 = load i32, ptr %1009, align 4, !tbaa !5
  %1011 = call ptr @strerror(i32 noundef %1010) #12
  %1012 = call ptr @__errno_location() #13
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  %1014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1001, ptr noundef @.str.78, i32 noundef %1002, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 76, ptr noundef %1005, ptr noundef %1008, ptr noundef %1011, i32 noundef %1013) #12
  br label %1032

1015:                                             ; preds = %993, %986
  %1016 = load i32, ptr %19, align 4, !tbaa !5
  %1017 = call ptr @__errno_location() #13
  store i32 %1016, ptr %1017, align 4, !tbaa !5
  %1018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1019 = load i32, ptr @test_count, align 4, !tbaa !5
  %1020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1021 = load i32, ptr %1020, align 4, !tbaa !5
  %1022 = call ptr @s2n_strerror(i32 noundef %1021, ptr noundef @.str.80)
  %1023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1024 = load i32, ptr %1023, align 4, !tbaa !5
  %1025 = call ptr @s2n_strerror_debug(i32 noundef %1024, ptr noundef @.str.80)
  %1026 = call ptr @__errno_location() #13
  %1027 = load i32, ptr %1026, align 4, !tbaa !5
  %1028 = call ptr @strerror(i32 noundef %1027) #12
  %1029 = call ptr @__errno_location() #13
  %1030 = load i32, ptr %1029, align 4, !tbaa !5
  %1031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1018, ptr noundef @.str.81, i32 noundef %1019, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 76, ptr noundef %1022, ptr noundef %1025, ptr noundef %1028, i32 noundef %1030) #12
  br label %1032

1032:                                             ; preds = %1015, %998
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #12
  br label %1033

1033:                                             ; preds = %1032
  br label %1034

1034:                                             ; preds = %1033
  call void @exit(i32 noundef 1) #14
  unreachable

1035:                                             ; No predecessors!
  br label %1036

1036:                                             ; preds = %1035
  br label %1037

1037:                                             ; preds = %1036, %978
  br label %1038

1038:                                             ; preds = %1037
  br label %1039

1039:                                             ; preds = %1038
  call void @llvm.lifetime.end.p0(i64 56, ptr %11) #12
  call void @llvm.lifetime.start.p0(i64 56, ptr %20) #12
  call void @llvm.memset.p0.i64(ptr align 8 %20, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #12
  call void @llvm.memset.p0.i64(ptr align 8 %21, i8 0, i64 32, i1 false)
  br label %1040

1040:                                             ; preds = %1039
  br label %1041

1041:                                             ; preds = %1040
  br label %1042

1042:                                             ; preds = %1041
  %1043 = load i32, ptr @test_count, align 4, !tbaa !5
  %1044 = add nsw i32 %1043, 1
  store i32 %1044, ptr @test_count, align 4, !tbaa !5
  %1045 = call i32 @s2n_offered_psk_list_next(ptr noundef %20, ptr noundef null)
  %1046 = icmp eq i32 %1045, -1
  br i1 %1046, label %1100, label %1047

1047:                                             ; preds = %1042
  br label %1048

1048:                                             ; preds = %1047
  br label %1049

1049:                                             ; preds = %1048
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #12
  %1050 = call ptr @__errno_location() #13
  %1051 = load i32, ptr %1050, align 4, !tbaa !5
  store i32 %1051, ptr %22, align 4, !tbaa !5
  %1052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1053 = call i32 @s2n_print_stacktrace(ptr noundef %1052)
  %1054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1055 = trunc i8 %1054 to i1
  br i1 %1055, label %1056, label %1078

1056:                                             ; preds = %1049
  %1057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1058 = call i32 @fileno(ptr noundef %1057) #12
  %1059 = call i32 @isatty(i32 noundef %1058) #12
  %1060 = icmp ne i32 %1059, 0
  br i1 %1060, label %1061, label %1078

1061:                                             ; preds = %1056
  %1062 = load i32, ptr %22, align 4, !tbaa !5
  %1063 = call ptr @__errno_location() #13
  store i32 %1062, ptr %1063, align 4, !tbaa !5
  %1064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1065 = load i32, ptr @test_count, align 4, !tbaa !5
  %1066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1067 = load i32, ptr %1066, align 4, !tbaa !5
  %1068 = call ptr @s2n_strerror(i32 noundef %1067, ptr noundef @.str.80)
  %1069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1070 = load i32, ptr %1069, align 4, !tbaa !5
  %1071 = call ptr @s2n_strerror_debug(i32 noundef %1070, ptr noundef @.str.80)
  %1072 = call ptr @__errno_location() #13
  %1073 = load i32, ptr %1072, align 4, !tbaa !5
  %1074 = call ptr @strerror(i32 noundef %1073) #12
  %1075 = call ptr @__errno_location() #13
  %1076 = load i32, ptr %1075, align 4, !tbaa !5
  %1077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1064, ptr noundef @.str.78, i32 noundef %1065, ptr noundef @.str.91, ptr noundef @.str.77, i32 noundef 85, ptr noundef %1068, ptr noundef %1071, ptr noundef %1074, i32 noundef %1076) #12
  br label %1095

1078:                                             ; preds = %1056, %1049
  %1079 = load i32, ptr %22, align 4, !tbaa !5
  %1080 = call ptr @__errno_location() #13
  store i32 %1079, ptr %1080, align 4, !tbaa !5
  %1081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1082 = load i32, ptr @test_count, align 4, !tbaa !5
  %1083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1084 = load i32, ptr %1083, align 4, !tbaa !5
  %1085 = call ptr @s2n_strerror(i32 noundef %1084, ptr noundef @.str.80)
  %1086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call ptr @s2n_strerror_debug(i32 noundef %1087, ptr noundef @.str.80)
  %1089 = call ptr @__errno_location() #13
  %1090 = load i32, ptr %1089, align 4, !tbaa !5
  %1091 = call ptr @strerror(i32 noundef %1090) #12
  %1092 = call ptr @__errno_location() #13
  %1093 = load i32, ptr %1092, align 4, !tbaa !5
  %1094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1081, ptr noundef @.str.81, i32 noundef %1082, ptr noundef @.str.91, ptr noundef @.str.77, i32 noundef 85, ptr noundef %1085, ptr noundef %1088, ptr noundef %1091, i32 noundef %1093) #12
  br label %1095

1095:                                             ; preds = %1078, %1061
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #12
  br label %1096

1096:                                             ; preds = %1095
  br label %1097

1097:                                             ; preds = %1096
  call void @exit(i32 noundef 1) #14
  unreachable

1098:                                             ; No predecessors!
  br label %1099

1099:                                             ; preds = %1098
  br label %1100

1100:                                             ; preds = %1099, %1042
  br label %1101

1101:                                             ; preds = %1100
  br label %1102

1102:                                             ; preds = %1101
  br label %1103

1103:                                             ; preds = %1102
  %1104 = load i32, ptr @test_count, align 4, !tbaa !5
  %1105 = add nsw i32 %1104, 1
  store i32 %1105, ptr @test_count, align 4, !tbaa !5
  %1106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1107 = load i32, ptr %1106, align 4, !tbaa !5
  %1108 = icmp eq i32 %1107, 402653193
  br i1 %1108, label %1162, label %1109

1109:                                             ; preds = %1103
  br label %1110

1110:                                             ; preds = %1109
  br label %1111

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

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

1123:                                             ; preds = %1118
  %1124 = load i32, ptr %23, align 4, !tbaa !5
  %1125 = call ptr @__errno_location() #13
  store i32 %1124, ptr %1125, align 4, !tbaa !5
  %1126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1127 = load i32, ptr @test_count, align 4, !tbaa !5
  %1128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1129 = load i32, ptr %1128, align 4, !tbaa !5
  %1130 = call ptr @s2n_strerror(i32 noundef %1129, ptr noundef @.str.80)
  %1131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call ptr @s2n_strerror_debug(i32 noundef %1132, ptr noundef @.str.80)
  %1134 = call ptr @__errno_location() #13
  %1135 = load i32, ptr %1134, align 4, !tbaa !5
  %1136 = call ptr @strerror(i32 noundef %1135) #12
  %1137 = call ptr @__errno_location() #13
  %1138 = load i32, ptr %1137, align 4, !tbaa !5
  %1139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1126, ptr noundef @.str.78, i32 noundef %1127, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 85, ptr noundef %1130, ptr noundef %1133, ptr noundef %1136, i32 noundef %1138) #12
  br label %1157

1140:                                             ; preds = %1118, %1111
  %1141 = load i32, ptr %23, align 4, !tbaa !5
  %1142 = call ptr @__errno_location() #13
  store i32 %1141, ptr %1142, align 4, !tbaa !5
  %1143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1144 = load i32, ptr @test_count, align 4, !tbaa !5
  %1145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1146 = load i32, ptr %1145, align 4, !tbaa !5
  %1147 = call ptr @s2n_strerror(i32 noundef %1146, ptr noundef @.str.80)
  %1148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror_debug(i32 noundef %1149, ptr noundef @.str.80)
  %1151 = call ptr @__errno_location() #13
  %1152 = load i32, ptr %1151, align 4, !tbaa !5
  %1153 = call ptr @strerror(i32 noundef %1152) #12
  %1154 = call ptr @__errno_location() #13
  %1155 = load i32, ptr %1154, align 4, !tbaa !5
  %1156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1143, ptr noundef @.str.81, i32 noundef %1144, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 85, ptr noundef %1147, ptr noundef %1150, ptr noundef %1153, i32 noundef %1155) #12
  br label %1157

1157:                                             ; preds = %1140, %1123
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #12
  br label %1158

1158:                                             ; preds = %1157
  br label %1159

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

1160:                                             ; No predecessors!
  br label %1161

1161:                                             ; preds = %1160
  br label %1162

1162:                                             ; preds = %1161, %1103
  br label %1163

1163:                                             ; preds = %1162
  br label %1164

1164:                                             ; preds = %1163
  br label %1165

1165:                                             ; preds = %1164
  %1166 = load i32, ptr @test_count, align 4, !tbaa !5
  %1167 = add nsw i32 %1166, 1
  store i32 %1167, ptr @test_count, align 4, !tbaa !5
  %1168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1169 = load i32, ptr %1168, align 4, !tbaa !5
  %1170 = call ptr @s2n_strerror_debug(i32 noundef %1169, ptr noundef @.str.80)
  %1171 = icmp eq ptr %1170, null
  br i1 %1171, label %1172, label %1225

1172:                                             ; preds = %1165
  br label %1173

1173:                                             ; preds = %1172
  br label %1174

1174:                                             ; preds = %1173
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #12
  %1175 = call ptr @__errno_location() #13
  %1176 = load i32, ptr %1175, align 4, !tbaa !5
  store i32 %1176, ptr %24, 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) #12
  %1184 = call i32 @isatty(i32 noundef %1183) #12
  %1185 = icmp ne i32 %1184, 0
  br i1 %1185, label %1186, label %1203

1186:                                             ; preds = %1181
  %1187 = load i32, ptr %24, align 4, !tbaa !5
  %1188 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %1197 = call ptr @__errno_location() #13
  %1198 = load i32, ptr %1197, align 4, !tbaa !5
  %1199 = call ptr @strerror(i32 noundef %1198) #12
  %1200 = call ptr @__errno_location() #13
  %1201 = load i32, ptr %1200, align 4, !tbaa !5
  %1202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1189, ptr noundef @.str.78, i32 noundef %1190, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 85, ptr noundef %1193, ptr noundef %1196, ptr noundef %1199, i32 noundef %1201) #12
  br label %1220

1203:                                             ; preds = %1181, %1174
  %1204 = load i32, ptr %24, align 4, !tbaa !5
  %1205 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %1214 = call ptr @__errno_location() #13
  %1215 = load i32, ptr %1214, align 4, !tbaa !5
  %1216 = call ptr @strerror(i32 noundef %1215) #12
  %1217 = call ptr @__errno_location() #13
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  %1219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1206, ptr noundef @.str.81, i32 noundef %1207, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 85, ptr noundef %1210, ptr noundef %1213, ptr noundef %1216, i32 noundef %1218) #12
  br label %1220

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

1221:                                             ; preds = %1220
  br label %1222

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

1223:                                             ; No predecessors!
  br label %1224

1224:                                             ; preds = %1223
  br label %1225

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

1226:                                             ; preds = %1225
  br label %1227

1227:                                             ; preds = %1226
  br label %1228

1228:                                             ; preds = %1227
  br label %1229

1229:                                             ; preds = %1228
  br label %1230

1230:                                             ; preds = %1229
  %1231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1231, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1232 = call ptr @__errno_location() #13
  store i32 0, ptr %1232, align 4, !tbaa !5
  br label %1233

1233:                                             ; preds = %1230
  br label %1234

1234:                                             ; preds = %1233
  br label %1235

1235:                                             ; preds = %1234
  br label %1236

1236:                                             ; preds = %1235
  br label %1237

1237:                                             ; preds = %1236
  br label %1238

1238:                                             ; preds = %1237
  br label %1239

1239:                                             ; preds = %1238
  %1240 = load i32, ptr @test_count, align 4, !tbaa !5
  %1241 = add nsw i32 %1240, 1
  store i32 %1241, ptr @test_count, align 4, !tbaa !5
  %1242 = call i32 @s2n_offered_psk_list_next(ptr noundef null, ptr noundef %21)
  %1243 = icmp eq i32 %1242, -1
  br i1 %1243, label %1297, label %1244

1244:                                             ; preds = %1239
  br label %1245

1245:                                             ; preds = %1244
  br label %1246

1246:                                             ; preds = %1245
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #12
  %1247 = call ptr @__errno_location() #13
  %1248 = load i32, ptr %1247, align 4, !tbaa !5
  store i32 %1248, ptr %25, align 4, !tbaa !5
  %1249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1250 = call i32 @s2n_print_stacktrace(ptr noundef %1249)
  %1251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1252 = trunc i8 %1251 to i1
  br i1 %1252, label %1253, label %1275

1253:                                             ; preds = %1246
  %1254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1255 = call i32 @fileno(ptr noundef %1254) #12
  %1256 = call i32 @isatty(i32 noundef %1255) #12
  %1257 = icmp ne i32 %1256, 0
  br i1 %1257, label %1258, label %1275

1258:                                             ; preds = %1253
  %1259 = load i32, ptr %25, align 4, !tbaa !5
  %1260 = call ptr @__errno_location() #13
  store i32 %1259, ptr %1260, align 4, !tbaa !5
  %1261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1262 = load i32, ptr @test_count, align 4, !tbaa !5
  %1263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1264 = load i32, ptr %1263, align 4, !tbaa !5
  %1265 = call ptr @s2n_strerror(i32 noundef %1264, ptr noundef @.str.80)
  %1266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1267 = load i32, ptr %1266, align 4, !tbaa !5
  %1268 = call ptr @s2n_strerror_debug(i32 noundef %1267, ptr noundef @.str.80)
  %1269 = call ptr @__errno_location() #13
  %1270 = load i32, ptr %1269, align 4, !tbaa !5
  %1271 = call ptr @strerror(i32 noundef %1270) #12
  %1272 = call ptr @__errno_location() #13
  %1273 = load i32, ptr %1272, align 4, !tbaa !5
  %1274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1261, ptr noundef @.str.78, i32 noundef %1262, ptr noundef @.str.94, ptr noundef @.str.77, i32 noundef 86, ptr noundef %1265, ptr noundef %1268, ptr noundef %1271, i32 noundef %1273) #12
  br label %1292

1275:                                             ; preds = %1253, %1246
  %1276 = load i32, ptr %25, align 4, !tbaa !5
  %1277 = call ptr @__errno_location() #13
  store i32 %1276, ptr %1277, align 4, !tbaa !5
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = load i32, ptr @test_count, align 4, !tbaa !5
  %1280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  %1282 = call ptr @s2n_strerror(i32 noundef %1281, ptr noundef @.str.80)
  %1283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1284 = load i32, ptr %1283, align 4, !tbaa !5
  %1285 = call ptr @s2n_strerror_debug(i32 noundef %1284, ptr noundef @.str.80)
  %1286 = call ptr @__errno_location() #13
  %1287 = load i32, ptr %1286, align 4, !tbaa !5
  %1288 = call ptr @strerror(i32 noundef %1287) #12
  %1289 = call ptr @__errno_location() #13
  %1290 = load i32, ptr %1289, align 4, !tbaa !5
  %1291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1278, ptr noundef @.str.81, i32 noundef %1279, ptr noundef @.str.94, ptr noundef @.str.77, i32 noundef 86, ptr noundef %1282, ptr noundef %1285, ptr noundef %1288, i32 noundef %1290) #12
  br label %1292

1292:                                             ; preds = %1275, %1258
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #12
  br label %1293

1293:                                             ; preds = %1292
  br label %1294

1294:                                             ; preds = %1293
  call void @exit(i32 noundef 1) #14
  unreachable

1295:                                             ; No predecessors!
  br label %1296

1296:                                             ; preds = %1295
  br label %1297

1297:                                             ; preds = %1296, %1239
  br label %1298

1298:                                             ; preds = %1297
  br label %1299

1299:                                             ; preds = %1298
  br label %1300

1300:                                             ; preds = %1299
  %1301 = load i32, ptr @test_count, align 4, !tbaa !5
  %1302 = add nsw i32 %1301, 1
  store i32 %1302, ptr @test_count, align 4, !tbaa !5
  %1303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1304 = load i32, ptr %1303, align 4, !tbaa !5
  %1305 = icmp eq i32 %1304, 402653193
  br i1 %1305, label %1359, label %1306

1306:                                             ; preds = %1300
  br label %1307

1307:                                             ; preds = %1306
  br label %1308

1308:                                             ; preds = %1307
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #12
  %1309 = call ptr @__errno_location() #13
  %1310 = load i32, ptr %1309, align 4, !tbaa !5
  store i32 %1310, ptr %26, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = call i32 @s2n_print_stacktrace(ptr noundef %1311)
  %1313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1314 = trunc i8 %1313 to i1
  br i1 %1314, label %1315, label %1337

1315:                                             ; preds = %1308
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = call i32 @fileno(ptr noundef %1316) #12
  %1318 = call i32 @isatty(i32 noundef %1317) #12
  %1319 = icmp ne i32 %1318, 0
  br i1 %1319, label %1320, label %1337

1320:                                             ; preds = %1315
  %1321 = load i32, ptr %26, align 4, !tbaa !5
  %1322 = call ptr @__errno_location() #13
  store i32 %1321, ptr %1322, align 4, !tbaa !5
  %1323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1324 = load i32, ptr @test_count, align 4, !tbaa !5
  %1325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1326 = load i32, ptr %1325, align 4, !tbaa !5
  %1327 = call ptr @s2n_strerror(i32 noundef %1326, ptr noundef @.str.80)
  %1328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1329 = load i32, ptr %1328, align 4, !tbaa !5
  %1330 = call ptr @s2n_strerror_debug(i32 noundef %1329, ptr noundef @.str.80)
  %1331 = call ptr @__errno_location() #13
  %1332 = load i32, ptr %1331, align 4, !tbaa !5
  %1333 = call ptr @strerror(i32 noundef %1332) #12
  %1334 = call ptr @__errno_location() #13
  %1335 = load i32, ptr %1334, align 4, !tbaa !5
  %1336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1323, ptr noundef @.str.78, i32 noundef %1324, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 86, ptr noundef %1327, ptr noundef %1330, ptr noundef %1333, i32 noundef %1335) #12
  br label %1354

1337:                                             ; preds = %1315, %1308
  %1338 = load i32, ptr %26, align 4, !tbaa !5
  %1339 = call ptr @__errno_location() #13
  store i32 %1338, ptr %1339, align 4, !tbaa !5
  %1340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1341 = load i32, ptr @test_count, align 4, !tbaa !5
  %1342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1343 = load i32, ptr %1342, align 4, !tbaa !5
  %1344 = call ptr @s2n_strerror(i32 noundef %1343, ptr noundef @.str.80)
  %1345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1346 = load i32, ptr %1345, align 4, !tbaa !5
  %1347 = call ptr @s2n_strerror_debug(i32 noundef %1346, ptr noundef @.str.80)
  %1348 = call ptr @__errno_location() #13
  %1349 = load i32, ptr %1348, align 4, !tbaa !5
  %1350 = call ptr @strerror(i32 noundef %1349) #12
  %1351 = call ptr @__errno_location() #13
  %1352 = load i32, ptr %1351, align 4, !tbaa !5
  %1353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1340, ptr noundef @.str.81, i32 noundef %1341, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 86, ptr noundef %1344, ptr noundef %1347, ptr noundef %1350, i32 noundef %1352) #12
  br label %1354

1354:                                             ; preds = %1337, %1320
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #12
  br label %1355

1355:                                             ; preds = %1354
  br label %1356

1356:                                             ; preds = %1355
  call void @exit(i32 noundef 1) #14
  unreachable

1357:                                             ; No predecessors!
  br label %1358

1358:                                             ; preds = %1357
  br label %1359

1359:                                             ; preds = %1358, %1300
  br label %1360

1360:                                             ; preds = %1359
  br label %1361

1361:                                             ; preds = %1360
  br label %1362

1362:                                             ; preds = %1361
  %1363 = load i32, ptr @test_count, align 4, !tbaa !5
  %1364 = add nsw i32 %1363, 1
  store i32 %1364, ptr @test_count, align 4, !tbaa !5
  %1365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1366 = load i32, ptr %1365, align 4, !tbaa !5
  %1367 = call ptr @s2n_strerror_debug(i32 noundef %1366, ptr noundef @.str.80)
  %1368 = icmp eq ptr %1367, null
  br i1 %1368, label %1369, label %1422

1369:                                             ; preds = %1362
  br label %1370

1370:                                             ; preds = %1369
  br label %1371

1371:                                             ; preds = %1370
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #12
  %1372 = call ptr @__errno_location() #13
  %1373 = load i32, ptr %1372, align 4, !tbaa !5
  store i32 %1373, ptr %27, align 4, !tbaa !5
  %1374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1375 = call i32 @s2n_print_stacktrace(ptr noundef %1374)
  %1376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1377 = trunc i8 %1376 to i1
  br i1 %1377, label %1378, label %1400

1378:                                             ; preds = %1371
  %1379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1380 = call i32 @fileno(ptr noundef %1379) #12
  %1381 = call i32 @isatty(i32 noundef %1380) #12
  %1382 = icmp ne i32 %1381, 0
  br i1 %1382, label %1383, label %1400

1383:                                             ; preds = %1378
  %1384 = load i32, ptr %27, align 4, !tbaa !5
  %1385 = call ptr @__errno_location() #13
  store i32 %1384, ptr %1385, align 4, !tbaa !5
  %1386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1387 = load i32, ptr @test_count, align 4, !tbaa !5
  %1388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1389 = load i32, ptr %1388, align 4, !tbaa !5
  %1390 = call ptr @s2n_strerror(i32 noundef %1389, ptr noundef @.str.80)
  %1391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1392 = load i32, ptr %1391, align 4, !tbaa !5
  %1393 = call ptr @s2n_strerror_debug(i32 noundef %1392, ptr noundef @.str.80)
  %1394 = call ptr @__errno_location() #13
  %1395 = load i32, ptr %1394, align 4, !tbaa !5
  %1396 = call ptr @strerror(i32 noundef %1395) #12
  %1397 = call ptr @__errno_location() #13
  %1398 = load i32, ptr %1397, align 4, !tbaa !5
  %1399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1386, ptr noundef @.str.78, i32 noundef %1387, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 86, ptr noundef %1390, ptr noundef %1393, ptr noundef %1396, i32 noundef %1398) #12
  br label %1417

1400:                                             ; preds = %1378, %1371
  %1401 = load i32, ptr %27, align 4, !tbaa !5
  %1402 = call ptr @__errno_location() #13
  store i32 %1401, ptr %1402, align 4, !tbaa !5
  %1403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1404 = load i32, ptr @test_count, align 4, !tbaa !5
  %1405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call ptr @s2n_strerror(i32 noundef %1406, ptr noundef @.str.80)
  %1408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1409 = load i32, ptr %1408, align 4, !tbaa !5
  %1410 = call ptr @s2n_strerror_debug(i32 noundef %1409, ptr noundef @.str.80)
  %1411 = call ptr @__errno_location() #13
  %1412 = load i32, ptr %1411, align 4, !tbaa !5
  %1413 = call ptr @strerror(i32 noundef %1412) #12
  %1414 = call ptr @__errno_location() #13
  %1415 = load i32, ptr %1414, align 4, !tbaa !5
  %1416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1403, ptr noundef @.str.81, i32 noundef %1404, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 86, ptr noundef %1407, ptr noundef %1410, ptr noundef %1413, i32 noundef %1415) #12
  br label %1417

1417:                                             ; preds = %1400, %1383
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #12
  br label %1418

1418:                                             ; preds = %1417
  br label %1419

1419:                                             ; preds = %1418
  call void @exit(i32 noundef 1) #14
  unreachable

1420:                                             ; No predecessors!
  br label %1421

1421:                                             ; preds = %1420
  br label %1422

1422:                                             ; preds = %1421, %1362
  br label %1423

1423:                                             ; preds = %1422
  br label %1424

1424:                                             ; preds = %1423
  br label %1425

1425:                                             ; preds = %1424
  br label %1426

1426:                                             ; preds = %1425
  br label %1427

1427:                                             ; preds = %1426
  %1428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1428, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1429 = call ptr @__errno_location() #13
  store i32 0, ptr %1429, align 4, !tbaa !5
  br label %1430

1430:                                             ; preds = %1427
  br label %1431

1431:                                             ; preds = %1430
  br label %1432

1432:                                             ; preds = %1431
  br label %1433

1433:                                             ; preds = %1432
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %20) #12
  call void @llvm.lifetime.start.p0(i64 56, ptr %28) #12
  call void @llvm.memset.p0.i64(ptr align 8 %28, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #12
  call void @llvm.memset.p0.i64(ptr align 8 %29, i8 0, i64 32, i1 false)
  br label %1434

1434:                                             ; preds = %1433
  br label %1435

1435:                                             ; preds = %1434
  br label %1436

1436:                                             ; preds = %1435
  %1437 = load i32, ptr @test_count, align 4, !tbaa !5
  %1438 = add nsw i32 %1437, 1
  store i32 %1438, ptr @test_count, align 4, !tbaa !5
  %1439 = call i32 @s2n_offered_psk_list_next(ptr noundef %28, ptr noundef %29)
  %1440 = icmp eq i32 %1439, -1
  br i1 %1440, label %1494, label %1441

1441:                                             ; preds = %1436
  br label %1442

1442:                                             ; preds = %1441
  br label %1443

1443:                                             ; preds = %1442
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #12
  %1444 = call ptr @__errno_location() #13
  %1445 = load i32, ptr %1444, align 4, !tbaa !5
  store i32 %1445, ptr %30, align 4, !tbaa !5
  %1446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1447 = call i32 @s2n_print_stacktrace(ptr noundef %1446)
  %1448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1449 = trunc i8 %1448 to i1
  br i1 %1449, label %1450, label %1472

1450:                                             ; preds = %1443
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = call i32 @fileno(ptr noundef %1451) #12
  %1453 = call i32 @isatty(i32 noundef %1452) #12
  %1454 = icmp ne i32 %1453, 0
  br i1 %1454, label %1455, label %1472

1455:                                             ; preds = %1450
  %1456 = load i32, ptr %30, align 4, !tbaa !5
  %1457 = call ptr @__errno_location() #13
  store i32 %1456, ptr %1457, align 4, !tbaa !5
  %1458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1459 = load i32, ptr @test_count, align 4, !tbaa !5
  %1460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1461 = load i32, ptr %1460, align 4, !tbaa !5
  %1462 = call ptr @s2n_strerror(i32 noundef %1461, ptr noundef @.str.80)
  %1463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1464 = load i32, ptr %1463, align 4, !tbaa !5
  %1465 = call ptr @s2n_strerror_debug(i32 noundef %1464, ptr noundef @.str.80)
  %1466 = call ptr @__errno_location() #13
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call ptr @strerror(i32 noundef %1467) #12
  %1469 = call ptr @__errno_location() #13
  %1470 = load i32, ptr %1469, align 4, !tbaa !5
  %1471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1458, ptr noundef @.str.78, i32 noundef %1459, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 94, ptr noundef %1462, ptr noundef %1465, ptr noundef %1468, i32 noundef %1470) #12
  br label %1489

1472:                                             ; preds = %1450, %1443
  %1473 = load i32, ptr %30, align 4, !tbaa !5
  %1474 = call ptr @__errno_location() #13
  store i32 %1473, ptr %1474, align 4, !tbaa !5
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = load i32, ptr @test_count, align 4, !tbaa !5
  %1477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1478 = load i32, ptr %1477, align 4, !tbaa !5
  %1479 = call ptr @s2n_strerror(i32 noundef %1478, ptr noundef @.str.80)
  %1480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1481 = load i32, ptr %1480, align 4, !tbaa !5
  %1482 = call ptr @s2n_strerror_debug(i32 noundef %1481, ptr noundef @.str.80)
  %1483 = call ptr @__errno_location() #13
  %1484 = load i32, ptr %1483, align 4, !tbaa !5
  %1485 = call ptr @strerror(i32 noundef %1484) #12
  %1486 = call ptr @__errno_location() #13
  %1487 = load i32, ptr %1486, align 4, !tbaa !5
  %1488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1475, ptr noundef @.str.81, i32 noundef %1476, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 94, ptr noundef %1479, ptr noundef %1482, ptr noundef %1485, i32 noundef %1487) #12
  br label %1489

1489:                                             ; preds = %1472, %1455
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #12
  br label %1490

1490:                                             ; preds = %1489
  br label %1491

1491:                                             ; preds = %1490
  call void @exit(i32 noundef 1) #14
  unreachable

1492:                                             ; No predecessors!
  br label %1493

1493:                                             ; preds = %1492
  br label %1494

1494:                                             ; preds = %1493, %1436
  br label %1495

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  %1498 = load i32, ptr @test_count, align 4, !tbaa !5
  %1499 = add nsw i32 %1498, 1
  store i32 %1499, ptr @test_count, align 4, !tbaa !5
  %1500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1501 = load i32, ptr %1500, align 4, !tbaa !5
  %1502 = icmp eq i32 %1501, 402653201
  br i1 %1502, label %1556, label %1503

1503:                                             ; preds = %1497
  br label %1504

1504:                                             ; preds = %1503
  br label %1505

1505:                                             ; preds = %1504
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #12
  %1506 = call ptr @__errno_location() #13
  %1507 = load i32, ptr %1506, align 4, !tbaa !5
  store i32 %1507, ptr %31, align 4, !tbaa !5
  %1508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1509 = call i32 @s2n_print_stacktrace(ptr noundef %1508)
  %1510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1511 = trunc i8 %1510 to i1
  br i1 %1511, label %1512, label %1534

1512:                                             ; preds = %1505
  %1513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1514 = call i32 @fileno(ptr noundef %1513) #12
  %1515 = call i32 @isatty(i32 noundef %1514) #12
  %1516 = icmp ne i32 %1515, 0
  br i1 %1516, label %1517, label %1534

1517:                                             ; preds = %1512
  %1518 = load i32, ptr %31, align 4, !tbaa !5
  %1519 = call ptr @__errno_location() #13
  store i32 %1518, ptr %1519, align 4, !tbaa !5
  %1520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1521 = load i32, ptr @test_count, align 4, !tbaa !5
  %1522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1523 = load i32, ptr %1522, align 4, !tbaa !5
  %1524 = call ptr @s2n_strerror(i32 noundef %1523, ptr noundef @.str.80)
  %1525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1526 = load i32, ptr %1525, align 4, !tbaa !5
  %1527 = call ptr @s2n_strerror_debug(i32 noundef %1526, ptr noundef @.str.80)
  %1528 = call ptr @__errno_location() #13
  %1529 = load i32, ptr %1528, align 4, !tbaa !5
  %1530 = call ptr @strerror(i32 noundef %1529) #12
  %1531 = call ptr @__errno_location() #13
  %1532 = load i32, ptr %1531, align 4, !tbaa !5
  %1533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1520, ptr noundef @.str.78, i32 noundef %1521, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 94, ptr noundef %1524, ptr noundef %1527, ptr noundef %1530, i32 noundef %1532) #12
  br label %1551

1534:                                             ; preds = %1512, %1505
  %1535 = load i32, ptr %31, align 4, !tbaa !5
  %1536 = call ptr @__errno_location() #13
  store i32 %1535, ptr %1536, align 4, !tbaa !5
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = load i32, ptr @test_count, align 4, !tbaa !5
  %1539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1540 = load i32, ptr %1539, align 4, !tbaa !5
  %1541 = call ptr @s2n_strerror(i32 noundef %1540, ptr noundef @.str.80)
  %1542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1543 = load i32, ptr %1542, align 4, !tbaa !5
  %1544 = call ptr @s2n_strerror_debug(i32 noundef %1543, ptr noundef @.str.80)
  %1545 = call ptr @__errno_location() #13
  %1546 = load i32, ptr %1545, align 4, !tbaa !5
  %1547 = call ptr @strerror(i32 noundef %1546) #12
  %1548 = call ptr @__errno_location() #13
  %1549 = load i32, ptr %1548, align 4, !tbaa !5
  %1550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1537, ptr noundef @.str.81, i32 noundef %1538, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 94, ptr noundef %1541, ptr noundef %1544, ptr noundef %1547, i32 noundef %1549) #12
  br label %1551

1551:                                             ; preds = %1534, %1517
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #12
  br label %1552

1552:                                             ; preds = %1551
  br label %1553

1553:                                             ; preds = %1552
  call void @exit(i32 noundef 1) #14
  unreachable

1554:                                             ; No predecessors!
  br label %1555

1555:                                             ; preds = %1554
  br label %1556

1556:                                             ; preds = %1555, %1497
  br label %1557

1557:                                             ; preds = %1556
  br label %1558

1558:                                             ; preds = %1557
  br label %1559

1559:                                             ; preds = %1558
  %1560 = load i32, ptr @test_count, align 4, !tbaa !5
  %1561 = add nsw i32 %1560, 1
  store i32 %1561, ptr @test_count, align 4, !tbaa !5
  %1562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1563 = load i32, ptr %1562, align 4, !tbaa !5
  %1564 = call ptr @s2n_strerror_debug(i32 noundef %1563, ptr noundef @.str.80)
  %1565 = icmp eq ptr %1564, null
  br i1 %1565, label %1566, label %1619

1566:                                             ; preds = %1559
  br label %1567

1567:                                             ; preds = %1566
  br label %1568

1568:                                             ; preds = %1567
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #12
  %1569 = call ptr @__errno_location() #13
  %1570 = load i32, ptr %1569, align 4, !tbaa !5
  store i32 %1570, ptr %32, align 4, !tbaa !5
  %1571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1572 = call i32 @s2n_print_stacktrace(ptr noundef %1571)
  %1573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1574 = trunc i8 %1573 to i1
  br i1 %1574, label %1575, label %1597

1575:                                             ; preds = %1568
  %1576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1577 = call i32 @fileno(ptr noundef %1576) #12
  %1578 = call i32 @isatty(i32 noundef %1577) #12
  %1579 = icmp ne i32 %1578, 0
  br i1 %1579, label %1580, label %1597

1580:                                             ; preds = %1575
  %1581 = load i32, ptr %32, align 4, !tbaa !5
  %1582 = call ptr @__errno_location() #13
  store i32 %1581, ptr %1582, align 4, !tbaa !5
  %1583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1584 = load i32, ptr @test_count, align 4, !tbaa !5
  %1585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1586 = load i32, ptr %1585, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror(i32 noundef %1586, ptr noundef @.str.80)
  %1588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1589 = load i32, ptr %1588, align 4, !tbaa !5
  %1590 = call ptr @s2n_strerror_debug(i32 noundef %1589, ptr noundef @.str.80)
  %1591 = call ptr @__errno_location() #13
  %1592 = load i32, ptr %1591, align 4, !tbaa !5
  %1593 = call ptr @strerror(i32 noundef %1592) #12
  %1594 = call ptr @__errno_location() #13
  %1595 = load i32, ptr %1594, align 4, !tbaa !5
  %1596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1583, ptr noundef @.str.78, i32 noundef %1584, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 94, ptr noundef %1587, ptr noundef %1590, ptr noundef %1593, i32 noundef %1595) #12
  br label %1614

1597:                                             ; preds = %1575, %1568
  %1598 = load i32, ptr %32, align 4, !tbaa !5
  %1599 = call ptr @__errno_location() #13
  store i32 %1598, ptr %1599, align 4, !tbaa !5
  %1600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1601 = load i32, ptr @test_count, align 4, !tbaa !5
  %1602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1603 = load i32, ptr %1602, align 4, !tbaa !5
  %1604 = call ptr @s2n_strerror(i32 noundef %1603, ptr noundef @.str.80)
  %1605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1606 = load i32, ptr %1605, align 4, !tbaa !5
  %1607 = call ptr @s2n_strerror_debug(i32 noundef %1606, ptr noundef @.str.80)
  %1608 = call ptr @__errno_location() #13
  %1609 = load i32, ptr %1608, align 4, !tbaa !5
  %1610 = call ptr @strerror(i32 noundef %1609) #12
  %1611 = call ptr @__errno_location() #13
  %1612 = load i32, ptr %1611, align 4, !tbaa !5
  %1613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1600, ptr noundef @.str.81, i32 noundef %1601, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 94, ptr noundef %1604, ptr noundef %1607, ptr noundef %1610, i32 noundef %1612) #12
  br label %1614

1614:                                             ; preds = %1597, %1580
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #12
  br label %1615

1615:                                             ; preds = %1614
  br label %1616

1616:                                             ; preds = %1615
  call void @exit(i32 noundef 1) #14
  unreachable

1617:                                             ; No predecessors!
  br label %1618

1618:                                             ; preds = %1617
  br label %1619

1619:                                             ; preds = %1618, %1559
  br label %1620

1620:                                             ; preds = %1619
  br label %1621

1621:                                             ; preds = %1620
  br label %1622

1622:                                             ; preds = %1621
  br label %1623

1623:                                             ; preds = %1622
  br label %1624

1624:                                             ; preds = %1623
  %1625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1625, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1626 = call ptr @__errno_location() #13
  store i32 0, ptr %1626, align 4, !tbaa !5
  br label %1627

1627:                                             ; preds = %1624
  br label %1628

1628:                                             ; preds = %1627
  br label %1629

1629:                                             ; preds = %1628
  br label %1630

1630:                                             ; preds = %1629
  br label %1631

1631:                                             ; preds = %1630
  %1632 = load i32, ptr @test_count, align 4, !tbaa !5
  %1633 = add nsw i32 %1632, 1
  store i32 %1633, ptr @test_count, align 4, !tbaa !5
  %1634 = getelementptr inbounds %struct.s2n_offered_psk, ptr %29, i32 0, i32 0
  %1635 = getelementptr inbounds %struct.s2n_blob, ptr %1634, i32 0, i32 1
  %1636 = load i32, ptr %1635, align 8, !tbaa !15
  %1637 = icmp eq i32 %1636, 0
  br i1 %1637, label %1691, label %1638

1638:                                             ; preds = %1631
  br label %1639

1639:                                             ; preds = %1638
  br label %1640

1640:                                             ; preds = %1639
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #12
  %1641 = call ptr @__errno_location() #13
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  store i32 %1642, ptr %33, align 4, !tbaa !5
  %1643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1644 = call i32 @s2n_print_stacktrace(ptr noundef %1643)
  %1645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1646 = trunc i8 %1645 to i1
  br i1 %1646, label %1647, label %1669

1647:                                             ; preds = %1640
  %1648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1649 = call i32 @fileno(ptr noundef %1648) #12
  %1650 = call i32 @isatty(i32 noundef %1649) #12
  %1651 = icmp ne i32 %1650, 0
  br i1 %1651, label %1652, label %1669

1652:                                             ; preds = %1647
  %1653 = load i32, ptr %33, align 4, !tbaa !5
  %1654 = call ptr @__errno_location() #13
  store i32 %1653, ptr %1654, align 4, !tbaa !5
  %1655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1656 = load i32, ptr @test_count, align 4, !tbaa !5
  %1657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call ptr @s2n_strerror(i32 noundef %1658, ptr noundef @.str.80)
  %1660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1661 = load i32, ptr %1660, align 4, !tbaa !5
  %1662 = call ptr @s2n_strerror_debug(i32 noundef %1661, ptr noundef @.str.80)
  %1663 = call ptr @__errno_location() #13
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call ptr @strerror(i32 noundef %1664) #12
  %1666 = call ptr @__errno_location() #13
  %1667 = load i32, ptr %1666, align 4, !tbaa !5
  %1668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1655, ptr noundef @.str.78, i32 noundef %1656, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 95, ptr noundef %1659, ptr noundef %1662, ptr noundef %1665, i32 noundef %1667) #12
  br label %1686

1669:                                             ; preds = %1647, %1640
  %1670 = load i32, ptr %33, align 4, !tbaa !5
  %1671 = call ptr @__errno_location() #13
  store i32 %1670, ptr %1671, align 4, !tbaa !5
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = load i32, ptr @test_count, align 4, !tbaa !5
  %1674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = call ptr @s2n_strerror(i32 noundef %1675, ptr noundef @.str.80)
  %1677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1678 = load i32, ptr %1677, align 4, !tbaa !5
  %1679 = call ptr @s2n_strerror_debug(i32 noundef %1678, ptr noundef @.str.80)
  %1680 = call ptr @__errno_location() #13
  %1681 = load i32, ptr %1680, align 4, !tbaa !5
  %1682 = call ptr @strerror(i32 noundef %1681) #12
  %1683 = call ptr @__errno_location() #13
  %1684 = load i32, ptr %1683, align 4, !tbaa !5
  %1685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1672, ptr noundef @.str.81, i32 noundef %1673, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 95, ptr noundef %1676, ptr noundef %1679, ptr noundef %1682, i32 noundef %1684) #12
  br label %1686

1686:                                             ; preds = %1669, %1652
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #12
  br label %1687

1687:                                             ; preds = %1686
  br label %1688

1688:                                             ; preds = %1687
  call void @exit(i32 noundef 1) #14
  unreachable

1689:                                             ; No predecessors!
  br label %1690

1690:                                             ; preds = %1689
  br label %1691

1691:                                             ; preds = %1690, %1631
  br label %1692

1692:                                             ; preds = %1691
  br label %1693

1693:                                             ; preds = %1692
  br label %1694

1694:                                             ; preds = %1693
  %1695 = load i32, ptr @test_count, align 4, !tbaa !5
  %1696 = add nsw i32 %1695, 1
  store i32 %1696, ptr @test_count, align 4, !tbaa !5
  %1697 = getelementptr inbounds %struct.s2n_offered_psk, ptr %29, i32 0, i32 0
  %1698 = getelementptr inbounds %struct.s2n_blob, ptr %1697, i32 0, i32 0
  %1699 = load ptr, ptr %1698, align 8, !tbaa !19
  %1700 = icmp eq ptr %1699, null
  br i1 %1700, label %1754, label %1701

1701:                                             ; preds = %1694
  br label %1702

1702:                                             ; preds = %1701
  br label %1703

1703:                                             ; preds = %1702
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #12
  %1704 = call ptr @__errno_location() #13
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  store i32 %1705, ptr %34, align 4, !tbaa !5
  %1706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1707 = call i32 @s2n_print_stacktrace(ptr noundef %1706)
  %1708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1709 = trunc i8 %1708 to i1
  br i1 %1709, label %1710, label %1732

1710:                                             ; preds = %1703
  %1711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1712 = call i32 @fileno(ptr noundef %1711) #12
  %1713 = call i32 @isatty(i32 noundef %1712) #12
  %1714 = icmp ne i32 %1713, 0
  br i1 %1714, label %1715, label %1732

1715:                                             ; preds = %1710
  %1716 = load i32, ptr %34, align 4, !tbaa !5
  %1717 = call ptr @__errno_location() #13
  store i32 %1716, ptr %1717, align 4, !tbaa !5
  %1718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1719 = load i32, ptr @test_count, align 4, !tbaa !5
  %1720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1721 = load i32, ptr %1720, align 4, !tbaa !5
  %1722 = call ptr @s2n_strerror(i32 noundef %1721, ptr noundef @.str.80)
  %1723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1724 = load i32, ptr %1723, align 4, !tbaa !5
  %1725 = call ptr @s2n_strerror_debug(i32 noundef %1724, ptr noundef @.str.80)
  %1726 = call ptr @__errno_location() #13
  %1727 = load i32, ptr %1726, align 4, !tbaa !5
  %1728 = call ptr @strerror(i32 noundef %1727) #12
  %1729 = call ptr @__errno_location() #13
  %1730 = load i32, ptr %1729, align 4, !tbaa !5
  %1731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1718, ptr noundef @.str.78, i32 noundef %1719, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 96, ptr noundef %1722, ptr noundef %1725, ptr noundef %1728, i32 noundef %1730) #12
  br label %1749

1732:                                             ; preds = %1710, %1703
  %1733 = load i32, ptr %34, align 4, !tbaa !5
  %1734 = call ptr @__errno_location() #13
  store i32 %1733, ptr %1734, align 4, !tbaa !5
  %1735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1736 = load i32, ptr @test_count, align 4, !tbaa !5
  %1737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1738 = load i32, ptr %1737, align 4, !tbaa !5
  %1739 = call ptr @s2n_strerror(i32 noundef %1738, ptr noundef @.str.80)
  %1740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1741 = load i32, ptr %1740, align 4, !tbaa !5
  %1742 = call ptr @s2n_strerror_debug(i32 noundef %1741, ptr noundef @.str.80)
  %1743 = call ptr @__errno_location() #13
  %1744 = load i32, ptr %1743, align 4, !tbaa !5
  %1745 = call ptr @strerror(i32 noundef %1744) #12
  %1746 = call ptr @__errno_location() #13
  %1747 = load i32, ptr %1746, align 4, !tbaa !5
  %1748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1735, ptr noundef @.str.81, i32 noundef %1736, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 96, ptr noundef %1739, ptr noundef %1742, ptr noundef %1745, i32 noundef %1747) #12
  br label %1749

1749:                                             ; preds = %1732, %1715
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #12
  br label %1750

1750:                                             ; preds = %1749
  br label %1751

1751:                                             ; preds = %1750
  call void @exit(i32 noundef 1) #14
  unreachable

1752:                                             ; No predecessors!
  br label %1753

1753:                                             ; preds = %1752
  br label %1754

1754:                                             ; preds = %1753, %1694
  br label %1755

1755:                                             ; preds = %1754
  br label %1756

1756:                                             ; preds = %1755
  br label %1757

1757:                                             ; preds = %1756
  br label %1758

1758:                                             ; preds = %1757
  br label %1759

1759:                                             ; preds = %1758
  %1760 = load i32, ptr @test_count, align 4, !tbaa !5
  %1761 = add nsw i32 %1760, 1
  store i32 %1761, ptr @test_count, align 4, !tbaa !5
  %1762 = call i32 @s2n_offered_psk_list_next(ptr noundef %28, ptr noundef %29)
  %1763 = icmp eq i32 %1762, -1
  br i1 %1763, label %1817, label %1764

1764:                                             ; preds = %1759
  br label %1765

1765:                                             ; preds = %1764
  br label %1766

1766:                                             ; preds = %1765
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #12
  %1767 = call ptr @__errno_location() #13
  %1768 = load i32, ptr %1767, align 4, !tbaa !5
  store i32 %1768, ptr %35, align 4, !tbaa !5
  %1769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1770 = call i32 @s2n_print_stacktrace(ptr noundef %1769)
  %1771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1772 = trunc i8 %1771 to i1
  br i1 %1772, label %1773, label %1795

1773:                                             ; preds = %1766
  %1774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1775 = call i32 @fileno(ptr noundef %1774) #12
  %1776 = call i32 @isatty(i32 noundef %1775) #12
  %1777 = icmp ne i32 %1776, 0
  br i1 %1777, label %1778, label %1795

1778:                                             ; preds = %1773
  %1779 = load i32, ptr %35, align 4, !tbaa !5
  %1780 = call ptr @__errno_location() #13
  store i32 %1779, ptr %1780, align 4, !tbaa !5
  %1781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1782 = load i32, ptr @test_count, align 4, !tbaa !5
  %1783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call ptr @s2n_strerror(i32 noundef %1784, ptr noundef @.str.80)
  %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_debug(i32 noundef %1787, ptr noundef @.str.80)
  %1789 = call ptr @__errno_location() #13
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = call ptr @strerror(i32 noundef %1790) #12
  %1792 = call ptr @__errno_location() #13
  %1793 = load i32, ptr %1792, align 4, !tbaa !5
  %1794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1781, ptr noundef @.str.78, i32 noundef %1782, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 99, ptr noundef %1785, ptr noundef %1788, ptr noundef %1791, i32 noundef %1793) #12
  br label %1812

1795:                                             ; preds = %1773, %1766
  %1796 = load i32, ptr %35, align 4, !tbaa !5
  %1797 = call ptr @__errno_location() #13
  store i32 %1796, ptr %1797, align 4, !tbaa !5
  %1798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1799 = load i32, ptr @test_count, align 4, !tbaa !5
  %1800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1801 = load i32, ptr %1800, align 4, !tbaa !5
  %1802 = call ptr @s2n_strerror(i32 noundef %1801, ptr noundef @.str.80)
  %1803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1804 = load i32, ptr %1803, align 4, !tbaa !5
  %1805 = call ptr @s2n_strerror_debug(i32 noundef %1804, ptr noundef @.str.80)
  %1806 = call ptr @__errno_location() #13
  %1807 = load i32, ptr %1806, align 4, !tbaa !5
  %1808 = call ptr @strerror(i32 noundef %1807) #12
  %1809 = call ptr @__errno_location() #13
  %1810 = load i32, ptr %1809, align 4, !tbaa !5
  %1811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1798, ptr noundef @.str.81, i32 noundef %1799, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 99, ptr noundef %1802, ptr noundef %1805, ptr noundef %1808, i32 noundef %1810) #12
  br label %1812

1812:                                             ; preds = %1795, %1778
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #12
  br label %1813

1813:                                             ; preds = %1812
  br label %1814

1814:                                             ; preds = %1813
  call void @exit(i32 noundef 1) #14
  unreachable

1815:                                             ; No predecessors!
  br label %1816

1816:                                             ; preds = %1815
  br label %1817

1817:                                             ; preds = %1816, %1759
  br label %1818

1818:                                             ; preds = %1817
  br label %1819

1819:                                             ; preds = %1818
  br label %1820

1820:                                             ; preds = %1819
  %1821 = load i32, ptr @test_count, align 4, !tbaa !5
  %1822 = add nsw i32 %1821, 1
  store i32 %1822, ptr @test_count, align 4, !tbaa !5
  %1823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1824 = load i32, ptr %1823, align 4, !tbaa !5
  %1825 = icmp eq i32 %1824, 402653201
  br i1 %1825, label %1879, label %1826

1826:                                             ; preds = %1820
  br label %1827

1827:                                             ; preds = %1826
  br label %1828

1828:                                             ; preds = %1827
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #12
  %1829 = call ptr @__errno_location() #13
  %1830 = load i32, ptr %1829, align 4, !tbaa !5
  store i32 %1830, ptr %36, align 4, !tbaa !5
  %1831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1832 = call i32 @s2n_print_stacktrace(ptr noundef %1831)
  %1833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1834 = trunc i8 %1833 to i1
  br i1 %1834, label %1835, label %1857

1835:                                             ; preds = %1828
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = call i32 @fileno(ptr noundef %1836) #12
  %1838 = call i32 @isatty(i32 noundef %1837) #12
  %1839 = icmp ne i32 %1838, 0
  br i1 %1839, label %1840, label %1857

1840:                                             ; preds = %1835
  %1841 = load i32, ptr %36, align 4, !tbaa !5
  %1842 = call ptr @__errno_location() #13
  store i32 %1841, ptr %1842, align 4, !tbaa !5
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = load i32, ptr @test_count, align 4, !tbaa !5
  %1845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1846 = load i32, ptr %1845, align 4, !tbaa !5
  %1847 = call ptr @s2n_strerror(i32 noundef %1846, ptr noundef @.str.80)
  %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_debug(i32 noundef %1849, ptr noundef @.str.80)
  %1851 = call ptr @__errno_location() #13
  %1852 = load i32, ptr %1851, align 4, !tbaa !5
  %1853 = call ptr @strerror(i32 noundef %1852) #12
  %1854 = call ptr @__errno_location() #13
  %1855 = load i32, ptr %1854, align 4, !tbaa !5
  %1856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1843, ptr noundef @.str.78, i32 noundef %1844, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 99, ptr noundef %1847, ptr noundef %1850, ptr noundef %1853, i32 noundef %1855) #12
  br label %1874

1857:                                             ; preds = %1835, %1828
  %1858 = load i32, ptr %36, align 4, !tbaa !5
  %1859 = call ptr @__errno_location() #13
  store i32 %1858, ptr %1859, align 4, !tbaa !5
  %1860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1861 = load i32, ptr @test_count, align 4, !tbaa !5
  %1862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1863 = load i32, ptr %1862, align 4, !tbaa !5
  %1864 = call ptr @s2n_strerror(i32 noundef %1863, ptr noundef @.str.80)
  %1865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1866 = load i32, ptr %1865, align 4, !tbaa !5
  %1867 = call ptr @s2n_strerror_debug(i32 noundef %1866, ptr noundef @.str.80)
  %1868 = call ptr @__errno_location() #13
  %1869 = load i32, ptr %1868, align 4, !tbaa !5
  %1870 = call ptr @strerror(i32 noundef %1869) #12
  %1871 = call ptr @__errno_location() #13
  %1872 = load i32, ptr %1871, align 4, !tbaa !5
  %1873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1860, ptr noundef @.str.81, i32 noundef %1861, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 99, ptr noundef %1864, ptr noundef %1867, ptr noundef %1870, i32 noundef %1872) #12
  br label %1874

1874:                                             ; preds = %1857, %1840
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #12
  br label %1875

1875:                                             ; preds = %1874
  br label %1876

1876:                                             ; preds = %1875
  call void @exit(i32 noundef 1) #14
  unreachable

1877:                                             ; No predecessors!
  br label %1878

1878:                                             ; preds = %1877
  br label %1879

1879:                                             ; preds = %1878, %1820
  br label %1880

1880:                                             ; preds = %1879
  br label %1881

1881:                                             ; preds = %1880
  br label %1882

1882:                                             ; preds = %1881
  %1883 = load i32, ptr @test_count, align 4, !tbaa !5
  %1884 = add nsw i32 %1883, 1
  store i32 %1884, ptr @test_count, align 4, !tbaa !5
  %1885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1886 = load i32, ptr %1885, align 4, !tbaa !5
  %1887 = call ptr @s2n_strerror_debug(i32 noundef %1886, ptr noundef @.str.80)
  %1888 = icmp eq ptr %1887, null
  br i1 %1888, label %1889, label %1942

1889:                                             ; preds = %1882
  br label %1890

1890:                                             ; preds = %1889
  br label %1891

1891:                                             ; preds = %1890
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #12
  %1892 = call ptr @__errno_location() #13
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  store i32 %1893, ptr %37, align 4, !tbaa !5
  %1894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1895 = call i32 @s2n_print_stacktrace(ptr noundef %1894)
  %1896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1897 = trunc i8 %1896 to i1
  br i1 %1897, label %1898, label %1920

1898:                                             ; preds = %1891
  %1899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1900 = call i32 @fileno(ptr noundef %1899) #12
  %1901 = call i32 @isatty(i32 noundef %1900) #12
  %1902 = icmp ne i32 %1901, 0
  br i1 %1902, label %1903, label %1920

1903:                                             ; preds = %1898
  %1904 = load i32, ptr %37, align 4, !tbaa !5
  %1905 = call ptr @__errno_location() #13
  store i32 %1904, ptr %1905, align 4, !tbaa !5
  %1906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1907 = load i32, ptr @test_count, align 4, !tbaa !5
  %1908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1909 = load i32, ptr %1908, align 4, !tbaa !5
  %1910 = call ptr @s2n_strerror(i32 noundef %1909, ptr noundef @.str.80)
  %1911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = call ptr @s2n_strerror_debug(i32 noundef %1912, ptr noundef @.str.80)
  %1914 = call ptr @__errno_location() #13
  %1915 = load i32, ptr %1914, align 4, !tbaa !5
  %1916 = call ptr @strerror(i32 noundef %1915) #12
  %1917 = call ptr @__errno_location() #13
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  %1919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1906, ptr noundef @.str.78, i32 noundef %1907, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 99, ptr noundef %1910, ptr noundef %1913, ptr noundef %1916, i32 noundef %1918) #12
  br label %1937

1920:                                             ; preds = %1898, %1891
  %1921 = load i32, ptr %37, align 4, !tbaa !5
  %1922 = call ptr @__errno_location() #13
  store i32 %1921, ptr %1922, align 4, !tbaa !5
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = load i32, ptr @test_count, align 4, !tbaa !5
  %1925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1926 = load i32, ptr %1925, align 4, !tbaa !5
  %1927 = call ptr @s2n_strerror(i32 noundef %1926, ptr noundef @.str.80)
  %1928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1929 = load i32, ptr %1928, align 4, !tbaa !5
  %1930 = call ptr @s2n_strerror_debug(i32 noundef %1929, ptr noundef @.str.80)
  %1931 = call ptr @__errno_location() #13
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = call ptr @strerror(i32 noundef %1932) #12
  %1934 = call ptr @__errno_location() #13
  %1935 = load i32, ptr %1934, align 4, !tbaa !5
  %1936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1923, ptr noundef @.str.81, i32 noundef %1924, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 99, ptr noundef %1927, ptr noundef %1930, ptr noundef %1933, i32 noundef %1935) #12
  br label %1937

1937:                                             ; preds = %1920, %1903
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #12
  br label %1938

1938:                                             ; preds = %1937
  br label %1939

1939:                                             ; preds = %1938
  call void @exit(i32 noundef 1) #14
  unreachable

1940:                                             ; No predecessors!
  br label %1941

1941:                                             ; preds = %1940
  br label %1942

1942:                                             ; preds = %1941, %1882
  br label %1943

1943:                                             ; preds = %1942
  br label %1944

1944:                                             ; preds = %1943
  br label %1945

1945:                                             ; preds = %1944
  br label %1946

1946:                                             ; preds = %1945
  br label %1947

1947:                                             ; preds = %1946
  %1948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1948, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1949 = call ptr @__errno_location() #13
  store i32 0, ptr %1949, align 4, !tbaa !5
  br label %1950

1950:                                             ; preds = %1947
  br label %1951

1951:                                             ; preds = %1950
  br label %1952

1952:                                             ; preds = %1951
  br label %1953

1953:                                             ; preds = %1952
  br label %1954

1954:                                             ; preds = %1953
  %1955 = load i32, ptr @test_count, align 4, !tbaa !5
  %1956 = add nsw i32 %1955, 1
  store i32 %1956, ptr @test_count, align 4, !tbaa !5
  %1957 = getelementptr inbounds %struct.s2n_offered_psk, ptr %29, i32 0, i32 0
  %1958 = getelementptr inbounds %struct.s2n_blob, ptr %1957, i32 0, i32 1
  %1959 = load i32, ptr %1958, align 8, !tbaa !15
  %1960 = icmp eq i32 %1959, 0
  br i1 %1960, label %2014, label %1961

1961:                                             ; preds = %1954
  br label %1962

1962:                                             ; preds = %1961
  br label %1963

1963:                                             ; preds = %1962
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #12
  %1964 = call ptr @__errno_location() #13
  %1965 = load i32, ptr %1964, align 4, !tbaa !5
  store i32 %1965, ptr %38, align 4, !tbaa !5
  %1966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1967 = call i32 @s2n_print_stacktrace(ptr noundef %1966)
  %1968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1969 = trunc i8 %1968 to i1
  br i1 %1969, label %1970, label %1992

1970:                                             ; preds = %1963
  %1971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1972 = call i32 @fileno(ptr noundef %1971) #12
  %1973 = call i32 @isatty(i32 noundef %1972) #12
  %1974 = icmp ne i32 %1973, 0
  br i1 %1974, label %1975, label %1992

1975:                                             ; preds = %1970
  %1976 = load i32, ptr %38, align 4, !tbaa !5
  %1977 = call ptr @__errno_location() #13
  store i32 %1976, ptr %1977, align 4, !tbaa !5
  %1978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1979 = load i32, ptr @test_count, align 4, !tbaa !5
  %1980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1981 = load i32, ptr %1980, align 4, !tbaa !5
  %1982 = call ptr @s2n_strerror(i32 noundef %1981, ptr noundef @.str.80)
  %1983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1984 = load i32, ptr %1983, align 4, !tbaa !5
  %1985 = call ptr @s2n_strerror_debug(i32 noundef %1984, ptr noundef @.str.80)
  %1986 = call ptr @__errno_location() #13
  %1987 = load i32, ptr %1986, align 4, !tbaa !5
  %1988 = call ptr @strerror(i32 noundef %1987) #12
  %1989 = call ptr @__errno_location() #13
  %1990 = load i32, ptr %1989, align 4, !tbaa !5
  %1991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1978, ptr noundef @.str.78, i32 noundef %1979, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 100, ptr noundef %1982, ptr noundef %1985, ptr noundef %1988, i32 noundef %1990) #12
  br label %2009

1992:                                             ; preds = %1970, %1963
  %1993 = load i32, ptr %38, align 4, !tbaa !5
  %1994 = call ptr @__errno_location() #13
  store i32 %1993, ptr %1994, align 4, !tbaa !5
  %1995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1996 = load i32, ptr @test_count, align 4, !tbaa !5
  %1997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1998 = load i32, ptr %1997, align 4, !tbaa !5
  %1999 = call ptr @s2n_strerror(i32 noundef %1998, ptr noundef @.str.80)
  %2000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2001 = load i32, ptr %2000, align 4, !tbaa !5
  %2002 = call ptr @s2n_strerror_debug(i32 noundef %2001, ptr noundef @.str.80)
  %2003 = call ptr @__errno_location() #13
  %2004 = load i32, ptr %2003, align 4, !tbaa !5
  %2005 = call ptr @strerror(i32 noundef %2004) #12
  %2006 = call ptr @__errno_location() #13
  %2007 = load i32, ptr %2006, align 4, !tbaa !5
  %2008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1995, ptr noundef @.str.81, i32 noundef %1996, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 100, ptr noundef %1999, ptr noundef %2002, ptr noundef %2005, i32 noundef %2007) #12
  br label %2009

2009:                                             ; preds = %1992, %1975
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #12
  br label %2010

2010:                                             ; preds = %2009
  br label %2011

2011:                                             ; preds = %2010
  call void @exit(i32 noundef 1) #14
  unreachable

2012:                                             ; No predecessors!
  br label %2013

2013:                                             ; preds = %2012
  br label %2014

2014:                                             ; preds = %2013, %1954
  br label %2015

2015:                                             ; preds = %2014
  br label %2016

2016:                                             ; preds = %2015
  br label %2017

2017:                                             ; preds = %2016
  %2018 = load i32, ptr @test_count, align 4, !tbaa !5
  %2019 = add nsw i32 %2018, 1
  store i32 %2019, ptr @test_count, align 4, !tbaa !5
  %2020 = getelementptr inbounds %struct.s2n_offered_psk, ptr %29, i32 0, i32 0
  %2021 = getelementptr inbounds %struct.s2n_blob, ptr %2020, i32 0, i32 0
  %2022 = load ptr, ptr %2021, align 8, !tbaa !19
  %2023 = icmp eq ptr %2022, null
  br i1 %2023, label %2077, label %2024

2024:                                             ; preds = %2017
  br label %2025

2025:                                             ; preds = %2024
  br label %2026

2026:                                             ; preds = %2025
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #12
  %2027 = call ptr @__errno_location() #13
  %2028 = load i32, ptr %2027, align 4, !tbaa !5
  store i32 %2028, ptr %39, align 4, !tbaa !5
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = call i32 @s2n_print_stacktrace(ptr noundef %2029)
  %2031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2032 = trunc i8 %2031 to i1
  br i1 %2032, label %2033, label %2055

2033:                                             ; preds = %2026
  %2034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2035 = call i32 @fileno(ptr noundef %2034) #12
  %2036 = call i32 @isatty(i32 noundef %2035) #12
  %2037 = icmp ne i32 %2036, 0
  br i1 %2037, label %2038, label %2055

2038:                                             ; preds = %2033
  %2039 = load i32, ptr %39, align 4, !tbaa !5
  %2040 = call ptr @__errno_location() #13
  store i32 %2039, ptr %2040, align 4, !tbaa !5
  %2041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2042 = load i32, ptr @test_count, align 4, !tbaa !5
  %2043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2044 = load i32, ptr %2043, align 4, !tbaa !5
  %2045 = call ptr @s2n_strerror(i32 noundef %2044, ptr noundef @.str.80)
  %2046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror_debug(i32 noundef %2047, ptr noundef @.str.80)
  %2049 = call ptr @__errno_location() #13
  %2050 = load i32, ptr %2049, align 4, !tbaa !5
  %2051 = call ptr @strerror(i32 noundef %2050) #12
  %2052 = call ptr @__errno_location() #13
  %2053 = load i32, ptr %2052, align 4, !tbaa !5
  %2054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2041, ptr noundef @.str.78, i32 noundef %2042, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 101, ptr noundef %2045, ptr noundef %2048, ptr noundef %2051, i32 noundef %2053) #12
  br label %2072

2055:                                             ; preds = %2033, %2026
  %2056 = load i32, ptr %39, align 4, !tbaa !5
  %2057 = call ptr @__errno_location() #13
  store i32 %2056, ptr %2057, align 4, !tbaa !5
  %2058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2059 = load i32, ptr @test_count, align 4, !tbaa !5
  %2060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2061 = load i32, ptr %2060, align 4, !tbaa !5
  %2062 = call ptr @s2n_strerror(i32 noundef %2061, ptr noundef @.str.80)
  %2063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2064 = load i32, ptr %2063, align 4, !tbaa !5
  %2065 = call ptr @s2n_strerror_debug(i32 noundef %2064, ptr noundef @.str.80)
  %2066 = call ptr @__errno_location() #13
  %2067 = load i32, ptr %2066, align 4, !tbaa !5
  %2068 = call ptr @strerror(i32 noundef %2067) #12
  %2069 = call ptr @__errno_location() #13
  %2070 = load i32, ptr %2069, align 4, !tbaa !5
  %2071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2058, ptr noundef @.str.81, i32 noundef %2059, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 101, ptr noundef %2062, ptr noundef %2065, ptr noundef %2068, i32 noundef %2070) #12
  br label %2072

2072:                                             ; preds = %2055, %2038
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #12
  br label %2073

2073:                                             ; preds = %2072
  br label %2074

2074:                                             ; preds = %2073
  call void @exit(i32 noundef 1) #14
  unreachable

2075:                                             ; No predecessors!
  br label %2076

2076:                                             ; preds = %2075
  br label %2077

2077:                                             ; preds = %2076, %2017
  br label %2078

2078:                                             ; preds = %2077
  br label %2079

2079:                                             ; preds = %2078
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %28) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #12
  call void @llvm.memset.p0.i64(ptr align 8 %40, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %41) #12
  call void @llvm.memset.p0.i64(ptr align 8 %41, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #12
  %2080 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2080, ptr %42, align 8, !tbaa !9
  br label %2081

2081:                                             ; preds = %2079
  %2082 = load i32, ptr @test_count, align 4, !tbaa !5
  %2083 = add nsw i32 %2082, 1
  store i32 %2083, ptr @test_count, align 4, !tbaa !5
  %2084 = load ptr, ptr %42, align 8, !tbaa !9
  %2085 = icmp eq ptr %2084, null
  br i1 %2085, label %2086, label %2139

2086:                                             ; preds = %2081
  br label %2087

2087:                                             ; preds = %2086
  br label %2088

2088:                                             ; preds = %2087
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #12
  %2089 = call ptr @__errno_location() #13
  %2090 = load i32, ptr %2089, align 4, !tbaa !5
  store i32 %2090, ptr %43, align 4, !tbaa !5
  %2091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2092 = call i32 @s2n_print_stacktrace(ptr noundef %2091)
  %2093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2094 = trunc i8 %2093 to i1
  br i1 %2094, label %2095, label %2117

2095:                                             ; preds = %2088
  %2096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2097 = call i32 @fileno(ptr noundef %2096) #12
  %2098 = call i32 @isatty(i32 noundef %2097) #12
  %2099 = icmp ne i32 %2098, 0
  br i1 %2099, label %2100, label %2117

2100:                                             ; preds = %2095
  %2101 = load i32, ptr %43, align 4, !tbaa !5
  %2102 = call ptr @__errno_location() #13
  store i32 %2101, ptr %2102, align 4, !tbaa !5
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = load i32, ptr @test_count, align 4, !tbaa !5
  %2105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2106 = load i32, ptr %2105, align 4, !tbaa !5
  %2107 = call ptr @s2n_strerror(i32 noundef %2106, ptr noundef @.str.80)
  %2108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror_debug(i32 noundef %2109, ptr noundef @.str.80)
  %2111 = call ptr @__errno_location() #13
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @strerror(i32 noundef %2112) #12
  %2114 = call ptr @__errno_location() #13
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2103, ptr noundef @.str.78, i32 noundef %2104, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 109, ptr noundef %2107, ptr noundef %2110, ptr noundef %2113, i32 noundef %2115) #12
  br label %2134

2117:                                             ; preds = %2095, %2088
  %2118 = load i32, ptr %43, align 4, !tbaa !5
  %2119 = call ptr @__errno_location() #13
  store i32 %2118, ptr %2119, align 4, !tbaa !5
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2121 = load i32, ptr @test_count, align 4, !tbaa !5
  %2122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2123 = load i32, ptr %2122, align 4, !tbaa !5
  %2124 = call ptr @s2n_strerror(i32 noundef %2123, ptr noundef @.str.80)
  %2125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2126 = load i32, ptr %2125, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror_debug(i32 noundef %2126, ptr noundef @.str.80)
  %2128 = call ptr @__errno_location() #13
  %2129 = load i32, ptr %2128, align 4, !tbaa !5
  %2130 = call ptr @strerror(i32 noundef %2129) #12
  %2131 = call ptr @__errno_location() #13
  %2132 = load i32, ptr %2131, align 4, !tbaa !5
  %2133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2120, ptr noundef @.str.81, i32 noundef %2121, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 109, ptr noundef %2124, ptr noundef %2127, ptr noundef %2130, i32 noundef %2132) #12
  br label %2134

2134:                                             ; preds = %2117, %2100
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #12
  br label %2135

2135:                                             ; preds = %2134
  br label %2136

2136:                                             ; preds = %2135
  call void @exit(i32 noundef 1) #14
  unreachable

2137:                                             ; No predecessors!
  br label %2138

2138:                                             ; preds = %2137
  br label %2139

2139:                                             ; preds = %2138, %2081
  br label %2140

2140:                                             ; preds = %2139
  br label %2141

2141:                                             ; preds = %2140
  %2142 = load ptr, ptr %42, align 8, !tbaa !9
  %2143 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %41, i32 0, i32 0
  store ptr %2142, ptr %2143, align 8, !tbaa !20
  br label %2144

2144:                                             ; preds = %2141
  %2145 = load i32, ptr @test_count, align 4, !tbaa !5
  %2146 = add nsw i32 %2145, 1
  store i32 %2146, ptr @test_count, align 4, !tbaa !5
  %2147 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %41, i32 0, i32 1
  %2148 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %2147, i32 noundef 0)
  %2149 = icmp eq i32 %2148, -1
  br i1 %2149, label %2150, label %2203

2150:                                             ; preds = %2144
  br label %2151

2151:                                             ; preds = %2150
  br label %2152

2152:                                             ; preds = %2151
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #12
  %2153 = call ptr @__errno_location() #13
  %2154 = load i32, ptr %2153, align 4, !tbaa !5
  store i32 %2154, ptr %44, align 4, !tbaa !5
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = call i32 @s2n_print_stacktrace(ptr noundef %2155)
  %2157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2158 = trunc i8 %2157 to i1
  br i1 %2158, label %2159, label %2181

2159:                                             ; preds = %2152
  %2160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2161 = call i32 @fileno(ptr noundef %2160) #12
  %2162 = call i32 @isatty(i32 noundef %2161) #12
  %2163 = icmp ne i32 %2162, 0
  br i1 %2163, label %2164, label %2181

2164:                                             ; preds = %2159
  %2165 = load i32, ptr %44, align 4, !tbaa !5
  %2166 = call ptr @__errno_location() #13
  store i32 %2165, ptr %2166, align 4, !tbaa !5
  %2167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2168 = load i32, ptr @test_count, align 4, !tbaa !5
  %2169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2170 = load i32, ptr %2169, align 4, !tbaa !5
  %2171 = call ptr @s2n_strerror(i32 noundef %2170, ptr noundef @.str.80)
  %2172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2173 = load i32, ptr %2172, align 4, !tbaa !5
  %2174 = call ptr @s2n_strerror_debug(i32 noundef %2173, ptr noundef @.str.80)
  %2175 = call ptr @__errno_location() #13
  %2176 = load i32, ptr %2175, align 4, !tbaa !5
  %2177 = call ptr @strerror(i32 noundef %2176) #12
  %2178 = call ptr @__errno_location() #13
  %2179 = load i32, ptr %2178, align 4, !tbaa !5
  %2180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2167, ptr noundef @.str.78, i32 noundef %2168, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 112, ptr noundef %2171, ptr noundef %2174, ptr noundef %2177, i32 noundef %2179) #12
  br label %2198

2181:                                             ; preds = %2159, %2152
  %2182 = load i32, ptr %44, align 4, !tbaa !5
  %2183 = call ptr @__errno_location() #13
  store i32 %2182, ptr %2183, align 4, !tbaa !5
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2185 = load i32, ptr @test_count, align 4, !tbaa !5
  %2186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2187 = load i32, ptr %2186, align 4, !tbaa !5
  %2188 = call ptr @s2n_strerror(i32 noundef %2187, ptr noundef @.str.80)
  %2189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2190 = load i32, ptr %2189, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror_debug(i32 noundef %2190, ptr noundef @.str.80)
  %2192 = call ptr @__errno_location() #13
  %2193 = load i32, ptr %2192, align 4, !tbaa !5
  %2194 = call ptr @strerror(i32 noundef %2193) #12
  %2195 = call ptr @__errno_location() #13
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2184, ptr noundef @.str.81, i32 noundef %2185, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 112, ptr noundef %2188, ptr noundef %2191, ptr noundef %2194, i32 noundef %2196) #12
  br label %2198

2198:                                             ; preds = %2181, %2164
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #12
  br label %2199

2199:                                             ; preds = %2198
  br label %2200

2200:                                             ; preds = %2199
  call void @exit(i32 noundef 1) #14
  unreachable

2201:                                             ; No predecessors!
  br label %2202

2202:                                             ; preds = %2201
  br label %2203

2203:                                             ; preds = %2202, %2144
  br label %2204

2204:                                             ; preds = %2203
  br label %2205

2205:                                             ; preds = %2204
  br label %2206

2206:                                             ; preds = %2205
  %2207 = load i32, ptr @test_count, align 4, !tbaa !5
  %2208 = add nsw i32 %2207, 1
  store i32 %2208, ptr @test_count, align 4, !tbaa !5
  %2209 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %41, i32 0, i32 1
  %2210 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %2211 = call i32 @s2n_write_test_identity(ptr noundef %2209, ptr noundef %2210, i16 noundef zeroext 4)
  %2212 = getelementptr inbounds %struct.s2n_result, ptr %45, i32 0, i32 0
  store i32 %2211, ptr %2212, align 4
  %2213 = getelementptr inbounds %struct.s2n_result, ptr %45, i32 0, i32 0
  %2214 = load i32, ptr %2213, align 4
  %2215 = call zeroext i1 @s2n_result_is_ok(i32 %2214)
  br i1 %2215, label %2269, label %2216

2216:                                             ; preds = %2206
  br label %2217

2217:                                             ; preds = %2216
  br label %2218

2218:                                             ; preds = %2217
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #12
  %2219 = call ptr @__errno_location() #13
  %2220 = load i32, ptr %2219, align 4, !tbaa !5
  store i32 %2220, ptr %46, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = call i32 @s2n_print_stacktrace(ptr noundef %2221)
  %2223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2224 = trunc i8 %2223 to i1
  br i1 %2224, label %2225, label %2247

2225:                                             ; preds = %2218
  %2226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2227 = call i32 @fileno(ptr noundef %2226) #12
  %2228 = call i32 @isatty(i32 noundef %2227) #12
  %2229 = icmp ne i32 %2228, 0
  br i1 %2229, label %2230, label %2247

2230:                                             ; preds = %2225
  %2231 = load i32, ptr %46, align 4, !tbaa !5
  %2232 = call ptr @__errno_location() #13
  store i32 %2231, ptr %2232, align 4, !tbaa !5
  %2233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2234 = load i32, ptr @test_count, align 4, !tbaa !5
  %2235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2236 = load i32, ptr %2235, align 4, !tbaa !5
  %2237 = call ptr @s2n_strerror(i32 noundef %2236, ptr noundef @.str.80)
  %2238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2239 = load i32, ptr %2238, align 4, !tbaa !5
  %2240 = call ptr @s2n_strerror_debug(i32 noundef %2239, ptr noundef @.str.80)
  %2241 = call ptr @__errno_location() #13
  %2242 = load i32, ptr %2241, align 4, !tbaa !5
  %2243 = call ptr @strerror(i32 noundef %2242) #12
  %2244 = call ptr @__errno_location() #13
  %2245 = load i32, ptr %2244, align 4, !tbaa !5
  %2246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2233, ptr noundef @.str.78, i32 noundef %2234, ptr noundef @.str.100, ptr noundef @.str.77, i32 noundef 113, ptr noundef %2237, ptr noundef %2240, ptr noundef %2243, i32 noundef %2245) #12
  br label %2264

2247:                                             ; preds = %2225, %2218
  %2248 = load i32, ptr %46, align 4, !tbaa !5
  %2249 = call ptr @__errno_location() #13
  store i32 %2248, ptr %2249, align 4, !tbaa !5
  %2250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2251 = load i32, ptr @test_count, align 4, !tbaa !5
  %2252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2253 = load i32, ptr %2252, align 4, !tbaa !5
  %2254 = call ptr @s2n_strerror(i32 noundef %2253, ptr noundef @.str.80)
  %2255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2256 = load i32, ptr %2255, align 4, !tbaa !5
  %2257 = call ptr @s2n_strerror_debug(i32 noundef %2256, ptr noundef @.str.80)
  %2258 = call ptr @__errno_location() #13
  %2259 = load i32, ptr %2258, align 4, !tbaa !5
  %2260 = call ptr @strerror(i32 noundef %2259) #12
  %2261 = call ptr @__errno_location() #13
  %2262 = load i32, ptr %2261, align 4, !tbaa !5
  %2263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2250, ptr noundef @.str.81, i32 noundef %2251, ptr noundef @.str.100, ptr noundef @.str.77, i32 noundef 113, ptr noundef %2254, ptr noundef %2257, ptr noundef %2260, i32 noundef %2262) #12
  br label %2264

2264:                                             ; preds = %2247, %2230
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #12
  br label %2265

2265:                                             ; preds = %2264
  br label %2266

2266:                                             ; preds = %2265
  call void @exit(i32 noundef 1) #14
  unreachable

2267:                                             ; No predecessors!
  br label %2268

2268:                                             ; preds = %2267
  br label %2269

2269:                                             ; preds = %2268, %2206
  br label %2270

2270:                                             ; preds = %2269
  br label %2271

2271:                                             ; preds = %2270
  br label %2272

2272:                                             ; preds = %2271
  %2273 = load i32, ptr @test_count, align 4, !tbaa !5
  %2274 = add nsw i32 %2273, 1
  store i32 %2274, ptr @test_count, align 4, !tbaa !5
  %2275 = call i32 @s2n_offered_psk_list_next(ptr noundef %41, ptr noundef %40)
  %2276 = icmp eq i32 %2275, -1
  br i1 %2276, label %2277, label %2330

2277:                                             ; preds = %2272
  br label %2278

2278:                                             ; preds = %2277
  br label %2279

2279:                                             ; preds = %2278
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #12
  %2280 = call ptr @__errno_location() #13
  %2281 = load i32, ptr %2280, align 4, !tbaa !5
  store i32 %2281, ptr %47, align 4, !tbaa !5
  %2282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2283 = call i32 @s2n_print_stacktrace(ptr noundef %2282)
  %2284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2285 = trunc i8 %2284 to i1
  br i1 %2285, label %2286, label %2308

2286:                                             ; preds = %2279
  %2287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2288 = call i32 @fileno(ptr noundef %2287) #12
  %2289 = call i32 @isatty(i32 noundef %2288) #12
  %2290 = icmp ne i32 %2289, 0
  br i1 %2290, label %2291, label %2308

2291:                                             ; preds = %2286
  %2292 = load i32, ptr %47, align 4, !tbaa !5
  %2293 = call ptr @__errno_location() #13
  store i32 %2292, ptr %2293, align 4, !tbaa !5
  %2294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2295 = load i32, ptr @test_count, align 4, !tbaa !5
  %2296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2297 = load i32, ptr %2296, align 4, !tbaa !5
  %2298 = call ptr @s2n_strerror(i32 noundef %2297, ptr noundef @.str.80)
  %2299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2300 = load i32, ptr %2299, align 4, !tbaa !5
  %2301 = call ptr @s2n_strerror_debug(i32 noundef %2300, ptr noundef @.str.80)
  %2302 = call ptr @__errno_location() #13
  %2303 = load i32, ptr %2302, align 4, !tbaa !5
  %2304 = call ptr @strerror(i32 noundef %2303) #12
  %2305 = call ptr @__errno_location() #13
  %2306 = load i32, ptr %2305, align 4, !tbaa !5
  %2307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2294, ptr noundef @.str.78, i32 noundef %2295, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 115, ptr noundef %2298, ptr noundef %2301, ptr noundef %2304, i32 noundef %2306) #12
  br label %2325

2308:                                             ; preds = %2286, %2279
  %2309 = load i32, ptr %47, align 4, !tbaa !5
  %2310 = call ptr @__errno_location() #13
  store i32 %2309, ptr %2310, align 4, !tbaa !5
  %2311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2312 = load i32, ptr @test_count, align 4, !tbaa !5
  %2313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2314 = load i32, ptr %2313, align 4, !tbaa !5
  %2315 = call ptr @s2n_strerror(i32 noundef %2314, ptr noundef @.str.80)
  %2316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2317 = load i32, ptr %2316, align 4, !tbaa !5
  %2318 = call ptr @s2n_strerror_debug(i32 noundef %2317, ptr noundef @.str.80)
  %2319 = call ptr @__errno_location() #13
  %2320 = load i32, ptr %2319, align 4, !tbaa !5
  %2321 = call ptr @strerror(i32 noundef %2320) #12
  %2322 = call ptr @__errno_location() #13
  %2323 = load i32, ptr %2322, align 4, !tbaa !5
  %2324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2311, ptr noundef @.str.81, i32 noundef %2312, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 115, ptr noundef %2315, ptr noundef %2318, ptr noundef %2321, i32 noundef %2323) #12
  br label %2325

2325:                                             ; preds = %2308, %2291
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #12
  br label %2326

2326:                                             ; preds = %2325
  br label %2327

2327:                                             ; preds = %2326
  call void @exit(i32 noundef 1) #14
  unreachable

2328:                                             ; No predecessors!
  br label %2329

2329:                                             ; preds = %2328
  br label %2330

2330:                                             ; preds = %2329, %2272
  br label %2331

2331:                                             ; preds = %2330
  br label %2332

2332:                                             ; preds = %2331
  br label %2333

2333:                                             ; preds = %2332
  %2334 = load i32, ptr @test_count, align 4, !tbaa !5
  %2335 = add nsw i32 %2334, 1
  store i32 %2335, ptr @test_count, align 4, !tbaa !5
  %2336 = getelementptr inbounds %struct.s2n_offered_psk, ptr %40, i32 0, i32 0
  %2337 = getelementptr inbounds %struct.s2n_blob, ptr %2336, i32 0, i32 1
  %2338 = load i32, ptr %2337, align 8, !tbaa !15
  %2339 = zext i32 %2338 to i64
  %2340 = icmp eq i64 %2339, 4
  br i1 %2340, label %2394, label %2341

2341:                                             ; preds = %2333
  br label %2342

2342:                                             ; preds = %2341
  br label %2343

2343:                                             ; preds = %2342
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #12
  %2344 = call ptr @__errno_location() #13
  %2345 = load i32, ptr %2344, align 4, !tbaa !5
  store i32 %2345, ptr %48, align 4, !tbaa !5
  %2346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2347 = call i32 @s2n_print_stacktrace(ptr noundef %2346)
  %2348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2349 = trunc i8 %2348 to i1
  br i1 %2349, label %2350, label %2372

2350:                                             ; preds = %2343
  %2351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2352 = call i32 @fileno(ptr noundef %2351) #12
  %2353 = call i32 @isatty(i32 noundef %2352) #12
  %2354 = icmp ne i32 %2353, 0
  br i1 %2354, label %2355, label %2372

2355:                                             ; preds = %2350
  %2356 = load i32, ptr %48, align 4, !tbaa !5
  %2357 = call ptr @__errno_location() #13
  store i32 %2356, ptr %2357, align 4, !tbaa !5
  %2358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2359 = load i32, ptr @test_count, align 4, !tbaa !5
  %2360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2361 = load i32, ptr %2360, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror(i32 noundef %2361, ptr noundef @.str.80)
  %2363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2364 = load i32, ptr %2363, align 4, !tbaa !5
  %2365 = call ptr @s2n_strerror_debug(i32 noundef %2364, ptr noundef @.str.80)
  %2366 = call ptr @__errno_location() #13
  %2367 = load i32, ptr %2366, align 4, !tbaa !5
  %2368 = call ptr @strerror(i32 noundef %2367) #12
  %2369 = call ptr @__errno_location() #13
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  %2371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2358, ptr noundef @.str.78, i32 noundef %2359, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 116, ptr noundef %2362, ptr noundef %2365, ptr noundef %2368, i32 noundef %2370) #12
  br label %2389

2372:                                             ; preds = %2350, %2343
  %2373 = load i32, ptr %48, align 4, !tbaa !5
  %2374 = call ptr @__errno_location() #13
  store i32 %2373, ptr %2374, align 4, !tbaa !5
  %2375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2376 = load i32, ptr @test_count, align 4, !tbaa !5
  %2377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2378 = load i32, ptr %2377, align 4, !tbaa !5
  %2379 = call ptr @s2n_strerror(i32 noundef %2378, ptr noundef @.str.80)
  %2380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2381 = load i32, ptr %2380, align 4, !tbaa !5
  %2382 = call ptr @s2n_strerror_debug(i32 noundef %2381, ptr noundef @.str.80)
  %2383 = call ptr @__errno_location() #13
  %2384 = load i32, ptr %2383, align 4, !tbaa !5
  %2385 = call ptr @strerror(i32 noundef %2384) #12
  %2386 = call ptr @__errno_location() #13
  %2387 = load i32, ptr %2386, align 4, !tbaa !5
  %2388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2375, ptr noundef @.str.81, i32 noundef %2376, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 116, ptr noundef %2379, ptr noundef %2382, ptr noundef %2385, i32 noundef %2387) #12
  br label %2389

2389:                                             ; preds = %2372, %2355
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #12
  br label %2390

2390:                                             ; preds = %2389
  br label %2391

2391:                                             ; preds = %2390
  call void @exit(i32 noundef 1) #14
  unreachable

2392:                                             ; No predecessors!
  br label %2393

2393:                                             ; preds = %2392
  br label %2394

2394:                                             ; preds = %2393, %2333
  br label %2395

2395:                                             ; preds = %2394
  br label %2396

2396:                                             ; preds = %2395
  br label %2397

2397:                                             ; preds = %2396
  br label %2398

2398:                                             ; preds = %2397
  %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 = getelementptr inbounds %struct.s2n_offered_psk, ptr %40, i32 0, i32 0
  %2402 = getelementptr inbounds %struct.s2n_blob, ptr %2401, i32 0, i32 0
  %2403 = load ptr, ptr %2402, align 8, !tbaa !19
  %2404 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %2405 = call i32 @memcmp(ptr noundef %2403, ptr noundef %2404, i64 noundef 4) #15
  %2406 = icmp eq i32 %2405, 0
  br i1 %2406, label %2460, label %2407

2407:                                             ; preds = %2398
  br label %2408

2408:                                             ; preds = %2407
  br label %2409

2409:                                             ; preds = %2408
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #12
  %2410 = call ptr @__errno_location() #13
  %2411 = load i32, ptr %2410, align 4, !tbaa !5
  store i32 %2411, ptr %49, align 4, !tbaa !5
  %2412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2413 = call i32 @s2n_print_stacktrace(ptr noundef %2412)
  %2414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2415 = trunc i8 %2414 to i1
  br i1 %2415, label %2416, label %2438

2416:                                             ; preds = %2409
  %2417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2418 = call i32 @fileno(ptr noundef %2417) #12
  %2419 = call i32 @isatty(i32 noundef %2418) #12
  %2420 = icmp ne i32 %2419, 0
  br i1 %2420, label %2421, label %2438

2421:                                             ; preds = %2416
  %2422 = load i32, ptr %49, align 4, !tbaa !5
  %2423 = call ptr @__errno_location() #13
  store i32 %2422, ptr %2423, align 4, !tbaa !5
  %2424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2425 = load i32, ptr @test_count, align 4, !tbaa !5
  %2426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call ptr @s2n_strerror(i32 noundef %2427, ptr noundef @.str.80)
  %2429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = call ptr @s2n_strerror_debug(i32 noundef %2430, ptr noundef @.str.80)
  %2432 = call ptr @__errno_location() #13
  %2433 = load i32, ptr %2432, align 4, !tbaa !5
  %2434 = call ptr @strerror(i32 noundef %2433) #12
  %2435 = call ptr @__errno_location() #13
  %2436 = load i32, ptr %2435, align 4, !tbaa !5
  %2437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2424, ptr noundef @.str.78, i32 noundef %2425, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 117, ptr noundef %2428, ptr noundef %2431, ptr noundef %2434, i32 noundef %2436) #12
  br label %2455

2438:                                             ; preds = %2416, %2409
  %2439 = load i32, ptr %49, align 4, !tbaa !5
  %2440 = call ptr @__errno_location() #13
  store i32 %2439, ptr %2440, align 4, !tbaa !5
  %2441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2442 = load i32, ptr @test_count, align 4, !tbaa !5
  %2443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  %2445 = call ptr @s2n_strerror(i32 noundef %2444, ptr noundef @.str.80)
  %2446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2447 = load i32, ptr %2446, align 4, !tbaa !5
  %2448 = call ptr @s2n_strerror_debug(i32 noundef %2447, ptr noundef @.str.80)
  %2449 = call ptr @__errno_location() #13
  %2450 = load i32, ptr %2449, align 4, !tbaa !5
  %2451 = call ptr @strerror(i32 noundef %2450) #12
  %2452 = call ptr @__errno_location() #13
  %2453 = load i32, ptr %2452, align 4, !tbaa !5
  %2454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2441, ptr noundef @.str.81, i32 noundef %2442, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 117, ptr noundef %2445, ptr noundef %2448, ptr noundef %2451, i32 noundef %2453) #12
  br label %2455

2455:                                             ; preds = %2438, %2421
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #12
  br label %2456

2456:                                             ; preds = %2455
  br label %2457

2457:                                             ; preds = %2456
  call void @exit(i32 noundef 1) #14
  unreachable

2458:                                             ; No predecessors!
  br label %2459

2459:                                             ; preds = %2458
  br label %2460

2460:                                             ; preds = %2459, %2398
  br label %2461

2461:                                             ; preds = %2460
  br label %2462

2462:                                             ; preds = %2461
  br label %2463

2463:                                             ; preds = %2462
  br label %2464

2464:                                             ; preds = %2463
  br label %2465

2465:                                             ; preds = %2464
  br label %2466

2466:                                             ; preds = %2465
  br label %2467

2467:                                             ; preds = %2466
  %2468 = load i32, ptr @test_count, align 4, !tbaa !5
  %2469 = add nsw i32 %2468, 1
  store i32 %2469, ptr @test_count, align 4, !tbaa !5
  %2470 = call i32 @s2n_offered_psk_list_next(ptr noundef %41, ptr noundef %40)
  %2471 = icmp eq i32 %2470, -1
  br i1 %2471, label %2525, label %2472

2472:                                             ; preds = %2467
  br label %2473

2473:                                             ; preds = %2472
  br label %2474

2474:                                             ; preds = %2473
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #12
  %2475 = call ptr @__errno_location() #13
  %2476 = load i32, ptr %2475, align 4, !tbaa !5
  store i32 %2476, ptr %50, align 4, !tbaa !5
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2478 = call i32 @s2n_print_stacktrace(ptr noundef %2477)
  %2479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2480 = trunc i8 %2479 to i1
  br i1 %2480, label %2481, label %2503

2481:                                             ; preds = %2474
  %2482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2483 = call i32 @fileno(ptr noundef %2482) #12
  %2484 = call i32 @isatty(i32 noundef %2483) #12
  %2485 = icmp ne i32 %2484, 0
  br i1 %2485, label %2486, label %2503

2486:                                             ; preds = %2481
  %2487 = load i32, ptr %50, align 4, !tbaa !5
  %2488 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %2497 = call ptr @__errno_location() #13
  %2498 = load i32, ptr %2497, align 4, !tbaa !5
  %2499 = call ptr @strerror(i32 noundef %2498) #12
  %2500 = call ptr @__errno_location() #13
  %2501 = load i32, ptr %2500, align 4, !tbaa !5
  %2502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2489, ptr noundef @.str.78, i32 noundef %2490, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 120, ptr noundef %2493, ptr noundef %2496, ptr noundef %2499, i32 noundef %2501) #12
  br label %2520

2503:                                             ; preds = %2481, %2474
  %2504 = load i32, ptr %50, align 4, !tbaa !5
  %2505 = call ptr @__errno_location() #13
  store i32 %2504, ptr %2505, align 4, !tbaa !5
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = load i32, ptr @test_count, align 4, !tbaa !5
  %2508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2509 = load i32, ptr %2508, align 4, !tbaa !5
  %2510 = call ptr @s2n_strerror(i32 noundef %2509, ptr noundef @.str.80)
  %2511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2512 = load i32, ptr %2511, align 4, !tbaa !5
  %2513 = call ptr @s2n_strerror_debug(i32 noundef %2512, ptr noundef @.str.80)
  %2514 = call ptr @__errno_location() #13
  %2515 = load i32, ptr %2514, align 4, !tbaa !5
  %2516 = call ptr @strerror(i32 noundef %2515) #12
  %2517 = call ptr @__errno_location() #13
  %2518 = load i32, ptr %2517, align 4, !tbaa !5
  %2519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2506, ptr noundef @.str.81, i32 noundef %2507, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 120, ptr noundef %2510, ptr noundef %2513, ptr noundef %2516, i32 noundef %2518) #12
  br label %2520

2520:                                             ; preds = %2503, %2486
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #12
  br label %2521

2521:                                             ; preds = %2520
  br label %2522

2522:                                             ; preds = %2521
  call void @exit(i32 noundef 1) #14
  unreachable

2523:                                             ; No predecessors!
  br label %2524

2524:                                             ; preds = %2523
  br label %2525

2525:                                             ; preds = %2524, %2467
  br label %2526

2526:                                             ; preds = %2525
  br label %2527

2527:                                             ; preds = %2526
  br label %2528

2528:                                             ; preds = %2527
  %2529 = load i32, ptr @test_count, align 4, !tbaa !5
  %2530 = add nsw i32 %2529, 1
  store i32 %2530, ptr @test_count, align 4, !tbaa !5
  %2531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2532 = load i32, ptr %2531, align 4, !tbaa !5
  %2533 = icmp eq i32 %2532, 402653201
  br i1 %2533, label %2587, label %2534

2534:                                             ; preds = %2528
  br label %2535

2535:                                             ; preds = %2534
  br label %2536

2536:                                             ; preds = %2535
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #12
  %2537 = call ptr @__errno_location() #13
  %2538 = load i32, ptr %2537, align 4, !tbaa !5
  store i32 %2538, ptr %51, align 4, !tbaa !5
  %2539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2540 = call i32 @s2n_print_stacktrace(ptr noundef %2539)
  %2541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2542 = trunc i8 %2541 to i1
  br i1 %2542, label %2543, label %2565

2543:                                             ; preds = %2536
  %2544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2545 = call i32 @fileno(ptr noundef %2544) #12
  %2546 = call i32 @isatty(i32 noundef %2545) #12
  %2547 = icmp ne i32 %2546, 0
  br i1 %2547, label %2548, label %2565

2548:                                             ; preds = %2543
  %2549 = load i32, ptr %51, align 4, !tbaa !5
  %2550 = call ptr @__errno_location() #13
  store i32 %2549, ptr %2550, align 4, !tbaa !5
  %2551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2552 = load i32, ptr @test_count, align 4, !tbaa !5
  %2553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2554 = load i32, ptr %2553, align 4, !tbaa !5
  %2555 = call ptr @s2n_strerror(i32 noundef %2554, ptr noundef @.str.80)
  %2556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2557 = load i32, ptr %2556, align 4, !tbaa !5
  %2558 = call ptr @s2n_strerror_debug(i32 noundef %2557, ptr noundef @.str.80)
  %2559 = call ptr @__errno_location() #13
  %2560 = load i32, ptr %2559, align 4, !tbaa !5
  %2561 = call ptr @strerror(i32 noundef %2560) #12
  %2562 = call ptr @__errno_location() #13
  %2563 = load i32, ptr %2562, align 4, !tbaa !5
  %2564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2551, ptr noundef @.str.78, i32 noundef %2552, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 120, ptr noundef %2555, ptr noundef %2558, ptr noundef %2561, i32 noundef %2563) #12
  br label %2582

2565:                                             ; preds = %2543, %2536
  %2566 = load i32, ptr %51, align 4, !tbaa !5
  %2567 = call ptr @__errno_location() #13
  store i32 %2566, ptr %2567, align 4, !tbaa !5
  %2568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2569 = load i32, ptr @test_count, align 4, !tbaa !5
  %2570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2571 = load i32, ptr %2570, align 4, !tbaa !5
  %2572 = call ptr @s2n_strerror(i32 noundef %2571, ptr noundef @.str.80)
  %2573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2574 = load i32, ptr %2573, align 4, !tbaa !5
  %2575 = call ptr @s2n_strerror_debug(i32 noundef %2574, ptr noundef @.str.80)
  %2576 = call ptr @__errno_location() #13
  %2577 = load i32, ptr %2576, align 4, !tbaa !5
  %2578 = call ptr @strerror(i32 noundef %2577) #12
  %2579 = call ptr @__errno_location() #13
  %2580 = load i32, ptr %2579, align 4, !tbaa !5
  %2581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2568, ptr noundef @.str.81, i32 noundef %2569, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 120, ptr noundef %2572, ptr noundef %2575, ptr noundef %2578, i32 noundef %2580) #12
  br label %2582

2582:                                             ; preds = %2565, %2548
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #12
  br label %2583

2583:                                             ; preds = %2582
  br label %2584

2584:                                             ; preds = %2583
  call void @exit(i32 noundef 1) #14
  unreachable

2585:                                             ; No predecessors!
  br label %2586

2586:                                             ; preds = %2585
  br label %2587

2587:                                             ; preds = %2586, %2528
  br label %2588

2588:                                             ; preds = %2587
  br label %2589

2589:                                             ; preds = %2588
  br label %2590

2590:                                             ; preds = %2589
  %2591 = load i32, ptr @test_count, align 4, !tbaa !5
  %2592 = add nsw i32 %2591, 1
  store i32 %2592, ptr @test_count, align 4, !tbaa !5
  %2593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2594 = load i32, ptr %2593, align 4, !tbaa !5
  %2595 = call ptr @s2n_strerror_debug(i32 noundef %2594, ptr noundef @.str.80)
  %2596 = icmp eq ptr %2595, null
  br i1 %2596, label %2597, label %2650

2597:                                             ; preds = %2590
  br label %2598

2598:                                             ; preds = %2597
  br label %2599

2599:                                             ; preds = %2598
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #12
  %2600 = call ptr @__errno_location() #13
  %2601 = load i32, ptr %2600, align 4, !tbaa !5
  store i32 %2601, ptr %52, align 4, !tbaa !5
  %2602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2603 = call i32 @s2n_print_stacktrace(ptr noundef %2602)
  %2604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2605 = trunc i8 %2604 to i1
  br i1 %2605, label %2606, label %2628

2606:                                             ; preds = %2599
  %2607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2608 = call i32 @fileno(ptr noundef %2607) #12
  %2609 = call i32 @isatty(i32 noundef %2608) #12
  %2610 = icmp ne i32 %2609, 0
  br i1 %2610, label %2611, label %2628

2611:                                             ; preds = %2606
  %2612 = load i32, ptr %52, align 4, !tbaa !5
  %2613 = call ptr @__errno_location() #13
  store i32 %2612, ptr %2613, align 4, !tbaa !5
  %2614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2615 = load i32, ptr @test_count, align 4, !tbaa !5
  %2616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2617 = load i32, ptr %2616, align 4, !tbaa !5
  %2618 = call ptr @s2n_strerror(i32 noundef %2617, ptr noundef @.str.80)
  %2619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2620 = load i32, ptr %2619, align 4, !tbaa !5
  %2621 = call ptr @s2n_strerror_debug(i32 noundef %2620, ptr noundef @.str.80)
  %2622 = call ptr @__errno_location() #13
  %2623 = load i32, ptr %2622, align 4, !tbaa !5
  %2624 = call ptr @strerror(i32 noundef %2623) #12
  %2625 = call ptr @__errno_location() #13
  %2626 = load i32, ptr %2625, align 4, !tbaa !5
  %2627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2614, ptr noundef @.str.78, i32 noundef %2615, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 120, ptr noundef %2618, ptr noundef %2621, ptr noundef %2624, i32 noundef %2626) #12
  br label %2645

2628:                                             ; preds = %2606, %2599
  %2629 = load i32, ptr %52, align 4, !tbaa !5
  %2630 = call ptr @__errno_location() #13
  store i32 %2629, ptr %2630, align 4, !tbaa !5
  %2631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2632 = load i32, ptr @test_count, align 4, !tbaa !5
  %2633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2634 = load i32, ptr %2633, align 4, !tbaa !5
  %2635 = call ptr @s2n_strerror(i32 noundef %2634, ptr noundef @.str.80)
  %2636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2637 = load i32, ptr %2636, align 4, !tbaa !5
  %2638 = call ptr @s2n_strerror_debug(i32 noundef %2637, ptr noundef @.str.80)
  %2639 = call ptr @__errno_location() #13
  %2640 = load i32, ptr %2639, align 4, !tbaa !5
  %2641 = call ptr @strerror(i32 noundef %2640) #12
  %2642 = call ptr @__errno_location() #13
  %2643 = load i32, ptr %2642, align 4, !tbaa !5
  %2644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2631, ptr noundef @.str.81, i32 noundef %2632, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 120, ptr noundef %2635, ptr noundef %2638, ptr noundef %2641, i32 noundef %2643) #12
  br label %2645

2645:                                             ; preds = %2628, %2611
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #12
  br label %2646

2646:                                             ; preds = %2645
  br label %2647

2647:                                             ; preds = %2646
  call void @exit(i32 noundef 1) #14
  unreachable

2648:                                             ; No predecessors!
  br label %2649

2649:                                             ; preds = %2648
  br label %2650

2650:                                             ; preds = %2649, %2590
  br label %2651

2651:                                             ; preds = %2650
  br label %2652

2652:                                             ; preds = %2651
  br label %2653

2653:                                             ; preds = %2652
  br label %2654

2654:                                             ; preds = %2653
  br label %2655

2655:                                             ; preds = %2654
  %2656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2656, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2657 = call ptr @__errno_location() #13
  store i32 0, ptr %2657, align 4, !tbaa !5
  br label %2658

2658:                                             ; preds = %2655
  br label %2659

2659:                                             ; preds = %2658
  br label %2660

2660:                                             ; preds = %2659
  br label %2661

2661:                                             ; preds = %2660
  br label %2662

2662:                                             ; preds = %2661
  %2663 = load i32, ptr @test_count, align 4, !tbaa !5
  %2664 = add nsw i32 %2663, 1
  store i32 %2664, ptr @test_count, align 4, !tbaa !5
  %2665 = getelementptr inbounds %struct.s2n_offered_psk, ptr %40, i32 0, i32 0
  %2666 = getelementptr inbounds %struct.s2n_blob, ptr %2665, i32 0, i32 1
  %2667 = load i32, ptr %2666, align 8, !tbaa !15
  %2668 = icmp eq i32 %2667, 0
  br i1 %2668, label %2722, label %2669

2669:                                             ; preds = %2662
  br label %2670

2670:                                             ; preds = %2669
  br label %2671

2671:                                             ; preds = %2670
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #12
  %2672 = call ptr @__errno_location() #13
  %2673 = load i32, ptr %2672, align 4, !tbaa !5
  store i32 %2673, ptr %53, align 4, !tbaa !5
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = call i32 @s2n_print_stacktrace(ptr noundef %2674)
  %2676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2677 = trunc i8 %2676 to i1
  br i1 %2677, label %2678, label %2700

2678:                                             ; preds = %2671
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = call i32 @fileno(ptr noundef %2679) #12
  %2681 = call i32 @isatty(i32 noundef %2680) #12
  %2682 = icmp ne i32 %2681, 0
  br i1 %2682, label %2683, label %2700

2683:                                             ; preds = %2678
  %2684 = load i32, ptr %53, align 4, !tbaa !5
  %2685 = call ptr @__errno_location() #13
  store i32 %2684, ptr %2685, align 4, !tbaa !5
  %2686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2687 = load i32, ptr @test_count, align 4, !tbaa !5
  %2688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2689 = load i32, ptr %2688, align 4, !tbaa !5
  %2690 = call ptr @s2n_strerror(i32 noundef %2689, ptr noundef @.str.80)
  %2691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2692 = load i32, ptr %2691, align 4, !tbaa !5
  %2693 = call ptr @s2n_strerror_debug(i32 noundef %2692, ptr noundef @.str.80)
  %2694 = call ptr @__errno_location() #13
  %2695 = load i32, ptr %2694, align 4, !tbaa !5
  %2696 = call ptr @strerror(i32 noundef %2695) #12
  %2697 = call ptr @__errno_location() #13
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  %2699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2686, ptr noundef @.str.78, i32 noundef %2687, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 121, ptr noundef %2690, ptr noundef %2693, ptr noundef %2696, i32 noundef %2698) #12
  br label %2717

2700:                                             ; preds = %2678, %2671
  %2701 = load i32, ptr %53, align 4, !tbaa !5
  %2702 = call ptr @__errno_location() #13
  store i32 %2701, ptr %2702, align 4, !tbaa !5
  %2703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2704 = load i32, ptr @test_count, align 4, !tbaa !5
  %2705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  %2707 = call ptr @s2n_strerror(i32 noundef %2706, ptr noundef @.str.80)
  %2708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2709 = load i32, ptr %2708, align 4, !tbaa !5
  %2710 = call ptr @s2n_strerror_debug(i32 noundef %2709, ptr noundef @.str.80)
  %2711 = call ptr @__errno_location() #13
  %2712 = load i32, ptr %2711, align 4, !tbaa !5
  %2713 = call ptr @strerror(i32 noundef %2712) #12
  %2714 = call ptr @__errno_location() #13
  %2715 = load i32, ptr %2714, align 4, !tbaa !5
  %2716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2703, ptr noundef @.str.81, i32 noundef %2704, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 121, ptr noundef %2707, ptr noundef %2710, ptr noundef %2713, i32 noundef %2715) #12
  br label %2717

2717:                                             ; preds = %2700, %2683
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #12
  br label %2718

2718:                                             ; preds = %2717
  br label %2719

2719:                                             ; preds = %2718
  call void @exit(i32 noundef 1) #14
  unreachable

2720:                                             ; No predecessors!
  br label %2721

2721:                                             ; preds = %2720
  br label %2722

2722:                                             ; preds = %2721, %2662
  br label %2723

2723:                                             ; preds = %2722
  br label %2724

2724:                                             ; preds = %2723
  br label %2725

2725:                                             ; preds = %2724
  %2726 = load i32, ptr @test_count, align 4, !tbaa !5
  %2727 = add nsw i32 %2726, 1
  store i32 %2727, ptr @test_count, align 4, !tbaa !5
  %2728 = getelementptr inbounds %struct.s2n_offered_psk, ptr %40, i32 0, i32 0
  %2729 = getelementptr inbounds %struct.s2n_blob, ptr %2728, i32 0, i32 0
  %2730 = load ptr, ptr %2729, align 8, !tbaa !19
  %2731 = icmp eq ptr %2730, null
  br i1 %2731, label %2785, label %2732

2732:                                             ; preds = %2725
  br label %2733

2733:                                             ; preds = %2732
  br label %2734

2734:                                             ; preds = %2733
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #12
  %2735 = call ptr @__errno_location() #13
  %2736 = load i32, ptr %2735, align 4, !tbaa !5
  store i32 %2736, ptr %54, align 4, !tbaa !5
  %2737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2738 = call i32 @s2n_print_stacktrace(ptr noundef %2737)
  %2739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2740 = trunc i8 %2739 to i1
  br i1 %2740, label %2741, label %2763

2741:                                             ; preds = %2734
  %2742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2743 = call i32 @fileno(ptr noundef %2742) #12
  %2744 = call i32 @isatty(i32 noundef %2743) #12
  %2745 = icmp ne i32 %2744, 0
  br i1 %2745, label %2746, label %2763

2746:                                             ; preds = %2741
  %2747 = load i32, ptr %54, align 4, !tbaa !5
  %2748 = call ptr @__errno_location() #13
  store i32 %2747, ptr %2748, align 4, !tbaa !5
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = load i32, ptr @test_count, align 4, !tbaa !5
  %2751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2752 = load i32, ptr %2751, align 4, !tbaa !5
  %2753 = call ptr @s2n_strerror(i32 noundef %2752, ptr noundef @.str.80)
  %2754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2755 = load i32, ptr %2754, align 4, !tbaa !5
  %2756 = call ptr @s2n_strerror_debug(i32 noundef %2755, ptr noundef @.str.80)
  %2757 = call ptr @__errno_location() #13
  %2758 = load i32, ptr %2757, align 4, !tbaa !5
  %2759 = call ptr @strerror(i32 noundef %2758) #12
  %2760 = call ptr @__errno_location() #13
  %2761 = load i32, ptr %2760, align 4, !tbaa !5
  %2762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2749, ptr noundef @.str.78, i32 noundef %2750, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 122, ptr noundef %2753, ptr noundef %2756, ptr noundef %2759, i32 noundef %2761) #12
  br label %2780

2763:                                             ; preds = %2741, %2734
  %2764 = load i32, ptr %54, align 4, !tbaa !5
  %2765 = call ptr @__errno_location() #13
  store i32 %2764, ptr %2765, align 4, !tbaa !5
  %2766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2767 = load i32, ptr @test_count, align 4, !tbaa !5
  %2768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2769 = load i32, ptr %2768, align 4, !tbaa !5
  %2770 = call ptr @s2n_strerror(i32 noundef %2769, ptr noundef @.str.80)
  %2771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2772 = load i32, ptr %2771, align 4, !tbaa !5
  %2773 = call ptr @s2n_strerror_debug(i32 noundef %2772, ptr noundef @.str.80)
  %2774 = call ptr @__errno_location() #13
  %2775 = load i32, ptr %2774, align 4, !tbaa !5
  %2776 = call ptr @strerror(i32 noundef %2775) #12
  %2777 = call ptr @__errno_location() #13
  %2778 = load i32, ptr %2777, align 4, !tbaa !5
  %2779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2766, ptr noundef @.str.81, i32 noundef %2767, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 122, ptr noundef %2770, ptr noundef %2773, ptr noundef %2776, i32 noundef %2778) #12
  br label %2780

2780:                                             ; preds = %2763, %2746
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #12
  br label %2781

2781:                                             ; preds = %2780
  br label %2782

2782:                                             ; preds = %2781
  call void @exit(i32 noundef 1) #14
  unreachable

2783:                                             ; No predecessors!
  br label %2784

2784:                                             ; preds = %2783
  br label %2785

2785:                                             ; preds = %2784, %2725
  br label %2786

2786:                                             ; preds = %2785
  br label %2787

2787:                                             ; preds = %2786
  br label %2788

2788:                                             ; preds = %2787
  %2789 = load i32, ptr @test_count, align 4, !tbaa !5
  %2790 = add nsw i32 %2789, 1
  store i32 %2790, ptr @test_count, align 4, !tbaa !5
  %2791 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %41, i32 0, i32 1
  %2792 = call i32 @s2n_stuffer_free(ptr noundef %2791)
  %2793 = icmp eq i32 %2792, -1
  br i1 %2793, label %2794, label %2847

2794:                                             ; preds = %2788
  br label %2795

2795:                                             ; preds = %2794
  br label %2796

2796:                                             ; preds = %2795
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #12
  %2797 = call ptr @__errno_location() #13
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  store i32 %2798, ptr %55, align 4, !tbaa !5
  %2799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2800 = call i32 @s2n_print_stacktrace(ptr noundef %2799)
  %2801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2802 = trunc i8 %2801 to i1
  br i1 %2802, label %2803, label %2825

2803:                                             ; preds = %2796
  %2804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2805 = call i32 @fileno(ptr noundef %2804) #12
  %2806 = call i32 @isatty(i32 noundef %2805) #12
  %2807 = icmp ne i32 %2806, 0
  br i1 %2807, label %2808, label %2825

2808:                                             ; preds = %2803
  %2809 = load i32, ptr %55, align 4, !tbaa !5
  %2810 = call ptr @__errno_location() #13
  store i32 %2809, ptr %2810, align 4, !tbaa !5
  %2811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2814 = load i32, ptr %2813, align 4, !tbaa !5
  %2815 = call ptr @s2n_strerror(i32 noundef %2814, ptr noundef @.str.80)
  %2816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2817 = load i32, ptr %2816, align 4, !tbaa !5
  %2818 = call ptr @s2n_strerror_debug(i32 noundef %2817, ptr noundef @.str.80)
  %2819 = call ptr @__errno_location() #13
  %2820 = load i32, ptr %2819, align 4, !tbaa !5
  %2821 = call ptr @strerror(i32 noundef %2820) #12
  %2822 = call ptr @__errno_location() #13
  %2823 = load i32, ptr %2822, align 4, !tbaa !5
  %2824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2811, ptr noundef @.str.78, i32 noundef %2812, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 124, ptr noundef %2815, ptr noundef %2818, ptr noundef %2821, i32 noundef %2823) #12
  br label %2842

2825:                                             ; preds = %2803, %2796
  %2826 = load i32, ptr %55, align 4, !tbaa !5
  %2827 = call ptr @__errno_location() #13
  store i32 %2826, ptr %2827, align 4, !tbaa !5
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = load i32, ptr @test_count, align 4, !tbaa !5
  %2830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2831 = load i32, ptr %2830, align 4, !tbaa !5
  %2832 = call ptr @s2n_strerror(i32 noundef %2831, ptr noundef @.str.80)
  %2833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2834 = load i32, ptr %2833, align 4, !tbaa !5
  %2835 = call ptr @s2n_strerror_debug(i32 noundef %2834, ptr noundef @.str.80)
  %2836 = call ptr @__errno_location() #13
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call ptr @strerror(i32 noundef %2837) #12
  %2839 = call ptr @__errno_location() #13
  %2840 = load i32, ptr %2839, align 4, !tbaa !5
  %2841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2828, ptr noundef @.str.81, i32 noundef %2829, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 124, ptr noundef %2832, ptr noundef %2835, ptr noundef %2838, i32 noundef %2840) #12
  br label %2842

2842:                                             ; preds = %2825, %2808
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #12
  br label %2843

2843:                                             ; preds = %2842
  br label %2844

2844:                                             ; preds = %2843
  call void @exit(i32 noundef 1) #14
  unreachable

2845:                                             ; No predecessors!
  br label %2846

2846:                                             ; preds = %2845
  br label %2847

2847:                                             ; preds = %2846, %2788
  br label %2848

2848:                                             ; preds = %2847
  br label %2849

2849:                                             ; preds = %2848
  br label %2850

2850:                                             ; preds = %2849
  %2851 = load i32, ptr @test_count, align 4, !tbaa !5
  %2852 = add nsw i32 %2851, 1
  store i32 %2852, ptr @test_count, align 4, !tbaa !5
  %2853 = load ptr, ptr %42, align 8, !tbaa !9
  %2854 = call i32 @s2n_connection_free(ptr noundef %2853)
  %2855 = icmp eq i32 %2854, -1
  br i1 %2855, label %2856, label %2909

2856:                                             ; preds = %2850
  br label %2857

2857:                                             ; preds = %2856
  br label %2858

2858:                                             ; preds = %2857
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #12
  %2859 = call ptr @__errno_location() #13
  %2860 = load i32, ptr %2859, align 4, !tbaa !5
  store i32 %2860, ptr %56, align 4, !tbaa !5
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = call i32 @s2n_print_stacktrace(ptr noundef %2861)
  %2863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2864 = trunc i8 %2863 to i1
  br i1 %2864, label %2865, label %2887

2865:                                             ; preds = %2858
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = call i32 @fileno(ptr noundef %2866) #12
  %2868 = call i32 @isatty(i32 noundef %2867) #12
  %2869 = icmp ne i32 %2868, 0
  br i1 %2869, label %2870, label %2887

2870:                                             ; preds = %2865
  %2871 = load i32, ptr %56, align 4, !tbaa !5
  %2872 = call ptr @__errno_location() #13
  store i32 %2871, ptr %2872, align 4, !tbaa !5
  %2873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2874 = load i32, ptr @test_count, align 4, !tbaa !5
  %2875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2876 = load i32, ptr %2875, align 4, !tbaa !5
  %2877 = call ptr @s2n_strerror(i32 noundef %2876, ptr noundef @.str.80)
  %2878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2879 = load i32, ptr %2878, align 4, !tbaa !5
  %2880 = call ptr @s2n_strerror_debug(i32 noundef %2879, ptr noundef @.str.80)
  %2881 = call ptr @__errno_location() #13
  %2882 = load i32, ptr %2881, align 4, !tbaa !5
  %2883 = call ptr @strerror(i32 noundef %2882) #12
  %2884 = call ptr @__errno_location() #13
  %2885 = load i32, ptr %2884, align 4, !tbaa !5
  %2886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2873, ptr noundef @.str.78, i32 noundef %2874, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 125, ptr noundef %2877, ptr noundef %2880, ptr noundef %2883, i32 noundef %2885) #12
  br label %2904

2887:                                             ; preds = %2865, %2858
  %2888 = load i32, ptr %56, align 4, !tbaa !5
  %2889 = call ptr @__errno_location() #13
  store i32 %2888, ptr %2889, align 4, !tbaa !5
  %2890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2891 = load i32, ptr @test_count, align 4, !tbaa !5
  %2892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2893 = load i32, ptr %2892, align 4, !tbaa !5
  %2894 = call ptr @s2n_strerror(i32 noundef %2893, ptr noundef @.str.80)
  %2895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2896 = load i32, ptr %2895, align 4, !tbaa !5
  %2897 = call ptr @s2n_strerror_debug(i32 noundef %2896, ptr noundef @.str.80)
  %2898 = call ptr @__errno_location() #13
  %2899 = load i32, ptr %2898, align 4, !tbaa !5
  %2900 = call ptr @strerror(i32 noundef %2899) #12
  %2901 = call ptr @__errno_location() #13
  %2902 = load i32, ptr %2901, align 4, !tbaa !5
  %2903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2890, ptr noundef @.str.81, i32 noundef %2891, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 125, ptr noundef %2894, ptr noundef %2897, ptr noundef %2900, i32 noundef %2902) #12
  br label %2904

2904:                                             ; preds = %2887, %2870
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #12
  br label %2905

2905:                                             ; preds = %2904
  br label %2906

2906:                                             ; preds = %2905
  call void @exit(i32 noundef 1) #14
  unreachable

2907:                                             ; No predecessors!
  br label %2908

2908:                                             ; preds = %2907
  br label %2909

2909:                                             ; preds = %2908, %2850
  br label %2910

2910:                                             ; preds = %2909
  br label %2911

2911:                                             ; preds = %2910
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %41) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #12
  call void @llvm.memset.p0.i64(ptr align 8 %57, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %58) #12
  call void @llvm.memset.p0.i64(ptr align 8 %58, i8 0, i64 56, i1 false)
  br label %2912

2912:                                             ; preds = %2911
  %2913 = load i32, ptr @test_count, align 4, !tbaa !5
  %2914 = add nsw i32 %2913, 1
  store i32 %2914, ptr @test_count, align 4, !tbaa !5
  %2915 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %58, i32 0, i32 1
  %2916 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %2915, i32 noundef 0)
  %2917 = icmp eq i32 %2916, -1
  br i1 %2917, label %2918, label %2971

2918:                                             ; preds = %2912
  br label %2919

2919:                                             ; preds = %2918
  br label %2920

2920:                                             ; preds = %2919
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #12
  %2921 = call ptr @__errno_location() #13
  %2922 = load i32, ptr %2921, align 4, !tbaa !5
  store i32 %2922, ptr %59, align 4, !tbaa !5
  %2923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2924 = call i32 @s2n_print_stacktrace(ptr noundef %2923)
  %2925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2926 = trunc i8 %2925 to i1
  br i1 %2926, label %2927, label %2949

2927:                                             ; preds = %2920
  %2928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2929 = call i32 @fileno(ptr noundef %2928) #12
  %2930 = call i32 @isatty(i32 noundef %2929) #12
  %2931 = icmp ne i32 %2930, 0
  br i1 %2931, label %2932, label %2949

2932:                                             ; preds = %2927
  %2933 = load i32, ptr %59, align 4, !tbaa !5
  %2934 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %2943 = call ptr @__errno_location() #13
  %2944 = load i32, ptr %2943, align 4, !tbaa !5
  %2945 = call ptr @strerror(i32 noundef %2944) #12
  %2946 = call ptr @__errno_location() #13
  %2947 = load i32, ptr %2946, align 4, !tbaa !5
  %2948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2935, ptr noundef @.str.78, i32 noundef %2936, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 133, ptr noundef %2939, ptr noundef %2942, ptr noundef %2945, i32 noundef %2947) #12
  br label %2966

2949:                                             ; preds = %2927, %2920
  %2950 = load i32, ptr %59, align 4, !tbaa !5
  %2951 = call ptr @__errno_location() #13
  store i32 %2950, ptr %2951, align 4, !tbaa !5
  %2952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2953 = load i32, ptr @test_count, align 4, !tbaa !5
  %2954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2955 = load i32, ptr %2954, align 4, !tbaa !5
  %2956 = call ptr @s2n_strerror(i32 noundef %2955, ptr noundef @.str.80)
  %2957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2958 = load i32, ptr %2957, align 4, !tbaa !5
  %2959 = call ptr @s2n_strerror_debug(i32 noundef %2958, ptr noundef @.str.80)
  %2960 = call ptr @__errno_location() #13
  %2961 = load i32, ptr %2960, align 4, !tbaa !5
  %2962 = call ptr @strerror(i32 noundef %2961) #12
  %2963 = call ptr @__errno_location() #13
  %2964 = load i32, ptr %2963, align 4, !tbaa !5
  %2965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2952, ptr noundef @.str.81, i32 noundef %2953, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 133, ptr noundef %2956, ptr noundef %2959, ptr noundef %2962, i32 noundef %2964) #12
  br label %2966

2966:                                             ; preds = %2949, %2932
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #12
  br label %2967

2967:                                             ; preds = %2966
  br label %2968

2968:                                             ; preds = %2967
  call void @exit(i32 noundef 1) #14
  unreachable

2969:                                             ; No predecessors!
  br label %2970

2970:                                             ; preds = %2969
  br label %2971

2971:                                             ; preds = %2970, %2912
  br label %2972

2972:                                             ; preds = %2971
  br label %2973

2973:                                             ; preds = %2972
  br label %2974

2974:                                             ; preds = %2973
  %2975 = load i32, ptr @test_count, align 4, !tbaa !5
  %2976 = add nsw i32 %2975, 1
  store i32 %2976, ptr @test_count, align 4, !tbaa !5
  %2977 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %58, i32 0, i32 1
  %2978 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %2979 = call i32 @s2n_write_test_identity(ptr noundef %2977, ptr noundef %2978, i16 noundef zeroext 0)
  %2980 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  store i32 %2979, ptr %2980, align 4
  %2981 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  %2982 = load i32, ptr %2981, align 4
  %2983 = call zeroext i1 @s2n_result_is_ok(i32 %2982)
  br i1 %2983, label %3037, label %2984

2984:                                             ; preds = %2974
  br label %2985

2985:                                             ; preds = %2984
  br label %2986

2986:                                             ; preds = %2985
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #12
  %2987 = call ptr @__errno_location() #13
  %2988 = load i32, ptr %2987, align 4, !tbaa !5
  store i32 %2988, ptr %61, align 4, !tbaa !5
  %2989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2990 = call i32 @s2n_print_stacktrace(ptr noundef %2989)
  %2991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2992 = trunc i8 %2991 to i1
  br i1 %2992, label %2993, label %3015

2993:                                             ; preds = %2986
  %2994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2995 = call i32 @fileno(ptr noundef %2994) #12
  %2996 = call i32 @isatty(i32 noundef %2995) #12
  %2997 = icmp ne i32 %2996, 0
  br i1 %2997, label %2998, label %3015

2998:                                             ; preds = %2993
  %2999 = load i32, ptr %61, align 4, !tbaa !5
  %3000 = call ptr @__errno_location() #13
  store i32 %2999, ptr %3000, align 4, !tbaa !5
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = load i32, ptr @test_count, align 4, !tbaa !5
  %3003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3004 = load i32, ptr %3003, align 4, !tbaa !5
  %3005 = call ptr @s2n_strerror(i32 noundef %3004, ptr noundef @.str.80)
  %3006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3007 = load i32, ptr %3006, align 4, !tbaa !5
  %3008 = call ptr @s2n_strerror_debug(i32 noundef %3007, ptr noundef @.str.80)
  %3009 = call ptr @__errno_location() #13
  %3010 = load i32, ptr %3009, align 4, !tbaa !5
  %3011 = call ptr @strerror(i32 noundef %3010) #12
  %3012 = call ptr @__errno_location() #13
  %3013 = load i32, ptr %3012, align 4, !tbaa !5
  %3014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3001, ptr noundef @.str.78, i32 noundef %3002, ptr noundef @.str.105, ptr noundef @.str.77, i32 noundef 134, ptr noundef %3005, ptr noundef %3008, ptr noundef %3011, i32 noundef %3013) #12
  br label %3032

3015:                                             ; preds = %2993, %2986
  %3016 = load i32, ptr %61, align 4, !tbaa !5
  %3017 = call ptr @__errno_location() #13
  store i32 %3016, ptr %3017, align 4, !tbaa !5
  %3018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3019 = load i32, ptr @test_count, align 4, !tbaa !5
  %3020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3021 = load i32, ptr %3020, align 4, !tbaa !5
  %3022 = call ptr @s2n_strerror(i32 noundef %3021, ptr noundef @.str.80)
  %3023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3024 = load i32, ptr %3023, align 4, !tbaa !5
  %3025 = call ptr @s2n_strerror_debug(i32 noundef %3024, ptr noundef @.str.80)
  %3026 = call ptr @__errno_location() #13
  %3027 = load i32, ptr %3026, align 4, !tbaa !5
  %3028 = call ptr @strerror(i32 noundef %3027) #12
  %3029 = call ptr @__errno_location() #13
  %3030 = load i32, ptr %3029, align 4, !tbaa !5
  %3031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3018, ptr noundef @.str.81, i32 noundef %3019, ptr noundef @.str.105, ptr noundef @.str.77, i32 noundef 134, ptr noundef %3022, ptr noundef %3025, ptr noundef %3028, i32 noundef %3030) #12
  br label %3032

3032:                                             ; preds = %3015, %2998
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #12
  br label %3033

3033:                                             ; preds = %3032
  br label %3034

3034:                                             ; preds = %3033
  call void @exit(i32 noundef 1) #14
  unreachable

3035:                                             ; No predecessors!
  br label %3036

3036:                                             ; preds = %3035
  br label %3037

3037:                                             ; preds = %3036, %2974
  br label %3038

3038:                                             ; preds = %3037
  br label %3039

3039:                                             ; preds = %3038
  br label %3040

3040:                                             ; preds = %3039
  br label %3041

3041:                                             ; preds = %3040
  br label %3042

3042:                                             ; preds = %3041
  %3043 = load i32, ptr @test_count, align 4, !tbaa !5
  %3044 = add nsw i32 %3043, 1
  store i32 %3044, ptr @test_count, align 4, !tbaa !5
  %3045 = call i32 @s2n_offered_psk_list_next(ptr noundef %58, ptr noundef %57)
  %3046 = icmp eq i32 %3045, -1
  br i1 %3046, label %3100, label %3047

3047:                                             ; preds = %3042
  br label %3048

3048:                                             ; preds = %3047
  br label %3049

3049:                                             ; preds = %3048
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #12
  %3050 = call ptr @__errno_location() #13
  %3051 = load i32, ptr %3050, align 4, !tbaa !5
  store i32 %3051, ptr %62, align 4, !tbaa !5
  %3052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3053 = call i32 @s2n_print_stacktrace(ptr noundef %3052)
  %3054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3055 = trunc i8 %3054 to i1
  br i1 %3055, label %3056, label %3078

3056:                                             ; preds = %3049
  %3057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3058 = call i32 @fileno(ptr noundef %3057) #12
  %3059 = call i32 @isatty(i32 noundef %3058) #12
  %3060 = icmp ne i32 %3059, 0
  br i1 %3060, label %3061, label %3078

3061:                                             ; preds = %3056
  %3062 = load i32, ptr %62, align 4, !tbaa !5
  %3063 = call ptr @__errno_location() #13
  store i32 %3062, ptr %3063, align 4, !tbaa !5
  %3064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3065 = load i32, ptr @test_count, align 4, !tbaa !5
  %3066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3067 = load i32, ptr %3066, align 4, !tbaa !5
  %3068 = call ptr @s2n_strerror(i32 noundef %3067, ptr noundef @.str.80)
  %3069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3070 = load i32, ptr %3069, align 4, !tbaa !5
  %3071 = call ptr @s2n_strerror_debug(i32 noundef %3070, ptr noundef @.str.80)
  %3072 = call ptr @__errno_location() #13
  %3073 = load i32, ptr %3072, align 4, !tbaa !5
  %3074 = call ptr @strerror(i32 noundef %3073) #12
  %3075 = call ptr @__errno_location() #13
  %3076 = load i32, ptr %3075, align 4, !tbaa !5
  %3077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3064, ptr noundef @.str.78, i32 noundef %3065, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 136, ptr noundef %3068, ptr noundef %3071, ptr noundef %3074, i32 noundef %3076) #12
  br label %3095

3078:                                             ; preds = %3056, %3049
  %3079 = load i32, ptr %62, align 4, !tbaa !5
  %3080 = call ptr @__errno_location() #13
  store i32 %3079, ptr %3080, align 4, !tbaa !5
  %3081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3082 = load i32, ptr @test_count, align 4, !tbaa !5
  %3083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call ptr @s2n_strerror(i32 noundef %3084, ptr noundef @.str.80)
  %3086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3087 = load i32, ptr %3086, align 4, !tbaa !5
  %3088 = call ptr @s2n_strerror_debug(i32 noundef %3087, ptr noundef @.str.80)
  %3089 = call ptr @__errno_location() #13
  %3090 = load i32, ptr %3089, align 4, !tbaa !5
  %3091 = call ptr @strerror(i32 noundef %3090) #12
  %3092 = call ptr @__errno_location() #13
  %3093 = load i32, ptr %3092, align 4, !tbaa !5
  %3094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3081, ptr noundef @.str.81, i32 noundef %3082, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 136, ptr noundef %3085, ptr noundef %3088, ptr noundef %3091, i32 noundef %3093) #12
  br label %3095

3095:                                             ; preds = %3078, %3061
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #12
  br label %3096

3096:                                             ; preds = %3095
  br label %3097

3097:                                             ; preds = %3096
  call void @exit(i32 noundef 1) #14
  unreachable

3098:                                             ; No predecessors!
  br label %3099

3099:                                             ; preds = %3098
  br label %3100

3100:                                             ; preds = %3099, %3042
  br label %3101

3101:                                             ; preds = %3100
  br label %3102

3102:                                             ; preds = %3101
  br label %3103

3103:                                             ; preds = %3102
  %3104 = load i32, ptr @test_count, align 4, !tbaa !5
  %3105 = add nsw i32 %3104, 1
  store i32 %3105, ptr @test_count, align 4, !tbaa !5
  %3106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3107 = load i32, ptr %3106, align 4, !tbaa !5
  %3108 = icmp eq i32 %3107, 335544322
  br i1 %3108, label %3162, label %3109

3109:                                             ; preds = %3103
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

3111:                                             ; preds = %3110
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #12
  %3112 = call ptr @__errno_location() #13
  %3113 = load i32, ptr %3112, align 4, !tbaa !5
  store i32 %3113, ptr %63, align 4, !tbaa !5
  %3114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3115 = call i32 @s2n_print_stacktrace(ptr noundef %3114)
  %3116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3117 = trunc i8 %3116 to i1
  br i1 %3117, label %3118, label %3140

3118:                                             ; preds = %3111
  %3119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3120 = call i32 @fileno(ptr noundef %3119) #12
  %3121 = call i32 @isatty(i32 noundef %3120) #12
  %3122 = icmp ne i32 %3121, 0
  br i1 %3122, label %3123, label %3140

3123:                                             ; preds = %3118
  %3124 = load i32, ptr %63, align 4, !tbaa !5
  %3125 = call ptr @__errno_location() #13
  store i32 %3124, ptr %3125, align 4, !tbaa !5
  %3126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3127 = load i32, ptr @test_count, align 4, !tbaa !5
  %3128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3129 = load i32, ptr %3128, align 4, !tbaa !5
  %3130 = call ptr @s2n_strerror(i32 noundef %3129, ptr noundef @.str.80)
  %3131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3132 = load i32, ptr %3131, align 4, !tbaa !5
  %3133 = call ptr @s2n_strerror_debug(i32 noundef %3132, ptr noundef @.str.80)
  %3134 = call ptr @__errno_location() #13
  %3135 = load i32, ptr %3134, align 4, !tbaa !5
  %3136 = call ptr @strerror(i32 noundef %3135) #12
  %3137 = call ptr @__errno_location() #13
  %3138 = load i32, ptr %3137, align 4, !tbaa !5
  %3139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3126, ptr noundef @.str.78, i32 noundef %3127, ptr noundef @.str.106, ptr noundef @.str.77, i32 noundef 136, ptr noundef %3130, ptr noundef %3133, ptr noundef %3136, i32 noundef %3138) #12
  br label %3157

3140:                                             ; preds = %3118, %3111
  %3141 = load i32, ptr %63, align 4, !tbaa !5
  %3142 = call ptr @__errno_location() #13
  store i32 %3141, ptr %3142, align 4, !tbaa !5
  %3143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3144 = load i32, ptr @test_count, align 4, !tbaa !5
  %3145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3146 = load i32, ptr %3145, align 4, !tbaa !5
  %3147 = call ptr @s2n_strerror(i32 noundef %3146, ptr noundef @.str.80)
  %3148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3149 = load i32, ptr %3148, align 4, !tbaa !5
  %3150 = call ptr @s2n_strerror_debug(i32 noundef %3149, ptr noundef @.str.80)
  %3151 = call ptr @__errno_location() #13
  %3152 = load i32, ptr %3151, align 4, !tbaa !5
  %3153 = call ptr @strerror(i32 noundef %3152) #12
  %3154 = call ptr @__errno_location() #13
  %3155 = load i32, ptr %3154, align 4, !tbaa !5
  %3156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3143, ptr noundef @.str.81, i32 noundef %3144, ptr noundef @.str.106, ptr noundef @.str.77, i32 noundef 136, ptr noundef %3147, ptr noundef %3150, ptr noundef %3153, i32 noundef %3155) #12
  br label %3157

3157:                                             ; preds = %3140, %3123
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #12
  br label %3158

3158:                                             ; preds = %3157
  br label %3159

3159:                                             ; preds = %3158
  call void @exit(i32 noundef 1) #14
  unreachable

3160:                                             ; No predecessors!
  br label %3161

3161:                                             ; preds = %3160
  br label %3162

3162:                                             ; preds = %3161, %3103
  br label %3163

3163:                                             ; preds = %3162
  br label %3164

3164:                                             ; preds = %3163
  br label %3165

3165:                                             ; preds = %3164
  %3166 = load i32, ptr @test_count, align 4, !tbaa !5
  %3167 = add nsw i32 %3166, 1
  store i32 %3167, ptr @test_count, align 4, !tbaa !5
  %3168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3169 = load i32, ptr %3168, align 4, !tbaa !5
  %3170 = call ptr @s2n_strerror_debug(i32 noundef %3169, ptr noundef @.str.80)
  %3171 = icmp eq ptr %3170, null
  br i1 %3171, label %3172, label %3225

3172:                                             ; preds = %3165
  br label %3173

3173:                                             ; preds = %3172
  br label %3174

3174:                                             ; preds = %3173
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #12
  %3175 = call ptr @__errno_location() #13
  %3176 = load i32, ptr %3175, align 4, !tbaa !5
  store i32 %3176, ptr %64, align 4, !tbaa !5
  %3177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3178 = call i32 @s2n_print_stacktrace(ptr noundef %3177)
  %3179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3180 = trunc i8 %3179 to i1
  br i1 %3180, label %3181, label %3203

3181:                                             ; preds = %3174
  %3182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3183 = call i32 @fileno(ptr noundef %3182) #12
  %3184 = call i32 @isatty(i32 noundef %3183) #12
  %3185 = icmp ne i32 %3184, 0
  br i1 %3185, label %3186, label %3203

3186:                                             ; preds = %3181
  %3187 = load i32, ptr %64, align 4, !tbaa !5
  %3188 = call ptr @__errno_location() #13
  store i32 %3187, ptr %3188, align 4, !tbaa !5
  %3189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3190 = load i32, ptr @test_count, align 4, !tbaa !5
  %3191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3192 = load i32, ptr %3191, align 4, !tbaa !5
  %3193 = call ptr @s2n_strerror(i32 noundef %3192, ptr noundef @.str.80)
  %3194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3195 = load i32, ptr %3194, align 4, !tbaa !5
  %3196 = call ptr @s2n_strerror_debug(i32 noundef %3195, ptr noundef @.str.80)
  %3197 = call ptr @__errno_location() #13
  %3198 = load i32, ptr %3197, align 4, !tbaa !5
  %3199 = call ptr @strerror(i32 noundef %3198) #12
  %3200 = call ptr @__errno_location() #13
  %3201 = load i32, ptr %3200, align 4, !tbaa !5
  %3202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3189, ptr noundef @.str.78, i32 noundef %3190, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 136, ptr noundef %3193, ptr noundef %3196, ptr noundef %3199, i32 noundef %3201) #12
  br label %3220

3203:                                             ; preds = %3181, %3174
  %3204 = load i32, ptr %64, align 4, !tbaa !5
  %3205 = call ptr @__errno_location() #13
  store i32 %3204, ptr %3205, align 4, !tbaa !5
  %3206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3207 = load i32, ptr @test_count, align 4, !tbaa !5
  %3208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3209 = load i32, ptr %3208, align 4, !tbaa !5
  %3210 = call ptr @s2n_strerror(i32 noundef %3209, ptr noundef @.str.80)
  %3211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3212 = load i32, ptr %3211, align 4, !tbaa !5
  %3213 = call ptr @s2n_strerror_debug(i32 noundef %3212, ptr noundef @.str.80)
  %3214 = call ptr @__errno_location() #13
  %3215 = load i32, ptr %3214, align 4, !tbaa !5
  %3216 = call ptr @strerror(i32 noundef %3215) #12
  %3217 = call ptr @__errno_location() #13
  %3218 = load i32, ptr %3217, align 4, !tbaa !5
  %3219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3206, ptr noundef @.str.81, i32 noundef %3207, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 136, ptr noundef %3210, ptr noundef %3213, ptr noundef %3216, i32 noundef %3218) #12
  br label %3220

3220:                                             ; preds = %3203, %3186
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #12
  br label %3221

3221:                                             ; preds = %3220
  br label %3222

3222:                                             ; preds = %3221
  call void @exit(i32 noundef 1) #14
  unreachable

3223:                                             ; No predecessors!
  br label %3224

3224:                                             ; preds = %3223
  br label %3225

3225:                                             ; preds = %3224, %3165
  br label %3226

3226:                                             ; preds = %3225
  br label %3227

3227:                                             ; preds = %3226
  br label %3228

3228:                                             ; preds = %3227
  br label %3229

3229:                                             ; preds = %3228
  br label %3230

3230:                                             ; preds = %3229
  %3231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3231, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3232 = call ptr @__errno_location() #13
  store i32 0, ptr %3232, align 4, !tbaa !5
  br label %3233

3233:                                             ; preds = %3230
  br label %3234

3234:                                             ; preds = %3233
  br label %3235

3235:                                             ; preds = %3234
  br label %3236

3236:                                             ; preds = %3235
  br label %3237

3237:                                             ; preds = %3236
  %3238 = load i32, ptr @test_count, align 4, !tbaa !5
  %3239 = add nsw i32 %3238, 1
  store i32 %3239, ptr @test_count, align 4, !tbaa !5
  %3240 = getelementptr inbounds %struct.s2n_offered_psk, ptr %57, i32 0, i32 0
  %3241 = getelementptr inbounds %struct.s2n_blob, ptr %3240, i32 0, i32 1
  %3242 = load i32, ptr %3241, align 8, !tbaa !15
  %3243 = icmp eq i32 %3242, 0
  br i1 %3243, label %3297, label %3244

3244:                                             ; preds = %3237
  br label %3245

3245:                                             ; preds = %3244
  br label %3246

3246:                                             ; preds = %3245
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #12
  %3247 = call ptr @__errno_location() #13
  %3248 = load i32, ptr %3247, align 4, !tbaa !5
  store i32 %3248, ptr %65, align 4, !tbaa !5
  %3249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3250 = call i32 @s2n_print_stacktrace(ptr noundef %3249)
  %3251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3252 = trunc i8 %3251 to i1
  br i1 %3252, label %3253, label %3275

3253:                                             ; preds = %3246
  %3254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3255 = call i32 @fileno(ptr noundef %3254) #12
  %3256 = call i32 @isatty(i32 noundef %3255) #12
  %3257 = icmp ne i32 %3256, 0
  br i1 %3257, label %3258, label %3275

3258:                                             ; preds = %3253
  %3259 = load i32, ptr %65, align 4, !tbaa !5
  %3260 = call ptr @__errno_location() #13
  store i32 %3259, ptr %3260, align 4, !tbaa !5
  %3261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3262 = load i32, ptr @test_count, align 4, !tbaa !5
  %3263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3264 = load i32, ptr %3263, align 4, !tbaa !5
  %3265 = call ptr @s2n_strerror(i32 noundef %3264, ptr noundef @.str.80)
  %3266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3267 = load i32, ptr %3266, align 4, !tbaa !5
  %3268 = call ptr @s2n_strerror_debug(i32 noundef %3267, ptr noundef @.str.80)
  %3269 = call ptr @__errno_location() #13
  %3270 = load i32, ptr %3269, align 4, !tbaa !5
  %3271 = call ptr @strerror(i32 noundef %3270) #12
  %3272 = call ptr @__errno_location() #13
  %3273 = load i32, ptr %3272, align 4, !tbaa !5
  %3274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3261, ptr noundef @.str.78, i32 noundef %3262, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 137, ptr noundef %3265, ptr noundef %3268, ptr noundef %3271, i32 noundef %3273) #12
  br label %3292

3275:                                             ; preds = %3253, %3246
  %3276 = load i32, ptr %65, align 4, !tbaa !5
  %3277 = call ptr @__errno_location() #13
  store i32 %3276, ptr %3277, align 4, !tbaa !5
  %3278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3279 = load i32, ptr @test_count, align 4, !tbaa !5
  %3280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3281 = load i32, ptr %3280, align 4, !tbaa !5
  %3282 = call ptr @s2n_strerror(i32 noundef %3281, ptr noundef @.str.80)
  %3283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3284 = load i32, ptr %3283, align 4, !tbaa !5
  %3285 = call ptr @s2n_strerror_debug(i32 noundef %3284, ptr noundef @.str.80)
  %3286 = call ptr @__errno_location() #13
  %3287 = load i32, ptr %3286, align 4, !tbaa !5
  %3288 = call ptr @strerror(i32 noundef %3287) #12
  %3289 = call ptr @__errno_location() #13
  %3290 = load i32, ptr %3289, align 4, !tbaa !5
  %3291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3278, ptr noundef @.str.81, i32 noundef %3279, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 137, ptr noundef %3282, ptr noundef %3285, ptr noundef %3288, i32 noundef %3290) #12
  br label %3292

3292:                                             ; preds = %3275, %3258
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #12
  br label %3293

3293:                                             ; preds = %3292
  br label %3294

3294:                                             ; preds = %3293
  call void @exit(i32 noundef 1) #14
  unreachable

3295:                                             ; No predecessors!
  br label %3296

3296:                                             ; preds = %3295
  br label %3297

3297:                                             ; preds = %3296, %3237
  br label %3298

3298:                                             ; preds = %3297
  br label %3299

3299:                                             ; preds = %3298
  br label %3300

3300:                                             ; preds = %3299
  %3301 = load i32, ptr @test_count, align 4, !tbaa !5
  %3302 = add nsw i32 %3301, 1
  store i32 %3302, ptr @test_count, align 4, !tbaa !5
  %3303 = getelementptr inbounds %struct.s2n_offered_psk, ptr %57, i32 0, i32 0
  %3304 = getelementptr inbounds %struct.s2n_blob, ptr %3303, i32 0, i32 0
  %3305 = load ptr, ptr %3304, align 8, !tbaa !19
  %3306 = icmp eq ptr %3305, null
  br i1 %3306, label %3360, label %3307

3307:                                             ; preds = %3300
  br label %3308

3308:                                             ; preds = %3307
  br label %3309

3309:                                             ; preds = %3308
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #12
  %3310 = call ptr @__errno_location() #13
  %3311 = load i32, ptr %3310, align 4, !tbaa !5
  store i32 %3311, ptr %66, align 4, !tbaa !5
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = call i32 @s2n_print_stacktrace(ptr noundef %3312)
  %3314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3315 = trunc i8 %3314 to i1
  br i1 %3315, label %3316, label %3338

3316:                                             ; preds = %3309
  %3317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3318 = call i32 @fileno(ptr noundef %3317) #12
  %3319 = call i32 @isatty(i32 noundef %3318) #12
  %3320 = icmp ne i32 %3319, 0
  br i1 %3320, label %3321, label %3338

3321:                                             ; preds = %3316
  %3322 = load i32, ptr %66, align 4, !tbaa !5
  %3323 = call ptr @__errno_location() #13
  store i32 %3322, ptr %3323, align 4, !tbaa !5
  %3324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3325 = load i32, ptr @test_count, align 4, !tbaa !5
  %3326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3327 = load i32, ptr %3326, align 4, !tbaa !5
  %3328 = call ptr @s2n_strerror(i32 noundef %3327, ptr noundef @.str.80)
  %3329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3330 = load i32, ptr %3329, align 4, !tbaa !5
  %3331 = call ptr @s2n_strerror_debug(i32 noundef %3330, ptr noundef @.str.80)
  %3332 = call ptr @__errno_location() #13
  %3333 = load i32, ptr %3332, align 4, !tbaa !5
  %3334 = call ptr @strerror(i32 noundef %3333) #12
  %3335 = call ptr @__errno_location() #13
  %3336 = load i32, ptr %3335, align 4, !tbaa !5
  %3337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3324, ptr noundef @.str.78, i32 noundef %3325, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 138, ptr noundef %3328, ptr noundef %3331, ptr noundef %3334, i32 noundef %3336) #12
  br label %3355

3338:                                             ; preds = %3316, %3309
  %3339 = load i32, ptr %66, align 4, !tbaa !5
  %3340 = call ptr @__errno_location() #13
  store i32 %3339, ptr %3340, align 4, !tbaa !5
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = load i32, ptr @test_count, align 4, !tbaa !5
  %3343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3344 = load i32, ptr %3343, align 4, !tbaa !5
  %3345 = call ptr @s2n_strerror(i32 noundef %3344, ptr noundef @.str.80)
  %3346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3347 = load i32, ptr %3346, align 4, !tbaa !5
  %3348 = call ptr @s2n_strerror_debug(i32 noundef %3347, ptr noundef @.str.80)
  %3349 = call ptr @__errno_location() #13
  %3350 = load i32, ptr %3349, align 4, !tbaa !5
  %3351 = call ptr @strerror(i32 noundef %3350) #12
  %3352 = call ptr @__errno_location() #13
  %3353 = load i32, ptr %3352, align 4, !tbaa !5
  %3354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3341, ptr noundef @.str.81, i32 noundef %3342, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 138, ptr noundef %3345, ptr noundef %3348, ptr noundef %3351, i32 noundef %3353) #12
  br label %3355

3355:                                             ; preds = %3338, %3321
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #12
  br label %3356

3356:                                             ; preds = %3355
  br label %3357

3357:                                             ; preds = %3356
  call void @exit(i32 noundef 1) #14
  unreachable

3358:                                             ; No predecessors!
  br label %3359

3359:                                             ; preds = %3358
  br label %3360

3360:                                             ; preds = %3359, %3300
  br label %3361

3361:                                             ; preds = %3360
  br label %3362

3362:                                             ; preds = %3361
  br label %3363

3363:                                             ; preds = %3362
  %3364 = load i32, ptr @test_count, align 4, !tbaa !5
  %3365 = add nsw i32 %3364, 1
  store i32 %3365, ptr @test_count, align 4, !tbaa !5
  %3366 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %58, i32 0, i32 1
  %3367 = call i32 @s2n_stuffer_free(ptr noundef %3366)
  %3368 = icmp eq i32 %3367, -1
  br i1 %3368, label %3369, label %3422

3369:                                             ; preds = %3363
  br label %3370

3370:                                             ; preds = %3369
  br label %3371

3371:                                             ; preds = %3370
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #12
  %3372 = call ptr @__errno_location() #13
  %3373 = load i32, ptr %3372, align 4, !tbaa !5
  store i32 %3373, ptr %67, align 4, !tbaa !5
  %3374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3375 = call i32 @s2n_print_stacktrace(ptr noundef %3374)
  %3376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3377 = trunc i8 %3376 to i1
  br i1 %3377, label %3378, label %3400

3378:                                             ; preds = %3371
  %3379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3380 = call i32 @fileno(ptr noundef %3379) #12
  %3381 = call i32 @isatty(i32 noundef %3380) #12
  %3382 = icmp ne i32 %3381, 0
  br i1 %3382, label %3383, label %3400

3383:                                             ; preds = %3378
  %3384 = load i32, ptr %67, align 4, !tbaa !5
  %3385 = call ptr @__errno_location() #13
  store i32 %3384, ptr %3385, align 4, !tbaa !5
  %3386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3387 = load i32, ptr @test_count, align 4, !tbaa !5
  %3388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3389 = load i32, ptr %3388, align 4, !tbaa !5
  %3390 = call ptr @s2n_strerror(i32 noundef %3389, ptr noundef @.str.80)
  %3391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3392 = load i32, ptr %3391, align 4, !tbaa !5
  %3393 = call ptr @s2n_strerror_debug(i32 noundef %3392, ptr noundef @.str.80)
  %3394 = call ptr @__errno_location() #13
  %3395 = load i32, ptr %3394, align 4, !tbaa !5
  %3396 = call ptr @strerror(i32 noundef %3395) #12
  %3397 = call ptr @__errno_location() #13
  %3398 = load i32, ptr %3397, align 4, !tbaa !5
  %3399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3386, ptr noundef @.str.78, i32 noundef %3387, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 140, ptr noundef %3390, ptr noundef %3393, ptr noundef %3396, i32 noundef %3398) #12
  br label %3417

3400:                                             ; preds = %3378, %3371
  %3401 = load i32, ptr %67, align 4, !tbaa !5
  %3402 = call ptr @__errno_location() #13
  store i32 %3401, ptr %3402, align 4, !tbaa !5
  %3403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3404 = load i32, ptr @test_count, align 4, !tbaa !5
  %3405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3406 = load i32, ptr %3405, align 4, !tbaa !5
  %3407 = call ptr @s2n_strerror(i32 noundef %3406, ptr noundef @.str.80)
  %3408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3409 = load i32, ptr %3408, align 4, !tbaa !5
  %3410 = call ptr @s2n_strerror_debug(i32 noundef %3409, ptr noundef @.str.80)
  %3411 = call ptr @__errno_location() #13
  %3412 = load i32, ptr %3411, align 4, !tbaa !5
  %3413 = call ptr @strerror(i32 noundef %3412) #12
  %3414 = call ptr @__errno_location() #13
  %3415 = load i32, ptr %3414, align 4, !tbaa !5
  %3416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3403, ptr noundef @.str.81, i32 noundef %3404, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 140, ptr noundef %3407, ptr noundef %3410, ptr noundef %3413, i32 noundef %3415) #12
  br label %3417

3417:                                             ; preds = %3400, %3383
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #12
  br label %3418

3418:                                             ; preds = %3417
  br label %3419

3419:                                             ; preds = %3418
  call void @exit(i32 noundef 1) #14
  unreachable

3420:                                             ; No predecessors!
  br label %3421

3421:                                             ; preds = %3420
  br label %3422

3422:                                             ; preds = %3421, %3363
  br label %3423

3423:                                             ; preds = %3422
  br label %3424

3424:                                             ; preds = %3423
  call void @llvm.lifetime.end.p0(i64 56, ptr %58) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #12
  call void @llvm.memset.p0.i64(ptr align 8 %68, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %69) #12
  call void @llvm.memset.p0.i64(ptr align 8 %69, i8 0, i64 56, i1 false)
  br label %3425

3425:                                             ; preds = %3424
  %3426 = load i32, ptr @test_count, align 4, !tbaa !5
  %3427 = add nsw i32 %3426, 1
  store i32 %3427, ptr @test_count, align 4, !tbaa !5
  %3428 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %69, i32 0, i32 1
  %3429 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %3428, i32 noundef 0)
  %3430 = icmp eq i32 %3429, -1
  br i1 %3430, label %3431, label %3484

3431:                                             ; preds = %3425
  br label %3432

3432:                                             ; preds = %3431
  br label %3433

3433:                                             ; preds = %3432
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #12
  %3434 = call ptr @__errno_location() #13
  %3435 = load i32, ptr %3434, align 4, !tbaa !5
  store i32 %3435, ptr %70, align 4, !tbaa !5
  %3436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3437 = call i32 @s2n_print_stacktrace(ptr noundef %3436)
  %3438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3439 = trunc i8 %3438 to i1
  br i1 %3439, label %3440, label %3462

3440:                                             ; preds = %3433
  %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
  %3444 = icmp ne i32 %3443, 0
  br i1 %3444, label %3445, label %3462

3445:                                             ; preds = %3440
  %3446 = load i32, ptr %70, align 4, !tbaa !5
  %3447 = call ptr @__errno_location() #13
  store i32 %3446, ptr %3447, align 4, !tbaa !5
  %3448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3449 = load i32, ptr @test_count, align 4, !tbaa !5
  %3450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3451 = load i32, ptr %3450, align 4, !tbaa !5
  %3452 = call ptr @s2n_strerror(i32 noundef %3451, ptr noundef @.str.80)
  %3453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3454 = load i32, ptr %3453, align 4, !tbaa !5
  %3455 = call ptr @s2n_strerror_debug(i32 noundef %3454, ptr noundef @.str.80)
  %3456 = call ptr @__errno_location() #13
  %3457 = load i32, ptr %3456, align 4, !tbaa !5
  %3458 = call ptr @strerror(i32 noundef %3457) #12
  %3459 = call ptr @__errno_location() #13
  %3460 = load i32, ptr %3459, align 4, !tbaa !5
  %3461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3448, ptr noundef @.str.78, i32 noundef %3449, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 148, ptr noundef %3452, ptr noundef %3455, ptr noundef %3458, i32 noundef %3460) #12
  br label %3479

3462:                                             ; preds = %3440, %3433
  %3463 = load i32, ptr %70, align 4, !tbaa !5
  %3464 = call ptr @__errno_location() #13
  store i32 %3463, ptr %3464, align 4, !tbaa !5
  %3465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3466 = load i32, ptr @test_count, align 4, !tbaa !5
  %3467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3468 = load i32, ptr %3467, align 4, !tbaa !5
  %3469 = call ptr @s2n_strerror(i32 noundef %3468, ptr noundef @.str.80)
  %3470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3471 = load i32, ptr %3470, align 4, !tbaa !5
  %3472 = call ptr @s2n_strerror_debug(i32 noundef %3471, ptr noundef @.str.80)
  %3473 = call ptr @__errno_location() #13
  %3474 = load i32, ptr %3473, align 4, !tbaa !5
  %3475 = call ptr @strerror(i32 noundef %3474) #12
  %3476 = call ptr @__errno_location() #13
  %3477 = load i32, ptr %3476, align 4, !tbaa !5
  %3478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3465, ptr noundef @.str.81, i32 noundef %3466, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 148, ptr noundef %3469, ptr noundef %3472, ptr noundef %3475, i32 noundef %3477) #12
  br label %3479

3479:                                             ; preds = %3462, %3445
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #12
  br label %3480

3480:                                             ; preds = %3479
  br label %3481

3481:                                             ; preds = %3480
  call void @exit(i32 noundef 1) #14
  unreachable

3482:                                             ; No predecessors!
  br label %3483

3483:                                             ; preds = %3482
  br label %3484

3484:                                             ; preds = %3483, %3425
  br label %3485

3485:                                             ; preds = %3484
  br label %3486

3486:                                             ; preds = %3485
  br label %3487

3487:                                             ; preds = %3486
  %3488 = load i32, ptr @test_count, align 4, !tbaa !5
  %3489 = add nsw i32 %3488, 1
  store i32 %3489, ptr @test_count, align 4, !tbaa !5
  %3490 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %69, i32 0, i32 1
  %3491 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %3492 = call i32 @s2n_write_test_identity(ptr noundef %3490, ptr noundef %3491, i16 noundef zeroext 0)
  %3493 = getelementptr inbounds %struct.s2n_result, ptr %71, i32 0, i32 0
  store i32 %3492, ptr %3493, align 4
  %3494 = getelementptr inbounds %struct.s2n_result, ptr %71, i32 0, i32 0
  %3495 = load i32, ptr %3494, align 4
  %3496 = call zeroext i1 @s2n_result_is_ok(i32 %3495)
  br i1 %3496, label %3550, label %3497

3497:                                             ; preds = %3487
  br label %3498

3498:                                             ; preds = %3497
  br label %3499

3499:                                             ; preds = %3498
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #12
  %3500 = call ptr @__errno_location() #13
  %3501 = load i32, ptr %3500, align 4, !tbaa !5
  store i32 %3501, ptr %72, align 4, !tbaa !5
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = call i32 @s2n_print_stacktrace(ptr noundef %3502)
  %3504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3505 = trunc i8 %3504 to i1
  br i1 %3505, label %3506, label %3528

3506:                                             ; preds = %3499
  %3507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3508 = call i32 @fileno(ptr noundef %3507) #12
  %3509 = call i32 @isatty(i32 noundef %3508) #12
  %3510 = icmp ne i32 %3509, 0
  br i1 %3510, label %3511, label %3528

3511:                                             ; preds = %3506
  %3512 = load i32, ptr %72, align 4, !tbaa !5
  %3513 = call ptr @__errno_location() #13
  store i32 %3512, ptr %3513, align 4, !tbaa !5
  %3514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3515 = load i32, ptr @test_count, align 4, !tbaa !5
  %3516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3517 = load i32, ptr %3516, align 4, !tbaa !5
  %3518 = call ptr @s2n_strerror(i32 noundef %3517, ptr noundef @.str.80)
  %3519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3520 = load i32, ptr %3519, align 4, !tbaa !5
  %3521 = call ptr @s2n_strerror_debug(i32 noundef %3520, ptr noundef @.str.80)
  %3522 = call ptr @__errno_location() #13
  %3523 = load i32, ptr %3522, align 4, !tbaa !5
  %3524 = call ptr @strerror(i32 noundef %3523) #12
  %3525 = call ptr @__errno_location() #13
  %3526 = load i32, ptr %3525, align 4, !tbaa !5
  %3527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3514, ptr noundef @.str.78, i32 noundef %3515, ptr noundef @.str.105, ptr noundef @.str.77, i32 noundef 149, ptr noundef %3518, ptr noundef %3521, ptr noundef %3524, i32 noundef %3526) #12
  br label %3545

3528:                                             ; preds = %3506, %3499
  %3529 = load i32, ptr %72, align 4, !tbaa !5
  %3530 = call ptr @__errno_location() #13
  store i32 %3529, ptr %3530, align 4, !tbaa !5
  %3531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3532 = load i32, ptr @test_count, align 4, !tbaa !5
  %3533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3534 = load i32, ptr %3533, align 4, !tbaa !5
  %3535 = call ptr @s2n_strerror(i32 noundef %3534, ptr noundef @.str.80)
  %3536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3537 = load i32, ptr %3536, align 4, !tbaa !5
  %3538 = call ptr @s2n_strerror_debug(i32 noundef %3537, ptr noundef @.str.80)
  %3539 = call ptr @__errno_location() #13
  %3540 = load i32, ptr %3539, align 4, !tbaa !5
  %3541 = call ptr @strerror(i32 noundef %3540) #12
  %3542 = call ptr @__errno_location() #13
  %3543 = load i32, ptr %3542, align 4, !tbaa !5
  %3544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3531, ptr noundef @.str.81, i32 noundef %3532, ptr noundef @.str.105, ptr noundef @.str.77, i32 noundef 149, ptr noundef %3535, ptr noundef %3538, ptr noundef %3541, i32 noundef %3543) #12
  br label %3545

3545:                                             ; preds = %3528, %3511
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #12
  br label %3546

3546:                                             ; preds = %3545
  br label %3547

3547:                                             ; preds = %3546
  call void @exit(i32 noundef 1) #14
  unreachable

3548:                                             ; No predecessors!
  br label %3549

3549:                                             ; preds = %3548
  br label %3550

3550:                                             ; preds = %3549, %3487
  br label %3551

3551:                                             ; preds = %3550
  br label %3552

3552:                                             ; preds = %3551
  br label %3553

3553:                                             ; preds = %3552
  %3554 = load i32, ptr @test_count, align 4, !tbaa !5
  %3555 = add nsw i32 %3554, 1
  store i32 %3555, ptr @test_count, align 4, !tbaa !5
  %3556 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %69, i32 0, i32 1
  %3557 = call i32 @s2n_stuffer_wipe_n(ptr noundef %3556, i32 noundef 1)
  %3558 = icmp eq i32 %3557, -1
  br i1 %3558, label %3559, label %3612

3559:                                             ; preds = %3553
  br label %3560

3560:                                             ; preds = %3559
  br label %3561

3561:                                             ; preds = %3560
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #12
  %3562 = call ptr @__errno_location() #13
  %3563 = load i32, ptr %3562, align 4, !tbaa !5
  store i32 %3563, ptr %73, align 4, !tbaa !5
  %3564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3565 = call i32 @s2n_print_stacktrace(ptr noundef %3564)
  %3566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3567 = trunc i8 %3566 to i1
  br i1 %3567, label %3568, label %3590

3568:                                             ; preds = %3561
  %3569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3570 = call i32 @fileno(ptr noundef %3569) #12
  %3571 = call i32 @isatty(i32 noundef %3570) #12
  %3572 = icmp ne i32 %3571, 0
  br i1 %3572, label %3573, label %3590

3573:                                             ; preds = %3568
  %3574 = load i32, ptr %73, align 4, !tbaa !5
  %3575 = call ptr @__errno_location() #13
  store i32 %3574, ptr %3575, align 4, !tbaa !5
  %3576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3577 = load i32, ptr @test_count, align 4, !tbaa !5
  %3578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3579 = load i32, ptr %3578, align 4, !tbaa !5
  %3580 = call ptr @s2n_strerror(i32 noundef %3579, ptr noundef @.str.80)
  %3581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3582 = load i32, ptr %3581, align 4, !tbaa !5
  %3583 = call ptr @s2n_strerror_debug(i32 noundef %3582, ptr noundef @.str.80)
  %3584 = call ptr @__errno_location() #13
  %3585 = load i32, ptr %3584, align 4, !tbaa !5
  %3586 = call ptr @strerror(i32 noundef %3585) #12
  %3587 = call ptr @__errno_location() #13
  %3588 = load i32, ptr %3587, align 4, !tbaa !5
  %3589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3576, ptr noundef @.str.78, i32 noundef %3577, ptr noundef @.str.107, ptr noundef @.str.77, i32 noundef 150, ptr noundef %3580, ptr noundef %3583, ptr noundef %3586, i32 noundef %3588) #12
  br label %3607

3590:                                             ; preds = %3568, %3561
  %3591 = load i32, ptr %73, align 4, !tbaa !5
  %3592 = call ptr @__errno_location() #13
  store i32 %3591, ptr %3592, align 4, !tbaa !5
  %3593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3594 = load i32, ptr @test_count, align 4, !tbaa !5
  %3595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3596 = load i32, ptr %3595, align 4, !tbaa !5
  %3597 = call ptr @s2n_strerror(i32 noundef %3596, ptr noundef @.str.80)
  %3598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3599 = load i32, ptr %3598, align 4, !tbaa !5
  %3600 = call ptr @s2n_strerror_debug(i32 noundef %3599, ptr noundef @.str.80)
  %3601 = call ptr @__errno_location() #13
  %3602 = load i32, ptr %3601, align 4, !tbaa !5
  %3603 = call ptr @strerror(i32 noundef %3602) #12
  %3604 = call ptr @__errno_location() #13
  %3605 = load i32, ptr %3604, align 4, !tbaa !5
  %3606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3593, ptr noundef @.str.81, i32 noundef %3594, ptr noundef @.str.107, ptr noundef @.str.77, i32 noundef 150, ptr noundef %3597, ptr noundef %3600, ptr noundef %3603, i32 noundef %3605) #12
  br label %3607

3607:                                             ; preds = %3590, %3573
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #12
  br label %3608

3608:                                             ; preds = %3607
  br label %3609

3609:                                             ; preds = %3608
  call void @exit(i32 noundef 1) #14
  unreachable

3610:                                             ; No predecessors!
  br label %3611

3611:                                             ; preds = %3610
  br label %3612

3612:                                             ; preds = %3611, %3553
  br label %3613

3613:                                             ; preds = %3612
  br label %3614

3614:                                             ; preds = %3613
  br label %3615

3615:                                             ; preds = %3614
  br label %3616

3616:                                             ; preds = %3615
  br label %3617

3617:                                             ; preds = %3616
  %3618 = load i32, ptr @test_count, align 4, !tbaa !5
  %3619 = add nsw i32 %3618, 1
  store i32 %3619, ptr @test_count, align 4, !tbaa !5
  %3620 = call i32 @s2n_offered_psk_list_next(ptr noundef %69, ptr noundef %68)
  %3621 = icmp eq i32 %3620, -1
  br i1 %3621, label %3675, label %3622

3622:                                             ; preds = %3617
  br label %3623

3623:                                             ; preds = %3622
  br label %3624

3624:                                             ; preds = %3623
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #12
  %3625 = call ptr @__errno_location() #13
  %3626 = load i32, ptr %3625, align 4, !tbaa !5
  store i32 %3626, ptr %74, align 4, !tbaa !5
  %3627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3628 = call i32 @s2n_print_stacktrace(ptr noundef %3627)
  %3629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3630 = trunc i8 %3629 to i1
  br i1 %3630, label %3631, label %3653

3631:                                             ; preds = %3624
  %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
  %3635 = icmp ne i32 %3634, 0
  br i1 %3635, label %3636, label %3653

3636:                                             ; preds = %3631
  %3637 = load i32, ptr %74, align 4, !tbaa !5
  %3638 = call ptr @__errno_location() #13
  store i32 %3637, ptr %3638, align 4, !tbaa !5
  %3639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3640 = load i32, ptr @test_count, align 4, !tbaa !5
  %3641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3642 = load i32, ptr %3641, align 4, !tbaa !5
  %3643 = call ptr @s2n_strerror(i32 noundef %3642, ptr noundef @.str.80)
  %3644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3645 = load i32, ptr %3644, align 4, !tbaa !5
  %3646 = call ptr @s2n_strerror_debug(i32 noundef %3645, ptr noundef @.str.80)
  %3647 = call ptr @__errno_location() #13
  %3648 = load i32, ptr %3647, align 4, !tbaa !5
  %3649 = call ptr @strerror(i32 noundef %3648) #12
  %3650 = call ptr @__errno_location() #13
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  %3652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3639, ptr noundef @.str.78, i32 noundef %3640, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 152, ptr noundef %3643, ptr noundef %3646, ptr noundef %3649, i32 noundef %3651) #12
  br label %3670

3653:                                             ; preds = %3631, %3624
  %3654 = load i32, ptr %74, align 4, !tbaa !5
  %3655 = call ptr @__errno_location() #13
  store i32 %3654, ptr %3655, align 4, !tbaa !5
  %3656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3657 = load i32, ptr @test_count, align 4, !tbaa !5
  %3658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3659 = load i32, ptr %3658, align 4, !tbaa !5
  %3660 = call ptr @s2n_strerror(i32 noundef %3659, ptr noundef @.str.80)
  %3661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3662 = load i32, ptr %3661, align 4, !tbaa !5
  %3663 = call ptr @s2n_strerror_debug(i32 noundef %3662, ptr noundef @.str.80)
  %3664 = call ptr @__errno_location() #13
  %3665 = load i32, ptr %3664, align 4, !tbaa !5
  %3666 = call ptr @strerror(i32 noundef %3665) #12
  %3667 = call ptr @__errno_location() #13
  %3668 = load i32, ptr %3667, align 4, !tbaa !5
  %3669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3656, ptr noundef @.str.81, i32 noundef %3657, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 152, ptr noundef %3660, ptr noundef %3663, ptr noundef %3666, i32 noundef %3668) #12
  br label %3670

3670:                                             ; preds = %3653, %3636
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #12
  br label %3671

3671:                                             ; preds = %3670
  br label %3672

3672:                                             ; preds = %3671
  call void @exit(i32 noundef 1) #14
  unreachable

3673:                                             ; No predecessors!
  br label %3674

3674:                                             ; preds = %3673
  br label %3675

3675:                                             ; preds = %3674, %3617
  br label %3676

3676:                                             ; preds = %3675
  br label %3677

3677:                                             ; preds = %3676
  br label %3678

3678:                                             ; preds = %3677
  %3679 = load i32, ptr @test_count, align 4, !tbaa !5
  %3680 = add nsw i32 %3679, 1
  store i32 %3680, ptr @test_count, align 4, !tbaa !5
  %3681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3682 = load i32, ptr %3681, align 4, !tbaa !5
  %3683 = icmp eq i32 %3682, 335544322
  br i1 %3683, label %3737, label %3684

3684:                                             ; preds = %3678
  br label %3685

3685:                                             ; preds = %3684
  br label %3686

3686:                                             ; preds = %3685
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #12
  %3687 = call ptr @__errno_location() #13
  %3688 = load i32, ptr %3687, align 4, !tbaa !5
  store i32 %3688, ptr %75, align 4, !tbaa !5
  %3689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3690 = call i32 @s2n_print_stacktrace(ptr noundef %3689)
  %3691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3692 = trunc i8 %3691 to i1
  br i1 %3692, label %3693, label %3715

3693:                                             ; preds = %3686
  %3694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3695 = call i32 @fileno(ptr noundef %3694) #12
  %3696 = call i32 @isatty(i32 noundef %3695) #12
  %3697 = icmp ne i32 %3696, 0
  br i1 %3697, label %3698, label %3715

3698:                                             ; preds = %3693
  %3699 = load i32, ptr %75, align 4, !tbaa !5
  %3700 = call ptr @__errno_location() #13
  store i32 %3699, ptr %3700, align 4, !tbaa !5
  %3701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3702 = load i32, ptr @test_count, align 4, !tbaa !5
  %3703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3704 = load i32, ptr %3703, align 4, !tbaa !5
  %3705 = call ptr @s2n_strerror(i32 noundef %3704, ptr noundef @.str.80)
  %3706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3707 = load i32, ptr %3706, align 4, !tbaa !5
  %3708 = call ptr @s2n_strerror_debug(i32 noundef %3707, ptr noundef @.str.80)
  %3709 = call ptr @__errno_location() #13
  %3710 = load i32, ptr %3709, align 4, !tbaa !5
  %3711 = call ptr @strerror(i32 noundef %3710) #12
  %3712 = call ptr @__errno_location() #13
  %3713 = load i32, ptr %3712, align 4, !tbaa !5
  %3714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3701, ptr noundef @.str.78, i32 noundef %3702, ptr noundef @.str.106, ptr noundef @.str.77, i32 noundef 152, ptr noundef %3705, ptr noundef %3708, ptr noundef %3711, i32 noundef %3713) #12
  br label %3732

3715:                                             ; preds = %3693, %3686
  %3716 = load i32, ptr %75, align 4, !tbaa !5
  %3717 = call ptr @__errno_location() #13
  store i32 %3716, ptr %3717, align 4, !tbaa !5
  %3718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3719 = load i32, ptr @test_count, align 4, !tbaa !5
  %3720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3721 = load i32, ptr %3720, align 4, !tbaa !5
  %3722 = call ptr @s2n_strerror(i32 noundef %3721, ptr noundef @.str.80)
  %3723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3724 = load i32, ptr %3723, align 4, !tbaa !5
  %3725 = call ptr @s2n_strerror_debug(i32 noundef %3724, ptr noundef @.str.80)
  %3726 = call ptr @__errno_location() #13
  %3727 = load i32, ptr %3726, align 4, !tbaa !5
  %3728 = call ptr @strerror(i32 noundef %3727) #12
  %3729 = call ptr @__errno_location() #13
  %3730 = load i32, ptr %3729, align 4, !tbaa !5
  %3731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3718, ptr noundef @.str.81, i32 noundef %3719, ptr noundef @.str.106, ptr noundef @.str.77, i32 noundef 152, ptr noundef %3722, ptr noundef %3725, ptr noundef %3728, i32 noundef %3730) #12
  br label %3732

3732:                                             ; preds = %3715, %3698
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #12
  br label %3733

3733:                                             ; preds = %3732
  br label %3734

3734:                                             ; preds = %3733
  call void @exit(i32 noundef 1) #14
  unreachable

3735:                                             ; No predecessors!
  br label %3736

3736:                                             ; preds = %3735
  br label %3737

3737:                                             ; preds = %3736, %3678
  br label %3738

3738:                                             ; preds = %3737
  br label %3739

3739:                                             ; preds = %3738
  br label %3740

3740:                                             ; preds = %3739
  %3741 = load i32, ptr @test_count, align 4, !tbaa !5
  %3742 = add nsw i32 %3741, 1
  store i32 %3742, ptr @test_count, align 4, !tbaa !5
  %3743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3744 = load i32, ptr %3743, align 4, !tbaa !5
  %3745 = call ptr @s2n_strerror_debug(i32 noundef %3744, ptr noundef @.str.80)
  %3746 = icmp eq ptr %3745, null
  br i1 %3746, label %3747, label %3800

3747:                                             ; preds = %3740
  br label %3748

3748:                                             ; preds = %3747
  br label %3749

3749:                                             ; preds = %3748
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #12
  %3750 = call ptr @__errno_location() #13
  %3751 = load i32, ptr %3750, align 4, !tbaa !5
  store i32 %3751, ptr %76, align 4, !tbaa !5
  %3752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3753 = call i32 @s2n_print_stacktrace(ptr noundef %3752)
  %3754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3755 = trunc i8 %3754 to i1
  br i1 %3755, label %3756, label %3778

3756:                                             ; preds = %3749
  %3757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3758 = call i32 @fileno(ptr noundef %3757) #12
  %3759 = call i32 @isatty(i32 noundef %3758) #12
  %3760 = icmp ne i32 %3759, 0
  br i1 %3760, label %3761, label %3778

3761:                                             ; preds = %3756
  %3762 = load i32, ptr %76, align 4, !tbaa !5
  %3763 = call ptr @__errno_location() #13
  store i32 %3762, ptr %3763, align 4, !tbaa !5
  %3764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3765 = load i32, ptr @test_count, align 4, !tbaa !5
  %3766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3767 = load i32, ptr %3766, align 4, !tbaa !5
  %3768 = call ptr @s2n_strerror(i32 noundef %3767, ptr noundef @.str.80)
  %3769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3770 = load i32, ptr %3769, align 4, !tbaa !5
  %3771 = call ptr @s2n_strerror_debug(i32 noundef %3770, ptr noundef @.str.80)
  %3772 = call ptr @__errno_location() #13
  %3773 = load i32, ptr %3772, align 4, !tbaa !5
  %3774 = call ptr @strerror(i32 noundef %3773) #12
  %3775 = call ptr @__errno_location() #13
  %3776 = load i32, ptr %3775, align 4, !tbaa !5
  %3777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3764, ptr noundef @.str.78, i32 noundef %3765, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 152, ptr noundef %3768, ptr noundef %3771, ptr noundef %3774, i32 noundef %3776) #12
  br label %3795

3778:                                             ; preds = %3756, %3749
  %3779 = load i32, ptr %76, align 4, !tbaa !5
  %3780 = call ptr @__errno_location() #13
  store i32 %3779, ptr %3780, align 4, !tbaa !5
  %3781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3782 = load i32, ptr @test_count, align 4, !tbaa !5
  %3783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3784 = load i32, ptr %3783, align 4, !tbaa !5
  %3785 = call ptr @s2n_strerror(i32 noundef %3784, ptr noundef @.str.80)
  %3786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3787 = load i32, ptr %3786, align 4, !tbaa !5
  %3788 = call ptr @s2n_strerror_debug(i32 noundef %3787, ptr noundef @.str.80)
  %3789 = call ptr @__errno_location() #13
  %3790 = load i32, ptr %3789, align 4, !tbaa !5
  %3791 = call ptr @strerror(i32 noundef %3790) #12
  %3792 = call ptr @__errno_location() #13
  %3793 = load i32, ptr %3792, align 4, !tbaa !5
  %3794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3781, ptr noundef @.str.81, i32 noundef %3782, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 152, ptr noundef %3785, ptr noundef %3788, ptr noundef %3791, i32 noundef %3793) #12
  br label %3795

3795:                                             ; preds = %3778, %3761
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #12
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796
  call void @exit(i32 noundef 1) #14
  unreachable

3798:                                             ; No predecessors!
  br label %3799

3799:                                             ; preds = %3798
  br label %3800

3800:                                             ; preds = %3799, %3740
  br label %3801

3801:                                             ; preds = %3800
  br label %3802

3802:                                             ; preds = %3801
  br label %3803

3803:                                             ; preds = %3802
  br label %3804

3804:                                             ; preds = %3803
  br label %3805

3805:                                             ; preds = %3804
  %3806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3806, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3807 = call ptr @__errno_location() #13
  store i32 0, ptr %3807, align 4, !tbaa !5
  br label %3808

3808:                                             ; preds = %3805
  br label %3809

3809:                                             ; preds = %3808
  br label %3810

3810:                                             ; preds = %3809
  br label %3811

3811:                                             ; preds = %3810
  br label %3812

3812:                                             ; preds = %3811
  %3813 = load i32, ptr @test_count, align 4, !tbaa !5
  %3814 = add nsw i32 %3813, 1
  store i32 %3814, ptr @test_count, align 4, !tbaa !5
  %3815 = getelementptr inbounds %struct.s2n_offered_psk, ptr %68, i32 0, i32 0
  %3816 = getelementptr inbounds %struct.s2n_blob, ptr %3815, i32 0, i32 1
  %3817 = load i32, ptr %3816, align 8, !tbaa !15
  %3818 = icmp eq i32 %3817, 0
  br i1 %3818, label %3872, label %3819

3819:                                             ; preds = %3812
  br label %3820

3820:                                             ; preds = %3819
  br label %3821

3821:                                             ; preds = %3820
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #12
  %3822 = call ptr @__errno_location() #13
  %3823 = load i32, ptr %3822, align 4, !tbaa !5
  store i32 %3823, ptr %77, align 4, !tbaa !5
  %3824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3825 = call i32 @s2n_print_stacktrace(ptr noundef %3824)
  %3826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3827 = trunc i8 %3826 to i1
  br i1 %3827, label %3828, label %3850

3828:                                             ; preds = %3821
  %3829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3830 = call i32 @fileno(ptr noundef %3829) #12
  %3831 = call i32 @isatty(i32 noundef %3830) #12
  %3832 = icmp ne i32 %3831, 0
  br i1 %3832, label %3833, label %3850

3833:                                             ; preds = %3828
  %3834 = load i32, ptr %77, align 4, !tbaa !5
  %3835 = call ptr @__errno_location() #13
  store i32 %3834, ptr %3835, align 4, !tbaa !5
  %3836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3837 = load i32, ptr @test_count, align 4, !tbaa !5
  %3838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3839 = load i32, ptr %3838, align 4, !tbaa !5
  %3840 = call ptr @s2n_strerror(i32 noundef %3839, ptr noundef @.str.80)
  %3841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3842 = load i32, ptr %3841, align 4, !tbaa !5
  %3843 = call ptr @s2n_strerror_debug(i32 noundef %3842, ptr noundef @.str.80)
  %3844 = call ptr @__errno_location() #13
  %3845 = load i32, ptr %3844, align 4, !tbaa !5
  %3846 = call ptr @strerror(i32 noundef %3845) #12
  %3847 = call ptr @__errno_location() #13
  %3848 = load i32, ptr %3847, align 4, !tbaa !5
  %3849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3836, ptr noundef @.str.78, i32 noundef %3837, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 153, ptr noundef %3840, ptr noundef %3843, ptr noundef %3846, i32 noundef %3848) #12
  br label %3867

3850:                                             ; preds = %3828, %3821
  %3851 = load i32, ptr %77, align 4, !tbaa !5
  %3852 = call ptr @__errno_location() #13
  store i32 %3851, ptr %3852, align 4, !tbaa !5
  %3853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3854 = load i32, ptr @test_count, align 4, !tbaa !5
  %3855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3856 = load i32, ptr %3855, align 4, !tbaa !5
  %3857 = call ptr @s2n_strerror(i32 noundef %3856, ptr noundef @.str.80)
  %3858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3859 = load i32, ptr %3858, align 4, !tbaa !5
  %3860 = call ptr @s2n_strerror_debug(i32 noundef %3859, ptr noundef @.str.80)
  %3861 = call ptr @__errno_location() #13
  %3862 = load i32, ptr %3861, align 4, !tbaa !5
  %3863 = call ptr @strerror(i32 noundef %3862) #12
  %3864 = call ptr @__errno_location() #13
  %3865 = load i32, ptr %3864, align 4, !tbaa !5
  %3866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3853, ptr noundef @.str.81, i32 noundef %3854, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 153, ptr noundef %3857, ptr noundef %3860, ptr noundef %3863, i32 noundef %3865) #12
  br label %3867

3867:                                             ; preds = %3850, %3833
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #12
  br label %3868

3868:                                             ; preds = %3867
  br label %3869

3869:                                             ; preds = %3868
  call void @exit(i32 noundef 1) #14
  unreachable

3870:                                             ; No predecessors!
  br label %3871

3871:                                             ; preds = %3870
  br label %3872

3872:                                             ; preds = %3871, %3812
  br label %3873

3873:                                             ; preds = %3872
  br label %3874

3874:                                             ; preds = %3873
  br label %3875

3875:                                             ; preds = %3874
  %3876 = load i32, ptr @test_count, align 4, !tbaa !5
  %3877 = add nsw i32 %3876, 1
  store i32 %3877, ptr @test_count, align 4, !tbaa !5
  %3878 = getelementptr inbounds %struct.s2n_offered_psk, ptr %68, i32 0, i32 0
  %3879 = getelementptr inbounds %struct.s2n_blob, ptr %3878, i32 0, i32 0
  %3880 = load ptr, ptr %3879, align 8, !tbaa !19
  %3881 = icmp eq ptr %3880, null
  br i1 %3881, label %3935, label %3882

3882:                                             ; preds = %3875
  br label %3883

3883:                                             ; preds = %3882
  br label %3884

3884:                                             ; preds = %3883
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #12
  %3885 = call ptr @__errno_location() #13
  %3886 = load i32, ptr %3885, align 4, !tbaa !5
  store i32 %3886, ptr %78, align 4, !tbaa !5
  %3887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3888 = call i32 @s2n_print_stacktrace(ptr noundef %3887)
  %3889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3890 = trunc i8 %3889 to i1
  br i1 %3890, label %3891, label %3913

3891:                                             ; preds = %3884
  %3892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3893 = call i32 @fileno(ptr noundef %3892) #12
  %3894 = call i32 @isatty(i32 noundef %3893) #12
  %3895 = icmp ne i32 %3894, 0
  br i1 %3895, label %3896, label %3913

3896:                                             ; preds = %3891
  %3897 = load i32, ptr %78, align 4, !tbaa !5
  %3898 = call ptr @__errno_location() #13
  store i32 %3897, ptr %3898, align 4, !tbaa !5
  %3899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3902 = load i32, ptr %3901, align 4, !tbaa !5
  %3903 = call ptr @s2n_strerror(i32 noundef %3902, ptr noundef @.str.80)
  %3904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3905 = load i32, ptr %3904, align 4, !tbaa !5
  %3906 = call ptr @s2n_strerror_debug(i32 noundef %3905, ptr noundef @.str.80)
  %3907 = call ptr @__errno_location() #13
  %3908 = load i32, ptr %3907, align 4, !tbaa !5
  %3909 = call ptr @strerror(i32 noundef %3908) #12
  %3910 = call ptr @__errno_location() #13
  %3911 = load i32, ptr %3910, align 4, !tbaa !5
  %3912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3899, ptr noundef @.str.78, i32 noundef %3900, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 154, ptr noundef %3903, ptr noundef %3906, ptr noundef %3909, i32 noundef %3911) #12
  br label %3930

3913:                                             ; preds = %3891, %3884
  %3914 = load i32, ptr %78, align 4, !tbaa !5
  %3915 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %3924 = call ptr @__errno_location() #13
  %3925 = load i32, ptr %3924, align 4, !tbaa !5
  %3926 = call ptr @strerror(i32 noundef %3925) #12
  %3927 = call ptr @__errno_location() #13
  %3928 = load i32, ptr %3927, align 4, !tbaa !5
  %3929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3916, ptr noundef @.str.81, i32 noundef %3917, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 154, ptr noundef %3920, ptr noundef %3923, ptr noundef %3926, i32 noundef %3928) #12
  br label %3930

3930:                                             ; preds = %3913, %3896
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #12
  br label %3931

3931:                                             ; preds = %3930
  br label %3932

3932:                                             ; preds = %3931
  call void @exit(i32 noundef 1) #14
  unreachable

3933:                                             ; No predecessors!
  br label %3934

3934:                                             ; preds = %3933
  br label %3935

3935:                                             ; preds = %3934, %3875
  br label %3936

3936:                                             ; preds = %3935
  br label %3937

3937:                                             ; preds = %3936
  br label %3938

3938:                                             ; preds = %3937
  %3939 = load i32, ptr @test_count, align 4, !tbaa !5
  %3940 = add nsw i32 %3939, 1
  store i32 %3940, ptr @test_count, align 4, !tbaa !5
  %3941 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %69, i32 0, i32 1
  %3942 = call i32 @s2n_stuffer_free(ptr noundef %3941)
  %3943 = icmp eq i32 %3942, -1
  br i1 %3943, label %3944, label %3997

3944:                                             ; preds = %3938
  br label %3945

3945:                                             ; preds = %3944
  br label %3946

3946:                                             ; preds = %3945
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #12
  %3947 = call ptr @__errno_location() #13
  %3948 = load i32, ptr %3947, align 4, !tbaa !5
  store i32 %3948, ptr %79, align 4, !tbaa !5
  %3949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3950 = call i32 @s2n_print_stacktrace(ptr noundef %3949)
  %3951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3952 = trunc i8 %3951 to i1
  br i1 %3952, label %3953, label %3975

3953:                                             ; preds = %3946
  %3954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3955 = call i32 @fileno(ptr noundef %3954) #12
  %3956 = call i32 @isatty(i32 noundef %3955) #12
  %3957 = icmp ne i32 %3956, 0
  br i1 %3957, label %3958, label %3975

3958:                                             ; preds = %3953
  %3959 = load i32, ptr %79, align 4, !tbaa !5
  %3960 = call ptr @__errno_location() #13
  store i32 %3959, ptr %3960, align 4, !tbaa !5
  %3961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3962 = load i32, ptr @test_count, align 4, !tbaa !5
  %3963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3964 = load i32, ptr %3963, align 4, !tbaa !5
  %3965 = call ptr @s2n_strerror(i32 noundef %3964, ptr noundef @.str.80)
  %3966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3967 = load i32, ptr %3966, align 4, !tbaa !5
  %3968 = call ptr @s2n_strerror_debug(i32 noundef %3967, ptr noundef @.str.80)
  %3969 = call ptr @__errno_location() #13
  %3970 = load i32, ptr %3969, align 4, !tbaa !5
  %3971 = call ptr @strerror(i32 noundef %3970) #12
  %3972 = call ptr @__errno_location() #13
  %3973 = load i32, ptr %3972, align 4, !tbaa !5
  %3974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3961, ptr noundef @.str.78, i32 noundef %3962, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 156, ptr noundef %3965, ptr noundef %3968, ptr noundef %3971, i32 noundef %3973) #12
  br label %3992

3975:                                             ; preds = %3953, %3946
  %3976 = load i32, ptr %79, align 4, !tbaa !5
  %3977 = call ptr @__errno_location() #13
  store i32 %3976, ptr %3977, align 4, !tbaa !5
  %3978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3979 = load i32, ptr @test_count, align 4, !tbaa !5
  %3980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3981 = load i32, ptr %3980, align 4, !tbaa !5
  %3982 = call ptr @s2n_strerror(i32 noundef %3981, ptr noundef @.str.80)
  %3983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3984 = load i32, ptr %3983, align 4, !tbaa !5
  %3985 = call ptr @s2n_strerror_debug(i32 noundef %3984, ptr noundef @.str.80)
  %3986 = call ptr @__errno_location() #13
  %3987 = load i32, ptr %3986, align 4, !tbaa !5
  %3988 = call ptr @strerror(i32 noundef %3987) #12
  %3989 = call ptr @__errno_location() #13
  %3990 = load i32, ptr %3989, align 4, !tbaa !5
  %3991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3978, ptr noundef @.str.81, i32 noundef %3979, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 156, ptr noundef %3982, ptr noundef %3985, ptr noundef %3988, i32 noundef %3990) #12
  br label %3992

3992:                                             ; preds = %3975, %3958
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #12
  br label %3993

3993:                                             ; preds = %3992
  br label %3994

3994:                                             ; preds = %3993
  call void @exit(i32 noundef 1) #14
  unreachable

3995:                                             ; No predecessors!
  br label %3996

3996:                                             ; preds = %3995
  br label %3997

3997:                                             ; preds = %3996, %3938
  br label %3998

3998:                                             ; preds = %3997
  br label %3999

3999:                                             ; preds = %3998
  call void @llvm.lifetime.end.p0(i64 56, ptr %69) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #12
  call void @llvm.memset.p0.i64(ptr align 8 %80, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %81) #12
  call void @llvm.memset.p0.i64(ptr align 8 %81, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #12
  %4000 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4000, ptr %82, align 8, !tbaa !9
  br label %4001

4001:                                             ; preds = %3999
  %4002 = load i32, ptr @test_count, align 4, !tbaa !5
  %4003 = add nsw i32 %4002, 1
  store i32 %4003, ptr @test_count, align 4, !tbaa !5
  %4004 = load ptr, ptr %82, align 8, !tbaa !9
  %4005 = icmp eq ptr %4004, null
  br i1 %4005, label %4006, label %4059

4006:                                             ; preds = %4001
  br label %4007

4007:                                             ; preds = %4006
  br label %4008

4008:                                             ; preds = %4007
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #12
  %4009 = call ptr @__errno_location() #13
  %4010 = load i32, ptr %4009, align 4, !tbaa !5
  store i32 %4010, ptr %83, align 4, !tbaa !5
  %4011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4012 = call i32 @s2n_print_stacktrace(ptr noundef %4011)
  %4013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4014 = trunc i8 %4013 to i1
  br i1 %4014, label %4015, label %4037

4015:                                             ; preds = %4008
  %4016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4017 = call i32 @fileno(ptr noundef %4016) #12
  %4018 = call i32 @isatty(i32 noundef %4017) #12
  %4019 = icmp ne i32 %4018, 0
  br i1 %4019, label %4020, label %4037

4020:                                             ; preds = %4015
  %4021 = load i32, ptr %83, align 4, !tbaa !5
  %4022 = call ptr @__errno_location() #13
  store i32 %4021, ptr %4022, align 4, !tbaa !5
  %4023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4024 = load i32, ptr @test_count, align 4, !tbaa !5
  %4025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4026 = load i32, ptr %4025, align 4, !tbaa !5
  %4027 = call ptr @s2n_strerror(i32 noundef %4026, ptr noundef @.str.80)
  %4028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4029 = load i32, ptr %4028, align 4, !tbaa !5
  %4030 = call ptr @s2n_strerror_debug(i32 noundef %4029, ptr noundef @.str.80)
  %4031 = call ptr @__errno_location() #13
  %4032 = load i32, ptr %4031, align 4, !tbaa !5
  %4033 = call ptr @strerror(i32 noundef %4032) #12
  %4034 = call ptr @__errno_location() #13
  %4035 = load i32, ptr %4034, align 4, !tbaa !5
  %4036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4023, ptr noundef @.str.78, i32 noundef %4024, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 164, ptr noundef %4027, ptr noundef %4030, ptr noundef %4033, i32 noundef %4035) #12
  br label %4054

4037:                                             ; preds = %4015, %4008
  %4038 = load i32, ptr %83, align 4, !tbaa !5
  %4039 = call ptr @__errno_location() #13
  store i32 %4038, ptr %4039, align 4, !tbaa !5
  %4040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4041 = load i32, ptr @test_count, align 4, !tbaa !5
  %4042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4043 = load i32, ptr %4042, align 4, !tbaa !5
  %4044 = call ptr @s2n_strerror(i32 noundef %4043, ptr noundef @.str.80)
  %4045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4046 = load i32, ptr %4045, align 4, !tbaa !5
  %4047 = call ptr @s2n_strerror_debug(i32 noundef %4046, ptr noundef @.str.80)
  %4048 = call ptr @__errno_location() #13
  %4049 = load i32, ptr %4048, align 4, !tbaa !5
  %4050 = call ptr @strerror(i32 noundef %4049) #12
  %4051 = call ptr @__errno_location() #13
  %4052 = load i32, ptr %4051, align 4, !tbaa !5
  %4053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4040, ptr noundef @.str.81, i32 noundef %4041, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 164, ptr noundef %4044, ptr noundef %4047, ptr noundef %4050, i32 noundef %4052) #12
  br label %4054

4054:                                             ; preds = %4037, %4020
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #12
  br label %4055

4055:                                             ; preds = %4054
  br label %4056

4056:                                             ; preds = %4055
  call void @exit(i32 noundef 1) #14
  unreachable

4057:                                             ; No predecessors!
  br label %4058

4058:                                             ; preds = %4057
  br label %4059

4059:                                             ; preds = %4058, %4001
  br label %4060

4060:                                             ; preds = %4059
  br label %4061

4061:                                             ; preds = %4060
  %4062 = load ptr, ptr %82, align 8, !tbaa !9
  %4063 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %81, i32 0, i32 0
  store ptr %4062, ptr %4063, align 8, !tbaa !20
  br label %4064

4064:                                             ; preds = %4061
  %4065 = load i32, ptr @test_count, align 4, !tbaa !5
  %4066 = add nsw i32 %4065, 1
  store i32 %4066, ptr @test_count, align 4, !tbaa !5
  %4067 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %81, i32 0, i32 1
  %4068 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %4067, i32 noundef 0)
  %4069 = icmp eq i32 %4068, -1
  br i1 %4069, label %4070, label %4123

4070:                                             ; preds = %4064
  br label %4071

4071:                                             ; preds = %4070
  br label %4072

4072:                                             ; preds = %4071
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #12
  %4073 = call ptr @__errno_location() #13
  %4074 = load i32, ptr %4073, align 4, !tbaa !5
  store i32 %4074, ptr %84, align 4, !tbaa !5
  %4075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4076 = call i32 @s2n_print_stacktrace(ptr noundef %4075)
  %4077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4078 = trunc i8 %4077 to i1
  br i1 %4078, label %4079, label %4101

4079:                                             ; preds = %4072
  %4080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4081 = call i32 @fileno(ptr noundef %4080) #12
  %4082 = call i32 @isatty(i32 noundef %4081) #12
  %4083 = icmp ne i32 %4082, 0
  br i1 %4083, label %4084, label %4101

4084:                                             ; preds = %4079
  %4085 = load i32, ptr %84, align 4, !tbaa !5
  %4086 = call ptr @__errno_location() #13
  store i32 %4085, ptr %4086, align 4, !tbaa !5
  %4087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4088 = load i32, ptr @test_count, align 4, !tbaa !5
  %4089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4090 = load i32, ptr %4089, align 4, !tbaa !5
  %4091 = call ptr @s2n_strerror(i32 noundef %4090, ptr noundef @.str.80)
  %4092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4093 = load i32, ptr %4092, align 4, !tbaa !5
  %4094 = call ptr @s2n_strerror_debug(i32 noundef %4093, ptr noundef @.str.80)
  %4095 = call ptr @__errno_location() #13
  %4096 = load i32, ptr %4095, align 4, !tbaa !5
  %4097 = call ptr @strerror(i32 noundef %4096) #12
  %4098 = call ptr @__errno_location() #13
  %4099 = load i32, ptr %4098, align 4, !tbaa !5
  %4100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4087, ptr noundef @.str.78, i32 noundef %4088, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 167, ptr noundef %4091, ptr noundef %4094, ptr noundef %4097, i32 noundef %4099) #12
  br label %4118

4101:                                             ; preds = %4079, %4072
  %4102 = load i32, ptr %84, align 4, !tbaa !5
  %4103 = call ptr @__errno_location() #13
  store i32 %4102, ptr %4103, align 4, !tbaa !5
  %4104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4105 = load i32, ptr @test_count, align 4, !tbaa !5
  %4106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4107 = load i32, ptr %4106, align 4, !tbaa !5
  %4108 = call ptr @s2n_strerror(i32 noundef %4107, ptr noundef @.str.80)
  %4109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4110 = load i32, ptr %4109, align 4, !tbaa !5
  %4111 = call ptr @s2n_strerror_debug(i32 noundef %4110, ptr noundef @.str.80)
  %4112 = call ptr @__errno_location() #13
  %4113 = load i32, ptr %4112, align 4, !tbaa !5
  %4114 = call ptr @strerror(i32 noundef %4113) #12
  %4115 = call ptr @__errno_location() #13
  %4116 = load i32, ptr %4115, align 4, !tbaa !5
  %4117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4104, ptr noundef @.str.81, i32 noundef %4105, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 167, ptr noundef %4108, ptr noundef %4111, ptr noundef %4114, i32 noundef %4116) #12
  br label %4118

4118:                                             ; preds = %4101, %4084
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #12
  br label %4119

4119:                                             ; preds = %4118
  br label %4120

4120:                                             ; preds = %4119
  call void @exit(i32 noundef 1) #14
  unreachable

4121:                                             ; No predecessors!
  br label %4122

4122:                                             ; preds = %4121
  br label %4123

4123:                                             ; preds = %4122, %4064
  br label %4124

4124:                                             ; preds = %4123
  br label %4125

4125:                                             ; preds = %4124
  br label %4126

4126:                                             ; preds = %4125
  %4127 = load i32, ptr @test_count, align 4, !tbaa !5
  %4128 = add nsw i32 %4127, 1
  store i32 %4128, ptr @test_count, align 4, !tbaa !5
  %4129 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %81, i32 0, i32 1
  %4130 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %4131 = call i32 @s2n_write_test_identity(ptr noundef %4129, ptr noundef %4130, i16 noundef zeroext 4)
  %4132 = getelementptr inbounds %struct.s2n_result, ptr %85, i32 0, i32 0
  store i32 %4131, ptr %4132, align 4
  %4133 = getelementptr inbounds %struct.s2n_result, ptr %85, i32 0, i32 0
  %4134 = load i32, ptr %4133, align 4
  %4135 = call zeroext i1 @s2n_result_is_ok(i32 %4134)
  br i1 %4135, label %4189, label %4136

4136:                                             ; preds = %4126
  br label %4137

4137:                                             ; preds = %4136
  br label %4138

4138:                                             ; preds = %4137
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #12
  %4139 = call ptr @__errno_location() #13
  %4140 = load i32, ptr %4139, align 4, !tbaa !5
  store i32 %4140, ptr %86, align 4, !tbaa !5
  %4141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4142 = call i32 @s2n_print_stacktrace(ptr noundef %4141)
  %4143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4144 = trunc i8 %4143 to i1
  br i1 %4144, label %4145, label %4167

4145:                                             ; preds = %4138
  %4146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4147 = call i32 @fileno(ptr noundef %4146) #12
  %4148 = call i32 @isatty(i32 noundef %4147) #12
  %4149 = icmp ne i32 %4148, 0
  br i1 %4149, label %4150, label %4167

4150:                                             ; preds = %4145
  %4151 = load i32, ptr %86, align 4, !tbaa !5
  %4152 = call ptr @__errno_location() #13
  store i32 %4151, ptr %4152, align 4, !tbaa !5
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = load i32, ptr @test_count, align 4, !tbaa !5
  %4155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4156 = load i32, ptr %4155, align 4, !tbaa !5
  %4157 = call ptr @s2n_strerror(i32 noundef %4156, ptr noundef @.str.80)
  %4158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4159 = load i32, ptr %4158, align 4, !tbaa !5
  %4160 = call ptr @s2n_strerror_debug(i32 noundef %4159, ptr noundef @.str.80)
  %4161 = call ptr @__errno_location() #13
  %4162 = load i32, ptr %4161, align 4, !tbaa !5
  %4163 = call ptr @strerror(i32 noundef %4162) #12
  %4164 = call ptr @__errno_location() #13
  %4165 = load i32, ptr %4164, align 4, !tbaa !5
  %4166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4153, ptr noundef @.str.78, i32 noundef %4154, ptr noundef @.str.100, ptr noundef @.str.77, i32 noundef 168, ptr noundef %4157, ptr noundef %4160, ptr noundef %4163, i32 noundef %4165) #12
  br label %4184

4167:                                             ; preds = %4145, %4138
  %4168 = load i32, ptr %86, align 4, !tbaa !5
  %4169 = call ptr @__errno_location() #13
  store i32 %4168, ptr %4169, align 4, !tbaa !5
  %4170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4171 = load i32, ptr @test_count, align 4, !tbaa !5
  %4172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4173 = load i32, ptr %4172, align 4, !tbaa !5
  %4174 = call ptr @s2n_strerror(i32 noundef %4173, ptr noundef @.str.80)
  %4175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4176 = load i32, ptr %4175, align 4, !tbaa !5
  %4177 = call ptr @s2n_strerror_debug(i32 noundef %4176, ptr noundef @.str.80)
  %4178 = call ptr @__errno_location() #13
  %4179 = load i32, ptr %4178, align 4, !tbaa !5
  %4180 = call ptr @strerror(i32 noundef %4179) #12
  %4181 = call ptr @__errno_location() #13
  %4182 = load i32, ptr %4181, align 4, !tbaa !5
  %4183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4170, ptr noundef @.str.81, i32 noundef %4171, ptr noundef @.str.100, ptr noundef @.str.77, i32 noundef 168, ptr noundef %4174, ptr noundef %4177, ptr noundef %4180, i32 noundef %4182) #12
  br label %4184

4184:                                             ; preds = %4167, %4150
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #12
  br label %4185

4185:                                             ; preds = %4184
  br label %4186

4186:                                             ; preds = %4185
  call void @exit(i32 noundef 1) #14
  unreachable

4187:                                             ; No predecessors!
  br label %4188

4188:                                             ; preds = %4187
  br label %4189

4189:                                             ; preds = %4188, %4126
  br label %4190

4190:                                             ; preds = %4189
  br label %4191

4191:                                             ; preds = %4190
  br label %4192

4192:                                             ; preds = %4191
  %4193 = load i32, ptr @test_count, align 4, !tbaa !5
  %4194 = add nsw i32 %4193, 1
  store i32 %4194, ptr @test_count, align 4, !tbaa !5
  %4195 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %81, i32 0, i32 1
  %4196 = getelementptr inbounds [4 x i8], ptr %10, i64 0, i64 0
  %4197 = call i32 @s2n_write_test_identity(ptr noundef %4195, ptr noundef %4196, i16 noundef zeroext 4)
  %4198 = getelementptr inbounds %struct.s2n_result, ptr %87, i32 0, i32 0
  store i32 %4197, ptr %4198, align 4
  %4199 = getelementptr inbounds %struct.s2n_result, ptr %87, i32 0, i32 0
  %4200 = load i32, ptr %4199, align 4
  %4201 = call zeroext i1 @s2n_result_is_ok(i32 %4200)
  br i1 %4201, label %4255, label %4202

4202:                                             ; preds = %4192
  br label %4203

4203:                                             ; preds = %4202
  br label %4204

4204:                                             ; preds = %4203
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #12
  %4205 = call ptr @__errno_location() #13
  %4206 = load i32, ptr %4205, align 4, !tbaa !5
  store i32 %4206, ptr %88, align 4, !tbaa !5
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = call i32 @s2n_print_stacktrace(ptr noundef %4207)
  %4209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4210 = trunc i8 %4209 to i1
  br i1 %4210, label %4211, label %4233

4211:                                             ; preds = %4204
  %4212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4213 = call i32 @fileno(ptr noundef %4212) #12
  %4214 = call i32 @isatty(i32 noundef %4213) #12
  %4215 = icmp ne i32 %4214, 0
  br i1 %4215, label %4216, label %4233

4216:                                             ; preds = %4211
  %4217 = load i32, ptr %88, align 4, !tbaa !5
  %4218 = call ptr @__errno_location() #13
  store i32 %4217, ptr %4218, align 4, !tbaa !5
  %4219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4220 = load i32, ptr @test_count, align 4, !tbaa !5
  %4221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4222 = load i32, ptr %4221, align 4, !tbaa !5
  %4223 = call ptr @s2n_strerror(i32 noundef %4222, ptr noundef @.str.80)
  %4224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4225 = load i32, ptr %4224, align 4, !tbaa !5
  %4226 = call ptr @s2n_strerror_debug(i32 noundef %4225, ptr noundef @.str.80)
  %4227 = call ptr @__errno_location() #13
  %4228 = load i32, ptr %4227, align 4, !tbaa !5
  %4229 = call ptr @strerror(i32 noundef %4228) #12
  %4230 = call ptr @__errno_location() #13
  %4231 = load i32, ptr %4230, align 4, !tbaa !5
  %4232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4219, ptr noundef @.str.78, i32 noundef %4220, ptr noundef @.str.108, ptr noundef @.str.77, i32 noundef 169, ptr noundef %4223, ptr noundef %4226, ptr noundef %4229, i32 noundef %4231) #12
  br label %4250

4233:                                             ; preds = %4211, %4204
  %4234 = load i32, ptr %88, align 4, !tbaa !5
  %4235 = call ptr @__errno_location() #13
  store i32 %4234, ptr %4235, align 4, !tbaa !5
  %4236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4237 = load i32, ptr @test_count, align 4, !tbaa !5
  %4238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4239 = load i32, ptr %4238, align 4, !tbaa !5
  %4240 = call ptr @s2n_strerror(i32 noundef %4239, ptr noundef @.str.80)
  %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_debug(i32 noundef %4242, ptr noundef @.str.80)
  %4244 = call ptr @__errno_location() #13
  %4245 = load i32, ptr %4244, align 4, !tbaa !5
  %4246 = call ptr @strerror(i32 noundef %4245) #12
  %4247 = call ptr @__errno_location() #13
  %4248 = load i32, ptr %4247, align 4, !tbaa !5
  %4249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4236, ptr noundef @.str.81, i32 noundef %4237, ptr noundef @.str.108, ptr noundef @.str.77, i32 noundef 169, ptr noundef %4240, ptr noundef %4243, ptr noundef %4246, i32 noundef %4248) #12
  br label %4250

4250:                                             ; preds = %4233, %4216
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #12
  br label %4251

4251:                                             ; preds = %4250
  br label %4252

4252:                                             ; preds = %4251
  call void @exit(i32 noundef 1) #14
  unreachable

4253:                                             ; No predecessors!
  br label %4254

4254:                                             ; preds = %4253
  br label %4255

4255:                                             ; preds = %4254, %4192
  br label %4256

4256:                                             ; preds = %4255
  br label %4257

4257:                                             ; preds = %4256
  br label %4258

4258:                                             ; preds = %4257
  %4259 = load i32, ptr @test_count, align 4, !tbaa !5
  %4260 = add nsw i32 %4259, 1
  store i32 %4260, ptr @test_count, align 4, !tbaa !5
  %4261 = call i32 @s2n_offered_psk_list_next(ptr noundef %81, ptr noundef %80)
  %4262 = icmp eq i32 %4261, -1
  br i1 %4262, label %4263, label %4316

4263:                                             ; preds = %4258
  br label %4264

4264:                                             ; preds = %4263
  br label %4265

4265:                                             ; preds = %4264
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #12
  %4266 = call ptr @__errno_location() #13
  %4267 = load i32, ptr %4266, align 4, !tbaa !5
  store i32 %4267, ptr %89, align 4, !tbaa !5
  %4268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4269 = call i32 @s2n_print_stacktrace(ptr noundef %4268)
  %4270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4271 = trunc i8 %4270 to i1
  br i1 %4271, label %4272, label %4294

4272:                                             ; preds = %4265
  %4273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4274 = call i32 @fileno(ptr noundef %4273) #12
  %4275 = call i32 @isatty(i32 noundef %4274) #12
  %4276 = icmp ne i32 %4275, 0
  br i1 %4276, label %4277, label %4294

4277:                                             ; preds = %4272
  %4278 = load i32, ptr %89, align 4, !tbaa !5
  %4279 = call ptr @__errno_location() #13
  store i32 %4278, ptr %4279, align 4, !tbaa !5
  %4280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4281 = load i32, ptr @test_count, align 4, !tbaa !5
  %4282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4283 = load i32, ptr %4282, align 4, !tbaa !5
  %4284 = call ptr @s2n_strerror(i32 noundef %4283, ptr noundef @.str.80)
  %4285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4286 = load i32, ptr %4285, align 4, !tbaa !5
  %4287 = call ptr @s2n_strerror_debug(i32 noundef %4286, ptr noundef @.str.80)
  %4288 = call ptr @__errno_location() #13
  %4289 = load i32, ptr %4288, align 4, !tbaa !5
  %4290 = call ptr @strerror(i32 noundef %4289) #12
  %4291 = call ptr @__errno_location() #13
  %4292 = load i32, ptr %4291, align 4, !tbaa !5
  %4293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4280, ptr noundef @.str.78, i32 noundef %4281, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 171, ptr noundef %4284, ptr noundef %4287, ptr noundef %4290, i32 noundef %4292) #12
  br label %4311

4294:                                             ; preds = %4272, %4265
  %4295 = load i32, ptr %89, align 4, !tbaa !5
  %4296 = call ptr @__errno_location() #13
  store i32 %4295, ptr %4296, align 4, !tbaa !5
  %4297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4298 = load i32, ptr @test_count, align 4, !tbaa !5
  %4299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4300 = load i32, ptr %4299, align 4, !tbaa !5
  %4301 = call ptr @s2n_strerror(i32 noundef %4300, ptr noundef @.str.80)
  %4302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4303 = load i32, ptr %4302, align 4, !tbaa !5
  %4304 = call ptr @s2n_strerror_debug(i32 noundef %4303, ptr noundef @.str.80)
  %4305 = call ptr @__errno_location() #13
  %4306 = load i32, ptr %4305, align 4, !tbaa !5
  %4307 = call ptr @strerror(i32 noundef %4306) #12
  %4308 = call ptr @__errno_location() #13
  %4309 = load i32, ptr %4308, align 4, !tbaa !5
  %4310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4297, ptr noundef @.str.81, i32 noundef %4298, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 171, ptr noundef %4301, ptr noundef %4304, ptr noundef %4307, i32 noundef %4309) #12
  br label %4311

4311:                                             ; preds = %4294, %4277
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #12
  br label %4312

4312:                                             ; preds = %4311
  br label %4313

4313:                                             ; preds = %4312
  call void @exit(i32 noundef 1) #14
  unreachable

4314:                                             ; No predecessors!
  br label %4315

4315:                                             ; preds = %4314
  br label %4316

4316:                                             ; preds = %4315, %4258
  br label %4317

4317:                                             ; preds = %4316
  br label %4318

4318:                                             ; preds = %4317
  br label %4319

4319:                                             ; preds = %4318
  %4320 = load i32, ptr @test_count, align 4, !tbaa !5
  %4321 = add nsw i32 %4320, 1
  store i32 %4321, ptr @test_count, align 4, !tbaa !5
  %4322 = getelementptr inbounds %struct.s2n_offered_psk, ptr %80, i32 0, i32 0
  %4323 = getelementptr inbounds %struct.s2n_blob, ptr %4322, i32 0, i32 1
  %4324 = load i32, ptr %4323, align 8, !tbaa !15
  %4325 = zext i32 %4324 to i64
  %4326 = icmp eq i64 %4325, 4
  br i1 %4326, label %4380, label %4327

4327:                                             ; preds = %4319
  br label %4328

4328:                                             ; preds = %4327
  br label %4329

4329:                                             ; preds = %4328
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #12
  %4330 = call ptr @__errno_location() #13
  %4331 = load i32, ptr %4330, align 4, !tbaa !5
  store i32 %4331, ptr %90, align 4, !tbaa !5
  %4332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4333 = call i32 @s2n_print_stacktrace(ptr noundef %4332)
  %4334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4335 = trunc i8 %4334 to i1
  br i1 %4335, label %4336, label %4358

4336:                                             ; preds = %4329
  %4337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4338 = call i32 @fileno(ptr noundef %4337) #12
  %4339 = call i32 @isatty(i32 noundef %4338) #12
  %4340 = icmp ne i32 %4339, 0
  br i1 %4340, label %4341, label %4358

4341:                                             ; preds = %4336
  %4342 = load i32, ptr %90, align 4, !tbaa !5
  %4343 = call ptr @__errno_location() #13
  store i32 %4342, ptr %4343, align 4, !tbaa !5
  %4344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4345 = load i32, ptr @test_count, align 4, !tbaa !5
  %4346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4347 = load i32, ptr %4346, align 4, !tbaa !5
  %4348 = call ptr @s2n_strerror(i32 noundef %4347, ptr noundef @.str.80)
  %4349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  %4351 = call ptr @s2n_strerror_debug(i32 noundef %4350, ptr noundef @.str.80)
  %4352 = call ptr @__errno_location() #13
  %4353 = load i32, ptr %4352, align 4, !tbaa !5
  %4354 = call ptr @strerror(i32 noundef %4353) #12
  %4355 = call ptr @__errno_location() #13
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  %4357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4344, ptr noundef @.str.78, i32 noundef %4345, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 172, ptr noundef %4348, ptr noundef %4351, ptr noundef %4354, i32 noundef %4356) #12
  br label %4375

4358:                                             ; preds = %4336, %4329
  %4359 = load i32, ptr %90, align 4, !tbaa !5
  %4360 = call ptr @__errno_location() #13
  store i32 %4359, ptr %4360, align 4, !tbaa !5
  %4361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4362 = load i32, ptr @test_count, align 4, !tbaa !5
  %4363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4364 = load i32, ptr %4363, align 4, !tbaa !5
  %4365 = call ptr @s2n_strerror(i32 noundef %4364, ptr noundef @.str.80)
  %4366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4367 = load i32, ptr %4366, align 4, !tbaa !5
  %4368 = call ptr @s2n_strerror_debug(i32 noundef %4367, ptr noundef @.str.80)
  %4369 = call ptr @__errno_location() #13
  %4370 = load i32, ptr %4369, align 4, !tbaa !5
  %4371 = call ptr @strerror(i32 noundef %4370) #12
  %4372 = call ptr @__errno_location() #13
  %4373 = load i32, ptr %4372, align 4, !tbaa !5
  %4374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4361, ptr noundef @.str.81, i32 noundef %4362, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 172, ptr noundef %4365, ptr noundef %4368, ptr noundef %4371, i32 noundef %4373) #12
  br label %4375

4375:                                             ; preds = %4358, %4341
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #12
  br label %4376

4376:                                             ; preds = %4375
  br label %4377

4377:                                             ; preds = %4376
  call void @exit(i32 noundef 1) #14
  unreachable

4378:                                             ; No predecessors!
  br label %4379

4379:                                             ; preds = %4378
  br label %4380

4380:                                             ; preds = %4379, %4319
  br label %4381

4381:                                             ; preds = %4380
  br label %4382

4382:                                             ; preds = %4381
  br label %4383

4383:                                             ; preds = %4382
  br label %4384

4384:                                             ; preds = %4383
  %4385 = load i32, ptr @test_count, align 4, !tbaa !5
  %4386 = add nsw i32 %4385, 1
  store i32 %4386, ptr @test_count, align 4, !tbaa !5
  %4387 = getelementptr inbounds %struct.s2n_offered_psk, ptr %80, i32 0, i32 0
  %4388 = getelementptr inbounds %struct.s2n_blob, ptr %4387, i32 0, i32 0
  %4389 = load ptr, ptr %4388, align 8, !tbaa !19
  %4390 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %4391 = call i32 @memcmp(ptr noundef %4389, ptr noundef %4390, i64 noundef 4) #15
  %4392 = icmp eq i32 %4391, 0
  br i1 %4392, label %4446, label %4393

4393:                                             ; preds = %4384
  br label %4394

4394:                                             ; preds = %4393
  br label %4395

4395:                                             ; preds = %4394
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #12
  %4396 = call ptr @__errno_location() #13
  %4397 = load i32, ptr %4396, align 4, !tbaa !5
  store i32 %4397, ptr %91, align 4, !tbaa !5
  %4398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4399 = call i32 @s2n_print_stacktrace(ptr noundef %4398)
  %4400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4401 = trunc i8 %4400 to i1
  br i1 %4401, label %4402, label %4424

4402:                                             ; preds = %4395
  %4403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4404 = call i32 @fileno(ptr noundef %4403) #12
  %4405 = call i32 @isatty(i32 noundef %4404) #12
  %4406 = icmp ne i32 %4405, 0
  br i1 %4406, label %4407, label %4424

4407:                                             ; preds = %4402
  %4408 = load i32, ptr %91, align 4, !tbaa !5
  %4409 = call ptr @__errno_location() #13
  store i32 %4408, ptr %4409, align 4, !tbaa !5
  %4410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4411 = load i32, ptr @test_count, align 4, !tbaa !5
  %4412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4413 = load i32, ptr %4412, align 4, !tbaa !5
  %4414 = call ptr @s2n_strerror(i32 noundef %4413, ptr noundef @.str.80)
  %4415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call ptr @s2n_strerror_debug(i32 noundef %4416, ptr noundef @.str.80)
  %4418 = call ptr @__errno_location() #13
  %4419 = load i32, ptr %4418, align 4, !tbaa !5
  %4420 = call ptr @strerror(i32 noundef %4419) #12
  %4421 = call ptr @__errno_location() #13
  %4422 = load i32, ptr %4421, align 4, !tbaa !5
  %4423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4410, ptr noundef @.str.78, i32 noundef %4411, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 173, ptr noundef %4414, ptr noundef %4417, ptr noundef %4420, i32 noundef %4422) #12
  br label %4441

4424:                                             ; preds = %4402, %4395
  %4425 = load i32, ptr %91, align 4, !tbaa !5
  %4426 = call ptr @__errno_location() #13
  store i32 %4425, ptr %4426, align 4, !tbaa !5
  %4427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4428 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4430, ptr noundef @.str.80)
  %4432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4433 = load i32, ptr %4432, align 4, !tbaa !5
  %4434 = call ptr @s2n_strerror_debug(i32 noundef %4433, ptr noundef @.str.80)
  %4435 = call ptr @__errno_location() #13
  %4436 = load i32, ptr %4435, align 4, !tbaa !5
  %4437 = call ptr @strerror(i32 noundef %4436) #12
  %4438 = call ptr @__errno_location() #13
  %4439 = load i32, ptr %4438, align 4, !tbaa !5
  %4440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4427, ptr noundef @.str.81, i32 noundef %4428, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 173, ptr noundef %4431, ptr noundef %4434, ptr noundef %4437, i32 noundef %4439) #12
  br label %4441

4441:                                             ; preds = %4424, %4407
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #12
  br label %4442

4442:                                             ; preds = %4441
  br label %4443

4443:                                             ; preds = %4442
  call void @exit(i32 noundef 1) #14
  unreachable

4444:                                             ; No predecessors!
  br label %4445

4445:                                             ; preds = %4444
  br label %4446

4446:                                             ; preds = %4445, %4384
  br label %4447

4447:                                             ; preds = %4446
  br label %4448

4448:                                             ; preds = %4447
  br label %4449

4449:                                             ; preds = %4448
  br label %4450

4450:                                             ; preds = %4449
  br label %4451

4451:                                             ; preds = %4450
  %4452 = load i32, ptr @test_count, align 4, !tbaa !5
  %4453 = add nsw i32 %4452, 1
  store i32 %4453, ptr @test_count, align 4, !tbaa !5
  %4454 = call i32 @s2n_offered_psk_list_next(ptr noundef %81, ptr noundef %80)
  %4455 = icmp eq i32 %4454, -1
  br i1 %4455, label %4456, label %4509

4456:                                             ; preds = %4451
  br label %4457

4457:                                             ; preds = %4456
  br label %4458

4458:                                             ; preds = %4457
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #12
  %4459 = call ptr @__errno_location() #13
  %4460 = load i32, ptr %4459, align 4, !tbaa !5
  store i32 %4460, ptr %92, align 4, !tbaa !5
  %4461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4462 = call i32 @s2n_print_stacktrace(ptr noundef %4461)
  %4463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4464 = trunc i8 %4463 to i1
  br i1 %4464, label %4465, label %4487

4465:                                             ; preds = %4458
  %4466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4467 = call i32 @fileno(ptr noundef %4466) #12
  %4468 = call i32 @isatty(i32 noundef %4467) #12
  %4469 = icmp ne i32 %4468, 0
  br i1 %4469, label %4470, label %4487

4470:                                             ; preds = %4465
  %4471 = load i32, ptr %92, align 4, !tbaa !5
  %4472 = call ptr @__errno_location() #13
  store i32 %4471, ptr %4472, align 4, !tbaa !5
  %4473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4474 = load i32, ptr @test_count, align 4, !tbaa !5
  %4475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4476 = load i32, ptr %4475, align 4, !tbaa !5
  %4477 = call ptr @s2n_strerror(i32 noundef %4476, ptr noundef @.str.80)
  %4478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4479 = load i32, ptr %4478, align 4, !tbaa !5
  %4480 = call ptr @s2n_strerror_debug(i32 noundef %4479, ptr noundef @.str.80)
  %4481 = call ptr @__errno_location() #13
  %4482 = load i32, ptr %4481, align 4, !tbaa !5
  %4483 = call ptr @strerror(i32 noundef %4482) #12
  %4484 = call ptr @__errno_location() #13
  %4485 = load i32, ptr %4484, align 4, !tbaa !5
  %4486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4473, ptr noundef @.str.78, i32 noundef %4474, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 175, ptr noundef %4477, ptr noundef %4480, ptr noundef %4483, i32 noundef %4485) #12
  br label %4504

4487:                                             ; preds = %4465, %4458
  %4488 = load i32, ptr %92, align 4, !tbaa !5
  %4489 = call ptr @__errno_location() #13
  store i32 %4488, ptr %4489, align 4, !tbaa !5
  %4490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4491 = load i32, ptr @test_count, align 4, !tbaa !5
  %4492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4493 = load i32, ptr %4492, align 4, !tbaa !5
  %4494 = call ptr @s2n_strerror(i32 noundef %4493, ptr noundef @.str.80)
  %4495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4496 = load i32, ptr %4495, align 4, !tbaa !5
  %4497 = call ptr @s2n_strerror_debug(i32 noundef %4496, ptr noundef @.str.80)
  %4498 = call ptr @__errno_location() #13
  %4499 = load i32, ptr %4498, align 4, !tbaa !5
  %4500 = call ptr @strerror(i32 noundef %4499) #12
  %4501 = call ptr @__errno_location() #13
  %4502 = load i32, ptr %4501, align 4, !tbaa !5
  %4503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4490, ptr noundef @.str.81, i32 noundef %4491, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 175, ptr noundef %4494, ptr noundef %4497, ptr noundef %4500, i32 noundef %4502) #12
  br label %4504

4504:                                             ; preds = %4487, %4470
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #12
  br label %4505

4505:                                             ; preds = %4504
  br label %4506

4506:                                             ; preds = %4505
  call void @exit(i32 noundef 1) #14
  unreachable

4507:                                             ; No predecessors!
  br label %4508

4508:                                             ; preds = %4507
  br label %4509

4509:                                             ; preds = %4508, %4451
  br label %4510

4510:                                             ; preds = %4509
  br label %4511

4511:                                             ; preds = %4510
  br label %4512

4512:                                             ; preds = %4511
  %4513 = load i32, ptr @test_count, align 4, !tbaa !5
  %4514 = add nsw i32 %4513, 1
  store i32 %4514, ptr @test_count, align 4, !tbaa !5
  %4515 = getelementptr inbounds %struct.s2n_offered_psk, ptr %80, i32 0, i32 0
  %4516 = getelementptr inbounds %struct.s2n_blob, ptr %4515, i32 0, i32 1
  %4517 = load i32, ptr %4516, align 8, !tbaa !15
  %4518 = zext i32 %4517 to i64
  %4519 = icmp eq i64 %4518, 4
  br i1 %4519, label %4573, label %4520

4520:                                             ; preds = %4512
  br label %4521

4521:                                             ; preds = %4520
  br label %4522

4522:                                             ; preds = %4521
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #12
  %4523 = call ptr @__errno_location() #13
  %4524 = load i32, ptr %4523, align 4, !tbaa !5
  store i32 %4524, ptr %93, align 4, !tbaa !5
  %4525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4526 = call i32 @s2n_print_stacktrace(ptr noundef %4525)
  %4527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4528 = trunc i8 %4527 to i1
  br i1 %4528, label %4529, label %4551

4529:                                             ; preds = %4522
  %4530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4531 = call i32 @fileno(ptr noundef %4530) #12
  %4532 = call i32 @isatty(i32 noundef %4531) #12
  %4533 = icmp ne i32 %4532, 0
  br i1 %4533, label %4534, label %4551

4534:                                             ; preds = %4529
  %4535 = load i32, ptr %93, align 4, !tbaa !5
  %4536 = call ptr @__errno_location() #13
  store i32 %4535, ptr %4536, align 4, !tbaa !5
  %4537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4538 = load i32, ptr @test_count, align 4, !tbaa !5
  %4539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4540 = load i32, ptr %4539, align 4, !tbaa !5
  %4541 = call ptr @s2n_strerror(i32 noundef %4540, ptr noundef @.str.80)
  %4542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4543 = load i32, ptr %4542, align 4, !tbaa !5
  %4544 = call ptr @s2n_strerror_debug(i32 noundef %4543, ptr noundef @.str.80)
  %4545 = call ptr @__errno_location() #13
  %4546 = load i32, ptr %4545, align 4, !tbaa !5
  %4547 = call ptr @strerror(i32 noundef %4546) #12
  %4548 = call ptr @__errno_location() #13
  %4549 = load i32, ptr %4548, align 4, !tbaa !5
  %4550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4537, ptr noundef @.str.78, i32 noundef %4538, ptr noundef @.str.109, ptr noundef @.str.77, i32 noundef 176, ptr noundef %4541, ptr noundef %4544, ptr noundef %4547, i32 noundef %4549) #12
  br label %4568

4551:                                             ; preds = %4529, %4522
  %4552 = load i32, ptr %93, align 4, !tbaa !5
  %4553 = call ptr @__errno_location() #13
  store i32 %4552, ptr %4553, align 4, !tbaa !5
  %4554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4555 = load i32, ptr @test_count, align 4, !tbaa !5
  %4556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4557 = load i32, ptr %4556, align 4, !tbaa !5
  %4558 = call ptr @s2n_strerror(i32 noundef %4557, ptr noundef @.str.80)
  %4559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4560 = load i32, ptr %4559, align 4, !tbaa !5
  %4561 = call ptr @s2n_strerror_debug(i32 noundef %4560, ptr noundef @.str.80)
  %4562 = call ptr @__errno_location() #13
  %4563 = load i32, ptr %4562, align 4, !tbaa !5
  %4564 = call ptr @strerror(i32 noundef %4563) #12
  %4565 = call ptr @__errno_location() #13
  %4566 = load i32, ptr %4565, align 4, !tbaa !5
  %4567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4554, ptr noundef @.str.81, i32 noundef %4555, ptr noundef @.str.109, ptr noundef @.str.77, i32 noundef 176, ptr noundef %4558, ptr noundef %4561, ptr noundef %4564, i32 noundef %4566) #12
  br label %4568

4568:                                             ; preds = %4551, %4534
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #12
  br label %4569

4569:                                             ; preds = %4568
  br label %4570

4570:                                             ; preds = %4569
  call void @exit(i32 noundef 1) #14
  unreachable

4571:                                             ; No predecessors!
  br label %4572

4572:                                             ; preds = %4571
  br label %4573

4573:                                             ; preds = %4572, %4512
  br label %4574

4574:                                             ; preds = %4573
  br label %4575

4575:                                             ; preds = %4574
  br label %4576

4576:                                             ; preds = %4575
  br label %4577

4577:                                             ; preds = %4576
  %4578 = load i32, ptr @test_count, align 4, !tbaa !5
  %4579 = add nsw i32 %4578, 1
  store i32 %4579, ptr @test_count, align 4, !tbaa !5
  %4580 = getelementptr inbounds %struct.s2n_offered_psk, ptr %80, i32 0, i32 0
  %4581 = getelementptr inbounds %struct.s2n_blob, ptr %4580, i32 0, i32 0
  %4582 = load ptr, ptr %4581, align 8, !tbaa !19
  %4583 = getelementptr inbounds [4 x i8], ptr %10, i64 0, i64 0
  %4584 = call i32 @memcmp(ptr noundef %4582, ptr noundef %4583, i64 noundef 4) #15
  %4585 = icmp eq i32 %4584, 0
  br i1 %4585, label %4639, label %4586

4586:                                             ; preds = %4577
  br label %4587

4587:                                             ; preds = %4586
  br label %4588

4588:                                             ; preds = %4587
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #12
  %4589 = call ptr @__errno_location() #13
  %4590 = load i32, ptr %4589, align 4, !tbaa !5
  store i32 %4590, ptr %94, align 4, !tbaa !5
  %4591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4592 = call i32 @s2n_print_stacktrace(ptr noundef %4591)
  %4593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4594 = trunc i8 %4593 to i1
  br i1 %4594, label %4595, label %4617

4595:                                             ; preds = %4588
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = call i32 @fileno(ptr noundef %4596) #12
  %4598 = call i32 @isatty(i32 noundef %4597) #12
  %4599 = icmp ne i32 %4598, 0
  br i1 %4599, label %4600, label %4617

4600:                                             ; preds = %4595
  %4601 = load i32, ptr %94, align 4, !tbaa !5
  %4602 = call ptr @__errno_location() #13
  store i32 %4601, ptr %4602, align 4, !tbaa !5
  %4603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4604 = load i32, ptr @test_count, align 4, !tbaa !5
  %4605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4606 = load i32, ptr %4605, align 4, !tbaa !5
  %4607 = call ptr @s2n_strerror(i32 noundef %4606, ptr noundef @.str.80)
  %4608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4609 = load i32, ptr %4608, align 4, !tbaa !5
  %4610 = call ptr @s2n_strerror_debug(i32 noundef %4609, ptr noundef @.str.80)
  %4611 = call ptr @__errno_location() #13
  %4612 = load i32, ptr %4611, align 4, !tbaa !5
  %4613 = call ptr @strerror(i32 noundef %4612) #12
  %4614 = call ptr @__errno_location() #13
  %4615 = load i32, ptr %4614, align 4, !tbaa !5
  %4616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4603, ptr noundef @.str.78, i32 noundef %4604, ptr noundef @.str.110, ptr noundef @.str.77, i32 noundef 177, ptr noundef %4607, ptr noundef %4610, ptr noundef %4613, i32 noundef %4615) #12
  br label %4634

4617:                                             ; preds = %4595, %4588
  %4618 = load i32, ptr %94, align 4, !tbaa !5
  %4619 = call ptr @__errno_location() #13
  store i32 %4618, ptr %4619, align 4, !tbaa !5
  %4620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4621 = load i32, ptr @test_count, align 4, !tbaa !5
  %4622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4623 = load i32, ptr %4622, align 4, !tbaa !5
  %4624 = call ptr @s2n_strerror(i32 noundef %4623, ptr noundef @.str.80)
  %4625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4626 = load i32, ptr %4625, align 4, !tbaa !5
  %4627 = call ptr @s2n_strerror_debug(i32 noundef %4626, ptr noundef @.str.80)
  %4628 = call ptr @__errno_location() #13
  %4629 = load i32, ptr %4628, align 4, !tbaa !5
  %4630 = call ptr @strerror(i32 noundef %4629) #12
  %4631 = call ptr @__errno_location() #13
  %4632 = load i32, ptr %4631, align 4, !tbaa !5
  %4633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4620, ptr noundef @.str.81, i32 noundef %4621, ptr noundef @.str.110, ptr noundef @.str.77, i32 noundef 177, ptr noundef %4624, ptr noundef %4627, ptr noundef %4630, i32 noundef %4632) #12
  br label %4634

4634:                                             ; preds = %4617, %4600
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #12
  br label %4635

4635:                                             ; preds = %4634
  br label %4636

4636:                                             ; preds = %4635
  call void @exit(i32 noundef 1) #14
  unreachable

4637:                                             ; No predecessors!
  br label %4638

4638:                                             ; preds = %4637
  br label %4639

4639:                                             ; preds = %4638, %4577
  br label %4640

4640:                                             ; preds = %4639
  br label %4641

4641:                                             ; preds = %4640
  br label %4642

4642:                                             ; preds = %4641
  br label %4643

4643:                                             ; preds = %4642
  br label %4644

4644:                                             ; preds = %4643
  br label %4645

4645:                                             ; preds = %4644
  br label %4646

4646:                                             ; preds = %4645
  %4647 = load i32, ptr @test_count, align 4, !tbaa !5
  %4648 = add nsw i32 %4647, 1
  store i32 %4648, ptr @test_count, align 4, !tbaa !5
  %4649 = call i32 @s2n_offered_psk_list_next(ptr noundef %81, ptr noundef %80)
  %4650 = icmp eq i32 %4649, -1
  br i1 %4650, label %4704, label %4651

4651:                                             ; preds = %4646
  br label %4652

4652:                                             ; preds = %4651
  br label %4653

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

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

4665:                                             ; preds = %4660
  %4666 = load i32, ptr %95, align 4, !tbaa !5
  %4667 = call ptr @__errno_location() #13
  store i32 %4666, ptr %4667, align 4, !tbaa !5
  %4668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4669 = load i32, ptr @test_count, align 4, !tbaa !5
  %4670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4671 = load i32, ptr %4670, align 4, !tbaa !5
  %4672 = call ptr @s2n_strerror(i32 noundef %4671, ptr noundef @.str.80)
  %4673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4674 = load i32, ptr %4673, align 4, !tbaa !5
  %4675 = call ptr @s2n_strerror_debug(i32 noundef %4674, ptr noundef @.str.80)
  %4676 = call ptr @__errno_location() #13
  %4677 = load i32, ptr %4676, align 4, !tbaa !5
  %4678 = call ptr @strerror(i32 noundef %4677) #12
  %4679 = call ptr @__errno_location() #13
  %4680 = load i32, ptr %4679, align 4, !tbaa !5
  %4681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4668, ptr noundef @.str.78, i32 noundef %4669, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 179, ptr noundef %4672, ptr noundef %4675, ptr noundef %4678, i32 noundef %4680) #12
  br label %4699

4682:                                             ; preds = %4660, %4653
  %4683 = load i32, ptr %95, align 4, !tbaa !5
  %4684 = call ptr @__errno_location() #13
  store i32 %4683, ptr %4684, align 4, !tbaa !5
  %4685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4686 = load i32, ptr @test_count, align 4, !tbaa !5
  %4687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4688 = load i32, ptr %4687, align 4, !tbaa !5
  %4689 = call ptr @s2n_strerror(i32 noundef %4688, ptr noundef @.str.80)
  %4690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4691 = load i32, ptr %4690, align 4, !tbaa !5
  %4692 = call ptr @s2n_strerror_debug(i32 noundef %4691, ptr noundef @.str.80)
  %4693 = call ptr @__errno_location() #13
  %4694 = load i32, ptr %4693, align 4, !tbaa !5
  %4695 = call ptr @strerror(i32 noundef %4694) #12
  %4696 = call ptr @__errno_location() #13
  %4697 = load i32, ptr %4696, align 4, !tbaa !5
  %4698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4685, ptr noundef @.str.81, i32 noundef %4686, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 179, ptr noundef %4689, ptr noundef %4692, ptr noundef %4695, i32 noundef %4697) #12
  br label %4699

4699:                                             ; preds = %4682, %4665
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #12
  br label %4700

4700:                                             ; preds = %4699
  br label %4701

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

4702:                                             ; No predecessors!
  br label %4703

4703:                                             ; preds = %4702
  br label %4704

4704:                                             ; preds = %4703, %4646
  br label %4705

4705:                                             ; preds = %4704
  br label %4706

4706:                                             ; preds = %4705
  br label %4707

4707:                                             ; preds = %4706
  %4708 = load i32, ptr @test_count, align 4, !tbaa !5
  %4709 = add nsw i32 %4708, 1
  store i32 %4709, ptr @test_count, align 4, !tbaa !5
  %4710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4711 = load i32, ptr %4710, align 4, !tbaa !5
  %4712 = icmp eq i32 %4711, 402653201
  br i1 %4712, label %4766, label %4713

4713:                                             ; preds = %4707
  br label %4714

4714:                                             ; preds = %4713
  br label %4715

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

4722:                                             ; preds = %4715
  %4723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4724 = call i32 @fileno(ptr noundef %4723) #12
  %4725 = call i32 @isatty(i32 noundef %4724) #12
  %4726 = icmp ne i32 %4725, 0
  br i1 %4726, label %4727, label %4744

4727:                                             ; preds = %4722
  %4728 = load i32, ptr %96, align 4, !tbaa !5
  %4729 = call ptr @__errno_location() #13
  store i32 %4728, ptr %4729, align 4, !tbaa !5
  %4730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4731 = load i32, ptr @test_count, align 4, !tbaa !5
  %4732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4733 = load i32, ptr %4732, align 4, !tbaa !5
  %4734 = call ptr @s2n_strerror(i32 noundef %4733, ptr noundef @.str.80)
  %4735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4736 = load i32, ptr %4735, align 4, !tbaa !5
  %4737 = call ptr @s2n_strerror_debug(i32 noundef %4736, ptr noundef @.str.80)
  %4738 = call ptr @__errno_location() #13
  %4739 = load i32, ptr %4738, align 4, !tbaa !5
  %4740 = call ptr @strerror(i32 noundef %4739) #12
  %4741 = call ptr @__errno_location() #13
  %4742 = load i32, ptr %4741, align 4, !tbaa !5
  %4743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4730, ptr noundef @.str.78, i32 noundef %4731, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 179, ptr noundef %4734, ptr noundef %4737, ptr noundef %4740, i32 noundef %4742) #12
  br label %4761

4744:                                             ; preds = %4722, %4715
  %4745 = load i32, ptr %96, align 4, !tbaa !5
  %4746 = call ptr @__errno_location() #13
  store i32 %4745, ptr %4746, align 4, !tbaa !5
  %4747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4748 = load i32, ptr @test_count, align 4, !tbaa !5
  %4749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4750 = load i32, ptr %4749, align 4, !tbaa !5
  %4751 = call ptr @s2n_strerror(i32 noundef %4750, ptr noundef @.str.80)
  %4752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4753 = load i32, ptr %4752, align 4, !tbaa !5
  %4754 = call ptr @s2n_strerror_debug(i32 noundef %4753, ptr noundef @.str.80)
  %4755 = call ptr @__errno_location() #13
  %4756 = load i32, ptr %4755, align 4, !tbaa !5
  %4757 = call ptr @strerror(i32 noundef %4756) #12
  %4758 = call ptr @__errno_location() #13
  %4759 = load i32, ptr %4758, align 4, !tbaa !5
  %4760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4747, ptr noundef @.str.81, i32 noundef %4748, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 179, ptr noundef %4751, ptr noundef %4754, ptr noundef %4757, i32 noundef %4759) #12
  br label %4761

4761:                                             ; preds = %4744, %4727
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #12
  br label %4762

4762:                                             ; preds = %4761
  br label %4763

4763:                                             ; preds = %4762
  call void @exit(i32 noundef 1) #14
  unreachable

4764:                                             ; No predecessors!
  br label %4765

4765:                                             ; preds = %4764
  br label %4766

4766:                                             ; preds = %4765, %4707
  br label %4767

4767:                                             ; preds = %4766
  br label %4768

4768:                                             ; preds = %4767
  br label %4769

4769:                                             ; preds = %4768
  %4770 = load i32, ptr @test_count, align 4, !tbaa !5
  %4771 = add nsw i32 %4770, 1
  store i32 %4771, ptr @test_count, align 4, !tbaa !5
  %4772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4773 = load i32, ptr %4772, align 4, !tbaa !5
  %4774 = call ptr @s2n_strerror_debug(i32 noundef %4773, ptr noundef @.str.80)
  %4775 = icmp eq ptr %4774, null
  br i1 %4775, label %4776, label %4829

4776:                                             ; preds = %4769
  br label %4777

4777:                                             ; preds = %4776
  br label %4778

4778:                                             ; preds = %4777
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #12
  %4779 = call ptr @__errno_location() #13
  %4780 = load i32, ptr %4779, align 4, !tbaa !5
  store i32 %4780, ptr %97, align 4, !tbaa !5
  %4781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4782 = call i32 @s2n_print_stacktrace(ptr noundef %4781)
  %4783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4784 = trunc i8 %4783 to i1
  br i1 %4784, label %4785, label %4807

4785:                                             ; preds = %4778
  %4786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4787 = call i32 @fileno(ptr noundef %4786) #12
  %4788 = call i32 @isatty(i32 noundef %4787) #12
  %4789 = icmp ne i32 %4788, 0
  br i1 %4789, label %4790, label %4807

4790:                                             ; preds = %4785
  %4791 = load i32, ptr %97, align 4, !tbaa !5
  %4792 = call ptr @__errno_location() #13
  store i32 %4791, ptr %4792, align 4, !tbaa !5
  %4793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4794 = load i32, ptr @test_count, align 4, !tbaa !5
  %4795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4796 = load i32, ptr %4795, align 4, !tbaa !5
  %4797 = call ptr @s2n_strerror(i32 noundef %4796, ptr noundef @.str.80)
  %4798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4799 = load i32, ptr %4798, align 4, !tbaa !5
  %4800 = call ptr @s2n_strerror_debug(i32 noundef %4799, ptr noundef @.str.80)
  %4801 = call ptr @__errno_location() #13
  %4802 = load i32, ptr %4801, align 4, !tbaa !5
  %4803 = call ptr @strerror(i32 noundef %4802) #12
  %4804 = call ptr @__errno_location() #13
  %4805 = load i32, ptr %4804, align 4, !tbaa !5
  %4806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4793, ptr noundef @.str.78, i32 noundef %4794, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 179, ptr noundef %4797, ptr noundef %4800, ptr noundef %4803, i32 noundef %4805) #12
  br label %4824

4807:                                             ; preds = %4785, %4778
  %4808 = load i32, ptr %97, align 4, !tbaa !5
  %4809 = call ptr @__errno_location() #13
  store i32 %4808, ptr %4809, align 4, !tbaa !5
  %4810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4811 = load i32, ptr @test_count, align 4, !tbaa !5
  %4812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4813 = load i32, ptr %4812, align 4, !tbaa !5
  %4814 = call ptr @s2n_strerror(i32 noundef %4813, ptr noundef @.str.80)
  %4815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call ptr @s2n_strerror_debug(i32 noundef %4816, ptr noundef @.str.80)
  %4818 = call ptr @__errno_location() #13
  %4819 = load i32, ptr %4818, align 4, !tbaa !5
  %4820 = call ptr @strerror(i32 noundef %4819) #12
  %4821 = call ptr @__errno_location() #13
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  %4823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4810, ptr noundef @.str.81, i32 noundef %4811, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 179, ptr noundef %4814, ptr noundef %4817, ptr noundef %4820, i32 noundef %4822) #12
  br label %4824

4824:                                             ; preds = %4807, %4790
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #12
  br label %4825

4825:                                             ; preds = %4824
  br label %4826

4826:                                             ; preds = %4825
  call void @exit(i32 noundef 1) #14
  unreachable

4827:                                             ; No predecessors!
  br label %4828

4828:                                             ; preds = %4827
  br label %4829

4829:                                             ; preds = %4828, %4769
  br label %4830

4830:                                             ; preds = %4829
  br label %4831

4831:                                             ; preds = %4830
  br label %4832

4832:                                             ; preds = %4831
  br label %4833

4833:                                             ; preds = %4832
  br label %4834

4834:                                             ; preds = %4833
  %4835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4835, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4836 = call ptr @__errno_location() #13
  store i32 0, ptr %4836, align 4, !tbaa !5
  br label %4837

4837:                                             ; preds = %4834
  br label %4838

4838:                                             ; preds = %4837
  br label %4839

4839:                                             ; preds = %4838
  br label %4840

4840:                                             ; preds = %4839
  br label %4841

4841:                                             ; preds = %4840
  %4842 = load i32, ptr @test_count, align 4, !tbaa !5
  %4843 = add nsw i32 %4842, 1
  store i32 %4843, ptr @test_count, align 4, !tbaa !5
  %4844 = getelementptr inbounds %struct.s2n_offered_psk, ptr %80, i32 0, i32 0
  %4845 = getelementptr inbounds %struct.s2n_blob, ptr %4844, i32 0, i32 1
  %4846 = load i32, ptr %4845, align 8, !tbaa !15
  %4847 = icmp eq i32 %4846, 0
  br i1 %4847, label %4901, label %4848

4848:                                             ; preds = %4841
  br label %4849

4849:                                             ; preds = %4848
  br label %4850

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

4857:                                             ; preds = %4850
  %4858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4859 = call i32 @fileno(ptr noundef %4858) #12
  %4860 = call i32 @isatty(i32 noundef %4859) #12
  %4861 = icmp ne i32 %4860, 0
  br i1 %4861, label %4862, label %4879

4862:                                             ; preds = %4857
  %4863 = load i32, ptr %98, align 4, !tbaa !5
  %4864 = call ptr @__errno_location() #13
  store i32 %4863, ptr %4864, align 4, !tbaa !5
  %4865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4866 = load i32, ptr @test_count, align 4, !tbaa !5
  %4867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4868 = load i32, ptr %4867, align 4, !tbaa !5
  %4869 = call ptr @s2n_strerror(i32 noundef %4868, ptr noundef @.str.80)
  %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_debug(i32 noundef %4871, ptr noundef @.str.80)
  %4873 = call ptr @__errno_location() #13
  %4874 = load i32, ptr %4873, align 4, !tbaa !5
  %4875 = call ptr @strerror(i32 noundef %4874) #12
  %4876 = call ptr @__errno_location() #13
  %4877 = load i32, ptr %4876, align 4, !tbaa !5
  %4878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4865, ptr noundef @.str.78, i32 noundef %4866, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 180, ptr noundef %4869, ptr noundef %4872, ptr noundef %4875, i32 noundef %4877) #12
  br label %4896

4879:                                             ; preds = %4857, %4850
  %4880 = load i32, ptr %98, align 4, !tbaa !5
  %4881 = call ptr @__errno_location() #13
  store i32 %4880, ptr %4881, align 4, !tbaa !5
  %4882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4883 = load i32, ptr @test_count, align 4, !tbaa !5
  %4884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4885 = load i32, ptr %4884, align 4, !tbaa !5
  %4886 = call ptr @s2n_strerror(i32 noundef %4885, ptr noundef @.str.80)
  %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_debug(i32 noundef %4888, ptr noundef @.str.80)
  %4890 = call ptr @__errno_location() #13
  %4891 = load i32, ptr %4890, align 4, !tbaa !5
  %4892 = call ptr @strerror(i32 noundef %4891) #12
  %4893 = call ptr @__errno_location() #13
  %4894 = load i32, ptr %4893, align 4, !tbaa !5
  %4895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4882, ptr noundef @.str.81, i32 noundef %4883, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 180, ptr noundef %4886, ptr noundef %4889, ptr noundef %4892, i32 noundef %4894) #12
  br label %4896

4896:                                             ; preds = %4879, %4862
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #12
  br label %4897

4897:                                             ; preds = %4896
  br label %4898

4898:                                             ; preds = %4897
  call void @exit(i32 noundef 1) #14
  unreachable

4899:                                             ; No predecessors!
  br label %4900

4900:                                             ; preds = %4899
  br label %4901

4901:                                             ; preds = %4900, %4841
  br label %4902

4902:                                             ; preds = %4901
  br label %4903

4903:                                             ; preds = %4902
  br label %4904

4904:                                             ; preds = %4903
  %4905 = load i32, ptr @test_count, align 4, !tbaa !5
  %4906 = add nsw i32 %4905, 1
  store i32 %4906, ptr @test_count, align 4, !tbaa !5
  %4907 = getelementptr inbounds %struct.s2n_offered_psk, ptr %80, i32 0, i32 0
  %4908 = getelementptr inbounds %struct.s2n_blob, ptr %4907, i32 0, i32 0
  %4909 = load ptr, ptr %4908, align 8, !tbaa !19
  %4910 = icmp eq ptr %4909, null
  br i1 %4910, label %4964, label %4911

4911:                                             ; preds = %4904
  br label %4912

4912:                                             ; preds = %4911
  br label %4913

4913:                                             ; preds = %4912
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #12
  %4914 = call ptr @__errno_location() #13
  %4915 = load i32, ptr %4914, align 4, !tbaa !5
  store i32 %4915, ptr %99, align 4, !tbaa !5
  %4916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4917 = call i32 @s2n_print_stacktrace(ptr noundef %4916)
  %4918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4919 = trunc i8 %4918 to i1
  br i1 %4919, label %4920, label %4942

4920:                                             ; preds = %4913
  %4921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4922 = call i32 @fileno(ptr noundef %4921) #12
  %4923 = call i32 @isatty(i32 noundef %4922) #12
  %4924 = icmp ne i32 %4923, 0
  br i1 %4924, label %4925, label %4942

4925:                                             ; preds = %4920
  %4926 = load i32, ptr %99, align 4, !tbaa !5
  %4927 = call ptr @__errno_location() #13
  store i32 %4926, ptr %4927, align 4, !tbaa !5
  %4928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4929 = load i32, ptr @test_count, align 4, !tbaa !5
  %4930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4931 = load i32, ptr %4930, align 4, !tbaa !5
  %4932 = call ptr @s2n_strerror(i32 noundef %4931, ptr noundef @.str.80)
  %4933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4934 = load i32, ptr %4933, align 4, !tbaa !5
  %4935 = call ptr @s2n_strerror_debug(i32 noundef %4934, ptr noundef @.str.80)
  %4936 = call ptr @__errno_location() #13
  %4937 = load i32, ptr %4936, align 4, !tbaa !5
  %4938 = call ptr @strerror(i32 noundef %4937) #12
  %4939 = call ptr @__errno_location() #13
  %4940 = load i32, ptr %4939, align 4, !tbaa !5
  %4941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4928, ptr noundef @.str.78, i32 noundef %4929, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 181, ptr noundef %4932, ptr noundef %4935, ptr noundef %4938, i32 noundef %4940) #12
  br label %4959

4942:                                             ; preds = %4920, %4913
  %4943 = load i32, ptr %99, align 4, !tbaa !5
  %4944 = call ptr @__errno_location() #13
  store i32 %4943, ptr %4944, align 4, !tbaa !5
  %4945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4946 = load i32, ptr @test_count, align 4, !tbaa !5
  %4947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4948 = load i32, ptr %4947, align 4, !tbaa !5
  %4949 = call ptr @s2n_strerror(i32 noundef %4948, ptr noundef @.str.80)
  %4950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4951 = load i32, ptr %4950, align 4, !tbaa !5
  %4952 = call ptr @s2n_strerror_debug(i32 noundef %4951, ptr noundef @.str.80)
  %4953 = call ptr @__errno_location() #13
  %4954 = load i32, ptr %4953, align 4, !tbaa !5
  %4955 = call ptr @strerror(i32 noundef %4954) #12
  %4956 = call ptr @__errno_location() #13
  %4957 = load i32, ptr %4956, align 4, !tbaa !5
  %4958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4945, ptr noundef @.str.81, i32 noundef %4946, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 181, ptr noundef %4949, ptr noundef %4952, ptr noundef %4955, i32 noundef %4957) #12
  br label %4959

4959:                                             ; preds = %4942, %4925
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #12
  br label %4960

4960:                                             ; preds = %4959
  br label %4961

4961:                                             ; preds = %4960
  call void @exit(i32 noundef 1) #14
  unreachable

4962:                                             ; No predecessors!
  br label %4963

4963:                                             ; preds = %4962
  br label %4964

4964:                                             ; preds = %4963, %4904
  br label %4965

4965:                                             ; preds = %4964
  br label %4966

4966:                                             ; preds = %4965
  br label %4967

4967:                                             ; preds = %4966
  %4968 = load i32, ptr @test_count, align 4, !tbaa !5
  %4969 = add nsw i32 %4968, 1
  store i32 %4969, ptr @test_count, align 4, !tbaa !5
  %4970 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %81, i32 0, i32 1
  %4971 = call i32 @s2n_stuffer_free(ptr noundef %4970)
  %4972 = icmp eq i32 %4971, -1
  br i1 %4972, label %4973, label %5026

4973:                                             ; preds = %4967
  br label %4974

4974:                                             ; preds = %4973
  br label %4975

4975:                                             ; preds = %4974
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #12
  %4976 = call ptr @__errno_location() #13
  %4977 = load i32, ptr %4976, align 4, !tbaa !5
  store i32 %4977, ptr %100, align 4, !tbaa !5
  %4978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4979 = call i32 @s2n_print_stacktrace(ptr noundef %4978)
  %4980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4981 = trunc i8 %4980 to i1
  br i1 %4981, label %4982, label %5004

4982:                                             ; preds = %4975
  %4983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4984 = call i32 @fileno(ptr noundef %4983) #12
  %4985 = call i32 @isatty(i32 noundef %4984) #12
  %4986 = icmp ne i32 %4985, 0
  br i1 %4986, label %4987, label %5004

4987:                                             ; preds = %4982
  %4988 = load i32, ptr %100, align 4, !tbaa !5
  %4989 = call ptr @__errno_location() #13
  store i32 %4988, ptr %4989, align 4, !tbaa !5
  %4990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4991 = load i32, ptr @test_count, align 4, !tbaa !5
  %4992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4993 = load i32, ptr %4992, align 4, !tbaa !5
  %4994 = call ptr @s2n_strerror(i32 noundef %4993, ptr noundef @.str.80)
  %4995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4996 = load i32, ptr %4995, align 4, !tbaa !5
  %4997 = call ptr @s2n_strerror_debug(i32 noundef %4996, ptr noundef @.str.80)
  %4998 = call ptr @__errno_location() #13
  %4999 = load i32, ptr %4998, align 4, !tbaa !5
  %5000 = call ptr @strerror(i32 noundef %4999) #12
  %5001 = call ptr @__errno_location() #13
  %5002 = load i32, ptr %5001, align 4, !tbaa !5
  %5003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4990, ptr noundef @.str.78, i32 noundef %4991, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 183, ptr noundef %4994, ptr noundef %4997, ptr noundef %5000, i32 noundef %5002) #12
  br label %5021

5004:                                             ; preds = %4982, %4975
  %5005 = load i32, ptr %100, align 4, !tbaa !5
  %5006 = call ptr @__errno_location() #13
  store i32 %5005, ptr %5006, align 4, !tbaa !5
  %5007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5008 = load i32, ptr @test_count, align 4, !tbaa !5
  %5009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5010 = load i32, ptr %5009, align 4, !tbaa !5
  %5011 = call ptr @s2n_strerror(i32 noundef %5010, ptr noundef @.str.80)
  %5012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5013 = load i32, ptr %5012, align 4, !tbaa !5
  %5014 = call ptr @s2n_strerror_debug(i32 noundef %5013, ptr noundef @.str.80)
  %5015 = call ptr @__errno_location() #13
  %5016 = load i32, ptr %5015, align 4, !tbaa !5
  %5017 = call ptr @strerror(i32 noundef %5016) #12
  %5018 = call ptr @__errno_location() #13
  %5019 = load i32, ptr %5018, align 4, !tbaa !5
  %5020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5007, ptr noundef @.str.81, i32 noundef %5008, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 183, ptr noundef %5011, ptr noundef %5014, ptr noundef %5017, i32 noundef %5019) #12
  br label %5021

5021:                                             ; preds = %5004, %4987
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #12
  br label %5022

5022:                                             ; preds = %5021
  br label %5023

5023:                                             ; preds = %5022
  call void @exit(i32 noundef 1) #14
  unreachable

5024:                                             ; No predecessors!
  br label %5025

5025:                                             ; preds = %5024
  br label %5026

5026:                                             ; preds = %5025, %4967
  br label %5027

5027:                                             ; preds = %5026
  br label %5028

5028:                                             ; preds = %5027
  br label %5029

5029:                                             ; preds = %5028
  %5030 = load i32, ptr @test_count, align 4, !tbaa !5
  %5031 = add nsw i32 %5030, 1
  store i32 %5031, ptr @test_count, align 4, !tbaa !5
  %5032 = load ptr, ptr %82, align 8, !tbaa !9
  %5033 = call i32 @s2n_connection_free(ptr noundef %5032)
  %5034 = icmp eq i32 %5033, -1
  br i1 %5034, label %5035, label %5088

5035:                                             ; preds = %5029
  br label %5036

5036:                                             ; preds = %5035
  br label %5037

5037:                                             ; preds = %5036
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #12
  %5038 = call ptr @__errno_location() #13
  %5039 = load i32, ptr %5038, align 4, !tbaa !5
  store i32 %5039, ptr %101, align 4, !tbaa !5
  %5040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5041 = call i32 @s2n_print_stacktrace(ptr noundef %5040)
  %5042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5043 = trunc i8 %5042 to i1
  br i1 %5043, label %5044, label %5066

5044:                                             ; preds = %5037
  %5045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5046 = call i32 @fileno(ptr noundef %5045) #12
  %5047 = call i32 @isatty(i32 noundef %5046) #12
  %5048 = icmp ne i32 %5047, 0
  br i1 %5048, label %5049, label %5066

5049:                                             ; preds = %5044
  %5050 = load i32, ptr %101, align 4, !tbaa !5
  %5051 = call ptr @__errno_location() #13
  store i32 %5050, ptr %5051, align 4, !tbaa !5
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = load i32, ptr @test_count, align 4, !tbaa !5
  %5054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5055 = load i32, ptr %5054, align 4, !tbaa !5
  %5056 = call ptr @s2n_strerror(i32 noundef %5055, ptr noundef @.str.80)
  %5057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5058 = load i32, ptr %5057, align 4, !tbaa !5
  %5059 = call ptr @s2n_strerror_debug(i32 noundef %5058, ptr noundef @.str.80)
  %5060 = call ptr @__errno_location() #13
  %5061 = load i32, ptr %5060, align 4, !tbaa !5
  %5062 = call ptr @strerror(i32 noundef %5061) #12
  %5063 = call ptr @__errno_location() #13
  %5064 = load i32, ptr %5063, align 4, !tbaa !5
  %5065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5052, ptr noundef @.str.78, i32 noundef %5053, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 184, ptr noundef %5056, ptr noundef %5059, ptr noundef %5062, i32 noundef %5064) #12
  br label %5083

5066:                                             ; preds = %5044, %5037
  %5067 = load i32, ptr %101, align 4, !tbaa !5
  %5068 = call ptr @__errno_location() #13
  store i32 %5067, ptr %5068, align 4, !tbaa !5
  %5069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5070 = load i32, ptr @test_count, align 4, !tbaa !5
  %5071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5072 = load i32, ptr %5071, align 4, !tbaa !5
  %5073 = call ptr @s2n_strerror(i32 noundef %5072, ptr noundef @.str.80)
  %5074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5075 = load i32, ptr %5074, align 4, !tbaa !5
  %5076 = call ptr @s2n_strerror_debug(i32 noundef %5075, ptr noundef @.str.80)
  %5077 = call ptr @__errno_location() #13
  %5078 = load i32, ptr %5077, align 4, !tbaa !5
  %5079 = call ptr @strerror(i32 noundef %5078) #12
  %5080 = call ptr @__errno_location() #13
  %5081 = load i32, ptr %5080, align 4, !tbaa !5
  %5082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5069, ptr noundef @.str.81, i32 noundef %5070, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 184, ptr noundef %5073, ptr noundef %5076, ptr noundef %5079, i32 noundef %5081) #12
  br label %5083

5083:                                             ; preds = %5066, %5049
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #12
  br label %5084

5084:                                             ; preds = %5083
  br label %5085

5085:                                             ; preds = %5084
  call void @exit(i32 noundef 1) #14
  unreachable

5086:                                             ; No predecessors!
  br label %5087

5087:                                             ; preds = %5086
  br label %5088

5088:                                             ; preds = %5087, %5029
  br label %5089

5089:                                             ; preds = %5088
  br label %5090

5090:                                             ; preds = %5089
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %81) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #12
  call void @llvm.memset.p0.i64(ptr align 8 %102, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %103) #12
  call void @llvm.memset.p0.i64(ptr align 8 %103, i8 0, i64 56, i1 false)
  br label %5091

5091:                                             ; preds = %5090
  br label %5092

5092:                                             ; preds = %5091
  br label %5093

5093:                                             ; preds = %5092
  %5094 = load i32, ptr @test_count, align 4, !tbaa !5
  %5095 = add nsw i32 %5094, 1
  store i32 %5095, ptr @test_count, align 4, !tbaa !5
  %5096 = call i32 @s2n_offered_psk_list_read_next(ptr noundef %103, ptr noundef null)
  %5097 = getelementptr inbounds %struct.s2n_result, ptr %104, i32 0, i32 0
  store i32 %5096, ptr %5097, align 4
  %5098 = getelementptr inbounds %struct.s2n_result, ptr %104, i32 0, i32 0
  %5099 = load i32, ptr %5098, align 4
  %5100 = call zeroext i1 @s2n_result_is_error(i32 %5099)
  br i1 %5100, label %5154, label %5101

5101:                                             ; preds = %5093
  br label %5102

5102:                                             ; preds = %5101
  br label %5103

5103:                                             ; preds = %5102
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #12
  %5104 = call ptr @__errno_location() #13
  %5105 = load i32, ptr %5104, align 4, !tbaa !5
  store i32 %5105, ptr %105, align 4, !tbaa !5
  %5106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5107 = call i32 @s2n_print_stacktrace(ptr noundef %5106)
  %5108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5109 = trunc i8 %5108 to i1
  br i1 %5109, label %5110, label %5132

5110:                                             ; preds = %5103
  %5111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5112 = call i32 @fileno(ptr noundef %5111) #12
  %5113 = call i32 @isatty(i32 noundef %5112) #12
  %5114 = icmp ne i32 %5113, 0
  br i1 %5114, label %5115, label %5132

5115:                                             ; preds = %5110
  %5116 = load i32, ptr %105, align 4, !tbaa !5
  %5117 = call ptr @__errno_location() #13
  store i32 %5116, ptr %5117, align 4, !tbaa !5
  %5118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5119 = load i32, ptr @test_count, align 4, !tbaa !5
  %5120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5121 = load i32, ptr %5120, align 4, !tbaa !5
  %5122 = call ptr @s2n_strerror(i32 noundef %5121, ptr noundef @.str.80)
  %5123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5124 = load i32, ptr %5123, align 4, !tbaa !5
  %5125 = call ptr @s2n_strerror_debug(i32 noundef %5124, ptr noundef @.str.80)
  %5126 = call ptr @__errno_location() #13
  %5127 = load i32, ptr %5126, align 4, !tbaa !5
  %5128 = call ptr @strerror(i32 noundef %5127) #12
  %5129 = call ptr @__errno_location() #13
  %5130 = load i32, ptr %5129, align 4, !tbaa !5
  %5131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5118, ptr noundef @.str.78, i32 noundef %5119, ptr noundef @.str.111, ptr noundef @.str.77, i32 noundef 194, ptr noundef %5122, ptr noundef %5125, ptr noundef %5128, i32 noundef %5130) #12
  br label %5149

5132:                                             ; preds = %5110, %5103
  %5133 = load i32, ptr %105, align 4, !tbaa !5
  %5134 = call ptr @__errno_location() #13
  store i32 %5133, ptr %5134, align 4, !tbaa !5
  %5135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5136 = load i32, ptr @test_count, align 4, !tbaa !5
  %5137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5138 = load i32, ptr %5137, align 4, !tbaa !5
  %5139 = call ptr @s2n_strerror(i32 noundef %5138, ptr noundef @.str.80)
  %5140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5141 = load i32, ptr %5140, align 4, !tbaa !5
  %5142 = call ptr @s2n_strerror_debug(i32 noundef %5141, ptr noundef @.str.80)
  %5143 = call ptr @__errno_location() #13
  %5144 = load i32, ptr %5143, align 4, !tbaa !5
  %5145 = call ptr @strerror(i32 noundef %5144) #12
  %5146 = call ptr @__errno_location() #13
  %5147 = load i32, ptr %5146, align 4, !tbaa !5
  %5148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5135, ptr noundef @.str.81, i32 noundef %5136, ptr noundef @.str.111, ptr noundef @.str.77, i32 noundef 194, ptr noundef %5139, ptr noundef %5142, ptr noundef %5145, i32 noundef %5147) #12
  br label %5149

5149:                                             ; preds = %5132, %5115
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #12
  br label %5150

5150:                                             ; preds = %5149
  br label %5151

5151:                                             ; preds = %5150
  call void @exit(i32 noundef 1) #14
  unreachable

5152:                                             ; No predecessors!
  br label %5153

5153:                                             ; preds = %5152
  br label %5154

5154:                                             ; preds = %5153, %5093
  br label %5155

5155:                                             ; preds = %5154
  br label %5156

5156:                                             ; preds = %5155
  br label %5157

5157:                                             ; preds = %5156
  %5158 = load i32, ptr @test_count, align 4, !tbaa !5
  %5159 = add nsw i32 %5158, 1
  store i32 %5159, ptr @test_count, align 4, !tbaa !5
  %5160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5161 = load i32, ptr %5160, align 4, !tbaa !5
  %5162 = icmp eq i32 %5161, 402653193
  br i1 %5162, label %5216, label %5163

5163:                                             ; preds = %5157
  br label %5164

5164:                                             ; preds = %5163
  br label %5165

5165:                                             ; preds = %5164
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #12
  %5166 = call ptr @__errno_location() #13
  %5167 = load i32, ptr %5166, align 4, !tbaa !5
  store i32 %5167, ptr %106, align 4, !tbaa !5
  %5168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5169 = call i32 @s2n_print_stacktrace(ptr noundef %5168)
  %5170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5171 = trunc i8 %5170 to i1
  br i1 %5171, label %5172, label %5194

5172:                                             ; preds = %5165
  %5173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5174 = call i32 @fileno(ptr noundef %5173) #12
  %5175 = call i32 @isatty(i32 noundef %5174) #12
  %5176 = icmp ne i32 %5175, 0
  br i1 %5176, label %5177, label %5194

5177:                                             ; preds = %5172
  %5178 = load i32, ptr %106, align 4, !tbaa !5
  %5179 = call ptr @__errno_location() #13
  store i32 %5178, ptr %5179, align 4, !tbaa !5
  %5180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5181 = load i32, ptr @test_count, align 4, !tbaa !5
  %5182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5183 = load i32, ptr %5182, align 4, !tbaa !5
  %5184 = call ptr @s2n_strerror(i32 noundef %5183, ptr noundef @.str.80)
  %5185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5186 = load i32, ptr %5185, align 4, !tbaa !5
  %5187 = call ptr @s2n_strerror_debug(i32 noundef %5186, ptr noundef @.str.80)
  %5188 = call ptr @__errno_location() #13
  %5189 = load i32, ptr %5188, align 4, !tbaa !5
  %5190 = call ptr @strerror(i32 noundef %5189) #12
  %5191 = call ptr @__errno_location() #13
  %5192 = load i32, ptr %5191, align 4, !tbaa !5
  %5193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5180, ptr noundef @.str.78, i32 noundef %5181, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 194, ptr noundef %5184, ptr noundef %5187, ptr noundef %5190, i32 noundef %5192) #12
  br label %5211

5194:                                             ; preds = %5172, %5165
  %5195 = load i32, ptr %106, align 4, !tbaa !5
  %5196 = call ptr @__errno_location() #13
  store i32 %5195, ptr %5196, align 4, !tbaa !5
  %5197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5198 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5200, ptr noundef @.str.80)
  %5202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5203 = load i32, ptr %5202, align 4, !tbaa !5
  %5204 = call ptr @s2n_strerror_debug(i32 noundef %5203, ptr noundef @.str.80)
  %5205 = call ptr @__errno_location() #13
  %5206 = load i32, ptr %5205, align 4, !tbaa !5
  %5207 = call ptr @strerror(i32 noundef %5206) #12
  %5208 = call ptr @__errno_location() #13
  %5209 = load i32, ptr %5208, align 4, !tbaa !5
  %5210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5197, ptr noundef @.str.81, i32 noundef %5198, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 194, ptr noundef %5201, ptr noundef %5204, ptr noundef %5207, i32 noundef %5209) #12
  br label %5211

5211:                                             ; preds = %5194, %5177
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #12
  br label %5212

5212:                                             ; preds = %5211
  br label %5213

5213:                                             ; preds = %5212
  call void @exit(i32 noundef 1) #14
  unreachable

5214:                                             ; No predecessors!
  br label %5215

5215:                                             ; preds = %5214
  br label %5216

5216:                                             ; preds = %5215, %5157
  br label %5217

5217:                                             ; preds = %5216
  br label %5218

5218:                                             ; preds = %5217
  br label %5219

5219:                                             ; preds = %5218
  %5220 = load i32, ptr @test_count, align 4, !tbaa !5
  %5221 = add nsw i32 %5220, 1
  store i32 %5221, ptr @test_count, align 4, !tbaa !5
  %5222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5223 = load i32, ptr %5222, align 4, !tbaa !5
  %5224 = call ptr @s2n_strerror_debug(i32 noundef %5223, ptr noundef @.str.80)
  %5225 = icmp eq ptr %5224, null
  br i1 %5225, label %5226, label %5279

5226:                                             ; preds = %5219
  br label %5227

5227:                                             ; preds = %5226
  br label %5228

5228:                                             ; preds = %5227
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #12
  %5229 = call ptr @__errno_location() #13
  %5230 = load i32, ptr %5229, align 4, !tbaa !5
  store i32 %5230, ptr %107, align 4, !tbaa !5
  %5231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5232 = call i32 @s2n_print_stacktrace(ptr noundef %5231)
  %5233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5234 = trunc i8 %5233 to i1
  br i1 %5234, label %5235, label %5257

5235:                                             ; preds = %5228
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5237 = call i32 @fileno(ptr noundef %5236) #12
  %5238 = call i32 @isatty(i32 noundef %5237) #12
  %5239 = icmp ne i32 %5238, 0
  br i1 %5239, label %5240, label %5257

5240:                                             ; preds = %5235
  %5241 = load i32, ptr %107, align 4, !tbaa !5
  %5242 = call ptr @__errno_location() #13
  store i32 %5241, ptr %5242, align 4, !tbaa !5
  %5243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5244 = load i32, ptr @test_count, align 4, !tbaa !5
  %5245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5246 = load i32, ptr %5245, align 4, !tbaa !5
  %5247 = call ptr @s2n_strerror(i32 noundef %5246, ptr noundef @.str.80)
  %5248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5249 = load i32, ptr %5248, align 4, !tbaa !5
  %5250 = call ptr @s2n_strerror_debug(i32 noundef %5249, ptr noundef @.str.80)
  %5251 = call ptr @__errno_location() #13
  %5252 = load i32, ptr %5251, align 4, !tbaa !5
  %5253 = call ptr @strerror(i32 noundef %5252) #12
  %5254 = call ptr @__errno_location() #13
  %5255 = load i32, ptr %5254, align 4, !tbaa !5
  %5256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5243, ptr noundef @.str.78, i32 noundef %5244, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 194, ptr noundef %5247, ptr noundef %5250, ptr noundef %5253, i32 noundef %5255) #12
  br label %5274

5257:                                             ; preds = %5235, %5228
  %5258 = load i32, ptr %107, align 4, !tbaa !5
  %5259 = call ptr @__errno_location() #13
  store i32 %5258, ptr %5259, align 4, !tbaa !5
  %5260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5261 = load i32, ptr @test_count, align 4, !tbaa !5
  %5262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5263 = load i32, ptr %5262, align 4, !tbaa !5
  %5264 = call ptr @s2n_strerror(i32 noundef %5263, ptr noundef @.str.80)
  %5265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5266 = load i32, ptr %5265, align 4, !tbaa !5
  %5267 = call ptr @s2n_strerror_debug(i32 noundef %5266, ptr noundef @.str.80)
  %5268 = call ptr @__errno_location() #13
  %5269 = load i32, ptr %5268, align 4, !tbaa !5
  %5270 = call ptr @strerror(i32 noundef %5269) #12
  %5271 = call ptr @__errno_location() #13
  %5272 = load i32, ptr %5271, align 4, !tbaa !5
  %5273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5260, ptr noundef @.str.81, i32 noundef %5261, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 194, ptr noundef %5264, ptr noundef %5267, ptr noundef %5270, i32 noundef %5272) #12
  br label %5274

5274:                                             ; preds = %5257, %5240
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #12
  br label %5275

5275:                                             ; preds = %5274
  br label %5276

5276:                                             ; preds = %5275
  call void @exit(i32 noundef 1) #14
  unreachable

5277:                                             ; No predecessors!
  br label %5278

5278:                                             ; preds = %5277
  br label %5279

5279:                                             ; preds = %5278, %5219
  br label %5280

5280:                                             ; preds = %5279
  br label %5281

5281:                                             ; preds = %5280
  br label %5282

5282:                                             ; preds = %5281
  br label %5283

5283:                                             ; preds = %5282
  br label %5284

5284:                                             ; preds = %5283
  %5285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5285, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5286 = call ptr @__errno_location() #13
  store i32 0, ptr %5286, align 4, !tbaa !5
  br label %5287

5287:                                             ; preds = %5284
  br label %5288

5288:                                             ; preds = %5287
  br label %5289

5289:                                             ; preds = %5288
  br label %5290

5290:                                             ; preds = %5289
  br label %5291

5291:                                             ; preds = %5290
  br label %5292

5292:                                             ; preds = %5291
  br label %5293

5293:                                             ; preds = %5292
  %5294 = load i32, ptr @test_count, align 4, !tbaa !5
  %5295 = add nsw i32 %5294, 1
  store i32 %5295, ptr @test_count, align 4, !tbaa !5
  %5296 = call i32 @s2n_offered_psk_list_read_next(ptr noundef null, ptr noundef %102)
  %5297 = getelementptr inbounds %struct.s2n_result, ptr %108, i32 0, i32 0
  store i32 %5296, ptr %5297, align 4
  %5298 = getelementptr inbounds %struct.s2n_result, ptr %108, i32 0, i32 0
  %5299 = load i32, ptr %5298, align 4
  %5300 = call zeroext i1 @s2n_result_is_error(i32 %5299)
  br i1 %5300, label %5354, label %5301

5301:                                             ; preds = %5293
  br label %5302

5302:                                             ; preds = %5301
  br label %5303

5303:                                             ; preds = %5302
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #12
  %5304 = call ptr @__errno_location() #13
  %5305 = load i32, ptr %5304, align 4, !tbaa !5
  store i32 %5305, ptr %109, align 4, !tbaa !5
  %5306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5307 = call i32 @s2n_print_stacktrace(ptr noundef %5306)
  %5308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5309 = trunc i8 %5308 to i1
  br i1 %5309, label %5310, label %5332

5310:                                             ; preds = %5303
  %5311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5312 = call i32 @fileno(ptr noundef %5311) #12
  %5313 = call i32 @isatty(i32 noundef %5312) #12
  %5314 = icmp ne i32 %5313, 0
  br i1 %5314, label %5315, label %5332

5315:                                             ; preds = %5310
  %5316 = load i32, ptr %109, align 4, !tbaa !5
  %5317 = call ptr @__errno_location() #13
  store i32 %5316, ptr %5317, align 4, !tbaa !5
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5319 = load i32, ptr @test_count, align 4, !tbaa !5
  %5320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5321 = load i32, ptr %5320, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror(i32 noundef %5321, ptr noundef @.str.80)
  %5323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5324 = load i32, ptr %5323, align 4, !tbaa !5
  %5325 = call ptr @s2n_strerror_debug(i32 noundef %5324, ptr noundef @.str.80)
  %5326 = call ptr @__errno_location() #13
  %5327 = load i32, ptr %5326, align 4, !tbaa !5
  %5328 = call ptr @strerror(i32 noundef %5327) #12
  %5329 = call ptr @__errno_location() #13
  %5330 = load i32, ptr %5329, align 4, !tbaa !5
  %5331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5318, ptr noundef @.str.78, i32 noundef %5319, ptr noundef @.str.112, ptr noundef @.str.77, i32 noundef 195, ptr noundef %5322, ptr noundef %5325, ptr noundef %5328, i32 noundef %5330) #12
  br label %5349

5332:                                             ; preds = %5310, %5303
  %5333 = load i32, ptr %109, align 4, !tbaa !5
  %5334 = call ptr @__errno_location() #13
  store i32 %5333, ptr %5334, align 4, !tbaa !5
  %5335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5336 = load i32, ptr @test_count, align 4, !tbaa !5
  %5337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5338 = load i32, ptr %5337, align 4, !tbaa !5
  %5339 = call ptr @s2n_strerror(i32 noundef %5338, ptr noundef @.str.80)
  %5340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5341 = load i32, ptr %5340, align 4, !tbaa !5
  %5342 = call ptr @s2n_strerror_debug(i32 noundef %5341, ptr noundef @.str.80)
  %5343 = call ptr @__errno_location() #13
  %5344 = load i32, ptr %5343, align 4, !tbaa !5
  %5345 = call ptr @strerror(i32 noundef %5344) #12
  %5346 = call ptr @__errno_location() #13
  %5347 = load i32, ptr %5346, align 4, !tbaa !5
  %5348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5335, ptr noundef @.str.81, i32 noundef %5336, ptr noundef @.str.112, ptr noundef @.str.77, i32 noundef 195, ptr noundef %5339, ptr noundef %5342, ptr noundef %5345, i32 noundef %5347) #12
  br label %5349

5349:                                             ; preds = %5332, %5315
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #12
  br label %5350

5350:                                             ; preds = %5349
  br label %5351

5351:                                             ; preds = %5350
  call void @exit(i32 noundef 1) #14
  unreachable

5352:                                             ; No predecessors!
  br label %5353

5353:                                             ; preds = %5352
  br label %5354

5354:                                             ; preds = %5353, %5293
  br label %5355

5355:                                             ; preds = %5354
  br label %5356

5356:                                             ; preds = %5355
  br label %5357

5357:                                             ; preds = %5356
  %5358 = load i32, ptr @test_count, align 4, !tbaa !5
  %5359 = add nsw i32 %5358, 1
  store i32 %5359, ptr @test_count, align 4, !tbaa !5
  %5360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5361 = load i32, ptr %5360, align 4, !tbaa !5
  %5362 = icmp eq i32 %5361, 402653193
  br i1 %5362, label %5416, label %5363

5363:                                             ; preds = %5357
  br label %5364

5364:                                             ; preds = %5363
  br label %5365

5365:                                             ; preds = %5364
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #12
  %5366 = call ptr @__errno_location() #13
  %5367 = load i32, ptr %5366, align 4, !tbaa !5
  store i32 %5367, ptr %110, align 4, !tbaa !5
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = call i32 @s2n_print_stacktrace(ptr noundef %5368)
  %5370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5371 = trunc i8 %5370 to i1
  br i1 %5371, label %5372, label %5394

5372:                                             ; preds = %5365
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = call i32 @fileno(ptr noundef %5373) #12
  %5375 = call i32 @isatty(i32 noundef %5374) #12
  %5376 = icmp ne i32 %5375, 0
  br i1 %5376, label %5377, label %5394

5377:                                             ; preds = %5372
  %5378 = load i32, ptr %110, align 4, !tbaa !5
  %5379 = call ptr @__errno_location() #13
  store i32 %5378, ptr %5379, align 4, !tbaa !5
  %5380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5381 = load i32, ptr @test_count, align 4, !tbaa !5
  %5382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5383 = load i32, ptr %5382, align 4, !tbaa !5
  %5384 = call ptr @s2n_strerror(i32 noundef %5383, ptr noundef @.str.80)
  %5385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5386 = load i32, ptr %5385, align 4, !tbaa !5
  %5387 = call ptr @s2n_strerror_debug(i32 noundef %5386, ptr noundef @.str.80)
  %5388 = call ptr @__errno_location() #13
  %5389 = load i32, ptr %5388, align 4, !tbaa !5
  %5390 = call ptr @strerror(i32 noundef %5389) #12
  %5391 = call ptr @__errno_location() #13
  %5392 = load i32, ptr %5391, align 4, !tbaa !5
  %5393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5380, ptr noundef @.str.78, i32 noundef %5381, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 195, ptr noundef %5384, ptr noundef %5387, ptr noundef %5390, i32 noundef %5392) #12
  br label %5411

5394:                                             ; preds = %5372, %5365
  %5395 = load i32, ptr %110, align 4, !tbaa !5
  %5396 = call ptr @__errno_location() #13
  store i32 %5395, ptr %5396, align 4, !tbaa !5
  %5397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5398 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5400, ptr noundef @.str.80)
  %5402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5403 = load i32, ptr %5402, align 4, !tbaa !5
  %5404 = call ptr @s2n_strerror_debug(i32 noundef %5403, ptr noundef @.str.80)
  %5405 = call ptr @__errno_location() #13
  %5406 = load i32, ptr %5405, align 4, !tbaa !5
  %5407 = call ptr @strerror(i32 noundef %5406) #12
  %5408 = call ptr @__errno_location() #13
  %5409 = load i32, ptr %5408, align 4, !tbaa !5
  %5410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5397, ptr noundef @.str.81, i32 noundef %5398, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 195, ptr noundef %5401, ptr noundef %5404, ptr noundef %5407, i32 noundef %5409) #12
  br label %5411

5411:                                             ; preds = %5394, %5377
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #12
  br label %5412

5412:                                             ; preds = %5411
  br label %5413

5413:                                             ; preds = %5412
  call void @exit(i32 noundef 1) #14
  unreachable

5414:                                             ; No predecessors!
  br label %5415

5415:                                             ; preds = %5414
  br label %5416

5416:                                             ; preds = %5415, %5357
  br label %5417

5417:                                             ; preds = %5416
  br label %5418

5418:                                             ; preds = %5417
  br label %5419

5419:                                             ; preds = %5418
  %5420 = load i32, ptr @test_count, align 4, !tbaa !5
  %5421 = add nsw i32 %5420, 1
  store i32 %5421, ptr @test_count, align 4, !tbaa !5
  %5422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5423 = load i32, ptr %5422, align 4, !tbaa !5
  %5424 = call ptr @s2n_strerror_debug(i32 noundef %5423, ptr noundef @.str.80)
  %5425 = icmp eq ptr %5424, null
  br i1 %5425, label %5426, label %5479

5426:                                             ; preds = %5419
  br label %5427

5427:                                             ; preds = %5426
  br label %5428

5428:                                             ; preds = %5427
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #12
  %5429 = call ptr @__errno_location() #13
  %5430 = load i32, ptr %5429, align 4, !tbaa !5
  store i32 %5430, ptr %111, align 4, !tbaa !5
  %5431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5432 = call i32 @s2n_print_stacktrace(ptr noundef %5431)
  %5433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5434 = trunc i8 %5433 to i1
  br i1 %5434, label %5435, label %5457

5435:                                             ; preds = %5428
  %5436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5437 = call i32 @fileno(ptr noundef %5436) #12
  %5438 = call i32 @isatty(i32 noundef %5437) #12
  %5439 = icmp ne i32 %5438, 0
  br i1 %5439, label %5440, label %5457

5440:                                             ; preds = %5435
  %5441 = load i32, ptr %111, align 4, !tbaa !5
  %5442 = call ptr @__errno_location() #13
  store i32 %5441, ptr %5442, align 4, !tbaa !5
  %5443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5444 = load i32, ptr @test_count, align 4, !tbaa !5
  %5445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5446 = load i32, ptr %5445, align 4, !tbaa !5
  %5447 = call ptr @s2n_strerror(i32 noundef %5446, ptr noundef @.str.80)
  %5448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5449 = load i32, ptr %5448, align 4, !tbaa !5
  %5450 = call ptr @s2n_strerror_debug(i32 noundef %5449, ptr noundef @.str.80)
  %5451 = call ptr @__errno_location() #13
  %5452 = load i32, ptr %5451, align 4, !tbaa !5
  %5453 = call ptr @strerror(i32 noundef %5452) #12
  %5454 = call ptr @__errno_location() #13
  %5455 = load i32, ptr %5454, align 4, !tbaa !5
  %5456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5443, ptr noundef @.str.78, i32 noundef %5444, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 195, ptr noundef %5447, ptr noundef %5450, ptr noundef %5453, i32 noundef %5455) #12
  br label %5474

5457:                                             ; preds = %5435, %5428
  %5458 = load i32, ptr %111, align 4, !tbaa !5
  %5459 = call ptr @__errno_location() #13
  store i32 %5458, ptr %5459, align 4, !tbaa !5
  %5460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5461 = load i32, ptr @test_count, align 4, !tbaa !5
  %5462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5463 = load i32, ptr %5462, align 4, !tbaa !5
  %5464 = call ptr @s2n_strerror(i32 noundef %5463, ptr noundef @.str.80)
  %5465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5466 = load i32, ptr %5465, align 4, !tbaa !5
  %5467 = call ptr @s2n_strerror_debug(i32 noundef %5466, ptr noundef @.str.80)
  %5468 = call ptr @__errno_location() #13
  %5469 = load i32, ptr %5468, align 4, !tbaa !5
  %5470 = call ptr @strerror(i32 noundef %5469) #12
  %5471 = call ptr @__errno_location() #13
  %5472 = load i32, ptr %5471, align 4, !tbaa !5
  %5473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5460, ptr noundef @.str.81, i32 noundef %5461, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 195, ptr noundef %5464, ptr noundef %5467, ptr noundef %5470, i32 noundef %5472) #12
  br label %5474

5474:                                             ; preds = %5457, %5440
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #12
  br label %5475

5475:                                             ; preds = %5474
  br label %5476

5476:                                             ; preds = %5475
  call void @exit(i32 noundef 1) #14
  unreachable

5477:                                             ; No predecessors!
  br label %5478

5478:                                             ; preds = %5477
  br label %5479

5479:                                             ; preds = %5478, %5419
  br label %5480

5480:                                             ; preds = %5479
  br label %5481

5481:                                             ; preds = %5480
  br label %5482

5482:                                             ; preds = %5481
  br label %5483

5483:                                             ; preds = %5482
  br label %5484

5484:                                             ; preds = %5483
  %5485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5485, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5486 = call ptr @__errno_location() #13
  store i32 0, ptr %5486, align 4, !tbaa !5
  br label %5487

5487:                                             ; preds = %5484
  br label %5488

5488:                                             ; preds = %5487
  br label %5489

5489:                                             ; preds = %5488
  br label %5490

5490:                                             ; preds = %5489
  call void @llvm.lifetime.end.p0(i64 56, ptr %103) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %112) #12
  call void @llvm.memset.p0.i64(ptr align 8 %112, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %113) #12
  call void @llvm.memset.p0.i64(ptr align 8 %113, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #12
  %5491 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5491, ptr %114, align 8, !tbaa !9
  br label %5492

5492:                                             ; preds = %5490
  %5493 = load i32, ptr @test_count, align 4, !tbaa !5
  %5494 = add nsw i32 %5493, 1
  store i32 %5494, ptr @test_count, align 4, !tbaa !5
  %5495 = load ptr, ptr %114, align 8, !tbaa !9
  %5496 = icmp eq ptr %5495, null
  br i1 %5496, label %5497, label %5550

5497:                                             ; preds = %5492
  br label %5498

5498:                                             ; preds = %5497
  br label %5499

5499:                                             ; preds = %5498
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #12
  %5500 = call ptr @__errno_location() #13
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  store i32 %5501, ptr %115, align 4, !tbaa !5
  %5502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5503 = call i32 @s2n_print_stacktrace(ptr noundef %5502)
  %5504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5505 = trunc i8 %5504 to i1
  br i1 %5505, label %5506, label %5528

5506:                                             ; preds = %5499
  %5507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5508 = call i32 @fileno(ptr noundef %5507) #12
  %5509 = call i32 @isatty(i32 noundef %5508) #12
  %5510 = icmp ne i32 %5509, 0
  br i1 %5510, label %5511, label %5528

5511:                                             ; preds = %5506
  %5512 = load i32, ptr %115, align 4, !tbaa !5
  %5513 = call ptr @__errno_location() #13
  store i32 %5512, ptr %5513, align 4, !tbaa !5
  %5514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5515 = load i32, ptr @test_count, align 4, !tbaa !5
  %5516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5517 = load i32, ptr %5516, align 4, !tbaa !5
  %5518 = call ptr @s2n_strerror(i32 noundef %5517, ptr noundef @.str.80)
  %5519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5520 = load i32, ptr %5519, align 4, !tbaa !5
  %5521 = call ptr @s2n_strerror_debug(i32 noundef %5520, ptr noundef @.str.80)
  %5522 = call ptr @__errno_location() #13
  %5523 = load i32, ptr %5522, align 4, !tbaa !5
  %5524 = call ptr @strerror(i32 noundef %5523) #12
  %5525 = call ptr @__errno_location() #13
  %5526 = load i32, ptr %5525, align 4, !tbaa !5
  %5527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5514, ptr noundef @.str.78, i32 noundef %5515, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 208, ptr noundef %5518, ptr noundef %5521, ptr noundef %5524, i32 noundef %5526) #12
  br label %5545

5528:                                             ; preds = %5506, %5499
  %5529 = load i32, ptr %115, align 4, !tbaa !5
  %5530 = call ptr @__errno_location() #13
  store i32 %5529, ptr %5530, align 4, !tbaa !5
  %5531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5532 = load i32, ptr @test_count, align 4, !tbaa !5
  %5533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5534 = load i32, ptr %5533, align 4, !tbaa !5
  %5535 = call ptr @s2n_strerror(i32 noundef %5534, ptr noundef @.str.80)
  %5536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5537 = load i32, ptr %5536, align 4, !tbaa !5
  %5538 = call ptr @s2n_strerror_debug(i32 noundef %5537, ptr noundef @.str.80)
  %5539 = call ptr @__errno_location() #13
  %5540 = load i32, ptr %5539, align 4, !tbaa !5
  %5541 = call ptr @strerror(i32 noundef %5540) #12
  %5542 = call ptr @__errno_location() #13
  %5543 = load i32, ptr %5542, align 4, !tbaa !5
  %5544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5531, ptr noundef @.str.81, i32 noundef %5532, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 208, ptr noundef %5535, ptr noundef %5538, ptr noundef %5541, i32 noundef %5543) #12
  br label %5545

5545:                                             ; preds = %5528, %5511
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #12
  br label %5546

5546:                                             ; preds = %5545
  br label %5547

5547:                                             ; preds = %5546
  call void @exit(i32 noundef 1) #14
  unreachable

5548:                                             ; No predecessors!
  br label %5549

5549:                                             ; preds = %5548
  br label %5550

5550:                                             ; preds = %5549, %5492
  br label %5551

5551:                                             ; preds = %5550
  br label %5552

5552:                                             ; preds = %5551
  %5553 = load ptr, ptr %114, align 8, !tbaa !9
  %5554 = getelementptr inbounds %struct.s2n_connection, ptr %5553, i32 0, i32 33
  %5555 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %5554, i32 0, i32 0
  store i32 1, ptr %5555, align 8, !tbaa !23
  %5556 = load ptr, ptr %114, align 8, !tbaa !9
  %5557 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %113, i32 0, i32 0
  store ptr %5556, ptr %5557, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #12
  store i32 100, ptr %116, align 4, !tbaa !5
  br label %5558

5558:                                             ; preds = %5552
  %5559 = load i32, ptr @test_count, align 4, !tbaa !5
  %5560 = add nsw i32 %5559, 1
  store i32 %5560, ptr @test_count, align 4, !tbaa !5
  %5561 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %113, i32 0, i32 1
  %5562 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %5561, i32 noundef 0)
  %5563 = icmp eq i32 %5562, -1
  br i1 %5563, label %5564, label %5617

5564:                                             ; preds = %5558
  br label %5565

5565:                                             ; preds = %5564
  br label %5566

5566:                                             ; preds = %5565
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #12
  %5567 = call ptr @__errno_location() #13
  %5568 = load i32, ptr %5567, align 4, !tbaa !5
  store i32 %5568, ptr %117, align 4, !tbaa !5
  %5569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5570 = call i32 @s2n_print_stacktrace(ptr noundef %5569)
  %5571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5572 = trunc i8 %5571 to i1
  br i1 %5572, label %5573, label %5595

5573:                                             ; preds = %5566
  %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
  %5577 = icmp ne i32 %5576, 0
  br i1 %5577, label %5578, label %5595

5578:                                             ; preds = %5573
  %5579 = load i32, ptr %117, align 4, !tbaa !5
  %5580 = call ptr @__errno_location() #13
  store i32 %5579, ptr %5580, align 4, !tbaa !5
  %5581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5582 = load i32, ptr @test_count, align 4, !tbaa !5
  %5583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5584 = load i32, ptr %5583, align 4, !tbaa !5
  %5585 = call ptr @s2n_strerror(i32 noundef %5584, ptr noundef @.str.80)
  %5586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5587 = load i32, ptr %5586, align 4, !tbaa !5
  %5588 = call ptr @s2n_strerror_debug(i32 noundef %5587, ptr noundef @.str.80)
  %5589 = call ptr @__errno_location() #13
  %5590 = load i32, ptr %5589, align 4, !tbaa !5
  %5591 = call ptr @strerror(i32 noundef %5590) #12
  %5592 = call ptr @__errno_location() #13
  %5593 = load i32, ptr %5592, align 4, !tbaa !5
  %5594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5581, ptr noundef @.str.78, i32 noundef %5582, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 213, ptr noundef %5585, ptr noundef %5588, ptr noundef %5591, i32 noundef %5593) #12
  br label %5612

5595:                                             ; preds = %5573, %5566
  %5596 = load i32, ptr %117, align 4, !tbaa !5
  %5597 = call ptr @__errno_location() #13
  store i32 %5596, ptr %5597, align 4, !tbaa !5
  %5598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5599 = load i32, ptr @test_count, align 4, !tbaa !5
  %5600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5601 = load i32, ptr %5600, align 4, !tbaa !5
  %5602 = call ptr @s2n_strerror(i32 noundef %5601, ptr noundef @.str.80)
  %5603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5604 = load i32, ptr %5603, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror_debug(i32 noundef %5604, ptr noundef @.str.80)
  %5606 = call ptr @__errno_location() #13
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call ptr @strerror(i32 noundef %5607) #12
  %5609 = call ptr @__errno_location() #13
  %5610 = load i32, ptr %5609, align 4, !tbaa !5
  %5611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5598, ptr noundef @.str.81, i32 noundef %5599, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 213, ptr noundef %5602, ptr noundef %5605, ptr noundef %5608, i32 noundef %5610) #12
  br label %5612

5612:                                             ; preds = %5595, %5578
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #12
  br label %5613

5613:                                             ; preds = %5612
  br label %5614

5614:                                             ; preds = %5613
  call void @exit(i32 noundef 1) #14
  unreachable

5615:                                             ; No predecessors!
  br label %5616

5616:                                             ; preds = %5615
  br label %5617

5617:                                             ; preds = %5616, %5558
  br label %5618

5618:                                             ; preds = %5617
  br label %5619

5619:                                             ; preds = %5618
  br label %5620

5620:                                             ; preds = %5619
  %5621 = load i32, ptr @test_count, align 4, !tbaa !5
  %5622 = add nsw i32 %5621, 1
  store i32 %5622, ptr @test_count, align 4, !tbaa !5
  %5623 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %113, i32 0, i32 1
  %5624 = call i32 @s2n_stuffer_write_uint16(ptr noundef %5623, i16 noundef zeroext 4)
  %5625 = icmp eq i32 %5624, -1
  br i1 %5625, label %5626, label %5679

5626:                                             ; preds = %5620
  br label %5627

5627:                                             ; preds = %5626
  br label %5628

5628:                                             ; preds = %5627
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #12
  %5629 = call ptr @__errno_location() #13
  %5630 = load i32, ptr %5629, align 4, !tbaa !5
  store i32 %5630, ptr %118, align 4, !tbaa !5
  %5631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5632 = call i32 @s2n_print_stacktrace(ptr noundef %5631)
  %5633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5634 = trunc i8 %5633 to i1
  br i1 %5634, label %5635, label %5657

5635:                                             ; preds = %5628
  %5636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5637 = call i32 @fileno(ptr noundef %5636) #12
  %5638 = call i32 @isatty(i32 noundef %5637) #12
  %5639 = icmp ne i32 %5638, 0
  br i1 %5639, label %5640, label %5657

5640:                                             ; preds = %5635
  %5641 = load i32, ptr %118, align 4, !tbaa !5
  %5642 = call ptr @__errno_location() #13
  store i32 %5641, ptr %5642, align 4, !tbaa !5
  %5643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5644 = load i32, ptr @test_count, align 4, !tbaa !5
  %5645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5646 = load i32, ptr %5645, align 4, !tbaa !5
  %5647 = call ptr @s2n_strerror(i32 noundef %5646, ptr noundef @.str.80)
  %5648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5649 = load i32, ptr %5648, align 4, !tbaa !5
  %5650 = call ptr @s2n_strerror_debug(i32 noundef %5649, ptr noundef @.str.80)
  %5651 = call ptr @__errno_location() #13
  %5652 = load i32, ptr %5651, align 4, !tbaa !5
  %5653 = call ptr @strerror(i32 noundef %5652) #12
  %5654 = call ptr @__errno_location() #13
  %5655 = load i32, ptr %5654, align 4, !tbaa !5
  %5656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5643, ptr noundef @.str.78, i32 noundef %5644, ptr noundef @.str.113, ptr noundef @.str.77, i32 noundef 214, ptr noundef %5647, ptr noundef %5650, ptr noundef %5653, i32 noundef %5655) #12
  br label %5674

5657:                                             ; preds = %5635, %5628
  %5658 = load i32, ptr %118, align 4, !tbaa !5
  %5659 = call ptr @__errno_location() #13
  store i32 %5658, ptr %5659, align 4, !tbaa !5
  %5660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5661 = load i32, ptr @test_count, align 4, !tbaa !5
  %5662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5663 = load i32, ptr %5662, align 4, !tbaa !5
  %5664 = call ptr @s2n_strerror(i32 noundef %5663, ptr noundef @.str.80)
  %5665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5666 = load i32, ptr %5665, align 4, !tbaa !5
  %5667 = call ptr @s2n_strerror_debug(i32 noundef %5666, ptr noundef @.str.80)
  %5668 = call ptr @__errno_location() #13
  %5669 = load i32, ptr %5668, align 4, !tbaa !5
  %5670 = call ptr @strerror(i32 noundef %5669) #12
  %5671 = call ptr @__errno_location() #13
  %5672 = load i32, ptr %5671, align 4, !tbaa !5
  %5673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5660, ptr noundef @.str.81, i32 noundef %5661, ptr noundef @.str.113, ptr noundef @.str.77, i32 noundef 214, ptr noundef %5664, ptr noundef %5667, ptr noundef %5670, i32 noundef %5672) #12
  br label %5674

5674:                                             ; preds = %5657, %5640
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #12
  br label %5675

5675:                                             ; preds = %5674
  br label %5676

5676:                                             ; preds = %5675
  call void @exit(i32 noundef 1) #14
  unreachable

5677:                                             ; No predecessors!
  br label %5678

5678:                                             ; preds = %5677
  br label %5679

5679:                                             ; preds = %5678, %5620
  br label %5680

5680:                                             ; preds = %5679
  br label %5681

5681:                                             ; preds = %5680
  br label %5682

5682:                                             ; preds = %5681
  %5683 = load i32, ptr @test_count, align 4, !tbaa !5
  %5684 = add nsw i32 %5683, 1
  store i32 %5684, ptr @test_count, align 4, !tbaa !5
  %5685 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %113, i32 0, i32 1
  %5686 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %5687 = call i32 @s2n_stuffer_write_bytes(ptr noundef %5685, ptr noundef %5686, i32 noundef 4)
  %5688 = icmp eq i32 %5687, -1
  br i1 %5688, label %5689, label %5742

5689:                                             ; preds = %5682
  br label %5690

5690:                                             ; preds = %5689
  br label %5691

5691:                                             ; preds = %5690
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #12
  %5692 = call ptr @__errno_location() #13
  %5693 = load i32, ptr %5692, align 4, !tbaa !5
  store i32 %5693, ptr %119, align 4, !tbaa !5
  %5694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5695 = call i32 @s2n_print_stacktrace(ptr noundef %5694)
  %5696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5697 = trunc i8 %5696 to i1
  br i1 %5697, label %5698, label %5720

5698:                                             ; preds = %5691
  %5699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5700 = call i32 @fileno(ptr noundef %5699) #12
  %5701 = call i32 @isatty(i32 noundef %5700) #12
  %5702 = icmp ne i32 %5701, 0
  br i1 %5702, label %5703, label %5720

5703:                                             ; preds = %5698
  %5704 = load i32, ptr %119, align 4, !tbaa !5
  %5705 = call ptr @__errno_location() #13
  store i32 %5704, ptr %5705, align 4, !tbaa !5
  %5706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5707 = load i32, ptr @test_count, align 4, !tbaa !5
  %5708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5709 = load i32, ptr %5708, align 4, !tbaa !5
  %5710 = call ptr @s2n_strerror(i32 noundef %5709, ptr noundef @.str.80)
  %5711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5712 = load i32, ptr %5711, align 4, !tbaa !5
  %5713 = call ptr @s2n_strerror_debug(i32 noundef %5712, ptr noundef @.str.80)
  %5714 = call ptr @__errno_location() #13
  %5715 = load i32, ptr %5714, align 4, !tbaa !5
  %5716 = call ptr @strerror(i32 noundef %5715) #12
  %5717 = call ptr @__errno_location() #13
  %5718 = load i32, ptr %5717, align 4, !tbaa !5
  %5719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5706, ptr noundef @.str.78, i32 noundef %5707, ptr noundef @.str.114, ptr noundef @.str.77, i32 noundef 215, ptr noundef %5710, ptr noundef %5713, ptr noundef %5716, i32 noundef %5718) #12
  br label %5737

5720:                                             ; preds = %5698, %5691
  %5721 = load i32, ptr %119, align 4, !tbaa !5
  %5722 = call ptr @__errno_location() #13
  store i32 %5721, ptr %5722, align 4, !tbaa !5
  %5723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5724 = load i32, ptr @test_count, align 4, !tbaa !5
  %5725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5726 = load i32, ptr %5725, align 4, !tbaa !5
  %5727 = call ptr @s2n_strerror(i32 noundef %5726, ptr noundef @.str.80)
  %5728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5729 = load i32, ptr %5728, align 4, !tbaa !5
  %5730 = call ptr @s2n_strerror_debug(i32 noundef %5729, ptr noundef @.str.80)
  %5731 = call ptr @__errno_location() #13
  %5732 = load i32, ptr %5731, align 4, !tbaa !5
  %5733 = call ptr @strerror(i32 noundef %5732) #12
  %5734 = call ptr @__errno_location() #13
  %5735 = load i32, ptr %5734, align 4, !tbaa !5
  %5736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5723, ptr noundef @.str.81, i32 noundef %5724, ptr noundef @.str.114, ptr noundef @.str.77, i32 noundef 215, ptr noundef %5727, ptr noundef %5730, ptr noundef %5733, i32 noundef %5735) #12
  br label %5737

5737:                                             ; preds = %5720, %5703
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #12
  br label %5738

5738:                                             ; preds = %5737
  br label %5739

5739:                                             ; preds = %5738
  call void @exit(i32 noundef 1) #14
  unreachable

5740:                                             ; No predecessors!
  br label %5741

5741:                                             ; preds = %5740
  br label %5742

5742:                                             ; preds = %5741, %5682
  br label %5743

5743:                                             ; preds = %5742
  br label %5744

5744:                                             ; preds = %5743
  br label %5745

5745:                                             ; preds = %5744
  %5746 = load i32, ptr @test_count, align 4, !tbaa !5
  %5747 = add nsw i32 %5746, 1
  store i32 %5747, ptr @test_count, align 4, !tbaa !5
  %5748 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %113, i32 0, i32 1
  %5749 = load i32, ptr %116, align 4, !tbaa !5
  %5750 = call i32 @s2n_stuffer_write_uint32(ptr noundef %5748, i32 noundef %5749)
  %5751 = icmp eq i32 %5750, -1
  br i1 %5751, label %5752, label %5805

5752:                                             ; preds = %5745
  br label %5753

5753:                                             ; preds = %5752
  br label %5754

5754:                                             ; preds = %5753
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #12
  %5755 = call ptr @__errno_location() #13
  %5756 = load i32, ptr %5755, align 4, !tbaa !5
  store i32 %5756, ptr %120, align 4, !tbaa !5
  %5757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5758 = call i32 @s2n_print_stacktrace(ptr noundef %5757)
  %5759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5760 = trunc i8 %5759 to i1
  br i1 %5760, label %5761, label %5783

5761:                                             ; preds = %5754
  %5762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5763 = call i32 @fileno(ptr noundef %5762) #12
  %5764 = call i32 @isatty(i32 noundef %5763) #12
  %5765 = icmp ne i32 %5764, 0
  br i1 %5765, label %5766, label %5783

5766:                                             ; preds = %5761
  %5767 = load i32, ptr %120, align 4, !tbaa !5
  %5768 = call ptr @__errno_location() #13
  store i32 %5767, ptr %5768, align 4, !tbaa !5
  %5769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5770 = load i32, ptr @test_count, align 4, !tbaa !5
  %5771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5772 = load i32, ptr %5771, align 4, !tbaa !5
  %5773 = call ptr @s2n_strerror(i32 noundef %5772, ptr noundef @.str.80)
  %5774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5775 = load i32, ptr %5774, align 4, !tbaa !5
  %5776 = call ptr @s2n_strerror_debug(i32 noundef %5775, ptr noundef @.str.80)
  %5777 = call ptr @__errno_location() #13
  %5778 = load i32, ptr %5777, align 4, !tbaa !5
  %5779 = call ptr @strerror(i32 noundef %5778) #12
  %5780 = call ptr @__errno_location() #13
  %5781 = load i32, ptr %5780, align 4, !tbaa !5
  %5782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5769, ptr noundef @.str.78, i32 noundef %5770, ptr noundef @.str.115, ptr noundef @.str.77, i32 noundef 216, ptr noundef %5773, ptr noundef %5776, ptr noundef %5779, i32 noundef %5781) #12
  br label %5800

5783:                                             ; preds = %5761, %5754
  %5784 = load i32, ptr %120, align 4, !tbaa !5
  %5785 = call ptr @__errno_location() #13
  store i32 %5784, ptr %5785, align 4, !tbaa !5
  %5786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5787 = load i32, ptr @test_count, align 4, !tbaa !5
  %5788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5789 = load i32, ptr %5788, align 4, !tbaa !5
  %5790 = call ptr @s2n_strerror(i32 noundef %5789, ptr noundef @.str.80)
  %5791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5792 = load i32, ptr %5791, align 4, !tbaa !5
  %5793 = call ptr @s2n_strerror_debug(i32 noundef %5792, ptr noundef @.str.80)
  %5794 = call ptr @__errno_location() #13
  %5795 = load i32, ptr %5794, align 4, !tbaa !5
  %5796 = call ptr @strerror(i32 noundef %5795) #12
  %5797 = call ptr @__errno_location() #13
  %5798 = load i32, ptr %5797, align 4, !tbaa !5
  %5799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5786, ptr noundef @.str.81, i32 noundef %5787, ptr noundef @.str.115, ptr noundef @.str.77, i32 noundef 216, ptr noundef %5790, ptr noundef %5793, ptr noundef %5796, i32 noundef %5798) #12
  br label %5800

5800:                                             ; preds = %5783, %5766
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #12
  br label %5801

5801:                                             ; preds = %5800
  br label %5802

5802:                                             ; preds = %5801
  call void @exit(i32 noundef 1) #14
  unreachable

5803:                                             ; No predecessors!
  br label %5804

5804:                                             ; preds = %5803
  br label %5805

5805:                                             ; preds = %5804, %5745
  br label %5806

5806:                                             ; preds = %5805
  br label %5807

5807:                                             ; preds = %5806
  br label %5808

5808:                                             ; preds = %5807
  %5809 = load i32, ptr @test_count, align 4, !tbaa !5
  %5810 = add nsw i32 %5809, 1
  store i32 %5810, ptr @test_count, align 4, !tbaa !5
  %5811 = call i32 @s2n_offered_psk_list_read_next(ptr noundef %113, ptr noundef %112)
  %5812 = getelementptr inbounds %struct.s2n_result, ptr %121, i32 0, i32 0
  store i32 %5811, ptr %5812, align 4
  %5813 = getelementptr inbounds %struct.s2n_result, ptr %121, i32 0, i32 0
  %5814 = load i32, ptr %5813, align 4
  %5815 = call zeroext i1 @s2n_result_is_ok(i32 %5814)
  br i1 %5815, label %5869, label %5816

5816:                                             ; preds = %5808
  br label %5817

5817:                                             ; preds = %5816
  br label %5818

5818:                                             ; preds = %5817
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #12
  %5819 = call ptr @__errno_location() #13
  %5820 = load i32, ptr %5819, align 4, !tbaa !5
  store i32 %5820, ptr %122, align 4, !tbaa !5
  %5821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5822 = call i32 @s2n_print_stacktrace(ptr noundef %5821)
  %5823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5824 = trunc i8 %5823 to i1
  br i1 %5824, label %5825, label %5847

5825:                                             ; preds = %5818
  %5826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5827 = call i32 @fileno(ptr noundef %5826) #12
  %5828 = call i32 @isatty(i32 noundef %5827) #12
  %5829 = icmp ne i32 %5828, 0
  br i1 %5829, label %5830, label %5847

5830:                                             ; preds = %5825
  %5831 = load i32, ptr %122, align 4, !tbaa !5
  %5832 = call ptr @__errno_location() #13
  store i32 %5831, ptr %5832, align 4, !tbaa !5
  %5833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5834 = load i32, ptr @test_count, align 4, !tbaa !5
  %5835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5836 = load i32, ptr %5835, align 4, !tbaa !5
  %5837 = call ptr @s2n_strerror(i32 noundef %5836, ptr noundef @.str.80)
  %5838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5839 = load i32, ptr %5838, align 4, !tbaa !5
  %5840 = call ptr @s2n_strerror_debug(i32 noundef %5839, ptr noundef @.str.80)
  %5841 = call ptr @__errno_location() #13
  %5842 = load i32, ptr %5841, align 4, !tbaa !5
  %5843 = call ptr @strerror(i32 noundef %5842) #12
  %5844 = call ptr @__errno_location() #13
  %5845 = load i32, ptr %5844, align 4, !tbaa !5
  %5846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5833, ptr noundef @.str.78, i32 noundef %5834, ptr noundef @.str.116, ptr noundef @.str.77, i32 noundef 218, ptr noundef %5837, ptr noundef %5840, ptr noundef %5843, i32 noundef %5845) #12
  br label %5864

5847:                                             ; preds = %5825, %5818
  %5848 = load i32, ptr %122, align 4, !tbaa !5
  %5849 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %5858 = call ptr @__errno_location() #13
  %5859 = load i32, ptr %5858, align 4, !tbaa !5
  %5860 = call ptr @strerror(i32 noundef %5859) #12
  %5861 = call ptr @__errno_location() #13
  %5862 = load i32, ptr %5861, align 4, !tbaa !5
  %5863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5850, ptr noundef @.str.81, i32 noundef %5851, ptr noundef @.str.116, ptr noundef @.str.77, i32 noundef 218, ptr noundef %5854, ptr noundef %5857, ptr noundef %5860, i32 noundef %5862) #12
  br label %5864

5864:                                             ; preds = %5847, %5830
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #12
  br label %5865

5865:                                             ; preds = %5864
  br label %5866

5866:                                             ; preds = %5865
  call void @exit(i32 noundef 1) #14
  unreachable

5867:                                             ; No predecessors!
  br label %5868

5868:                                             ; preds = %5867
  br label %5869

5869:                                             ; preds = %5868, %5808
  br label %5870

5870:                                             ; preds = %5869
  br label %5871

5871:                                             ; preds = %5870
  br label %5872

5872:                                             ; preds = %5871
  %5873 = load i32, ptr @test_count, align 4, !tbaa !5
  %5874 = add nsw i32 %5873, 1
  store i32 %5874, ptr @test_count, align 4, !tbaa !5
  %5875 = getelementptr inbounds %struct.s2n_offered_psk, ptr %112, i32 0, i32 2
  %5876 = load i32, ptr %5875, align 4, !tbaa !47
  %5877 = icmp eq i32 %5876, 0
  br i1 %5877, label %5931, label %5878

5878:                                             ; preds = %5872
  br label %5879

5879:                                             ; preds = %5878
  br label %5880

5880:                                             ; preds = %5879
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #12
  %5881 = call ptr @__errno_location() #13
  %5882 = load i32, ptr %5881, align 4, !tbaa !5
  store i32 %5882, ptr %123, align 4, !tbaa !5
  %5883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5884 = call i32 @s2n_print_stacktrace(ptr noundef %5883)
  %5885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5886 = trunc i8 %5885 to i1
  br i1 %5886, label %5887, label %5909

5887:                                             ; preds = %5880
  %5888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5889 = call i32 @fileno(ptr noundef %5888) #12
  %5890 = call i32 @isatty(i32 noundef %5889) #12
  %5891 = icmp ne i32 %5890, 0
  br i1 %5891, label %5892, label %5909

5892:                                             ; preds = %5887
  %5893 = load i32, ptr %123, align 4, !tbaa !5
  %5894 = call ptr @__errno_location() #13
  store i32 %5893, ptr %5894, align 4, !tbaa !5
  %5895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5896 = load i32, ptr @test_count, align 4, !tbaa !5
  %5897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5898 = load i32, ptr %5897, align 4, !tbaa !5
  %5899 = call ptr @s2n_strerror(i32 noundef %5898, ptr noundef @.str.80)
  %5900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5901 = load i32, ptr %5900, align 4, !tbaa !5
  %5902 = call ptr @s2n_strerror_debug(i32 noundef %5901, ptr noundef @.str.80)
  %5903 = call ptr @__errno_location() #13
  %5904 = load i32, ptr %5903, align 4, !tbaa !5
  %5905 = call ptr @strerror(i32 noundef %5904) #12
  %5906 = call ptr @__errno_location() #13
  %5907 = load i32, ptr %5906, align 4, !tbaa !5
  %5908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5895, ptr noundef @.str.78, i32 noundef %5896, ptr noundef @.str.117, ptr noundef @.str.77, i32 noundef 220, ptr noundef %5899, ptr noundef %5902, ptr noundef %5905, i32 noundef %5907) #12
  br label %5926

5909:                                             ; preds = %5887, %5880
  %5910 = load i32, ptr %123, align 4, !tbaa !5
  %5911 = call ptr @__errno_location() #13
  store i32 %5910, ptr %5911, align 4, !tbaa !5
  %5912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5913 = load i32, ptr @test_count, align 4, !tbaa !5
  %5914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5915 = load i32, ptr %5914, align 4, !tbaa !5
  %5916 = call ptr @s2n_strerror(i32 noundef %5915, ptr noundef @.str.80)
  %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_debug(i32 noundef %5918, ptr noundef @.str.80)
  %5920 = call ptr @__errno_location() #13
  %5921 = load i32, ptr %5920, align 4, !tbaa !5
  %5922 = call ptr @strerror(i32 noundef %5921) #12
  %5923 = call ptr @__errno_location() #13
  %5924 = load i32, ptr %5923, align 4, !tbaa !5
  %5925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5912, ptr noundef @.str.81, i32 noundef %5913, ptr noundef @.str.117, ptr noundef @.str.77, i32 noundef 220, ptr noundef %5916, ptr noundef %5919, ptr noundef %5922, i32 noundef %5924) #12
  br label %5926

5926:                                             ; preds = %5909, %5892
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #12
  br label %5927

5927:                                             ; preds = %5926
  br label %5928

5928:                                             ; preds = %5927
  call void @exit(i32 noundef 1) #14
  unreachable

5929:                                             ; No predecessors!
  br label %5930

5930:                                             ; preds = %5929
  br label %5931

5931:                                             ; preds = %5930, %5872
  br label %5932

5932:                                             ; preds = %5931
  br label %5933

5933:                                             ; preds = %5932
  br label %5934

5934:                                             ; preds = %5933
  %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 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %113, i32 0, i32 1
  %5938 = call i32 @s2n_stuffer_free(ptr noundef %5937)
  %5939 = icmp eq i32 %5938, -1
  br i1 %5939, label %5940, label %5993

5940:                                             ; preds = %5934
  br label %5941

5941:                                             ; preds = %5940
  br label %5942

5942:                                             ; preds = %5941
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #12
  %5943 = call ptr @__errno_location() #13
  %5944 = load i32, ptr %5943, align 4, !tbaa !5
  store i32 %5944, ptr %124, align 4, !tbaa !5
  %5945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5946 = call i32 @s2n_print_stacktrace(ptr noundef %5945)
  %5947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5948 = trunc i8 %5947 to i1
  br i1 %5948, label %5949, label %5971

5949:                                             ; preds = %5942
  %5950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5951 = call i32 @fileno(ptr noundef %5950) #12
  %5952 = call i32 @isatty(i32 noundef %5951) #12
  %5953 = icmp ne i32 %5952, 0
  br i1 %5953, label %5954, label %5971

5954:                                             ; preds = %5949
  %5955 = load i32, ptr %124, align 4, !tbaa !5
  %5956 = call ptr @__errno_location() #13
  store i32 %5955, ptr %5956, align 4, !tbaa !5
  %5957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5958 = load i32, ptr @test_count, align 4, !tbaa !5
  %5959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5960 = load i32, ptr %5959, align 4, !tbaa !5
  %5961 = call ptr @s2n_strerror(i32 noundef %5960, ptr noundef @.str.80)
  %5962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5963 = load i32, ptr %5962, align 4, !tbaa !5
  %5964 = call ptr @s2n_strerror_debug(i32 noundef %5963, ptr noundef @.str.80)
  %5965 = call ptr @__errno_location() #13
  %5966 = load i32, ptr %5965, align 4, !tbaa !5
  %5967 = call ptr @strerror(i32 noundef %5966) #12
  %5968 = call ptr @__errno_location() #13
  %5969 = load i32, ptr %5968, align 4, !tbaa !5
  %5970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5957, ptr noundef @.str.78, i32 noundef %5958, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 222, ptr noundef %5961, ptr noundef %5964, ptr noundef %5967, i32 noundef %5969) #12
  br label %5988

5971:                                             ; preds = %5949, %5942
  %5972 = load i32, ptr %124, align 4, !tbaa !5
  %5973 = call ptr @__errno_location() #13
  store i32 %5972, ptr %5973, align 4, !tbaa !5
  %5974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5975 = load i32, ptr @test_count, align 4, !tbaa !5
  %5976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5977 = load i32, ptr %5976, align 4, !tbaa !5
  %5978 = call ptr @s2n_strerror(i32 noundef %5977, ptr noundef @.str.80)
  %5979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5980 = load i32, ptr %5979, align 4, !tbaa !5
  %5981 = call ptr @s2n_strerror_debug(i32 noundef %5980, ptr noundef @.str.80)
  %5982 = call ptr @__errno_location() #13
  %5983 = load i32, ptr %5982, align 4, !tbaa !5
  %5984 = call ptr @strerror(i32 noundef %5983) #12
  %5985 = call ptr @__errno_location() #13
  %5986 = load i32, ptr %5985, align 4, !tbaa !5
  %5987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5974, ptr noundef @.str.81, i32 noundef %5975, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 222, ptr noundef %5978, ptr noundef %5981, ptr noundef %5984, i32 noundef %5986) #12
  br label %5988

5988:                                             ; preds = %5971, %5954
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #12
  br label %5989

5989:                                             ; preds = %5988
  br label %5990

5990:                                             ; preds = %5989
  call void @exit(i32 noundef 1) #14
  unreachable

5991:                                             ; No predecessors!
  br label %5992

5992:                                             ; preds = %5991
  br label %5993

5993:                                             ; preds = %5992, %5934
  br label %5994

5994:                                             ; preds = %5993
  br label %5995

5995:                                             ; preds = %5994
  br label %5996

5996:                                             ; preds = %5995
  %5997 = load i32, ptr @test_count, align 4, !tbaa !5
  %5998 = add nsw i32 %5997, 1
  store i32 %5998, ptr @test_count, align 4, !tbaa !5
  %5999 = load ptr, ptr %114, align 8, !tbaa !9
  %6000 = call i32 @s2n_connection_free(ptr noundef %5999)
  %6001 = icmp eq i32 %6000, -1
  br i1 %6001, label %6002, label %6055

6002:                                             ; preds = %5996
  br label %6003

6003:                                             ; preds = %6002
  br label %6004

6004:                                             ; preds = %6003
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #12
  %6005 = call ptr @__errno_location() #13
  %6006 = load i32, ptr %6005, align 4, !tbaa !5
  store i32 %6006, ptr %125, align 4, !tbaa !5
  %6007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6008 = call i32 @s2n_print_stacktrace(ptr noundef %6007)
  %6009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6010 = trunc i8 %6009 to i1
  br i1 %6010, label %6011, label %6033

6011:                                             ; preds = %6004
  %6012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6013 = call i32 @fileno(ptr noundef %6012) #12
  %6014 = call i32 @isatty(i32 noundef %6013) #12
  %6015 = icmp ne i32 %6014, 0
  br i1 %6015, label %6016, label %6033

6016:                                             ; preds = %6011
  %6017 = load i32, ptr %125, align 4, !tbaa !5
  %6018 = call ptr @__errno_location() #13
  store i32 %6017, ptr %6018, align 4, !tbaa !5
  %6019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6020 = load i32, ptr @test_count, align 4, !tbaa !5
  %6021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6022 = load i32, ptr %6021, align 4, !tbaa !5
  %6023 = call ptr @s2n_strerror(i32 noundef %6022, ptr noundef @.str.80)
  %6024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6025 = load i32, ptr %6024, align 4, !tbaa !5
  %6026 = call ptr @s2n_strerror_debug(i32 noundef %6025, ptr noundef @.str.80)
  %6027 = call ptr @__errno_location() #13
  %6028 = load i32, ptr %6027, align 4, !tbaa !5
  %6029 = call ptr @strerror(i32 noundef %6028) #12
  %6030 = call ptr @__errno_location() #13
  %6031 = load i32, ptr %6030, align 4, !tbaa !5
  %6032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6019, ptr noundef @.str.78, i32 noundef %6020, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 223, ptr noundef %6023, ptr noundef %6026, ptr noundef %6029, i32 noundef %6031) #12
  br label %6050

6033:                                             ; preds = %6011, %6004
  %6034 = load i32, ptr %125, align 4, !tbaa !5
  %6035 = call ptr @__errno_location() #13
  store i32 %6034, ptr %6035, align 4, !tbaa !5
  %6036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6037 = load i32, ptr @test_count, align 4, !tbaa !5
  %6038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6039 = load i32, ptr %6038, align 4, !tbaa !5
  %6040 = call ptr @s2n_strerror(i32 noundef %6039, ptr noundef @.str.80)
  %6041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6042 = load i32, ptr %6041, align 4, !tbaa !5
  %6043 = call ptr @s2n_strerror_debug(i32 noundef %6042, ptr noundef @.str.80)
  %6044 = call ptr @__errno_location() #13
  %6045 = load i32, ptr %6044, align 4, !tbaa !5
  %6046 = call ptr @strerror(i32 noundef %6045) #12
  %6047 = call ptr @__errno_location() #13
  %6048 = load i32, ptr %6047, align 4, !tbaa !5
  %6049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6036, ptr noundef @.str.81, i32 noundef %6037, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 223, ptr noundef %6040, ptr noundef %6043, ptr noundef %6046, i32 noundef %6048) #12
  br label %6050

6050:                                             ; preds = %6033, %6016
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #12
  br label %6051

6051:                                             ; preds = %6050
  br label %6052

6052:                                             ; preds = %6051
  call void @exit(i32 noundef 1) #14
  unreachable

6053:                                             ; No predecessors!
  br label %6054

6054:                                             ; preds = %6053
  br label %6055

6055:                                             ; preds = %6054, %5996
  br label %6056

6056:                                             ; preds = %6055
  br label %6057

6057:                                             ; preds = %6056
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %113) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %126) #12
  call void @llvm.memset.p0.i64(ptr align 8 %126, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %127) #12
  call void @llvm.memset.p0.i64(ptr align 8 %127, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #12
  %6058 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6058, ptr %128, align 8, !tbaa !9
  br label %6059

6059:                                             ; preds = %6057
  %6060 = load i32, ptr @test_count, align 4, !tbaa !5
  %6061 = add nsw i32 %6060, 1
  store i32 %6061, ptr @test_count, align 4, !tbaa !5
  %6062 = load ptr, ptr %128, align 8, !tbaa !9
  %6063 = icmp eq ptr %6062, null
  br i1 %6063, label %6064, label %6117

6064:                                             ; preds = %6059
  br label %6065

6065:                                             ; preds = %6064
  br label %6066

6066:                                             ; preds = %6065
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #12
  %6067 = call ptr @__errno_location() #13
  %6068 = load i32, ptr %6067, align 4, !tbaa !5
  store i32 %6068, ptr %129, align 4, !tbaa !5
  %6069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6070 = call i32 @s2n_print_stacktrace(ptr noundef %6069)
  %6071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6072 = trunc i8 %6071 to i1
  br i1 %6072, label %6073, label %6095

6073:                                             ; preds = %6066
  %6074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6075 = call i32 @fileno(ptr noundef %6074) #12
  %6076 = call i32 @isatty(i32 noundef %6075) #12
  %6077 = icmp ne i32 %6076, 0
  br i1 %6077, label %6078, label %6095

6078:                                             ; preds = %6073
  %6079 = load i32, ptr %129, align 4, !tbaa !5
  %6080 = call ptr @__errno_location() #13
  store i32 %6079, ptr %6080, align 4, !tbaa !5
  %6081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6082 = load i32, ptr @test_count, align 4, !tbaa !5
  %6083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  %6085 = call ptr @s2n_strerror(i32 noundef %6084, ptr noundef @.str.80)
  %6086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call ptr @s2n_strerror_debug(i32 noundef %6087, ptr noundef @.str.80)
  %6089 = call ptr @__errno_location() #13
  %6090 = load i32, ptr %6089, align 4, !tbaa !5
  %6091 = call ptr @strerror(i32 noundef %6090) #12
  %6092 = call ptr @__errno_location() #13
  %6093 = load i32, ptr %6092, align 4, !tbaa !5
  %6094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6081, ptr noundef @.str.78, i32 noundef %6082, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 231, ptr noundef %6085, ptr noundef %6088, ptr noundef %6091, i32 noundef %6093) #12
  br label %6112

6095:                                             ; preds = %6073, %6066
  %6096 = load i32, ptr %129, align 4, !tbaa !5
  %6097 = call ptr @__errno_location() #13
  store i32 %6096, ptr %6097, align 4, !tbaa !5
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = load i32, ptr @test_count, align 4, !tbaa !5
  %6100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6101 = load i32, ptr %6100, align 4, !tbaa !5
  %6102 = call ptr @s2n_strerror(i32 noundef %6101, ptr noundef @.str.80)
  %6103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6104 = load i32, ptr %6103, align 4, !tbaa !5
  %6105 = call ptr @s2n_strerror_debug(i32 noundef %6104, ptr noundef @.str.80)
  %6106 = call ptr @__errno_location() #13
  %6107 = load i32, ptr %6106, align 4, !tbaa !5
  %6108 = call ptr @strerror(i32 noundef %6107) #12
  %6109 = call ptr @__errno_location() #13
  %6110 = load i32, ptr %6109, align 4, !tbaa !5
  %6111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6098, ptr noundef @.str.81, i32 noundef %6099, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 231, ptr noundef %6102, ptr noundef %6105, ptr noundef %6108, i32 noundef %6110) #12
  br label %6112

6112:                                             ; preds = %6095, %6078
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #12
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

6114:                                             ; preds = %6113
  call void @exit(i32 noundef 1) #14
  unreachable

6115:                                             ; No predecessors!
  br label %6116

6116:                                             ; preds = %6115
  br label %6117

6117:                                             ; preds = %6116, %6059
  br label %6118

6118:                                             ; preds = %6117
  br label %6119

6119:                                             ; preds = %6118
  %6120 = load ptr, ptr %128, align 8, !tbaa !9
  %6121 = getelementptr inbounds %struct.s2n_connection, ptr %6120, i32 0, i32 33
  %6122 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %6121, i32 0, i32 0
  store i32 0, ptr %6122, align 8, !tbaa !23
  %6123 = load ptr, ptr %128, align 8, !tbaa !9
  %6124 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %127, i32 0, i32 0
  store ptr %6123, ptr %6124, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #12
  store i32 100, ptr %130, align 4, !tbaa !5
  br label %6125

6125:                                             ; preds = %6119
  %6126 = load i32, ptr @test_count, align 4, !tbaa !5
  %6127 = add nsw i32 %6126, 1
  store i32 %6127, ptr @test_count, align 4, !tbaa !5
  %6128 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %127, i32 0, i32 1
  %6129 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %6128, i32 noundef 0)
  %6130 = icmp eq i32 %6129, -1
  br i1 %6130, label %6131, label %6184

6131:                                             ; preds = %6125
  br label %6132

6132:                                             ; preds = %6131
  br label %6133

6133:                                             ; preds = %6132
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #12
  %6134 = call ptr @__errno_location() #13
  %6135 = load i32, ptr %6134, align 4, !tbaa !5
  store i32 %6135, ptr %131, align 4, !tbaa !5
  %6136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6137 = call i32 @s2n_print_stacktrace(ptr noundef %6136)
  %6138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6139 = trunc i8 %6138 to i1
  br i1 %6139, label %6140, label %6162

6140:                                             ; preds = %6133
  %6141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6142 = call i32 @fileno(ptr noundef %6141) #12
  %6143 = call i32 @isatty(i32 noundef %6142) #12
  %6144 = icmp ne i32 %6143, 0
  br i1 %6144, label %6145, label %6162

6145:                                             ; preds = %6140
  %6146 = load i32, ptr %131, align 4, !tbaa !5
  %6147 = call ptr @__errno_location() #13
  store i32 %6146, ptr %6147, align 4, !tbaa !5
  %6148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6149 = load i32, ptr @test_count, align 4, !tbaa !5
  %6150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6151 = load i32, ptr %6150, align 4, !tbaa !5
  %6152 = call ptr @s2n_strerror(i32 noundef %6151, ptr noundef @.str.80)
  %6153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6154 = load i32, ptr %6153, align 4, !tbaa !5
  %6155 = call ptr @s2n_strerror_debug(i32 noundef %6154, ptr noundef @.str.80)
  %6156 = call ptr @__errno_location() #13
  %6157 = load i32, ptr %6156, align 4, !tbaa !5
  %6158 = call ptr @strerror(i32 noundef %6157) #12
  %6159 = call ptr @__errno_location() #13
  %6160 = load i32, ptr %6159, align 4, !tbaa !5
  %6161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6148, ptr noundef @.str.78, i32 noundef %6149, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 236, ptr noundef %6152, ptr noundef %6155, ptr noundef %6158, i32 noundef %6160) #12
  br label %6179

6162:                                             ; preds = %6140, %6133
  %6163 = load i32, ptr %131, align 4, !tbaa !5
  %6164 = call ptr @__errno_location() #13
  store i32 %6163, ptr %6164, align 4, !tbaa !5
  %6165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6166 = load i32, ptr @test_count, align 4, !tbaa !5
  %6167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6168 = load i32, ptr %6167, align 4, !tbaa !5
  %6169 = call ptr @s2n_strerror(i32 noundef %6168, ptr noundef @.str.80)
  %6170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6171 = load i32, ptr %6170, align 4, !tbaa !5
  %6172 = call ptr @s2n_strerror_debug(i32 noundef %6171, ptr noundef @.str.80)
  %6173 = call ptr @__errno_location() #13
  %6174 = load i32, ptr %6173, align 4, !tbaa !5
  %6175 = call ptr @strerror(i32 noundef %6174) #12
  %6176 = call ptr @__errno_location() #13
  %6177 = load i32, ptr %6176, align 4, !tbaa !5
  %6178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6165, ptr noundef @.str.81, i32 noundef %6166, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 236, ptr noundef %6169, ptr noundef %6172, ptr noundef %6175, i32 noundef %6177) #12
  br label %6179

6179:                                             ; preds = %6162, %6145
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #12
  br label %6180

6180:                                             ; preds = %6179
  br label %6181

6181:                                             ; preds = %6180
  call void @exit(i32 noundef 1) #14
  unreachable

6182:                                             ; No predecessors!
  br label %6183

6183:                                             ; preds = %6182
  br label %6184

6184:                                             ; preds = %6183, %6125
  br label %6185

6185:                                             ; preds = %6184
  br label %6186

6186:                                             ; preds = %6185
  br label %6187

6187:                                             ; preds = %6186
  %6188 = load i32, ptr @test_count, align 4, !tbaa !5
  %6189 = add nsw i32 %6188, 1
  store i32 %6189, ptr @test_count, align 4, !tbaa !5
  %6190 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %127, i32 0, i32 1
  %6191 = call i32 @s2n_stuffer_write_uint16(ptr noundef %6190, i16 noundef zeroext 4)
  %6192 = icmp eq i32 %6191, -1
  br i1 %6192, label %6193, label %6246

6193:                                             ; preds = %6187
  br label %6194

6194:                                             ; preds = %6193
  br label %6195

6195:                                             ; preds = %6194
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #12
  %6196 = call ptr @__errno_location() #13
  %6197 = load i32, ptr %6196, align 4, !tbaa !5
  store i32 %6197, ptr %132, align 4, !tbaa !5
  %6198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6199 = call i32 @s2n_print_stacktrace(ptr noundef %6198)
  %6200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6201 = trunc i8 %6200 to i1
  br i1 %6201, label %6202, label %6224

6202:                                             ; preds = %6195
  %6203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6204 = call i32 @fileno(ptr noundef %6203) #12
  %6205 = call i32 @isatty(i32 noundef %6204) #12
  %6206 = icmp ne i32 %6205, 0
  br i1 %6206, label %6207, label %6224

6207:                                             ; preds = %6202
  %6208 = load i32, ptr %132, align 4, !tbaa !5
  %6209 = call ptr @__errno_location() #13
  store i32 %6208, ptr %6209, align 4, !tbaa !5
  %6210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6211 = load i32, ptr @test_count, align 4, !tbaa !5
  %6212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6213 = load i32, ptr %6212, align 4, !tbaa !5
  %6214 = call ptr @s2n_strerror(i32 noundef %6213, ptr noundef @.str.80)
  %6215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6216 = load i32, ptr %6215, align 4, !tbaa !5
  %6217 = call ptr @s2n_strerror_debug(i32 noundef %6216, ptr noundef @.str.80)
  %6218 = call ptr @__errno_location() #13
  %6219 = load i32, ptr %6218, align 4, !tbaa !5
  %6220 = call ptr @strerror(i32 noundef %6219) #12
  %6221 = call ptr @__errno_location() #13
  %6222 = load i32, ptr %6221, align 4, !tbaa !5
  %6223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6210, ptr noundef @.str.78, i32 noundef %6211, ptr noundef @.str.113, ptr noundef @.str.77, i32 noundef 237, ptr noundef %6214, ptr noundef %6217, ptr noundef %6220, i32 noundef %6222) #12
  br label %6241

6224:                                             ; preds = %6202, %6195
  %6225 = load i32, ptr %132, align 4, !tbaa !5
  %6226 = call ptr @__errno_location() #13
  store i32 %6225, ptr %6226, align 4, !tbaa !5
  %6227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6228 = load i32, ptr @test_count, align 4, !tbaa !5
  %6229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6230 = load i32, ptr %6229, align 4, !tbaa !5
  %6231 = call ptr @s2n_strerror(i32 noundef %6230, ptr noundef @.str.80)
  %6232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6233 = load i32, ptr %6232, align 4, !tbaa !5
  %6234 = call ptr @s2n_strerror_debug(i32 noundef %6233, ptr noundef @.str.80)
  %6235 = call ptr @__errno_location() #13
  %6236 = load i32, ptr %6235, align 4, !tbaa !5
  %6237 = call ptr @strerror(i32 noundef %6236) #12
  %6238 = call ptr @__errno_location() #13
  %6239 = load i32, ptr %6238, align 4, !tbaa !5
  %6240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6227, ptr noundef @.str.81, i32 noundef %6228, ptr noundef @.str.113, ptr noundef @.str.77, i32 noundef 237, ptr noundef %6231, ptr noundef %6234, ptr noundef %6237, i32 noundef %6239) #12
  br label %6241

6241:                                             ; preds = %6224, %6207
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #12
  br label %6242

6242:                                             ; preds = %6241
  br label %6243

6243:                                             ; preds = %6242
  call void @exit(i32 noundef 1) #14
  unreachable

6244:                                             ; No predecessors!
  br label %6245

6245:                                             ; preds = %6244
  br label %6246

6246:                                             ; preds = %6245, %6187
  br label %6247

6247:                                             ; preds = %6246
  br label %6248

6248:                                             ; preds = %6247
  br label %6249

6249:                                             ; preds = %6248
  %6250 = load i32, ptr @test_count, align 4, !tbaa !5
  %6251 = add nsw i32 %6250, 1
  store i32 %6251, ptr @test_count, align 4, !tbaa !5
  %6252 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %127, i32 0, i32 1
  %6253 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %6254 = call i32 @s2n_stuffer_write_bytes(ptr noundef %6252, ptr noundef %6253, i32 noundef 4)
  %6255 = icmp eq i32 %6254, -1
  br i1 %6255, label %6256, label %6309

6256:                                             ; preds = %6249
  br label %6257

6257:                                             ; preds = %6256
  br label %6258

6258:                                             ; preds = %6257
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #12
  %6259 = call ptr @__errno_location() #13
  %6260 = load i32, ptr %6259, align 4, !tbaa !5
  store i32 %6260, ptr %133, align 4, !tbaa !5
  %6261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6262 = call i32 @s2n_print_stacktrace(ptr noundef %6261)
  %6263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6264 = trunc i8 %6263 to i1
  br i1 %6264, label %6265, label %6287

6265:                                             ; preds = %6258
  %6266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6267 = call i32 @fileno(ptr noundef %6266) #12
  %6268 = call i32 @isatty(i32 noundef %6267) #12
  %6269 = icmp ne i32 %6268, 0
  br i1 %6269, label %6270, label %6287

6270:                                             ; preds = %6265
  %6271 = load i32, ptr %133, align 4, !tbaa !5
  %6272 = call ptr @__errno_location() #13
  store i32 %6271, ptr %6272, align 4, !tbaa !5
  %6273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6274 = load i32, ptr @test_count, align 4, !tbaa !5
  %6275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6276 = load i32, ptr %6275, align 4, !tbaa !5
  %6277 = call ptr @s2n_strerror(i32 noundef %6276, ptr noundef @.str.80)
  %6278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6279 = load i32, ptr %6278, align 4, !tbaa !5
  %6280 = call ptr @s2n_strerror_debug(i32 noundef %6279, ptr noundef @.str.80)
  %6281 = call ptr @__errno_location() #13
  %6282 = load i32, ptr %6281, align 4, !tbaa !5
  %6283 = call ptr @strerror(i32 noundef %6282) #12
  %6284 = call ptr @__errno_location() #13
  %6285 = load i32, ptr %6284, align 4, !tbaa !5
  %6286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6273, ptr noundef @.str.78, i32 noundef %6274, ptr noundef @.str.114, ptr noundef @.str.77, i32 noundef 238, ptr noundef %6277, ptr noundef %6280, ptr noundef %6283, i32 noundef %6285) #12
  br label %6304

6287:                                             ; preds = %6265, %6258
  %6288 = load i32, ptr %133, align 4, !tbaa !5
  %6289 = call ptr @__errno_location() #13
  store i32 %6288, ptr %6289, align 4, !tbaa !5
  %6290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6291 = load i32, ptr @test_count, align 4, !tbaa !5
  %6292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6293 = load i32, ptr %6292, align 4, !tbaa !5
  %6294 = call ptr @s2n_strerror(i32 noundef %6293, ptr noundef @.str.80)
  %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_debug(i32 noundef %6296, ptr noundef @.str.80)
  %6298 = call ptr @__errno_location() #13
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = call ptr @strerror(i32 noundef %6299) #12
  %6301 = call ptr @__errno_location() #13
  %6302 = load i32, ptr %6301, align 4, !tbaa !5
  %6303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6290, ptr noundef @.str.81, i32 noundef %6291, ptr noundef @.str.114, ptr noundef @.str.77, i32 noundef 238, ptr noundef %6294, ptr noundef %6297, ptr noundef %6300, i32 noundef %6302) #12
  br label %6304

6304:                                             ; preds = %6287, %6270
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #12
  br label %6305

6305:                                             ; preds = %6304
  br label %6306

6306:                                             ; preds = %6305
  call void @exit(i32 noundef 1) #14
  unreachable

6307:                                             ; No predecessors!
  br label %6308

6308:                                             ; preds = %6307
  br label %6309

6309:                                             ; preds = %6308, %6249
  br label %6310

6310:                                             ; preds = %6309
  br label %6311

6311:                                             ; preds = %6310
  br label %6312

6312:                                             ; preds = %6311
  %6313 = load i32, ptr @test_count, align 4, !tbaa !5
  %6314 = add nsw i32 %6313, 1
  store i32 %6314, ptr @test_count, align 4, !tbaa !5
  %6315 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %127, i32 0, i32 1
  %6316 = load i32, ptr %130, align 4, !tbaa !5
  %6317 = call i32 @s2n_stuffer_write_uint32(ptr noundef %6315, i32 noundef %6316)
  %6318 = icmp eq i32 %6317, -1
  br i1 %6318, label %6319, label %6372

6319:                                             ; preds = %6312
  br label %6320

6320:                                             ; preds = %6319
  br label %6321

6321:                                             ; preds = %6320
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #12
  %6322 = call ptr @__errno_location() #13
  %6323 = load i32, ptr %6322, align 4, !tbaa !5
  store i32 %6323, ptr %134, align 4, !tbaa !5
  %6324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6325 = call i32 @s2n_print_stacktrace(ptr noundef %6324)
  %6326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6327 = trunc i8 %6326 to i1
  br i1 %6327, label %6328, label %6350

6328:                                             ; preds = %6321
  %6329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6330 = call i32 @fileno(ptr noundef %6329) #12
  %6331 = call i32 @isatty(i32 noundef %6330) #12
  %6332 = icmp ne i32 %6331, 0
  br i1 %6332, label %6333, label %6350

6333:                                             ; preds = %6328
  %6334 = load i32, ptr %134, align 4, !tbaa !5
  %6335 = call ptr @__errno_location() #13
  store i32 %6334, ptr %6335, align 4, !tbaa !5
  %6336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6337 = load i32, ptr @test_count, align 4, !tbaa !5
  %6338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  %6340 = call ptr @s2n_strerror(i32 noundef %6339, ptr noundef @.str.80)
  %6341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6342 = load i32, ptr %6341, align 4, !tbaa !5
  %6343 = call ptr @s2n_strerror_debug(i32 noundef %6342, ptr noundef @.str.80)
  %6344 = call ptr @__errno_location() #13
  %6345 = load i32, ptr %6344, align 4, !tbaa !5
  %6346 = call ptr @strerror(i32 noundef %6345) #12
  %6347 = call ptr @__errno_location() #13
  %6348 = load i32, ptr %6347, align 4, !tbaa !5
  %6349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6336, ptr noundef @.str.78, i32 noundef %6337, ptr noundef @.str.115, ptr noundef @.str.77, i32 noundef 239, ptr noundef %6340, ptr noundef %6343, ptr noundef %6346, i32 noundef %6348) #12
  br label %6367

6350:                                             ; preds = %6328, %6321
  %6351 = load i32, ptr %134, align 4, !tbaa !5
  %6352 = call ptr @__errno_location() #13
  store i32 %6351, ptr %6352, align 4, !tbaa !5
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = load i32, ptr @test_count, align 4, !tbaa !5
  %6355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6356 = load i32, ptr %6355, align 4, !tbaa !5
  %6357 = call ptr @s2n_strerror(i32 noundef %6356, ptr noundef @.str.80)
  %6358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6359 = load i32, ptr %6358, align 4, !tbaa !5
  %6360 = call ptr @s2n_strerror_debug(i32 noundef %6359, ptr noundef @.str.80)
  %6361 = call ptr @__errno_location() #13
  %6362 = load i32, ptr %6361, align 4, !tbaa !5
  %6363 = call ptr @strerror(i32 noundef %6362) #12
  %6364 = call ptr @__errno_location() #13
  %6365 = load i32, ptr %6364, align 4, !tbaa !5
  %6366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6353, ptr noundef @.str.81, i32 noundef %6354, ptr noundef @.str.115, ptr noundef @.str.77, i32 noundef 239, ptr noundef %6357, ptr noundef %6360, ptr noundef %6363, i32 noundef %6365) #12
  br label %6367

6367:                                             ; preds = %6350, %6333
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #12
  br label %6368

6368:                                             ; preds = %6367
  br label %6369

6369:                                             ; preds = %6368
  call void @exit(i32 noundef 1) #14
  unreachable

6370:                                             ; No predecessors!
  br label %6371

6371:                                             ; preds = %6370
  br label %6372

6372:                                             ; preds = %6371, %6312
  br label %6373

6373:                                             ; preds = %6372
  br label %6374

6374:                                             ; preds = %6373
  br label %6375

6375:                                             ; preds = %6374
  %6376 = load i32, ptr @test_count, align 4, !tbaa !5
  %6377 = add nsw i32 %6376, 1
  store i32 %6377, ptr @test_count, align 4, !tbaa !5
  %6378 = call i32 @s2n_offered_psk_list_read_next(ptr noundef %127, ptr noundef %126)
  %6379 = getelementptr inbounds %struct.s2n_result, ptr %135, i32 0, i32 0
  store i32 %6378, ptr %6379, align 4
  %6380 = getelementptr inbounds %struct.s2n_result, ptr %135, i32 0, i32 0
  %6381 = load i32, ptr %6380, align 4
  %6382 = call zeroext i1 @s2n_result_is_ok(i32 %6381)
  br i1 %6382, label %6436, label %6383

6383:                                             ; preds = %6375
  br label %6384

6384:                                             ; preds = %6383
  br label %6385

6385:                                             ; preds = %6384
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #12
  %6386 = call ptr @__errno_location() #13
  %6387 = load i32, ptr %6386, align 4, !tbaa !5
  store i32 %6387, ptr %136, align 4, !tbaa !5
  %6388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6389 = call i32 @s2n_print_stacktrace(ptr noundef %6388)
  %6390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6391 = trunc i8 %6390 to i1
  br i1 %6391, label %6392, label %6414

6392:                                             ; preds = %6385
  %6393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6394 = call i32 @fileno(ptr noundef %6393) #12
  %6395 = call i32 @isatty(i32 noundef %6394) #12
  %6396 = icmp ne i32 %6395, 0
  br i1 %6396, label %6397, label %6414

6397:                                             ; preds = %6392
  %6398 = load i32, ptr %136, align 4, !tbaa !5
  %6399 = call ptr @__errno_location() #13
  store i32 %6398, ptr %6399, align 4, !tbaa !5
  %6400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6401 = load i32, ptr @test_count, align 4, !tbaa !5
  %6402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6403 = load i32, ptr %6402, align 4, !tbaa !5
  %6404 = call ptr @s2n_strerror(i32 noundef %6403, ptr noundef @.str.80)
  %6405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6406 = load i32, ptr %6405, align 4, !tbaa !5
  %6407 = call ptr @s2n_strerror_debug(i32 noundef %6406, ptr noundef @.str.80)
  %6408 = call ptr @__errno_location() #13
  %6409 = load i32, ptr %6408, align 4, !tbaa !5
  %6410 = call ptr @strerror(i32 noundef %6409) #12
  %6411 = call ptr @__errno_location() #13
  %6412 = load i32, ptr %6411, align 4, !tbaa !5
  %6413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6400, ptr noundef @.str.78, i32 noundef %6401, ptr noundef @.str.116, ptr noundef @.str.77, i32 noundef 241, ptr noundef %6404, ptr noundef %6407, ptr noundef %6410, i32 noundef %6412) #12
  br label %6431

6414:                                             ; preds = %6392, %6385
  %6415 = load i32, ptr %136, align 4, !tbaa !5
  %6416 = call ptr @__errno_location() #13
  store i32 %6415, ptr %6416, align 4, !tbaa !5
  %6417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6418 = load i32, ptr @test_count, align 4, !tbaa !5
  %6419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6420 = load i32, ptr %6419, align 4, !tbaa !5
  %6421 = call ptr @s2n_strerror(i32 noundef %6420, ptr noundef @.str.80)
  %6422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6423 = load i32, ptr %6422, align 4, !tbaa !5
  %6424 = call ptr @s2n_strerror_debug(i32 noundef %6423, ptr noundef @.str.80)
  %6425 = call ptr @__errno_location() #13
  %6426 = load i32, ptr %6425, align 4, !tbaa !5
  %6427 = call ptr @strerror(i32 noundef %6426) #12
  %6428 = call ptr @__errno_location() #13
  %6429 = load i32, ptr %6428, align 4, !tbaa !5
  %6430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6417, ptr noundef @.str.81, i32 noundef %6418, ptr noundef @.str.116, ptr noundef @.str.77, i32 noundef 241, ptr noundef %6421, ptr noundef %6424, ptr noundef %6427, i32 noundef %6429) #12
  br label %6431

6431:                                             ; preds = %6414, %6397
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #12
  br label %6432

6432:                                             ; preds = %6431
  br label %6433

6433:                                             ; preds = %6432
  call void @exit(i32 noundef 1) #14
  unreachable

6434:                                             ; No predecessors!
  br label %6435

6435:                                             ; preds = %6434
  br label %6436

6436:                                             ; preds = %6435, %6375
  br label %6437

6437:                                             ; preds = %6436
  br label %6438

6438:                                             ; preds = %6437
  br label %6439

6439:                                             ; preds = %6438
  %6440 = load i32, ptr @test_count, align 4, !tbaa !5
  %6441 = add nsw i32 %6440, 1
  store i32 %6441, ptr @test_count, align 4, !tbaa !5
  %6442 = getelementptr inbounds %struct.s2n_offered_psk, ptr %126, i32 0, i32 2
  %6443 = load i32, ptr %6442, align 4, !tbaa !47
  %6444 = load i32, ptr %130, align 4, !tbaa !5
  %6445 = icmp eq i32 %6443, %6444
  br i1 %6445, label %6499, label %6446

6446:                                             ; preds = %6439
  br label %6447

6447:                                             ; preds = %6446
  br label %6448

6448:                                             ; preds = %6447
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #12
  %6449 = call ptr @__errno_location() #13
  %6450 = load i32, ptr %6449, align 4, !tbaa !5
  store i32 %6450, ptr %137, align 4, !tbaa !5
  %6451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6452 = call i32 @s2n_print_stacktrace(ptr noundef %6451)
  %6453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6454 = trunc i8 %6453 to i1
  br i1 %6454, label %6455, label %6477

6455:                                             ; preds = %6448
  %6456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6457 = call i32 @fileno(ptr noundef %6456) #12
  %6458 = call i32 @isatty(i32 noundef %6457) #12
  %6459 = icmp ne i32 %6458, 0
  br i1 %6459, label %6460, label %6477

6460:                                             ; preds = %6455
  %6461 = load i32, ptr %137, align 4, !tbaa !5
  %6462 = call ptr @__errno_location() #13
  store i32 %6461, ptr %6462, align 4, !tbaa !5
  %6463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6464 = load i32, ptr @test_count, align 4, !tbaa !5
  %6465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6466 = load i32, ptr %6465, align 4, !tbaa !5
  %6467 = call ptr @s2n_strerror(i32 noundef %6466, ptr noundef @.str.80)
  %6468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  %6470 = call ptr @s2n_strerror_debug(i32 noundef %6469, ptr noundef @.str.80)
  %6471 = call ptr @__errno_location() #13
  %6472 = load i32, ptr %6471, align 4, !tbaa !5
  %6473 = call ptr @strerror(i32 noundef %6472) #12
  %6474 = call ptr @__errno_location() #13
  %6475 = load i32, ptr %6474, align 4, !tbaa !5
  %6476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6463, ptr noundef @.str.78, i32 noundef %6464, ptr noundef @.str.118, ptr noundef @.str.77, i32 noundef 243, ptr noundef %6467, ptr noundef %6470, ptr noundef %6473, i32 noundef %6475) #12
  br label %6494

6477:                                             ; preds = %6455, %6448
  %6478 = load i32, ptr %137, align 4, !tbaa !5
  %6479 = call ptr @__errno_location() #13
  store i32 %6478, ptr %6479, align 4, !tbaa !5
  %6480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6481 = load i32, ptr @test_count, align 4, !tbaa !5
  %6482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6483 = load i32, ptr %6482, align 4, !tbaa !5
  %6484 = call ptr @s2n_strerror(i32 noundef %6483, ptr noundef @.str.80)
  %6485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6486 = load i32, ptr %6485, align 4, !tbaa !5
  %6487 = call ptr @s2n_strerror_debug(i32 noundef %6486, ptr noundef @.str.80)
  %6488 = call ptr @__errno_location() #13
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  %6490 = call ptr @strerror(i32 noundef %6489) #12
  %6491 = call ptr @__errno_location() #13
  %6492 = load i32, ptr %6491, align 4, !tbaa !5
  %6493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6480, ptr noundef @.str.81, i32 noundef %6481, ptr noundef @.str.118, ptr noundef @.str.77, i32 noundef 243, ptr noundef %6484, ptr noundef %6487, ptr noundef %6490, i32 noundef %6492) #12
  br label %6494

6494:                                             ; preds = %6477, %6460
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #12
  br label %6495

6495:                                             ; preds = %6494
  br label %6496

6496:                                             ; preds = %6495
  call void @exit(i32 noundef 1) #14
  unreachable

6497:                                             ; No predecessors!
  br label %6498

6498:                                             ; preds = %6497
  br label %6499

6499:                                             ; preds = %6498, %6439
  br label %6500

6500:                                             ; preds = %6499
  br label %6501

6501:                                             ; preds = %6500
  br label %6502

6502:                                             ; preds = %6501
  %6503 = load i32, ptr @test_count, align 4, !tbaa !5
  %6504 = add nsw i32 %6503, 1
  store i32 %6504, ptr @test_count, align 4, !tbaa !5
  %6505 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %127, i32 0, i32 1
  %6506 = call i32 @s2n_stuffer_free(ptr noundef %6505)
  %6507 = icmp eq i32 %6506, -1
  br i1 %6507, label %6508, label %6561

6508:                                             ; preds = %6502
  br label %6509

6509:                                             ; preds = %6508
  br label %6510

6510:                                             ; preds = %6509
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #12
  %6511 = call ptr @__errno_location() #13
  %6512 = load i32, ptr %6511, align 4, !tbaa !5
  store i32 %6512, ptr %138, align 4, !tbaa !5
  %6513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6514 = call i32 @s2n_print_stacktrace(ptr noundef %6513)
  %6515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6516 = trunc i8 %6515 to i1
  br i1 %6516, label %6517, label %6539

6517:                                             ; preds = %6510
  %6518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6519 = call i32 @fileno(ptr noundef %6518) #12
  %6520 = call i32 @isatty(i32 noundef %6519) #12
  %6521 = icmp ne i32 %6520, 0
  br i1 %6521, label %6522, label %6539

6522:                                             ; preds = %6517
  %6523 = load i32, ptr %138, align 4, !tbaa !5
  %6524 = call ptr @__errno_location() #13
  store i32 %6523, ptr %6524, align 4, !tbaa !5
  %6525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6526 = load i32, ptr @test_count, align 4, !tbaa !5
  %6527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6528 = load i32, ptr %6527, align 4, !tbaa !5
  %6529 = call ptr @s2n_strerror(i32 noundef %6528, ptr noundef @.str.80)
  %6530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  %6532 = call ptr @s2n_strerror_debug(i32 noundef %6531, ptr noundef @.str.80)
  %6533 = call ptr @__errno_location() #13
  %6534 = load i32, ptr %6533, align 4, !tbaa !5
  %6535 = call ptr @strerror(i32 noundef %6534) #12
  %6536 = call ptr @__errno_location() #13
  %6537 = load i32, ptr %6536, align 4, !tbaa !5
  %6538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6525, ptr noundef @.str.78, i32 noundef %6526, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 245, ptr noundef %6529, ptr noundef %6532, ptr noundef %6535, i32 noundef %6537) #12
  br label %6556

6539:                                             ; preds = %6517, %6510
  %6540 = load i32, ptr %138, align 4, !tbaa !5
  %6541 = call ptr @__errno_location() #13
  store i32 %6540, ptr %6541, align 4, !tbaa !5
  %6542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6543 = load i32, ptr @test_count, align 4, !tbaa !5
  %6544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6545 = load i32, ptr %6544, align 4, !tbaa !5
  %6546 = call ptr @s2n_strerror(i32 noundef %6545, ptr noundef @.str.80)
  %6547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6548 = load i32, ptr %6547, align 4, !tbaa !5
  %6549 = call ptr @s2n_strerror_debug(i32 noundef %6548, ptr noundef @.str.80)
  %6550 = call ptr @__errno_location() #13
  %6551 = load i32, ptr %6550, align 4, !tbaa !5
  %6552 = call ptr @strerror(i32 noundef %6551) #12
  %6553 = call ptr @__errno_location() #13
  %6554 = load i32, ptr %6553, align 4, !tbaa !5
  %6555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6542, ptr noundef @.str.81, i32 noundef %6543, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 245, ptr noundef %6546, ptr noundef %6549, ptr noundef %6552, i32 noundef %6554) #12
  br label %6556

6556:                                             ; preds = %6539, %6522
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #12
  br label %6557

6557:                                             ; preds = %6556
  br label %6558

6558:                                             ; preds = %6557
  call void @exit(i32 noundef 1) #14
  unreachable

6559:                                             ; No predecessors!
  br label %6560

6560:                                             ; preds = %6559
  br label %6561

6561:                                             ; preds = %6560, %6502
  br label %6562

6562:                                             ; preds = %6561
  br label %6563

6563:                                             ; preds = %6562
  br label %6564

6564:                                             ; preds = %6563
  %6565 = load i32, ptr @test_count, align 4, !tbaa !5
  %6566 = add nsw i32 %6565, 1
  store i32 %6566, ptr @test_count, align 4, !tbaa !5
  %6567 = load ptr, ptr %128, align 8, !tbaa !9
  %6568 = call i32 @s2n_connection_free(ptr noundef %6567)
  %6569 = icmp eq i32 %6568, -1
  br i1 %6569, label %6570, label %6623

6570:                                             ; preds = %6564
  br label %6571

6571:                                             ; preds = %6570
  br label %6572

6572:                                             ; preds = %6571
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #12
  %6573 = call ptr @__errno_location() #13
  %6574 = load i32, ptr %6573, align 4, !tbaa !5
  store i32 %6574, ptr %139, align 4, !tbaa !5
  %6575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6576 = call i32 @s2n_print_stacktrace(ptr noundef %6575)
  %6577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6578 = trunc i8 %6577 to i1
  br i1 %6578, label %6579, label %6601

6579:                                             ; preds = %6572
  %6580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6581 = call i32 @fileno(ptr noundef %6580) #12
  %6582 = call i32 @isatty(i32 noundef %6581) #12
  %6583 = icmp ne i32 %6582, 0
  br i1 %6583, label %6584, label %6601

6584:                                             ; preds = %6579
  %6585 = load i32, ptr %139, align 4, !tbaa !5
  %6586 = call ptr @__errno_location() #13
  store i32 %6585, ptr %6586, align 4, !tbaa !5
  %6587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6588 = load i32, ptr @test_count, align 4, !tbaa !5
  %6589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6590 = load i32, ptr %6589, align 4, !tbaa !5
  %6591 = call ptr @s2n_strerror(i32 noundef %6590, ptr noundef @.str.80)
  %6592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6593 = load i32, ptr %6592, align 4, !tbaa !5
  %6594 = call ptr @s2n_strerror_debug(i32 noundef %6593, ptr noundef @.str.80)
  %6595 = call ptr @__errno_location() #13
  %6596 = load i32, ptr %6595, align 4, !tbaa !5
  %6597 = call ptr @strerror(i32 noundef %6596) #12
  %6598 = call ptr @__errno_location() #13
  %6599 = load i32, ptr %6598, align 4, !tbaa !5
  %6600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6587, ptr noundef @.str.78, i32 noundef %6588, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 246, ptr noundef %6591, ptr noundef %6594, ptr noundef %6597, i32 noundef %6599) #12
  br label %6618

6601:                                             ; preds = %6579, %6572
  %6602 = load i32, ptr %139, align 4, !tbaa !5
  %6603 = call ptr @__errno_location() #13
  store i32 %6602, ptr %6603, align 4, !tbaa !5
  %6604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6605 = load i32, ptr @test_count, align 4, !tbaa !5
  %6606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6607 = load i32, ptr %6606, align 4, !tbaa !5
  %6608 = call ptr @s2n_strerror(i32 noundef %6607, ptr noundef @.str.80)
  %6609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6610 = load i32, ptr %6609, align 4, !tbaa !5
  %6611 = call ptr @s2n_strerror_debug(i32 noundef %6610, ptr noundef @.str.80)
  %6612 = call ptr @__errno_location() #13
  %6613 = load i32, ptr %6612, align 4, !tbaa !5
  %6614 = call ptr @strerror(i32 noundef %6613) #12
  %6615 = call ptr @__errno_location() #13
  %6616 = load i32, ptr %6615, align 4, !tbaa !5
  %6617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6604, ptr noundef @.str.81, i32 noundef %6605, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 246, ptr noundef %6608, ptr noundef %6611, ptr noundef %6614, i32 noundef %6616) #12
  br label %6618

6618:                                             ; preds = %6601, %6584
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #12
  br label %6619

6619:                                             ; preds = %6618
  br label %6620

6620:                                             ; preds = %6619
  call void @exit(i32 noundef 1) #14
  unreachable

6621:                                             ; No predecessors!
  br label %6622

6622:                                             ; preds = %6621
  br label %6623

6623:                                             ; preds = %6622, %6564
  br label %6624

6624:                                             ; preds = %6623
  br label %6625

6625:                                             ; preds = %6624
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %127) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #12
  br label %6626

6626:                                             ; preds = %6625
  br label %6627

6627:                                             ; preds = %6626
  br label %6628

6628:                                             ; preds = %6627
  %6629 = load i32, ptr @test_count, align 4, !tbaa !5
  %6630 = add nsw i32 %6629, 1
  store i32 %6630, ptr @test_count, align 4, !tbaa !5
  %6631 = call i32 @s2n_offered_psk_list_reread(ptr noundef null)
  %6632 = icmp eq i32 %6631, -1
  br i1 %6632, label %6686, label %6633

6633:                                             ; preds = %6628
  br label %6634

6634:                                             ; preds = %6633
  br label %6635

6635:                                             ; preds = %6634
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #12
  %6636 = call ptr @__errno_location() #13
  %6637 = load i32, ptr %6636, align 4, !tbaa !5
  store i32 %6637, ptr %140, align 4, !tbaa !5
  %6638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6639 = call i32 @s2n_print_stacktrace(ptr noundef %6638)
  %6640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6641 = trunc i8 %6640 to i1
  br i1 %6641, label %6642, label %6664

6642:                                             ; preds = %6635
  %6643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6644 = call i32 @fileno(ptr noundef %6643) #12
  %6645 = call i32 @isatty(i32 noundef %6644) #12
  %6646 = icmp ne i32 %6645, 0
  br i1 %6646, label %6647, label %6664

6647:                                             ; preds = %6642
  %6648 = load i32, ptr %140, align 4, !tbaa !5
  %6649 = call ptr @__errno_location() #13
  store i32 %6648, ptr %6649, align 4, !tbaa !5
  %6650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6651 = load i32, ptr @test_count, align 4, !tbaa !5
  %6652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  %6654 = call ptr @s2n_strerror(i32 noundef %6653, ptr noundef @.str.80)
  %6655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6656 = load i32, ptr %6655, align 4, !tbaa !5
  %6657 = call ptr @s2n_strerror_debug(i32 noundef %6656, ptr noundef @.str.80)
  %6658 = call ptr @__errno_location() #13
  %6659 = load i32, ptr %6658, align 4, !tbaa !5
  %6660 = call ptr @strerror(i32 noundef %6659) #12
  %6661 = call ptr @__errno_location() #13
  %6662 = load i32, ptr %6661, align 4, !tbaa !5
  %6663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6650, ptr noundef @.str.78, i32 noundef %6651, ptr noundef @.str.119, ptr noundef @.str.77, i32 noundef 253, ptr noundef %6654, ptr noundef %6657, ptr noundef %6660, i32 noundef %6662) #12
  br label %6681

6664:                                             ; preds = %6642, %6635
  %6665 = load i32, ptr %140, align 4, !tbaa !5
  %6666 = call ptr @__errno_location() #13
  store i32 %6665, ptr %6666, align 4, !tbaa !5
  %6667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6668 = load i32, ptr @test_count, align 4, !tbaa !5
  %6669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  %6671 = call ptr @s2n_strerror(i32 noundef %6670, ptr noundef @.str.80)
  %6672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call ptr @s2n_strerror_debug(i32 noundef %6673, ptr noundef @.str.80)
  %6675 = call ptr @__errno_location() #13
  %6676 = load i32, ptr %6675, align 4, !tbaa !5
  %6677 = call ptr @strerror(i32 noundef %6676) #12
  %6678 = call ptr @__errno_location() #13
  %6679 = load i32, ptr %6678, align 4, !tbaa !5
  %6680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6667, ptr noundef @.str.81, i32 noundef %6668, ptr noundef @.str.119, ptr noundef @.str.77, i32 noundef 253, ptr noundef %6671, ptr noundef %6674, ptr noundef %6677, i32 noundef %6679) #12
  br label %6681

6681:                                             ; preds = %6664, %6647
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #12
  br label %6682

6682:                                             ; preds = %6681
  br label %6683

6683:                                             ; preds = %6682
  call void @exit(i32 noundef 1) #14
  unreachable

6684:                                             ; No predecessors!
  br label %6685

6685:                                             ; preds = %6684
  br label %6686

6686:                                             ; preds = %6685, %6628
  br label %6687

6687:                                             ; preds = %6686
  br label %6688

6688:                                             ; preds = %6687
  br label %6689

6689:                                             ; preds = %6688
  %6690 = load i32, ptr @test_count, align 4, !tbaa !5
  %6691 = add nsw i32 %6690, 1
  store i32 %6691, ptr @test_count, align 4, !tbaa !5
  %6692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6693 = load i32, ptr %6692, align 4, !tbaa !5
  %6694 = icmp eq i32 %6693, 402653193
  br i1 %6694, label %6748, label %6695

6695:                                             ; preds = %6689
  br label %6696

6696:                                             ; preds = %6695
  br label %6697

6697:                                             ; preds = %6696
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #12
  %6698 = call ptr @__errno_location() #13
  %6699 = load i32, ptr %6698, align 4, !tbaa !5
  store i32 %6699, ptr %141, align 4, !tbaa !5
  %6700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6701 = call i32 @s2n_print_stacktrace(ptr noundef %6700)
  %6702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6703 = trunc i8 %6702 to i1
  br i1 %6703, label %6704, label %6726

6704:                                             ; preds = %6697
  %6705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6706 = call i32 @fileno(ptr noundef %6705) #12
  %6707 = call i32 @isatty(i32 noundef %6706) #12
  %6708 = icmp ne i32 %6707, 0
  br i1 %6708, label %6709, label %6726

6709:                                             ; preds = %6704
  %6710 = load i32, ptr %141, align 4, !tbaa !5
  %6711 = call ptr @__errno_location() #13
  store i32 %6710, ptr %6711, align 4, !tbaa !5
  %6712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6713 = load i32, ptr @test_count, align 4, !tbaa !5
  %6714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6715 = load i32, ptr %6714, align 4, !tbaa !5
  %6716 = call ptr @s2n_strerror(i32 noundef %6715, ptr noundef @.str.80)
  %6717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6718 = load i32, ptr %6717, align 4, !tbaa !5
  %6719 = call ptr @s2n_strerror_debug(i32 noundef %6718, ptr noundef @.str.80)
  %6720 = call ptr @__errno_location() #13
  %6721 = load i32, ptr %6720, align 4, !tbaa !5
  %6722 = call ptr @strerror(i32 noundef %6721) #12
  %6723 = call ptr @__errno_location() #13
  %6724 = load i32, ptr %6723, align 4, !tbaa !5
  %6725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6712, ptr noundef @.str.78, i32 noundef %6713, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 253, ptr noundef %6716, ptr noundef %6719, ptr noundef %6722, i32 noundef %6724) #12
  br label %6743

6726:                                             ; preds = %6704, %6697
  %6727 = load i32, ptr %141, align 4, !tbaa !5
  %6728 = call ptr @__errno_location() #13
  store i32 %6727, ptr %6728, align 4, !tbaa !5
  %6729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6730 = load i32, ptr @test_count, align 4, !tbaa !5
  %6731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6732 = load i32, ptr %6731, align 4, !tbaa !5
  %6733 = call ptr @s2n_strerror(i32 noundef %6732, ptr noundef @.str.80)
  %6734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6735 = load i32, ptr %6734, align 4, !tbaa !5
  %6736 = call ptr @s2n_strerror_debug(i32 noundef %6735, ptr noundef @.str.80)
  %6737 = call ptr @__errno_location() #13
  %6738 = load i32, ptr %6737, align 4, !tbaa !5
  %6739 = call ptr @strerror(i32 noundef %6738) #12
  %6740 = call ptr @__errno_location() #13
  %6741 = load i32, ptr %6740, align 4, !tbaa !5
  %6742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6729, ptr noundef @.str.81, i32 noundef %6730, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 253, ptr noundef %6733, ptr noundef %6736, ptr noundef %6739, i32 noundef %6741) #12
  br label %6743

6743:                                             ; preds = %6726, %6709
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #12
  br label %6744

6744:                                             ; preds = %6743
  br label %6745

6745:                                             ; preds = %6744
  call void @exit(i32 noundef 1) #14
  unreachable

6746:                                             ; No predecessors!
  br label %6747

6747:                                             ; preds = %6746
  br label %6748

6748:                                             ; preds = %6747, %6689
  br label %6749

6749:                                             ; preds = %6748
  br label %6750

6750:                                             ; preds = %6749
  br label %6751

6751:                                             ; preds = %6750
  %6752 = load i32, ptr @test_count, align 4, !tbaa !5
  %6753 = add nsw i32 %6752, 1
  store i32 %6753, ptr @test_count, align 4, !tbaa !5
  %6754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6755 = load i32, ptr %6754, align 4, !tbaa !5
  %6756 = call ptr @s2n_strerror_debug(i32 noundef %6755, ptr noundef @.str.80)
  %6757 = icmp eq ptr %6756, null
  br i1 %6757, label %6758, label %6811

6758:                                             ; preds = %6751
  br label %6759

6759:                                             ; preds = %6758
  br label %6760

6760:                                             ; preds = %6759
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #12
  %6761 = call ptr @__errno_location() #13
  %6762 = load i32, ptr %6761, align 4, !tbaa !5
  store i32 %6762, ptr %142, align 4, !tbaa !5
  %6763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6764 = call i32 @s2n_print_stacktrace(ptr noundef %6763)
  %6765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6766 = trunc i8 %6765 to i1
  br i1 %6766, label %6767, label %6789

6767:                                             ; preds = %6760
  %6768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6769 = call i32 @fileno(ptr noundef %6768) #12
  %6770 = call i32 @isatty(i32 noundef %6769) #12
  %6771 = icmp ne i32 %6770, 0
  br i1 %6771, label %6772, label %6789

6772:                                             ; preds = %6767
  %6773 = load i32, ptr %142, align 4, !tbaa !5
  %6774 = call ptr @__errno_location() #13
  store i32 %6773, ptr %6774, align 4, !tbaa !5
  %6775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6776 = load i32, ptr @test_count, align 4, !tbaa !5
  %6777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6778 = load i32, ptr %6777, align 4, !tbaa !5
  %6779 = call ptr @s2n_strerror(i32 noundef %6778, ptr noundef @.str.80)
  %6780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6781 = load i32, ptr %6780, align 4, !tbaa !5
  %6782 = call ptr @s2n_strerror_debug(i32 noundef %6781, ptr noundef @.str.80)
  %6783 = call ptr @__errno_location() #13
  %6784 = load i32, ptr %6783, align 4, !tbaa !5
  %6785 = call ptr @strerror(i32 noundef %6784) #12
  %6786 = call ptr @__errno_location() #13
  %6787 = load i32, ptr %6786, align 4, !tbaa !5
  %6788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6775, ptr noundef @.str.78, i32 noundef %6776, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 253, ptr noundef %6779, ptr noundef %6782, ptr noundef %6785, i32 noundef %6787) #12
  br label %6806

6789:                                             ; preds = %6767, %6760
  %6790 = load i32, ptr %142, align 4, !tbaa !5
  %6791 = call ptr @__errno_location() #13
  store i32 %6790, ptr %6791, align 4, !tbaa !5
  %6792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6793 = load i32, ptr @test_count, align 4, !tbaa !5
  %6794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  %6796 = call ptr @s2n_strerror(i32 noundef %6795, ptr noundef @.str.80)
  %6797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6798 = load i32, ptr %6797, align 4, !tbaa !5
  %6799 = call ptr @s2n_strerror_debug(i32 noundef %6798, ptr noundef @.str.80)
  %6800 = call ptr @__errno_location() #13
  %6801 = load i32, ptr %6800, align 4, !tbaa !5
  %6802 = call ptr @strerror(i32 noundef %6801) #12
  %6803 = call ptr @__errno_location() #13
  %6804 = load i32, ptr %6803, align 4, !tbaa !5
  %6805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6792, ptr noundef @.str.81, i32 noundef %6793, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 253, ptr noundef %6796, ptr noundef %6799, ptr noundef %6802, i32 noundef %6804) #12
  br label %6806

6806:                                             ; preds = %6789, %6772
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #12
  br label %6807

6807:                                             ; preds = %6806
  br label %6808

6808:                                             ; preds = %6807
  call void @exit(i32 noundef 1) #14
  unreachable

6809:                                             ; No predecessors!
  br label %6810

6810:                                             ; preds = %6809
  br label %6811

6811:                                             ; preds = %6810, %6751
  br label %6812

6812:                                             ; preds = %6811
  br label %6813

6813:                                             ; preds = %6812
  br label %6814

6814:                                             ; preds = %6813
  br label %6815

6815:                                             ; preds = %6814
  br label %6816

6816:                                             ; preds = %6815
  %6817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6817, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6818 = call ptr @__errno_location() #13
  store i32 0, ptr %6818, align 4, !tbaa !5
  br label %6819

6819:                                             ; preds = %6816
  br label %6820

6820:                                             ; preds = %6819
  br label %6821

6821:                                             ; preds = %6820
  br label %6822

6822:                                             ; preds = %6821
  call void @llvm.lifetime.start.p0(i64 32, ptr %143) #12
  call void @llvm.memset.p0.i64(ptr align 8 %143, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %144) #12
  call void @llvm.memset.p0.i64(ptr align 8 %144, i8 0, i64 56, i1 false)
  br label %6823

6823:                                             ; preds = %6822
  %6824 = load i32, ptr @test_count, align 4, !tbaa !5
  %6825 = add nsw i32 %6824, 1
  store i32 %6825, ptr @test_count, align 4, !tbaa !5
  %6826 = call i32 @s2n_offered_psk_list_reread(ptr noundef %144)
  %6827 = icmp eq i32 %6826, -1
  br i1 %6827, label %6828, label %6881

6828:                                             ; preds = %6823
  br label %6829

6829:                                             ; preds = %6828
  br label %6830

6830:                                             ; preds = %6829
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #12
  %6831 = call ptr @__errno_location() #13
  %6832 = load i32, ptr %6831, align 4, !tbaa !5
  store i32 %6832, ptr %145, align 4, !tbaa !5
  %6833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6834 = call i32 @s2n_print_stacktrace(ptr noundef %6833)
  %6835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6836 = trunc i8 %6835 to i1
  br i1 %6836, label %6837, label %6859

6837:                                             ; preds = %6830
  %6838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6839 = call i32 @fileno(ptr noundef %6838) #12
  %6840 = call i32 @isatty(i32 noundef %6839) #12
  %6841 = icmp ne i32 %6840, 0
  br i1 %6841, label %6842, label %6859

6842:                                             ; preds = %6837
  %6843 = load i32, ptr %145, align 4, !tbaa !5
  %6844 = call ptr @__errno_location() #13
  store i32 %6843, ptr %6844, align 4, !tbaa !5
  %6845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6846 = load i32, ptr @test_count, align 4, !tbaa !5
  %6847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6848 = load i32, ptr %6847, align 4, !tbaa !5
  %6849 = call ptr @s2n_strerror(i32 noundef %6848, ptr noundef @.str.80)
  %6850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6851 = load i32, ptr %6850, align 4, !tbaa !5
  %6852 = call ptr @s2n_strerror_debug(i32 noundef %6851, ptr noundef @.str.80)
  %6853 = call ptr @__errno_location() #13
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call ptr @strerror(i32 noundef %6854) #12
  %6856 = call ptr @__errno_location() #13
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6845, ptr noundef @.str.78, i32 noundef %6846, ptr noundef @.str.120, ptr noundef @.str.77, i32 noundef 260, ptr noundef %6849, ptr noundef %6852, ptr noundef %6855, i32 noundef %6857) #12
  br label %6876

6859:                                             ; preds = %6837, %6830
  %6860 = load i32, ptr %145, align 4, !tbaa !5
  %6861 = call ptr @__errno_location() #13
  store i32 %6860, ptr %6861, align 4, !tbaa !5
  %6862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6863 = load i32, ptr @test_count, align 4, !tbaa !5
  %6864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6865 = load i32, ptr %6864, align 4, !tbaa !5
  %6866 = call ptr @s2n_strerror(i32 noundef %6865, ptr noundef @.str.80)
  %6867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6868 = load i32, ptr %6867, align 4, !tbaa !5
  %6869 = call ptr @s2n_strerror_debug(i32 noundef %6868, ptr noundef @.str.80)
  %6870 = call ptr @__errno_location() #13
  %6871 = load i32, ptr %6870, align 4, !tbaa !5
  %6872 = call ptr @strerror(i32 noundef %6871) #12
  %6873 = call ptr @__errno_location() #13
  %6874 = load i32, ptr %6873, align 4, !tbaa !5
  %6875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6862, ptr noundef @.str.81, i32 noundef %6863, ptr noundef @.str.120, ptr noundef @.str.77, i32 noundef 260, ptr noundef %6866, ptr noundef %6869, ptr noundef %6872, i32 noundef %6874) #12
  br label %6876

6876:                                             ; preds = %6859, %6842
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #12
  br label %6877

6877:                                             ; preds = %6876
  br label %6878

6878:                                             ; preds = %6877
  call void @exit(i32 noundef 1) #14
  unreachable

6879:                                             ; No predecessors!
  br label %6880

6880:                                             ; preds = %6879
  br label %6881

6881:                                             ; preds = %6880, %6823
  br label %6882

6882:                                             ; preds = %6881
  br label %6883

6883:                                             ; preds = %6882
  br label %6884

6884:                                             ; preds = %6883
  %6885 = load i32, ptr @test_count, align 4, !tbaa !5
  %6886 = add nsw i32 %6885, 1
  store i32 %6886, ptr @test_count, align 4, !tbaa !5
  %6887 = call i32 @s2n_offered_psk_list_reread(ptr noundef %144)
  %6888 = icmp eq i32 %6887, -1
  br i1 %6888, label %6889, label %6942

6889:                                             ; preds = %6884
  br label %6890

6890:                                             ; preds = %6889
  br label %6891

6891:                                             ; preds = %6890
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #12
  %6892 = call ptr @__errno_location() #13
  %6893 = load i32, ptr %6892, align 4, !tbaa !5
  store i32 %6893, ptr %146, align 4, !tbaa !5
  %6894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6895 = call i32 @s2n_print_stacktrace(ptr noundef %6894)
  %6896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6897 = trunc i8 %6896 to i1
  br i1 %6897, label %6898, label %6920

6898:                                             ; preds = %6891
  %6899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6900 = call i32 @fileno(ptr noundef %6899) #12
  %6901 = call i32 @isatty(i32 noundef %6900) #12
  %6902 = icmp ne i32 %6901, 0
  br i1 %6902, label %6903, label %6920

6903:                                             ; preds = %6898
  %6904 = load i32, ptr %146, align 4, !tbaa !5
  %6905 = call ptr @__errno_location() #13
  store i32 %6904, ptr %6905, align 4, !tbaa !5
  %6906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6907 = load i32, ptr @test_count, align 4, !tbaa !5
  %6908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6909 = load i32, ptr %6908, align 4, !tbaa !5
  %6910 = call ptr @s2n_strerror(i32 noundef %6909, ptr noundef @.str.80)
  %6911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6912 = load i32, ptr %6911, align 4, !tbaa !5
  %6913 = call ptr @s2n_strerror_debug(i32 noundef %6912, ptr noundef @.str.80)
  %6914 = call ptr @__errno_location() #13
  %6915 = load i32, ptr %6914, align 4, !tbaa !5
  %6916 = call ptr @strerror(i32 noundef %6915) #12
  %6917 = call ptr @__errno_location() #13
  %6918 = load i32, ptr %6917, align 4, !tbaa !5
  %6919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6906, ptr noundef @.str.78, i32 noundef %6907, ptr noundef @.str.120, ptr noundef @.str.77, i32 noundef 261, ptr noundef %6910, ptr noundef %6913, ptr noundef %6916, i32 noundef %6918) #12
  br label %6937

6920:                                             ; preds = %6898, %6891
  %6921 = load i32, ptr %146, align 4, !tbaa !5
  %6922 = call ptr @__errno_location() #13
  store i32 %6921, ptr %6922, align 4, !tbaa !5
  %6923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6924 = load i32, ptr @test_count, align 4, !tbaa !5
  %6925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6926 = load i32, ptr %6925, align 4, !tbaa !5
  %6927 = call ptr @s2n_strerror(i32 noundef %6926, ptr noundef @.str.80)
  %6928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6929 = load i32, ptr %6928, align 4, !tbaa !5
  %6930 = call ptr @s2n_strerror_debug(i32 noundef %6929, ptr noundef @.str.80)
  %6931 = call ptr @__errno_location() #13
  %6932 = load i32, ptr %6931, align 4, !tbaa !5
  %6933 = call ptr @strerror(i32 noundef %6932) #12
  %6934 = call ptr @__errno_location() #13
  %6935 = load i32, ptr %6934, align 4, !tbaa !5
  %6936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6923, ptr noundef @.str.81, i32 noundef %6924, ptr noundef @.str.120, ptr noundef @.str.77, i32 noundef 261, ptr noundef %6927, ptr noundef %6930, ptr noundef %6933, i32 noundef %6935) #12
  br label %6937

6937:                                             ; preds = %6920, %6903
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #12
  br label %6938

6938:                                             ; preds = %6937
  br label %6939

6939:                                             ; preds = %6938
  call void @exit(i32 noundef 1) #14
  unreachable

6940:                                             ; No predecessors!
  br label %6941

6941:                                             ; preds = %6940
  br label %6942

6942:                                             ; preds = %6941, %6884
  br label %6943

6943:                                             ; preds = %6942
  br label %6944

6944:                                             ; preds = %6943
  br label %6945

6945:                                             ; preds = %6944
  br label %6946

6946:                                             ; preds = %6945
  br label %6947

6947:                                             ; preds = %6946
  %6948 = load i32, ptr @test_count, align 4, !tbaa !5
  %6949 = add nsw i32 %6948, 1
  store i32 %6949, ptr @test_count, align 4, !tbaa !5
  %6950 = call i32 @s2n_offered_psk_list_next(ptr noundef %144, ptr noundef %143)
  %6951 = icmp eq i32 %6950, -1
  br i1 %6951, label %7005, label %6952

6952:                                             ; preds = %6947
  br label %6953

6953:                                             ; preds = %6952
  br label %6954

6954:                                             ; preds = %6953
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #12
  %6955 = call ptr @__errno_location() #13
  %6956 = load i32, ptr %6955, align 4, !tbaa !5
  store i32 %6956, ptr %147, align 4, !tbaa !5
  %6957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6958 = call i32 @s2n_print_stacktrace(ptr noundef %6957)
  %6959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6960 = trunc i8 %6959 to i1
  br i1 %6960, label %6961, label %6983

6961:                                             ; preds = %6954
  %6962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6963 = call i32 @fileno(ptr noundef %6962) #12
  %6964 = call i32 @isatty(i32 noundef %6963) #12
  %6965 = icmp ne i32 %6964, 0
  br i1 %6965, label %6966, label %6983

6966:                                             ; preds = %6961
  %6967 = load i32, ptr %147, align 4, !tbaa !5
  %6968 = call ptr @__errno_location() #13
  store i32 %6967, ptr %6968, align 4, !tbaa !5
  %6969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6970 = load i32, ptr @test_count, align 4, !tbaa !5
  %6971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6972 = load i32, ptr %6971, align 4, !tbaa !5
  %6973 = call ptr @s2n_strerror(i32 noundef %6972, ptr noundef @.str.80)
  %6974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6975 = load i32, ptr %6974, align 4, !tbaa !5
  %6976 = call ptr @s2n_strerror_debug(i32 noundef %6975, ptr noundef @.str.80)
  %6977 = call ptr @__errno_location() #13
  %6978 = load i32, ptr %6977, align 4, !tbaa !5
  %6979 = call ptr @strerror(i32 noundef %6978) #12
  %6980 = call ptr @__errno_location() #13
  %6981 = load i32, ptr %6980, align 4, !tbaa !5
  %6982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6969, ptr noundef @.str.78, i32 noundef %6970, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 263, ptr noundef %6973, ptr noundef %6976, ptr noundef %6979, i32 noundef %6981) #12
  br label %7000

6983:                                             ; preds = %6961, %6954
  %6984 = load i32, ptr %147, align 4, !tbaa !5
  %6985 = call ptr @__errno_location() #13
  store i32 %6984, ptr %6985, align 4, !tbaa !5
  %6986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6987 = load i32, ptr @test_count, align 4, !tbaa !5
  %6988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call ptr @s2n_strerror(i32 noundef %6989, ptr noundef @.str.80)
  %6991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6992 = load i32, ptr %6991, align 4, !tbaa !5
  %6993 = call ptr @s2n_strerror_debug(i32 noundef %6992, ptr noundef @.str.80)
  %6994 = call ptr @__errno_location() #13
  %6995 = load i32, ptr %6994, align 4, !tbaa !5
  %6996 = call ptr @strerror(i32 noundef %6995) #12
  %6997 = call ptr @__errno_location() #13
  %6998 = load i32, ptr %6997, align 4, !tbaa !5
  %6999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6986, ptr noundef @.str.81, i32 noundef %6987, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 263, ptr noundef %6990, ptr noundef %6993, ptr noundef %6996, i32 noundef %6998) #12
  br label %7000

7000:                                             ; preds = %6983, %6966
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #12
  br label %7001

7001:                                             ; preds = %7000
  br label %7002

7002:                                             ; preds = %7001
  call void @exit(i32 noundef 1) #14
  unreachable

7003:                                             ; No predecessors!
  br label %7004

7004:                                             ; preds = %7003
  br label %7005

7005:                                             ; preds = %7004, %6947
  br label %7006

7006:                                             ; preds = %7005
  br label %7007

7007:                                             ; preds = %7006
  br label %7008

7008:                                             ; preds = %7007
  %7009 = load i32, ptr @test_count, align 4, !tbaa !5
  %7010 = add nsw i32 %7009, 1
  store i32 %7010, ptr @test_count, align 4, !tbaa !5
  %7011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7012 = load i32, ptr %7011, align 4, !tbaa !5
  %7013 = icmp eq i32 %7012, 402653201
  br i1 %7013, label %7067, label %7014

7014:                                             ; preds = %7008
  br label %7015

7015:                                             ; preds = %7014
  br label %7016

7016:                                             ; preds = %7015
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #12
  %7017 = call ptr @__errno_location() #13
  %7018 = load i32, ptr %7017, align 4, !tbaa !5
  store i32 %7018, ptr %148, align 4, !tbaa !5
  %7019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7020 = call i32 @s2n_print_stacktrace(ptr noundef %7019)
  %7021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7022 = trunc i8 %7021 to i1
  br i1 %7022, label %7023, label %7045

7023:                                             ; preds = %7016
  %7024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7025 = call i32 @fileno(ptr noundef %7024) #12
  %7026 = call i32 @isatty(i32 noundef %7025) #12
  %7027 = icmp ne i32 %7026, 0
  br i1 %7027, label %7028, label %7045

7028:                                             ; preds = %7023
  %7029 = load i32, ptr %148, align 4, !tbaa !5
  %7030 = call ptr @__errno_location() #13
  store i32 %7029, ptr %7030, align 4, !tbaa !5
  %7031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7032 = load i32, ptr @test_count, align 4, !tbaa !5
  %7033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7034 = load i32, ptr %7033, align 4, !tbaa !5
  %7035 = call ptr @s2n_strerror(i32 noundef %7034, ptr noundef @.str.80)
  %7036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7037 = load i32, ptr %7036, align 4, !tbaa !5
  %7038 = call ptr @s2n_strerror_debug(i32 noundef %7037, ptr noundef @.str.80)
  %7039 = call ptr @__errno_location() #13
  %7040 = load i32, ptr %7039, align 4, !tbaa !5
  %7041 = call ptr @strerror(i32 noundef %7040) #12
  %7042 = call ptr @__errno_location() #13
  %7043 = load i32, ptr %7042, align 4, !tbaa !5
  %7044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7031, ptr noundef @.str.78, i32 noundef %7032, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 263, ptr noundef %7035, ptr noundef %7038, ptr noundef %7041, i32 noundef %7043) #12
  br label %7062

7045:                                             ; preds = %7023, %7016
  %7046 = load i32, ptr %148, align 4, !tbaa !5
  %7047 = call ptr @__errno_location() #13
  store i32 %7046, ptr %7047, align 4, !tbaa !5
  %7048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7049 = load i32, ptr @test_count, align 4, !tbaa !5
  %7050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7051 = load i32, ptr %7050, align 4, !tbaa !5
  %7052 = call ptr @s2n_strerror(i32 noundef %7051, ptr noundef @.str.80)
  %7053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  %7055 = call ptr @s2n_strerror_debug(i32 noundef %7054, ptr noundef @.str.80)
  %7056 = call ptr @__errno_location() #13
  %7057 = load i32, ptr %7056, align 4, !tbaa !5
  %7058 = call ptr @strerror(i32 noundef %7057) #12
  %7059 = call ptr @__errno_location() #13
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7048, ptr noundef @.str.81, i32 noundef %7049, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 263, ptr noundef %7052, ptr noundef %7055, ptr noundef %7058, i32 noundef %7060) #12
  br label %7062

7062:                                             ; preds = %7045, %7028
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #12
  br label %7063

7063:                                             ; preds = %7062
  br label %7064

7064:                                             ; preds = %7063
  call void @exit(i32 noundef 1) #14
  unreachable

7065:                                             ; No predecessors!
  br label %7066

7066:                                             ; preds = %7065
  br label %7067

7067:                                             ; preds = %7066, %7008
  br label %7068

7068:                                             ; preds = %7067
  br label %7069

7069:                                             ; preds = %7068
  br label %7070

7070:                                             ; preds = %7069
  %7071 = load i32, ptr @test_count, align 4, !tbaa !5
  %7072 = add nsw i32 %7071, 1
  store i32 %7072, ptr @test_count, align 4, !tbaa !5
  %7073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7074 = load i32, ptr %7073, align 4, !tbaa !5
  %7075 = call ptr @s2n_strerror_debug(i32 noundef %7074, ptr noundef @.str.80)
  %7076 = icmp eq ptr %7075, null
  br i1 %7076, label %7077, label %7130

7077:                                             ; preds = %7070
  br label %7078

7078:                                             ; preds = %7077
  br label %7079

7079:                                             ; preds = %7078
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #12
  %7080 = call ptr @__errno_location() #13
  %7081 = load i32, ptr %7080, align 4, !tbaa !5
  store i32 %7081, ptr %149, align 4, !tbaa !5
  %7082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7083 = call i32 @s2n_print_stacktrace(ptr noundef %7082)
  %7084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7085 = trunc i8 %7084 to i1
  br i1 %7085, label %7086, label %7108

7086:                                             ; preds = %7079
  %7087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7088 = call i32 @fileno(ptr noundef %7087) #12
  %7089 = call i32 @isatty(i32 noundef %7088) #12
  %7090 = icmp ne i32 %7089, 0
  br i1 %7090, label %7091, label %7108

7091:                                             ; preds = %7086
  %7092 = load i32, ptr %149, align 4, !tbaa !5
  %7093 = call ptr @__errno_location() #13
  store i32 %7092, ptr %7093, align 4, !tbaa !5
  %7094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7095 = load i32, ptr @test_count, align 4, !tbaa !5
  %7096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  %7098 = call ptr @s2n_strerror(i32 noundef %7097, ptr noundef @.str.80)
  %7099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7100 = load i32, ptr %7099, align 4, !tbaa !5
  %7101 = call ptr @s2n_strerror_debug(i32 noundef %7100, ptr noundef @.str.80)
  %7102 = call ptr @__errno_location() #13
  %7103 = load i32, ptr %7102, align 4, !tbaa !5
  %7104 = call ptr @strerror(i32 noundef %7103) #12
  %7105 = call ptr @__errno_location() #13
  %7106 = load i32, ptr %7105, align 4, !tbaa !5
  %7107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7094, ptr noundef @.str.78, i32 noundef %7095, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 263, ptr noundef %7098, ptr noundef %7101, ptr noundef %7104, i32 noundef %7106) #12
  br label %7125

7108:                                             ; preds = %7086, %7079
  %7109 = load i32, ptr %149, align 4, !tbaa !5
  %7110 = call ptr @__errno_location() #13
  store i32 %7109, ptr %7110, align 4, !tbaa !5
  %7111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7112 = load i32, ptr @test_count, align 4, !tbaa !5
  %7113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7114 = load i32, ptr %7113, align 4, !tbaa !5
  %7115 = call ptr @s2n_strerror(i32 noundef %7114, ptr noundef @.str.80)
  %7116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7117 = load i32, ptr %7116, align 4, !tbaa !5
  %7118 = call ptr @s2n_strerror_debug(i32 noundef %7117, ptr noundef @.str.80)
  %7119 = call ptr @__errno_location() #13
  %7120 = load i32, ptr %7119, align 4, !tbaa !5
  %7121 = call ptr @strerror(i32 noundef %7120) #12
  %7122 = call ptr @__errno_location() #13
  %7123 = load i32, ptr %7122, align 4, !tbaa !5
  %7124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7111, ptr noundef @.str.81, i32 noundef %7112, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 263, ptr noundef %7115, ptr noundef %7118, ptr noundef %7121, i32 noundef %7123) #12
  br label %7125

7125:                                             ; preds = %7108, %7091
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #12
  br label %7126

7126:                                             ; preds = %7125
  br label %7127

7127:                                             ; preds = %7126
  call void @exit(i32 noundef 1) #14
  unreachable

7128:                                             ; No predecessors!
  br label %7129

7129:                                             ; preds = %7128
  br label %7130

7130:                                             ; preds = %7129, %7070
  br label %7131

7131:                                             ; preds = %7130
  br label %7132

7132:                                             ; preds = %7131
  br label %7133

7133:                                             ; preds = %7132
  br label %7134

7134:                                             ; preds = %7133
  br label %7135

7135:                                             ; preds = %7134
  %7136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7136, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7137 = call ptr @__errno_location() #13
  store i32 0, ptr %7137, align 4, !tbaa !5
  br label %7138

7138:                                             ; preds = %7135
  br label %7139

7139:                                             ; preds = %7138
  br label %7140

7140:                                             ; preds = %7139
  br label %7141

7141:                                             ; preds = %7140
  call void @llvm.lifetime.end.p0(i64 56, ptr %144) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %143) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #12
  call void @llvm.memset.p0.i64(ptr align 8 %150, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %151) #12
  call void @llvm.memset.p0.i64(ptr align 8 %151, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #12
  %7142 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7142, ptr %152, align 8, !tbaa !9
  br label %7143

7143:                                             ; preds = %7141
  %7144 = load i32, ptr @test_count, align 4, !tbaa !5
  %7145 = add nsw i32 %7144, 1
  store i32 %7145, ptr @test_count, align 4, !tbaa !5
  %7146 = load ptr, ptr %152, align 8, !tbaa !9
  %7147 = icmp eq ptr %7146, null
  br i1 %7147, label %7148, label %7201

7148:                                             ; preds = %7143
  br label %7149

7149:                                             ; preds = %7148
  br label %7150

7150:                                             ; preds = %7149
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #12
  %7151 = call ptr @__errno_location() #13
  %7152 = load i32, ptr %7151, align 4, !tbaa !5
  store i32 %7152, ptr %153, align 4, !tbaa !5
  %7153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7154 = call i32 @s2n_print_stacktrace(ptr noundef %7153)
  %7155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7156 = trunc i8 %7155 to i1
  br i1 %7156, label %7157, label %7179

7157:                                             ; preds = %7150
  %7158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7159 = call i32 @fileno(ptr noundef %7158) #12
  %7160 = call i32 @isatty(i32 noundef %7159) #12
  %7161 = icmp ne i32 %7160, 0
  br i1 %7161, label %7162, label %7179

7162:                                             ; preds = %7157
  %7163 = load i32, ptr %153, align 4, !tbaa !5
  %7164 = call ptr @__errno_location() #13
  store i32 %7163, ptr %7164, align 4, !tbaa !5
  %7165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7166 = load i32, ptr @test_count, align 4, !tbaa !5
  %7167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  %7169 = call ptr @s2n_strerror(i32 noundef %7168, ptr noundef @.str.80)
  %7170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7171 = load i32, ptr %7170, align 4, !tbaa !5
  %7172 = call ptr @s2n_strerror_debug(i32 noundef %7171, ptr noundef @.str.80)
  %7173 = call ptr @__errno_location() #13
  %7174 = load i32, ptr %7173, align 4, !tbaa !5
  %7175 = call ptr @strerror(i32 noundef %7174) #12
  %7176 = call ptr @__errno_location() #13
  %7177 = load i32, ptr %7176, align 4, !tbaa !5
  %7178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7165, ptr noundef @.str.78, i32 noundef %7166, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 271, ptr noundef %7169, ptr noundef %7172, ptr noundef %7175, i32 noundef %7177) #12
  br label %7196

7179:                                             ; preds = %7157, %7150
  %7180 = load i32, ptr %153, align 4, !tbaa !5
  %7181 = call ptr @__errno_location() #13
  store i32 %7180, ptr %7181, align 4, !tbaa !5
  %7182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7183 = load i32, ptr @test_count, align 4, !tbaa !5
  %7184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  %7186 = call ptr @s2n_strerror(i32 noundef %7185, ptr noundef @.str.80)
  %7187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7188 = load i32, ptr %7187, align 4, !tbaa !5
  %7189 = call ptr @s2n_strerror_debug(i32 noundef %7188, ptr noundef @.str.80)
  %7190 = call ptr @__errno_location() #13
  %7191 = load i32, ptr %7190, align 4, !tbaa !5
  %7192 = call ptr @strerror(i32 noundef %7191) #12
  %7193 = call ptr @__errno_location() #13
  %7194 = load i32, ptr %7193, align 4, !tbaa !5
  %7195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7182, ptr noundef @.str.81, i32 noundef %7183, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 271, ptr noundef %7186, ptr noundef %7189, ptr noundef %7192, i32 noundef %7194) #12
  br label %7196

7196:                                             ; preds = %7179, %7162
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #12
  br label %7197

7197:                                             ; preds = %7196
  br label %7198

7198:                                             ; preds = %7197
  call void @exit(i32 noundef 1) #14
  unreachable

7199:                                             ; No predecessors!
  br label %7200

7200:                                             ; preds = %7199
  br label %7201

7201:                                             ; preds = %7200, %7143
  br label %7202

7202:                                             ; preds = %7201
  br label %7203

7203:                                             ; preds = %7202
  %7204 = load ptr, ptr %152, align 8, !tbaa !9
  %7205 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %151, i32 0, i32 0
  store ptr %7204, ptr %7205, align 8, !tbaa !20
  br label %7206

7206:                                             ; preds = %7203
  %7207 = load i32, ptr @test_count, align 4, !tbaa !5
  %7208 = add nsw i32 %7207, 1
  store i32 %7208, ptr @test_count, align 4, !tbaa !5
  %7209 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %151, i32 0, i32 1
  %7210 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %7209, i32 noundef 0)
  %7211 = icmp eq i32 %7210, -1
  br i1 %7211, label %7212, label %7265

7212:                                             ; preds = %7206
  br label %7213

7213:                                             ; preds = %7212
  br label %7214

7214:                                             ; preds = %7213
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #12
  %7215 = call ptr @__errno_location() #13
  %7216 = load i32, ptr %7215, align 4, !tbaa !5
  store i32 %7216, ptr %154, align 4, !tbaa !5
  %7217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7218 = call i32 @s2n_print_stacktrace(ptr noundef %7217)
  %7219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7220 = trunc i8 %7219 to i1
  br i1 %7220, label %7221, label %7243

7221:                                             ; preds = %7214
  %7222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7223 = call i32 @fileno(ptr noundef %7222) #12
  %7224 = call i32 @isatty(i32 noundef %7223) #12
  %7225 = icmp ne i32 %7224, 0
  br i1 %7225, label %7226, label %7243

7226:                                             ; preds = %7221
  %7227 = load i32, ptr %154, align 4, !tbaa !5
  %7228 = call ptr @__errno_location() #13
  store i32 %7227, ptr %7228, align 4, !tbaa !5
  %7229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7230 = load i32, ptr @test_count, align 4, !tbaa !5
  %7231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7232 = load i32, ptr %7231, align 4, !tbaa !5
  %7233 = call ptr @s2n_strerror(i32 noundef %7232, ptr noundef @.str.80)
  %7234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7235 = load i32, ptr %7234, align 4, !tbaa !5
  %7236 = call ptr @s2n_strerror_debug(i32 noundef %7235, ptr noundef @.str.80)
  %7237 = call ptr @__errno_location() #13
  %7238 = load i32, ptr %7237, align 4, !tbaa !5
  %7239 = call ptr @strerror(i32 noundef %7238) #12
  %7240 = call ptr @__errno_location() #13
  %7241 = load i32, ptr %7240, align 4, !tbaa !5
  %7242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7229, ptr noundef @.str.78, i32 noundef %7230, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 274, ptr noundef %7233, ptr noundef %7236, ptr noundef %7239, i32 noundef %7241) #12
  br label %7260

7243:                                             ; preds = %7221, %7214
  %7244 = load i32, ptr %154, align 4, !tbaa !5
  %7245 = call ptr @__errno_location() #13
  store i32 %7244, ptr %7245, align 4, !tbaa !5
  %7246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7247 = load i32, ptr @test_count, align 4, !tbaa !5
  %7248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7249 = load i32, ptr %7248, align 4, !tbaa !5
  %7250 = call ptr @s2n_strerror(i32 noundef %7249, ptr noundef @.str.80)
  %7251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7252 = load i32, ptr %7251, align 4, !tbaa !5
  %7253 = call ptr @s2n_strerror_debug(i32 noundef %7252, ptr noundef @.str.80)
  %7254 = call ptr @__errno_location() #13
  %7255 = load i32, ptr %7254, align 4, !tbaa !5
  %7256 = call ptr @strerror(i32 noundef %7255) #12
  %7257 = call ptr @__errno_location() #13
  %7258 = load i32, ptr %7257, align 4, !tbaa !5
  %7259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7246, ptr noundef @.str.81, i32 noundef %7247, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 274, ptr noundef %7250, ptr noundef %7253, ptr noundef %7256, i32 noundef %7258) #12
  br label %7260

7260:                                             ; preds = %7243, %7226
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #12
  br label %7261

7261:                                             ; preds = %7260
  br label %7262

7262:                                             ; preds = %7261
  call void @exit(i32 noundef 1) #14
  unreachable

7263:                                             ; No predecessors!
  br label %7264

7264:                                             ; preds = %7263
  br label %7265

7265:                                             ; preds = %7264, %7206
  br label %7266

7266:                                             ; preds = %7265
  br label %7267

7267:                                             ; preds = %7266
  br label %7268

7268:                                             ; preds = %7267
  %7269 = load i32, ptr @test_count, align 4, !tbaa !5
  %7270 = add nsw i32 %7269, 1
  store i32 %7270, ptr @test_count, align 4, !tbaa !5
  %7271 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %151, i32 0, i32 1
  %7272 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %7273 = call i32 @s2n_write_test_identity(ptr noundef %7271, ptr noundef %7272, i16 noundef zeroext 4)
  %7274 = getelementptr inbounds %struct.s2n_result, ptr %155, i32 0, i32 0
  store i32 %7273, ptr %7274, align 4
  %7275 = getelementptr inbounds %struct.s2n_result, ptr %155, i32 0, i32 0
  %7276 = load i32, ptr %7275, align 4
  %7277 = call zeroext i1 @s2n_result_is_ok(i32 %7276)
  br i1 %7277, label %7331, label %7278

7278:                                             ; preds = %7268
  br label %7279

7279:                                             ; preds = %7278
  br label %7280

7280:                                             ; preds = %7279
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #12
  %7281 = call ptr @__errno_location() #13
  %7282 = load i32, ptr %7281, align 4, !tbaa !5
  store i32 %7282, ptr %156, align 4, !tbaa !5
  %7283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7284 = call i32 @s2n_print_stacktrace(ptr noundef %7283)
  %7285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7286 = trunc i8 %7285 to i1
  br i1 %7286, label %7287, label %7309

7287:                                             ; preds = %7280
  %7288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7289 = call i32 @fileno(ptr noundef %7288) #12
  %7290 = call i32 @isatty(i32 noundef %7289) #12
  %7291 = icmp ne i32 %7290, 0
  br i1 %7291, label %7292, label %7309

7292:                                             ; preds = %7287
  %7293 = load i32, ptr %156, align 4, !tbaa !5
  %7294 = call ptr @__errno_location() #13
  store i32 %7293, ptr %7294, align 4, !tbaa !5
  %7295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7296 = load i32, ptr @test_count, align 4, !tbaa !5
  %7297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7298 = load i32, ptr %7297, align 4, !tbaa !5
  %7299 = call ptr @s2n_strerror(i32 noundef %7298, ptr noundef @.str.80)
  %7300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7301 = load i32, ptr %7300, align 4, !tbaa !5
  %7302 = call ptr @s2n_strerror_debug(i32 noundef %7301, ptr noundef @.str.80)
  %7303 = call ptr @__errno_location() #13
  %7304 = load i32, ptr %7303, align 4, !tbaa !5
  %7305 = call ptr @strerror(i32 noundef %7304) #12
  %7306 = call ptr @__errno_location() #13
  %7307 = load i32, ptr %7306, align 4, !tbaa !5
  %7308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7295, ptr noundef @.str.78, i32 noundef %7296, ptr noundef @.str.100, ptr noundef @.str.77, i32 noundef 275, ptr noundef %7299, ptr noundef %7302, ptr noundef %7305, i32 noundef %7307) #12
  br label %7326

7309:                                             ; preds = %7287, %7280
  %7310 = load i32, ptr %156, align 4, !tbaa !5
  %7311 = call ptr @__errno_location() #13
  store i32 %7310, ptr %7311, align 4, !tbaa !5
  %7312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7313 = load i32, ptr @test_count, align 4, !tbaa !5
  %7314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7315 = load i32, ptr %7314, align 4, !tbaa !5
  %7316 = call ptr @s2n_strerror(i32 noundef %7315, ptr noundef @.str.80)
  %7317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7318 = load i32, ptr %7317, align 4, !tbaa !5
  %7319 = call ptr @s2n_strerror_debug(i32 noundef %7318, ptr noundef @.str.80)
  %7320 = call ptr @__errno_location() #13
  %7321 = load i32, ptr %7320, align 4, !tbaa !5
  %7322 = call ptr @strerror(i32 noundef %7321) #12
  %7323 = call ptr @__errno_location() #13
  %7324 = load i32, ptr %7323, align 4, !tbaa !5
  %7325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7312, ptr noundef @.str.81, i32 noundef %7313, ptr noundef @.str.100, ptr noundef @.str.77, i32 noundef 275, ptr noundef %7316, ptr noundef %7319, ptr noundef %7322, i32 noundef %7324) #12
  br label %7326

7326:                                             ; preds = %7309, %7292
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #12
  br label %7327

7327:                                             ; preds = %7326
  br label %7328

7328:                                             ; preds = %7327
  call void @exit(i32 noundef 1) #14
  unreachable

7329:                                             ; No predecessors!
  br label %7330

7330:                                             ; preds = %7329
  br label %7331

7331:                                             ; preds = %7330, %7268
  br label %7332

7332:                                             ; preds = %7331
  br label %7333

7333:                                             ; preds = %7332
  br label %7334

7334:                                             ; preds = %7333
  %7335 = load i32, ptr @test_count, align 4, !tbaa !5
  %7336 = add nsw i32 %7335, 1
  store i32 %7336, ptr @test_count, align 4, !tbaa !5
  %7337 = call i32 @s2n_offered_psk_list_next(ptr noundef %151, ptr noundef %150)
  %7338 = icmp eq i32 %7337, -1
  br i1 %7338, label %7339, label %7392

7339:                                             ; preds = %7334
  br label %7340

7340:                                             ; preds = %7339
  br label %7341

7341:                                             ; preds = %7340
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #12
  %7342 = call ptr @__errno_location() #13
  %7343 = load i32, ptr %7342, align 4, !tbaa !5
  store i32 %7343, ptr %157, align 4, !tbaa !5
  %7344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7345 = call i32 @s2n_print_stacktrace(ptr noundef %7344)
  %7346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7347 = trunc i8 %7346 to i1
  br i1 %7347, label %7348, label %7370

7348:                                             ; preds = %7341
  %7349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7350 = call i32 @fileno(ptr noundef %7349) #12
  %7351 = call i32 @isatty(i32 noundef %7350) #12
  %7352 = icmp ne i32 %7351, 0
  br i1 %7352, label %7353, label %7370

7353:                                             ; preds = %7348
  %7354 = load i32, ptr %157, align 4, !tbaa !5
  %7355 = call ptr @__errno_location() #13
  store i32 %7354, ptr %7355, align 4, !tbaa !5
  %7356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7357 = load i32, ptr @test_count, align 4, !tbaa !5
  %7358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7359 = load i32, ptr %7358, align 4, !tbaa !5
  %7360 = call ptr @s2n_strerror(i32 noundef %7359, ptr noundef @.str.80)
  %7361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7362 = load i32, ptr %7361, align 4, !tbaa !5
  %7363 = call ptr @s2n_strerror_debug(i32 noundef %7362, ptr noundef @.str.80)
  %7364 = call ptr @__errno_location() #13
  %7365 = load i32, ptr %7364, align 4, !tbaa !5
  %7366 = call ptr @strerror(i32 noundef %7365) #12
  %7367 = call ptr @__errno_location() #13
  %7368 = load i32, ptr %7367, align 4, !tbaa !5
  %7369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7356, ptr noundef @.str.78, i32 noundef %7357, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 277, ptr noundef %7360, ptr noundef %7363, ptr noundef %7366, i32 noundef %7368) #12
  br label %7387

7370:                                             ; preds = %7348, %7341
  %7371 = load i32, ptr %157, align 4, !tbaa !5
  %7372 = call ptr @__errno_location() #13
  store i32 %7371, ptr %7372, align 4, !tbaa !5
  %7373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7374 = load i32, ptr @test_count, align 4, !tbaa !5
  %7375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7376 = load i32, ptr %7375, align 4, !tbaa !5
  %7377 = call ptr @s2n_strerror(i32 noundef %7376, ptr noundef @.str.80)
  %7378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7379 = load i32, ptr %7378, align 4, !tbaa !5
  %7380 = call ptr @s2n_strerror_debug(i32 noundef %7379, ptr noundef @.str.80)
  %7381 = call ptr @__errno_location() #13
  %7382 = load i32, ptr %7381, align 4, !tbaa !5
  %7383 = call ptr @strerror(i32 noundef %7382) #12
  %7384 = call ptr @__errno_location() #13
  %7385 = load i32, ptr %7384, align 4, !tbaa !5
  %7386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7373, ptr noundef @.str.81, i32 noundef %7374, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 277, ptr noundef %7377, ptr noundef %7380, ptr noundef %7383, i32 noundef %7385) #12
  br label %7387

7387:                                             ; preds = %7370, %7353
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #12
  br label %7388

7388:                                             ; preds = %7387
  br label %7389

7389:                                             ; preds = %7388
  call void @exit(i32 noundef 1) #14
  unreachable

7390:                                             ; No predecessors!
  br label %7391

7391:                                             ; preds = %7390
  br label %7392

7392:                                             ; preds = %7391, %7334
  br label %7393

7393:                                             ; preds = %7392
  br label %7394

7394:                                             ; preds = %7393
  br label %7395

7395:                                             ; preds = %7394
  %7396 = load i32, ptr @test_count, align 4, !tbaa !5
  %7397 = add nsw i32 %7396, 1
  store i32 %7397, ptr @test_count, align 4, !tbaa !5
  %7398 = getelementptr inbounds %struct.s2n_offered_psk, ptr %150, i32 0, i32 0
  %7399 = getelementptr inbounds %struct.s2n_blob, ptr %7398, i32 0, i32 1
  %7400 = load i32, ptr %7399, align 8, !tbaa !15
  %7401 = zext i32 %7400 to i64
  %7402 = icmp eq i64 %7401, 4
  br i1 %7402, label %7456, label %7403

7403:                                             ; preds = %7395
  br label %7404

7404:                                             ; preds = %7403
  br label %7405

7405:                                             ; preds = %7404
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #12
  %7406 = call ptr @__errno_location() #13
  %7407 = load i32, ptr %7406, align 4, !tbaa !5
  store i32 %7407, ptr %158, align 4, !tbaa !5
  %7408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7409 = call i32 @s2n_print_stacktrace(ptr noundef %7408)
  %7410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7411 = trunc i8 %7410 to i1
  br i1 %7411, label %7412, label %7434

7412:                                             ; preds = %7405
  %7413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7414 = call i32 @fileno(ptr noundef %7413) #12
  %7415 = call i32 @isatty(i32 noundef %7414) #12
  %7416 = icmp ne i32 %7415, 0
  br i1 %7416, label %7417, label %7434

7417:                                             ; preds = %7412
  %7418 = load i32, ptr %158, align 4, !tbaa !5
  %7419 = call ptr @__errno_location() #13
  store i32 %7418, ptr %7419, align 4, !tbaa !5
  %7420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7421 = load i32, ptr @test_count, align 4, !tbaa !5
  %7422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7423 = load i32, ptr %7422, align 4, !tbaa !5
  %7424 = call ptr @s2n_strerror(i32 noundef %7423, ptr noundef @.str.80)
  %7425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7426 = load i32, ptr %7425, align 4, !tbaa !5
  %7427 = call ptr @s2n_strerror_debug(i32 noundef %7426, ptr noundef @.str.80)
  %7428 = call ptr @__errno_location() #13
  %7429 = load i32, ptr %7428, align 4, !tbaa !5
  %7430 = call ptr @strerror(i32 noundef %7429) #12
  %7431 = call ptr @__errno_location() #13
  %7432 = load i32, ptr %7431, align 4, !tbaa !5
  %7433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7420, ptr noundef @.str.78, i32 noundef %7421, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 278, ptr noundef %7424, ptr noundef %7427, ptr noundef %7430, i32 noundef %7432) #12
  br label %7451

7434:                                             ; preds = %7412, %7405
  %7435 = load i32, ptr %158, align 4, !tbaa !5
  %7436 = call ptr @__errno_location() #13
  store i32 %7435, ptr %7436, align 4, !tbaa !5
  %7437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7438 = load i32, ptr @test_count, align 4, !tbaa !5
  %7439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7440 = load i32, ptr %7439, align 4, !tbaa !5
  %7441 = call ptr @s2n_strerror(i32 noundef %7440, ptr noundef @.str.80)
  %7442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7443 = load i32, ptr %7442, align 4, !tbaa !5
  %7444 = call ptr @s2n_strerror_debug(i32 noundef %7443, ptr noundef @.str.80)
  %7445 = call ptr @__errno_location() #13
  %7446 = load i32, ptr %7445, align 4, !tbaa !5
  %7447 = call ptr @strerror(i32 noundef %7446) #12
  %7448 = call ptr @__errno_location() #13
  %7449 = load i32, ptr %7448, align 4, !tbaa !5
  %7450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7437, ptr noundef @.str.81, i32 noundef %7438, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 278, ptr noundef %7441, ptr noundef %7444, ptr noundef %7447, i32 noundef %7449) #12
  br label %7451

7451:                                             ; preds = %7434, %7417
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #12
  br label %7452

7452:                                             ; preds = %7451
  br label %7453

7453:                                             ; preds = %7452
  call void @exit(i32 noundef 1) #14
  unreachable

7454:                                             ; No predecessors!
  br label %7455

7455:                                             ; preds = %7454
  br label %7456

7456:                                             ; preds = %7455, %7395
  br label %7457

7457:                                             ; preds = %7456
  br label %7458

7458:                                             ; preds = %7457
  br label %7459

7459:                                             ; preds = %7458
  br label %7460

7460:                                             ; preds = %7459
  %7461 = load i32, ptr @test_count, align 4, !tbaa !5
  %7462 = add nsw i32 %7461, 1
  store i32 %7462, ptr @test_count, align 4, !tbaa !5
  %7463 = getelementptr inbounds %struct.s2n_offered_psk, ptr %150, i32 0, i32 0
  %7464 = getelementptr inbounds %struct.s2n_blob, ptr %7463, i32 0, i32 0
  %7465 = load ptr, ptr %7464, align 8, !tbaa !19
  %7466 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %7467 = call i32 @memcmp(ptr noundef %7465, ptr noundef %7466, i64 noundef 4) #15
  %7468 = icmp eq i32 %7467, 0
  br i1 %7468, label %7522, label %7469

7469:                                             ; preds = %7460
  br label %7470

7470:                                             ; preds = %7469
  br label %7471

7471:                                             ; preds = %7470
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #12
  %7472 = call ptr @__errno_location() #13
  %7473 = load i32, ptr %7472, align 4, !tbaa !5
  store i32 %7473, ptr %159, align 4, !tbaa !5
  %7474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7475 = call i32 @s2n_print_stacktrace(ptr noundef %7474)
  %7476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7477 = trunc i8 %7476 to i1
  br i1 %7477, label %7478, label %7500

7478:                                             ; preds = %7471
  %7479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7480 = call i32 @fileno(ptr noundef %7479) #12
  %7481 = call i32 @isatty(i32 noundef %7480) #12
  %7482 = icmp ne i32 %7481, 0
  br i1 %7482, label %7483, label %7500

7483:                                             ; preds = %7478
  %7484 = load i32, ptr %159, align 4, !tbaa !5
  %7485 = call ptr @__errno_location() #13
  store i32 %7484, ptr %7485, align 4, !tbaa !5
  %7486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7487 = load i32, ptr @test_count, align 4, !tbaa !5
  %7488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7489 = load i32, ptr %7488, align 4, !tbaa !5
  %7490 = call ptr @s2n_strerror(i32 noundef %7489, ptr noundef @.str.80)
  %7491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7492 = load i32, ptr %7491, align 4, !tbaa !5
  %7493 = call ptr @s2n_strerror_debug(i32 noundef %7492, ptr noundef @.str.80)
  %7494 = call ptr @__errno_location() #13
  %7495 = load i32, ptr %7494, align 4, !tbaa !5
  %7496 = call ptr @strerror(i32 noundef %7495) #12
  %7497 = call ptr @__errno_location() #13
  %7498 = load i32, ptr %7497, align 4, !tbaa !5
  %7499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7486, ptr noundef @.str.78, i32 noundef %7487, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 279, ptr noundef %7490, ptr noundef %7493, ptr noundef %7496, i32 noundef %7498) #12
  br label %7517

7500:                                             ; preds = %7478, %7471
  %7501 = load i32, ptr %159, align 4, !tbaa !5
  %7502 = call ptr @__errno_location() #13
  store i32 %7501, ptr %7502, align 4, !tbaa !5
  %7503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7504 = load i32, ptr @test_count, align 4, !tbaa !5
  %7505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7506 = load i32, ptr %7505, align 4, !tbaa !5
  %7507 = call ptr @s2n_strerror(i32 noundef %7506, ptr noundef @.str.80)
  %7508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7509 = load i32, ptr %7508, align 4, !tbaa !5
  %7510 = call ptr @s2n_strerror_debug(i32 noundef %7509, ptr noundef @.str.80)
  %7511 = call ptr @__errno_location() #13
  %7512 = load i32, ptr %7511, align 4, !tbaa !5
  %7513 = call ptr @strerror(i32 noundef %7512) #12
  %7514 = call ptr @__errno_location() #13
  %7515 = load i32, ptr %7514, align 4, !tbaa !5
  %7516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7503, ptr noundef @.str.81, i32 noundef %7504, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 279, ptr noundef %7507, ptr noundef %7510, ptr noundef %7513, i32 noundef %7515) #12
  br label %7517

7517:                                             ; preds = %7500, %7483
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #12
  br label %7518

7518:                                             ; preds = %7517
  br label %7519

7519:                                             ; preds = %7518
  call void @exit(i32 noundef 1) #14
  unreachable

7520:                                             ; No predecessors!
  br label %7521

7521:                                             ; preds = %7520
  br label %7522

7522:                                             ; preds = %7521, %7460
  br label %7523

7523:                                             ; preds = %7522
  br label %7524

7524:                                             ; preds = %7523
  br label %7525

7525:                                             ; preds = %7524
  br label %7526

7526:                                             ; preds = %7525
  br label %7527

7527:                                             ; preds = %7526
  br label %7528

7528:                                             ; preds = %7527
  br label %7529

7529:                                             ; preds = %7528
  %7530 = load i32, ptr @test_count, align 4, !tbaa !5
  %7531 = add nsw i32 %7530, 1
  store i32 %7531, ptr @test_count, align 4, !tbaa !5
  %7532 = call i32 @s2n_offered_psk_list_next(ptr noundef %151, ptr noundef %150)
  %7533 = icmp eq i32 %7532, -1
  br i1 %7533, label %7587, label %7534

7534:                                             ; preds = %7529
  br label %7535

7535:                                             ; preds = %7534
  br label %7536

7536:                                             ; preds = %7535
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #12
  %7537 = call ptr @__errno_location() #13
  %7538 = load i32, ptr %7537, align 4, !tbaa !5
  store i32 %7538, ptr %160, align 4, !tbaa !5
  %7539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7540 = call i32 @s2n_print_stacktrace(ptr noundef %7539)
  %7541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7542 = trunc i8 %7541 to i1
  br i1 %7542, label %7543, label %7565

7543:                                             ; preds = %7536
  %7544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7545 = call i32 @fileno(ptr noundef %7544) #12
  %7546 = call i32 @isatty(i32 noundef %7545) #12
  %7547 = icmp ne i32 %7546, 0
  br i1 %7547, label %7548, label %7565

7548:                                             ; preds = %7543
  %7549 = load i32, ptr %160, align 4, !tbaa !5
  %7550 = call ptr @__errno_location() #13
  store i32 %7549, ptr %7550, align 4, !tbaa !5
  %7551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7552 = load i32, ptr @test_count, align 4, !tbaa !5
  %7553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7554 = load i32, ptr %7553, align 4, !tbaa !5
  %7555 = call ptr @s2n_strerror(i32 noundef %7554, ptr noundef @.str.80)
  %7556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7557 = load i32, ptr %7556, align 4, !tbaa !5
  %7558 = call ptr @s2n_strerror_debug(i32 noundef %7557, ptr noundef @.str.80)
  %7559 = call ptr @__errno_location() #13
  %7560 = load i32, ptr %7559, align 4, !tbaa !5
  %7561 = call ptr @strerror(i32 noundef %7560) #12
  %7562 = call ptr @__errno_location() #13
  %7563 = load i32, ptr %7562, align 4, !tbaa !5
  %7564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7551, ptr noundef @.str.78, i32 noundef %7552, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 281, ptr noundef %7555, ptr noundef %7558, ptr noundef %7561, i32 noundef %7563) #12
  br label %7582

7565:                                             ; preds = %7543, %7536
  %7566 = load i32, ptr %160, align 4, !tbaa !5
  %7567 = call ptr @__errno_location() #13
  store i32 %7566, ptr %7567, align 4, !tbaa !5
  %7568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7569 = load i32, ptr @test_count, align 4, !tbaa !5
  %7570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7571 = load i32, ptr %7570, align 4, !tbaa !5
  %7572 = call ptr @s2n_strerror(i32 noundef %7571, ptr noundef @.str.80)
  %7573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7574 = load i32, ptr %7573, align 4, !tbaa !5
  %7575 = call ptr @s2n_strerror_debug(i32 noundef %7574, ptr noundef @.str.80)
  %7576 = call ptr @__errno_location() #13
  %7577 = load i32, ptr %7576, align 4, !tbaa !5
  %7578 = call ptr @strerror(i32 noundef %7577) #12
  %7579 = call ptr @__errno_location() #13
  %7580 = load i32, ptr %7579, align 4, !tbaa !5
  %7581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7568, ptr noundef @.str.81, i32 noundef %7569, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 281, ptr noundef %7572, ptr noundef %7575, ptr noundef %7578, i32 noundef %7580) #12
  br label %7582

7582:                                             ; preds = %7565, %7548
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #12
  br label %7583

7583:                                             ; preds = %7582
  br label %7584

7584:                                             ; preds = %7583
  call void @exit(i32 noundef 1) #14
  unreachable

7585:                                             ; No predecessors!
  br label %7586

7586:                                             ; preds = %7585
  br label %7587

7587:                                             ; preds = %7586, %7529
  br label %7588

7588:                                             ; preds = %7587
  br label %7589

7589:                                             ; preds = %7588
  br label %7590

7590:                                             ; preds = %7589
  %7591 = load i32, ptr @test_count, align 4, !tbaa !5
  %7592 = add nsw i32 %7591, 1
  store i32 %7592, ptr @test_count, align 4, !tbaa !5
  %7593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7594 = load i32, ptr %7593, align 4, !tbaa !5
  %7595 = icmp eq i32 %7594, 402653201
  br i1 %7595, label %7649, label %7596

7596:                                             ; preds = %7590
  br label %7597

7597:                                             ; preds = %7596
  br label %7598

7598:                                             ; preds = %7597
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #12
  %7599 = call ptr @__errno_location() #13
  %7600 = load i32, ptr %7599, align 4, !tbaa !5
  store i32 %7600, ptr %161, align 4, !tbaa !5
  %7601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7602 = call i32 @s2n_print_stacktrace(ptr noundef %7601)
  %7603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7604 = trunc i8 %7603 to i1
  br i1 %7604, label %7605, label %7627

7605:                                             ; preds = %7598
  %7606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7607 = call i32 @fileno(ptr noundef %7606) #12
  %7608 = call i32 @isatty(i32 noundef %7607) #12
  %7609 = icmp ne i32 %7608, 0
  br i1 %7609, label %7610, label %7627

7610:                                             ; preds = %7605
  %7611 = load i32, ptr %161, align 4, !tbaa !5
  %7612 = call ptr @__errno_location() #13
  store i32 %7611, ptr %7612, align 4, !tbaa !5
  %7613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7614 = load i32, ptr @test_count, align 4, !tbaa !5
  %7615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7616 = load i32, ptr %7615, align 4, !tbaa !5
  %7617 = call ptr @s2n_strerror(i32 noundef %7616, ptr noundef @.str.80)
  %7618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7619 = load i32, ptr %7618, align 4, !tbaa !5
  %7620 = call ptr @s2n_strerror_debug(i32 noundef %7619, ptr noundef @.str.80)
  %7621 = call ptr @__errno_location() #13
  %7622 = load i32, ptr %7621, align 4, !tbaa !5
  %7623 = call ptr @strerror(i32 noundef %7622) #12
  %7624 = call ptr @__errno_location() #13
  %7625 = load i32, ptr %7624, align 4, !tbaa !5
  %7626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7613, ptr noundef @.str.78, i32 noundef %7614, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 281, ptr noundef %7617, ptr noundef %7620, ptr noundef %7623, i32 noundef %7625) #12
  br label %7644

7627:                                             ; preds = %7605, %7598
  %7628 = load i32, ptr %161, align 4, !tbaa !5
  %7629 = call ptr @__errno_location() #13
  store i32 %7628, ptr %7629, align 4, !tbaa !5
  %7630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7631 = load i32, ptr @test_count, align 4, !tbaa !5
  %7632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7633 = load i32, ptr %7632, align 4, !tbaa !5
  %7634 = call ptr @s2n_strerror(i32 noundef %7633, ptr noundef @.str.80)
  %7635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7636 = load i32, ptr %7635, align 4, !tbaa !5
  %7637 = call ptr @s2n_strerror_debug(i32 noundef %7636, ptr noundef @.str.80)
  %7638 = call ptr @__errno_location() #13
  %7639 = load i32, ptr %7638, align 4, !tbaa !5
  %7640 = call ptr @strerror(i32 noundef %7639) #12
  %7641 = call ptr @__errno_location() #13
  %7642 = load i32, ptr %7641, align 4, !tbaa !5
  %7643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7630, ptr noundef @.str.81, i32 noundef %7631, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 281, ptr noundef %7634, ptr noundef %7637, ptr noundef %7640, i32 noundef %7642) #12
  br label %7644

7644:                                             ; preds = %7627, %7610
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #12
  br label %7645

7645:                                             ; preds = %7644
  br label %7646

7646:                                             ; preds = %7645
  call void @exit(i32 noundef 1) #14
  unreachable

7647:                                             ; No predecessors!
  br label %7648

7648:                                             ; preds = %7647
  br label %7649

7649:                                             ; preds = %7648, %7590
  br label %7650

7650:                                             ; preds = %7649
  br label %7651

7651:                                             ; preds = %7650
  br label %7652

7652:                                             ; preds = %7651
  %7653 = load i32, ptr @test_count, align 4, !tbaa !5
  %7654 = add nsw i32 %7653, 1
  store i32 %7654, ptr @test_count, align 4, !tbaa !5
  %7655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7656 = load i32, ptr %7655, align 4, !tbaa !5
  %7657 = call ptr @s2n_strerror_debug(i32 noundef %7656, ptr noundef @.str.80)
  %7658 = icmp eq ptr %7657, null
  br i1 %7658, label %7659, label %7712

7659:                                             ; preds = %7652
  br label %7660

7660:                                             ; preds = %7659
  br label %7661

7661:                                             ; preds = %7660
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #12
  %7662 = call ptr @__errno_location() #13
  %7663 = load i32, ptr %7662, align 4, !tbaa !5
  store i32 %7663, ptr %162, align 4, !tbaa !5
  %7664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7665 = call i32 @s2n_print_stacktrace(ptr noundef %7664)
  %7666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7667 = trunc i8 %7666 to i1
  br i1 %7667, label %7668, label %7690

7668:                                             ; preds = %7661
  %7669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7670 = call i32 @fileno(ptr noundef %7669) #12
  %7671 = call i32 @isatty(i32 noundef %7670) #12
  %7672 = icmp ne i32 %7671, 0
  br i1 %7672, label %7673, label %7690

7673:                                             ; preds = %7668
  %7674 = load i32, ptr %162, align 4, !tbaa !5
  %7675 = call ptr @__errno_location() #13
  store i32 %7674, ptr %7675, align 4, !tbaa !5
  %7676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7677 = load i32, ptr @test_count, align 4, !tbaa !5
  %7678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7679 = load i32, ptr %7678, align 4, !tbaa !5
  %7680 = call ptr @s2n_strerror(i32 noundef %7679, ptr noundef @.str.80)
  %7681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7682 = load i32, ptr %7681, align 4, !tbaa !5
  %7683 = call ptr @s2n_strerror_debug(i32 noundef %7682, ptr noundef @.str.80)
  %7684 = call ptr @__errno_location() #13
  %7685 = load i32, ptr %7684, align 4, !tbaa !5
  %7686 = call ptr @strerror(i32 noundef %7685) #12
  %7687 = call ptr @__errno_location() #13
  %7688 = load i32, ptr %7687, align 4, !tbaa !5
  %7689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7676, ptr noundef @.str.78, i32 noundef %7677, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 281, ptr noundef %7680, ptr noundef %7683, ptr noundef %7686, i32 noundef %7688) #12
  br label %7707

7690:                                             ; preds = %7668, %7661
  %7691 = load i32, ptr %162, align 4, !tbaa !5
  %7692 = call ptr @__errno_location() #13
  store i32 %7691, ptr %7692, align 4, !tbaa !5
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = load i32, ptr @test_count, align 4, !tbaa !5
  %7695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7696 = load i32, ptr %7695, align 4, !tbaa !5
  %7697 = call ptr @s2n_strerror(i32 noundef %7696, ptr noundef @.str.80)
  %7698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7699 = load i32, ptr %7698, align 4, !tbaa !5
  %7700 = call ptr @s2n_strerror_debug(i32 noundef %7699, ptr noundef @.str.80)
  %7701 = call ptr @__errno_location() #13
  %7702 = load i32, ptr %7701, align 4, !tbaa !5
  %7703 = call ptr @strerror(i32 noundef %7702) #12
  %7704 = call ptr @__errno_location() #13
  %7705 = load i32, ptr %7704, align 4, !tbaa !5
  %7706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7693, ptr noundef @.str.81, i32 noundef %7694, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 281, ptr noundef %7697, ptr noundef %7700, ptr noundef %7703, i32 noundef %7705) #12
  br label %7707

7707:                                             ; preds = %7690, %7673
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #12
  br label %7708

7708:                                             ; preds = %7707
  br label %7709

7709:                                             ; preds = %7708
  call void @exit(i32 noundef 1) #14
  unreachable

7710:                                             ; No predecessors!
  br label %7711

7711:                                             ; preds = %7710
  br label %7712

7712:                                             ; preds = %7711, %7652
  br label %7713

7713:                                             ; preds = %7712
  br label %7714

7714:                                             ; preds = %7713
  br label %7715

7715:                                             ; preds = %7714
  br label %7716

7716:                                             ; preds = %7715
  br label %7717

7717:                                             ; preds = %7716
  %7718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7718, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7719 = call ptr @__errno_location() #13
  store i32 0, ptr %7719, align 4, !tbaa !5
  br label %7720

7720:                                             ; preds = %7717
  br label %7721

7721:                                             ; preds = %7720
  br label %7722

7722:                                             ; preds = %7721
  br label %7723

7723:                                             ; preds = %7722
  br label %7724

7724:                                             ; preds = %7723
  %7725 = load i32, ptr @test_count, align 4, !tbaa !5
  %7726 = add nsw i32 %7725, 1
  store i32 %7726, ptr @test_count, align 4, !tbaa !5
  %7727 = call i32 @s2n_offered_psk_list_reread(ptr noundef %151)
  %7728 = icmp eq i32 %7727, -1
  br i1 %7728, label %7729, label %7782

7729:                                             ; preds = %7724
  br label %7730

7730:                                             ; preds = %7729
  br label %7731

7731:                                             ; preds = %7730
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #12
  %7732 = call ptr @__errno_location() #13
  %7733 = load i32, ptr %7732, align 4, !tbaa !5
  store i32 %7733, ptr %163, align 4, !tbaa !5
  %7734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7735 = call i32 @s2n_print_stacktrace(ptr noundef %7734)
  %7736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7737 = trunc i8 %7736 to i1
  br i1 %7737, label %7738, label %7760

7738:                                             ; preds = %7731
  %7739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7740 = call i32 @fileno(ptr noundef %7739) #12
  %7741 = call i32 @isatty(i32 noundef %7740) #12
  %7742 = icmp ne i32 %7741, 0
  br i1 %7742, label %7743, label %7760

7743:                                             ; preds = %7738
  %7744 = load i32, ptr %163, align 4, !tbaa !5
  %7745 = call ptr @__errno_location() #13
  store i32 %7744, ptr %7745, align 4, !tbaa !5
  %7746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7747 = load i32, ptr @test_count, align 4, !tbaa !5
  %7748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  %7750 = call ptr @s2n_strerror(i32 noundef %7749, ptr noundef @.str.80)
  %7751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  %7753 = call ptr @s2n_strerror_debug(i32 noundef %7752, ptr noundef @.str.80)
  %7754 = call ptr @__errno_location() #13
  %7755 = load i32, ptr %7754, align 4, !tbaa !5
  %7756 = call ptr @strerror(i32 noundef %7755) #12
  %7757 = call ptr @__errno_location() #13
  %7758 = load i32, ptr %7757, align 4, !tbaa !5
  %7759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7746, ptr noundef @.str.78, i32 noundef %7747, ptr noundef @.str.120, ptr noundef @.str.77, i32 noundef 283, ptr noundef %7750, ptr noundef %7753, ptr noundef %7756, i32 noundef %7758) #12
  br label %7777

7760:                                             ; preds = %7738, %7731
  %7761 = load i32, ptr %163, align 4, !tbaa !5
  %7762 = call ptr @__errno_location() #13
  store i32 %7761, ptr %7762, align 4, !tbaa !5
  %7763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7764 = load i32, ptr @test_count, align 4, !tbaa !5
  %7765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7766 = load i32, ptr %7765, align 4, !tbaa !5
  %7767 = call ptr @s2n_strerror(i32 noundef %7766, ptr noundef @.str.80)
  %7768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7769 = load i32, ptr %7768, align 4, !tbaa !5
  %7770 = call ptr @s2n_strerror_debug(i32 noundef %7769, ptr noundef @.str.80)
  %7771 = call ptr @__errno_location() #13
  %7772 = load i32, ptr %7771, align 4, !tbaa !5
  %7773 = call ptr @strerror(i32 noundef %7772) #12
  %7774 = call ptr @__errno_location() #13
  %7775 = load i32, ptr %7774, align 4, !tbaa !5
  %7776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7763, ptr noundef @.str.81, i32 noundef %7764, ptr noundef @.str.120, ptr noundef @.str.77, i32 noundef 283, ptr noundef %7767, ptr noundef %7770, ptr noundef %7773, i32 noundef %7775) #12
  br label %7777

7777:                                             ; preds = %7760, %7743
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #12
  br label %7778

7778:                                             ; preds = %7777
  br label %7779

7779:                                             ; preds = %7778
  call void @exit(i32 noundef 1) #14
  unreachable

7780:                                             ; No predecessors!
  br label %7781

7781:                                             ; preds = %7780
  br label %7782

7782:                                             ; preds = %7781, %7724
  br label %7783

7783:                                             ; preds = %7782
  br label %7784

7784:                                             ; preds = %7783
  br label %7785

7785:                                             ; preds = %7784
  %7786 = load i32, ptr @test_count, align 4, !tbaa !5
  %7787 = add nsw i32 %7786, 1
  store i32 %7787, ptr @test_count, align 4, !tbaa !5
  %7788 = call i32 @s2n_offered_psk_list_next(ptr noundef %151, ptr noundef %150)
  %7789 = icmp eq i32 %7788, -1
  br i1 %7789, label %7790, label %7843

7790:                                             ; preds = %7785
  br label %7791

7791:                                             ; preds = %7790
  br label %7792

7792:                                             ; preds = %7791
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #12
  %7793 = call ptr @__errno_location() #13
  %7794 = load i32, ptr %7793, align 4, !tbaa !5
  store i32 %7794, ptr %164, align 4, !tbaa !5
  %7795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7796 = call i32 @s2n_print_stacktrace(ptr noundef %7795)
  %7797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7798 = trunc i8 %7797 to i1
  br i1 %7798, label %7799, label %7821

7799:                                             ; preds = %7792
  %7800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7801 = call i32 @fileno(ptr noundef %7800) #12
  %7802 = call i32 @isatty(i32 noundef %7801) #12
  %7803 = icmp ne i32 %7802, 0
  br i1 %7803, label %7804, label %7821

7804:                                             ; preds = %7799
  %7805 = load i32, ptr %164, align 4, !tbaa !5
  %7806 = call ptr @__errno_location() #13
  store i32 %7805, ptr %7806, align 4, !tbaa !5
  %7807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7808 = load i32, ptr @test_count, align 4, !tbaa !5
  %7809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7810 = load i32, ptr %7809, align 4, !tbaa !5
  %7811 = call ptr @s2n_strerror(i32 noundef %7810, ptr noundef @.str.80)
  %7812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7813 = load i32, ptr %7812, align 4, !tbaa !5
  %7814 = call ptr @s2n_strerror_debug(i32 noundef %7813, ptr noundef @.str.80)
  %7815 = call ptr @__errno_location() #13
  %7816 = load i32, ptr %7815, align 4, !tbaa !5
  %7817 = call ptr @strerror(i32 noundef %7816) #12
  %7818 = call ptr @__errno_location() #13
  %7819 = load i32, ptr %7818, align 4, !tbaa !5
  %7820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7807, ptr noundef @.str.78, i32 noundef %7808, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 285, ptr noundef %7811, ptr noundef %7814, ptr noundef %7817, i32 noundef %7819) #12
  br label %7838

7821:                                             ; preds = %7799, %7792
  %7822 = load i32, ptr %164, align 4, !tbaa !5
  %7823 = call ptr @__errno_location() #13
  store i32 %7822, ptr %7823, align 4, !tbaa !5
  %7824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7825 = load i32, ptr @test_count, align 4, !tbaa !5
  %7826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7827 = load i32, ptr %7826, align 4, !tbaa !5
  %7828 = call ptr @s2n_strerror(i32 noundef %7827, ptr noundef @.str.80)
  %7829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7830 = load i32, ptr %7829, align 4, !tbaa !5
  %7831 = call ptr @s2n_strerror_debug(i32 noundef %7830, ptr noundef @.str.80)
  %7832 = call ptr @__errno_location() #13
  %7833 = load i32, ptr %7832, align 4, !tbaa !5
  %7834 = call ptr @strerror(i32 noundef %7833) #12
  %7835 = call ptr @__errno_location() #13
  %7836 = load i32, ptr %7835, align 4, !tbaa !5
  %7837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7824, ptr noundef @.str.81, i32 noundef %7825, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 285, ptr noundef %7828, ptr noundef %7831, ptr noundef %7834, i32 noundef %7836) #12
  br label %7838

7838:                                             ; preds = %7821, %7804
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #12
  br label %7839

7839:                                             ; preds = %7838
  br label %7840

7840:                                             ; preds = %7839
  call void @exit(i32 noundef 1) #14
  unreachable

7841:                                             ; No predecessors!
  br label %7842

7842:                                             ; preds = %7841
  br label %7843

7843:                                             ; preds = %7842, %7785
  br label %7844

7844:                                             ; preds = %7843
  br label %7845

7845:                                             ; preds = %7844
  br label %7846

7846:                                             ; preds = %7845
  %7847 = load i32, ptr @test_count, align 4, !tbaa !5
  %7848 = add nsw i32 %7847, 1
  store i32 %7848, ptr @test_count, align 4, !tbaa !5
  %7849 = getelementptr inbounds %struct.s2n_offered_psk, ptr %150, i32 0, i32 0
  %7850 = getelementptr inbounds %struct.s2n_blob, ptr %7849, i32 0, i32 1
  %7851 = load i32, ptr %7850, align 8, !tbaa !15
  %7852 = zext i32 %7851 to i64
  %7853 = icmp eq i64 %7852, 4
  br i1 %7853, label %7907, label %7854

7854:                                             ; preds = %7846
  br label %7855

7855:                                             ; preds = %7854
  br label %7856

7856:                                             ; preds = %7855
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #12
  %7857 = call ptr @__errno_location() #13
  %7858 = load i32, ptr %7857, align 4, !tbaa !5
  store i32 %7858, ptr %165, align 4, !tbaa !5
  %7859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7860 = call i32 @s2n_print_stacktrace(ptr noundef %7859)
  %7861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7862 = trunc i8 %7861 to i1
  br i1 %7862, label %7863, label %7885

7863:                                             ; preds = %7856
  %7864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7865 = call i32 @fileno(ptr noundef %7864) #12
  %7866 = call i32 @isatty(i32 noundef %7865) #12
  %7867 = icmp ne i32 %7866, 0
  br i1 %7867, label %7868, label %7885

7868:                                             ; preds = %7863
  %7869 = load i32, ptr %165, align 4, !tbaa !5
  %7870 = call ptr @__errno_location() #13
  store i32 %7869, ptr %7870, align 4, !tbaa !5
  %7871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7872 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7874, ptr noundef @.str.80)
  %7876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7877 = load i32, ptr %7876, align 4, !tbaa !5
  %7878 = call ptr @s2n_strerror_debug(i32 noundef %7877, ptr noundef @.str.80)
  %7879 = call ptr @__errno_location() #13
  %7880 = load i32, ptr %7879, align 4, !tbaa !5
  %7881 = call ptr @strerror(i32 noundef %7880) #12
  %7882 = call ptr @__errno_location() #13
  %7883 = load i32, ptr %7882, align 4, !tbaa !5
  %7884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7871, ptr noundef @.str.78, i32 noundef %7872, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 286, ptr noundef %7875, ptr noundef %7878, ptr noundef %7881, i32 noundef %7883) #12
  br label %7902

7885:                                             ; preds = %7863, %7856
  %7886 = load i32, ptr %165, align 4, !tbaa !5
  %7887 = call ptr @__errno_location() #13
  store i32 %7886, ptr %7887, align 4, !tbaa !5
  %7888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7889 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7891, ptr noundef @.str.80)
  %7893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7894 = load i32, ptr %7893, align 4, !tbaa !5
  %7895 = call ptr @s2n_strerror_debug(i32 noundef %7894, ptr noundef @.str.80)
  %7896 = call ptr @__errno_location() #13
  %7897 = load i32, ptr %7896, align 4, !tbaa !5
  %7898 = call ptr @strerror(i32 noundef %7897) #12
  %7899 = call ptr @__errno_location() #13
  %7900 = load i32, ptr %7899, align 4, !tbaa !5
  %7901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7888, ptr noundef @.str.81, i32 noundef %7889, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 286, ptr noundef %7892, ptr noundef %7895, ptr noundef %7898, i32 noundef %7900) #12
  br label %7902

7902:                                             ; preds = %7885, %7868
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #12
  br label %7903

7903:                                             ; preds = %7902
  br label %7904

7904:                                             ; preds = %7903
  call void @exit(i32 noundef 1) #14
  unreachable

7905:                                             ; No predecessors!
  br label %7906

7906:                                             ; preds = %7905
  br label %7907

7907:                                             ; preds = %7906, %7846
  br label %7908

7908:                                             ; preds = %7907
  br label %7909

7909:                                             ; preds = %7908
  br label %7910

7910:                                             ; preds = %7909
  br label %7911

7911:                                             ; preds = %7910
  %7912 = load i32, ptr @test_count, align 4, !tbaa !5
  %7913 = add nsw i32 %7912, 1
  store i32 %7913, ptr @test_count, align 4, !tbaa !5
  %7914 = getelementptr inbounds %struct.s2n_offered_psk, ptr %150, i32 0, i32 0
  %7915 = getelementptr inbounds %struct.s2n_blob, ptr %7914, i32 0, i32 0
  %7916 = load ptr, ptr %7915, align 8, !tbaa !19
  %7917 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %7918 = call i32 @memcmp(ptr noundef %7916, ptr noundef %7917, i64 noundef 4) #15
  %7919 = icmp eq i32 %7918, 0
  br i1 %7919, label %7973, label %7920

7920:                                             ; preds = %7911
  br label %7921

7921:                                             ; preds = %7920
  br label %7922

7922:                                             ; preds = %7921
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #12
  %7923 = call ptr @__errno_location() #13
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  store i32 %7924, ptr %166, align 4, !tbaa !5
  %7925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7926 = call i32 @s2n_print_stacktrace(ptr noundef %7925)
  %7927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7928 = trunc i8 %7927 to i1
  br i1 %7928, label %7929, label %7951

7929:                                             ; preds = %7922
  %7930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7931 = call i32 @fileno(ptr noundef %7930) #12
  %7932 = call i32 @isatty(i32 noundef %7931) #12
  %7933 = icmp ne i32 %7932, 0
  br i1 %7933, label %7934, label %7951

7934:                                             ; preds = %7929
  %7935 = load i32, ptr %166, align 4, !tbaa !5
  %7936 = call ptr @__errno_location() #13
  store i32 %7935, ptr %7936, align 4, !tbaa !5
  %7937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7938 = load i32, ptr @test_count, align 4, !tbaa !5
  %7939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7940 = load i32, ptr %7939, align 4, !tbaa !5
  %7941 = call ptr @s2n_strerror(i32 noundef %7940, ptr noundef @.str.80)
  %7942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7943 = load i32, ptr %7942, align 4, !tbaa !5
  %7944 = call ptr @s2n_strerror_debug(i32 noundef %7943, ptr noundef @.str.80)
  %7945 = call ptr @__errno_location() #13
  %7946 = load i32, ptr %7945, align 4, !tbaa !5
  %7947 = call ptr @strerror(i32 noundef %7946) #12
  %7948 = call ptr @__errno_location() #13
  %7949 = load i32, ptr %7948, align 4, !tbaa !5
  %7950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7937, ptr noundef @.str.78, i32 noundef %7938, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 287, ptr noundef %7941, ptr noundef %7944, ptr noundef %7947, i32 noundef %7949) #12
  br label %7968

7951:                                             ; preds = %7929, %7922
  %7952 = load i32, ptr %166, align 4, !tbaa !5
  %7953 = call ptr @__errno_location() #13
  store i32 %7952, ptr %7953, align 4, !tbaa !5
  %7954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7955 = load i32, ptr @test_count, align 4, !tbaa !5
  %7956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7957 = load i32, ptr %7956, align 4, !tbaa !5
  %7958 = call ptr @s2n_strerror(i32 noundef %7957, ptr noundef @.str.80)
  %7959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7960 = load i32, ptr %7959, align 4, !tbaa !5
  %7961 = call ptr @s2n_strerror_debug(i32 noundef %7960, ptr noundef @.str.80)
  %7962 = call ptr @__errno_location() #13
  %7963 = load i32, ptr %7962, align 4, !tbaa !5
  %7964 = call ptr @strerror(i32 noundef %7963) #12
  %7965 = call ptr @__errno_location() #13
  %7966 = load i32, ptr %7965, align 4, !tbaa !5
  %7967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7954, ptr noundef @.str.81, i32 noundef %7955, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 287, ptr noundef %7958, ptr noundef %7961, ptr noundef %7964, i32 noundef %7966) #12
  br label %7968

7968:                                             ; preds = %7951, %7934
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #12
  br label %7969

7969:                                             ; preds = %7968
  br label %7970

7970:                                             ; preds = %7969
  call void @exit(i32 noundef 1) #14
  unreachable

7971:                                             ; No predecessors!
  br label %7972

7972:                                             ; preds = %7971
  br label %7973

7973:                                             ; preds = %7972, %7911
  br label %7974

7974:                                             ; preds = %7973
  br label %7975

7975:                                             ; preds = %7974
  br label %7976

7976:                                             ; preds = %7975
  br label %7977

7977:                                             ; preds = %7976
  br label %7978

7978:                                             ; preds = %7977
  %7979 = load i32, ptr @test_count, align 4, !tbaa !5
  %7980 = add nsw i32 %7979, 1
  store i32 %7980, ptr @test_count, align 4, !tbaa !5
  %7981 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %151, i32 0, i32 1
  %7982 = call i32 @s2n_stuffer_free(ptr noundef %7981)
  %7983 = icmp eq i32 %7982, -1
  br i1 %7983, label %7984, label %8037

7984:                                             ; preds = %7978
  br label %7985

7985:                                             ; preds = %7984
  br label %7986

7986:                                             ; preds = %7985
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #12
  %7987 = call ptr @__errno_location() #13
  %7988 = load i32, ptr %7987, align 4, !tbaa !5
  store i32 %7988, ptr %167, align 4, !tbaa !5
  %7989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7990 = call i32 @s2n_print_stacktrace(ptr noundef %7989)
  %7991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7992 = trunc i8 %7991 to i1
  br i1 %7992, label %7993, label %8015

7993:                                             ; preds = %7986
  %7994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7995 = call i32 @fileno(ptr noundef %7994) #12
  %7996 = call i32 @isatty(i32 noundef %7995) #12
  %7997 = icmp ne i32 %7996, 0
  br i1 %7997, label %7998, label %8015

7998:                                             ; preds = %7993
  %7999 = load i32, ptr %167, align 4, !tbaa !5
  %8000 = call ptr @__errno_location() #13
  store i32 %7999, ptr %8000, align 4, !tbaa !5
  %8001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8002 = load i32, ptr @test_count, align 4, !tbaa !5
  %8003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8004 = load i32, ptr %8003, align 4, !tbaa !5
  %8005 = call ptr @s2n_strerror(i32 noundef %8004, ptr noundef @.str.80)
  %8006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8007 = load i32, ptr %8006, align 4, !tbaa !5
  %8008 = call ptr @s2n_strerror_debug(i32 noundef %8007, ptr noundef @.str.80)
  %8009 = call ptr @__errno_location() #13
  %8010 = load i32, ptr %8009, align 4, !tbaa !5
  %8011 = call ptr @strerror(i32 noundef %8010) #12
  %8012 = call ptr @__errno_location() #13
  %8013 = load i32, ptr %8012, align 4, !tbaa !5
  %8014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8001, ptr noundef @.str.78, i32 noundef %8002, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 289, ptr noundef %8005, ptr noundef %8008, ptr noundef %8011, i32 noundef %8013) #12
  br label %8032

8015:                                             ; preds = %7993, %7986
  %8016 = load i32, ptr %167, align 4, !tbaa !5
  %8017 = call ptr @__errno_location() #13
  store i32 %8016, ptr %8017, align 4, !tbaa !5
  %8018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8019 = load i32, ptr @test_count, align 4, !tbaa !5
  %8020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8021 = load i32, ptr %8020, align 4, !tbaa !5
  %8022 = call ptr @s2n_strerror(i32 noundef %8021, ptr noundef @.str.80)
  %8023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8024 = load i32, ptr %8023, align 4, !tbaa !5
  %8025 = call ptr @s2n_strerror_debug(i32 noundef %8024, ptr noundef @.str.80)
  %8026 = call ptr @__errno_location() #13
  %8027 = load i32, ptr %8026, align 4, !tbaa !5
  %8028 = call ptr @strerror(i32 noundef %8027) #12
  %8029 = call ptr @__errno_location() #13
  %8030 = load i32, ptr %8029, align 4, !tbaa !5
  %8031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8018, ptr noundef @.str.81, i32 noundef %8019, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 289, ptr noundef %8022, ptr noundef %8025, ptr noundef %8028, i32 noundef %8030) #12
  br label %8032

8032:                                             ; preds = %8015, %7998
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #12
  br label %8033

8033:                                             ; preds = %8032
  br label %8034

8034:                                             ; preds = %8033
  call void @exit(i32 noundef 1) #14
  unreachable

8035:                                             ; No predecessors!
  br label %8036

8036:                                             ; preds = %8035
  br label %8037

8037:                                             ; preds = %8036, %7978
  br label %8038

8038:                                             ; preds = %8037
  br label %8039

8039:                                             ; preds = %8038
  br label %8040

8040:                                             ; preds = %8039
  %8041 = load i32, ptr @test_count, align 4, !tbaa !5
  %8042 = add nsw i32 %8041, 1
  store i32 %8042, ptr @test_count, align 4, !tbaa !5
  %8043 = load ptr, ptr %152, align 8, !tbaa !9
  %8044 = call i32 @s2n_connection_free(ptr noundef %8043)
  %8045 = icmp eq i32 %8044, -1
  br i1 %8045, label %8046, label %8099

8046:                                             ; preds = %8040
  br label %8047

8047:                                             ; preds = %8046
  br label %8048

8048:                                             ; preds = %8047
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #12
  %8049 = call ptr @__errno_location() #13
  %8050 = load i32, ptr %8049, align 4, !tbaa !5
  store i32 %8050, ptr %168, align 4, !tbaa !5
  %8051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8052 = call i32 @s2n_print_stacktrace(ptr noundef %8051)
  %8053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8054 = trunc i8 %8053 to i1
  br i1 %8054, label %8055, label %8077

8055:                                             ; preds = %8048
  %8056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8057 = call i32 @fileno(ptr noundef %8056) #12
  %8058 = call i32 @isatty(i32 noundef %8057) #12
  %8059 = icmp ne i32 %8058, 0
  br i1 %8059, label %8060, label %8077

8060:                                             ; preds = %8055
  %8061 = load i32, ptr %168, align 4, !tbaa !5
  %8062 = call ptr @__errno_location() #13
  store i32 %8061, ptr %8062, align 4, !tbaa !5
  %8063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8064 = load i32, ptr @test_count, align 4, !tbaa !5
  %8065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8066 = load i32, ptr %8065, align 4, !tbaa !5
  %8067 = call ptr @s2n_strerror(i32 noundef %8066, ptr noundef @.str.80)
  %8068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  %8070 = call ptr @s2n_strerror_debug(i32 noundef %8069, ptr noundef @.str.80)
  %8071 = call ptr @__errno_location() #13
  %8072 = load i32, ptr %8071, align 4, !tbaa !5
  %8073 = call ptr @strerror(i32 noundef %8072) #12
  %8074 = call ptr @__errno_location() #13
  %8075 = load i32, ptr %8074, align 4, !tbaa !5
  %8076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8063, ptr noundef @.str.78, i32 noundef %8064, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 290, ptr noundef %8067, ptr noundef %8070, ptr noundef %8073, i32 noundef %8075) #12
  br label %8094

8077:                                             ; preds = %8055, %8048
  %8078 = load i32, ptr %168, align 4, !tbaa !5
  %8079 = call ptr @__errno_location() #13
  store i32 %8078, ptr %8079, align 4, !tbaa !5
  %8080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8081 = load i32, ptr @test_count, align 4, !tbaa !5
  %8082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8083 = load i32, ptr %8082, align 4, !tbaa !5
  %8084 = call ptr @s2n_strerror(i32 noundef %8083, ptr noundef @.str.80)
  %8085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8086 = load i32, ptr %8085, align 4, !tbaa !5
  %8087 = call ptr @s2n_strerror_debug(i32 noundef %8086, ptr noundef @.str.80)
  %8088 = call ptr @__errno_location() #13
  %8089 = load i32, ptr %8088, align 4, !tbaa !5
  %8090 = call ptr @strerror(i32 noundef %8089) #12
  %8091 = call ptr @__errno_location() #13
  %8092 = load i32, ptr %8091, align 4, !tbaa !5
  %8093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8080, ptr noundef @.str.81, i32 noundef %8081, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 290, ptr noundef %8084, ptr noundef %8087, ptr noundef %8090, i32 noundef %8092) #12
  br label %8094

8094:                                             ; preds = %8077, %8060
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #12
  br label %8095

8095:                                             ; preds = %8094
  br label %8096

8096:                                             ; preds = %8095
  call void @exit(i32 noundef 1) #14
  unreachable

8097:                                             ; No predecessors!
  br label %8098

8098:                                             ; preds = %8097
  br label %8099

8099:                                             ; preds = %8098, %8040
  br label %8100

8100:                                             ; preds = %8099
  br label %8101

8101:                                             ; preds = %8100
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %151) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %169) #12
  call void @llvm.memset.p0.i64(ptr align 8 %169, i8 0, i64 32, i1 false)
  br label %8102

8102:                                             ; preds = %8101
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #12
  store i64 32, ptr %170, align 8, !tbaa !48
  %8103 = load i64, ptr %170, align 8, !tbaa !48
  %8104 = icmp ne i64 %8103, 0
  %8105 = xor i1 %8104, true
  %8106 = xor i1 %8105, true
  %8107 = zext i1 %8106 to i32
  %8108 = sext i32 %8107 to i64
  %8109 = call i64 @llvm.expect.i64(i64 %8108, i64 1)
  %8110 = icmp ne i64 %8109, 0
  br i1 %8110, label %8111, label %8156

8111:                                             ; preds = %8102
  call void @llvm.lifetime.start.p0(i64 8, ptr %171) #12
  store ptr %169, ptr %171, align 8, !tbaa !9
  br label %8112

8112:                                             ; preds = %8111
  %8113 = load ptr, ptr %171, align 8, !tbaa !9
  %8114 = icmp ne ptr %8113, null
  br i1 %8114, label %8148, label %8115

8115:                                             ; preds = %8112
  br label %8116

8116:                                             ; preds = %8115
  br label %8117

8117:                                             ; preds = %8116
  %8118 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %8119 = getelementptr inbounds %struct.s2n_debug_info, ptr %8118, i32 0, i32 0
  store ptr @.str.121, ptr %8119, align 8, !tbaa !49
  %8120 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %8121 = getelementptr inbounds %struct.s2n_debug_info, ptr %8120, i32 0, i32 0
  %8122 = load ptr, ptr %8121, align 8, !tbaa !49
  %8123 = getelementptr inbounds i8, ptr %8122, i64 21
  %8124 = call ptr @strrchr(ptr noundef %8123, i32 noundef 47) #15
  %8125 = icmp ne ptr %8124, null
  br i1 %8125, label %8126, label %8133

8126:                                             ; preds = %8117
  %8127 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %8128 = getelementptr inbounds %struct.s2n_debug_info, ptr %8127, i32 0, i32 0
  %8129 = load ptr, ptr %8128, align 8, !tbaa !49
  %8130 = getelementptr inbounds i8, ptr %8129, i64 21
  %8131 = call ptr @strrchr(ptr noundef %8130, i32 noundef 47) #15
  %8132 = getelementptr inbounds i8, ptr %8131, i64 1
  br label %8138

8133:                                             ; preds = %8117
  %8134 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %8135 = getelementptr inbounds %struct.s2n_debug_info, ptr %8134, i32 0, i32 0
  %8136 = load ptr, ptr %8135, align 8, !tbaa !49
  %8137 = getelementptr inbounds i8, ptr %8136, i64 21
  br label %8138

8138:                                             ; preds = %8133, %8126
  %8139 = phi ptr [ %8132, %8126 ], [ %8137, %8133 ]
  %8140 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %8141 = getelementptr inbounds %struct.s2n_debug_info, ptr %8140, i32 0, i32 1
  store ptr %8139, ptr %8141, align 8, !tbaa !51
  %8142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 402653193, ptr %8142, align 4, !tbaa !5
  %8143 = call i32 @s2n_calculate_stacktrace()
  br label %8144

8144:                                             ; preds = %8138
  br label %8145

8145:                                             ; preds = %8144
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %172, align 4
  br label %8153

8146:                                             ; No predecessors!
  br label %8147

8147:                                             ; preds = %8146
  br label %8148

8148:                                             ; preds = %8147, %8112
  br label %8149

8149:                                             ; preds = %8148
  br label %8150

8150:                                             ; preds = %8149
  %8151 = load ptr, ptr %171, align 8, !tbaa !9
  %8152 = load i64, ptr %170, align 8, !tbaa !48
  call void @llvm.memset.p0.i64(ptr align 8 %8151, i8 0, i64 %8152, i1 false)
  store i32 0, ptr %172, align 4
  br label %8153

8153:                                             ; preds = %8150, %8145
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #12
  %8154 = load i32, ptr %172, align 4
  switch i32 %8154, label %8157 [
    i32 0, label %8155
  ]

8155:                                             ; preds = %8153
  br label %8156

8156:                                             ; preds = %8155, %8102
  store i32 0, ptr %172, align 4
  br label %8157

8157:                                             ; preds = %8156, %8153
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #12
  %8158 = load i32, ptr %172, align 4
  switch i32 %8158, label %8290 [
    i32 0, label %8159
  ]

8159:                                             ; preds = %8157
  br label %8160

8160:                                             ; preds = %8159
  br label %8161

8161:                                             ; preds = %8160
  call void @llvm.lifetime.start.p0(i64 8, ptr %173) #12
  %8162 = call ptr @s2n_offered_psk_new()
  store ptr %8162, ptr %173, align 8, !tbaa !9
  br label %8163

8163:                                             ; preds = %8161
  %8164 = load i32, ptr @test_count, align 4, !tbaa !5
  %8165 = add nsw i32 %8164, 1
  store i32 %8165, ptr @test_count, align 4, !tbaa !5
  %8166 = load ptr, ptr %173, align 8, !tbaa !9
  %8167 = icmp eq ptr %8166, null
  br i1 %8167, label %8168, label %8221

8168:                                             ; preds = %8163
  br label %8169

8169:                                             ; preds = %8168
  br label %8170

8170:                                             ; preds = %8169
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #12
  %8171 = call ptr @__errno_location() #13
  %8172 = load i32, ptr %8171, align 4, !tbaa !5
  store i32 %8172, ptr %174, align 4, !tbaa !5
  %8173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8174 = call i32 @s2n_print_stacktrace(ptr noundef %8173)
  %8175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8176 = trunc i8 %8175 to i1
  br i1 %8176, label %8177, label %8199

8177:                                             ; preds = %8170
  %8178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8179 = call i32 @fileno(ptr noundef %8178) #12
  %8180 = call i32 @isatty(i32 noundef %8179) #12
  %8181 = icmp ne i32 %8180, 0
  br i1 %8181, label %8182, label %8199

8182:                                             ; preds = %8177
  %8183 = load i32, ptr %174, align 4, !tbaa !5
  %8184 = call ptr @__errno_location() #13
  store i32 %8183, ptr %8184, align 4, !tbaa !5
  %8185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8186 = load i32, ptr @test_count, align 4, !tbaa !5
  %8187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8188 = load i32, ptr %8187, align 4, !tbaa !5
  %8189 = call ptr @s2n_strerror(i32 noundef %8188, ptr noundef @.str.80)
  %8190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8191 = load i32, ptr %8190, align 4, !tbaa !5
  %8192 = call ptr @s2n_strerror_debug(i32 noundef %8191, ptr noundef @.str.80)
  %8193 = call ptr @__errno_location() #13
  %8194 = load i32, ptr %8193, align 4, !tbaa !5
  %8195 = call ptr @strerror(i32 noundef %8194) #12
  %8196 = call ptr @__errno_location() #13
  %8197 = load i32, ptr %8196, align 4, !tbaa !5
  %8198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8185, ptr noundef @.str.78, i32 noundef %8186, ptr noundef @.str.122, ptr noundef @.str.77, i32 noundef 299, ptr noundef %8189, ptr noundef %8192, ptr noundef %8195, i32 noundef %8197) #12
  br label %8216

8199:                                             ; preds = %8177, %8170
  %8200 = load i32, ptr %174, align 4, !tbaa !5
  %8201 = call ptr @__errno_location() #13
  store i32 %8200, ptr %8201, align 4, !tbaa !5
  %8202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8203 = load i32, ptr @test_count, align 4, !tbaa !5
  %8204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8205 = load i32, ptr %8204, align 4, !tbaa !5
  %8206 = call ptr @s2n_strerror(i32 noundef %8205, ptr noundef @.str.80)
  %8207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8208 = load i32, ptr %8207, align 4, !tbaa !5
  %8209 = call ptr @s2n_strerror_debug(i32 noundef %8208, ptr noundef @.str.80)
  %8210 = call ptr @__errno_location() #13
  %8211 = load i32, ptr %8210, align 4, !tbaa !5
  %8212 = call ptr @strerror(i32 noundef %8211) #12
  %8213 = call ptr @__errno_location() #13
  %8214 = load i32, ptr %8213, align 4, !tbaa !5
  %8215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8202, ptr noundef @.str.81, i32 noundef %8203, ptr noundef @.str.122, ptr noundef @.str.77, i32 noundef 299, ptr noundef %8206, ptr noundef %8209, ptr noundef %8212, i32 noundef %8214) #12
  br label %8216

8216:                                             ; preds = %8199, %8182
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #12
  br label %8217

8217:                                             ; preds = %8216
  br label %8218

8218:                                             ; preds = %8217
  call void @exit(i32 noundef 1) #14
  unreachable

8219:                                             ; No predecessors!
  br label %8220

8220:                                             ; preds = %8219
  br label %8221

8221:                                             ; preds = %8220, %8163
  br label %8222

8222:                                             ; preds = %8221
  br label %8223

8223:                                             ; preds = %8222
  br label %8224

8224:                                             ; preds = %8223
  br label %8225

8225:                                             ; preds = %8224
  %8226 = load i32, ptr @test_count, align 4, !tbaa !5
  %8227 = add nsw i32 %8226, 1
  store i32 %8227, ptr @test_count, align 4, !tbaa !5
  %8228 = load ptr, ptr %173, align 8, !tbaa !9
  %8229 = call i32 @memcmp(ptr noundef %169, ptr noundef %8228, i64 noundef 32) #15
  %8230 = icmp eq i32 %8229, 0
  br i1 %8230, label %8284, label %8231

8231:                                             ; preds = %8225
  br label %8232

8232:                                             ; preds = %8231
  br label %8233

8233:                                             ; preds = %8232
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #12
  %8234 = call ptr @__errno_location() #13
  %8235 = load i32, ptr %8234, align 4, !tbaa !5
  store i32 %8235, ptr %175, align 4, !tbaa !5
  %8236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8237 = call i32 @s2n_print_stacktrace(ptr noundef %8236)
  %8238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8239 = trunc i8 %8238 to i1
  br i1 %8239, label %8240, label %8262

8240:                                             ; preds = %8233
  %8241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8242 = call i32 @fileno(ptr noundef %8241) #12
  %8243 = call i32 @isatty(i32 noundef %8242) #12
  %8244 = icmp ne i32 %8243, 0
  br i1 %8244, label %8245, label %8262

8245:                                             ; preds = %8240
  %8246 = load i32, ptr %175, align 4, !tbaa !5
  %8247 = call ptr @__errno_location() #13
  store i32 %8246, ptr %8247, align 4, !tbaa !5
  %8248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8249 = load i32, ptr @test_count, align 4, !tbaa !5
  %8250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8251 = load i32, ptr %8250, align 4, !tbaa !5
  %8252 = call ptr @s2n_strerror(i32 noundef %8251, ptr noundef @.str.80)
  %8253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8254 = load i32, ptr %8253, align 4, !tbaa !5
  %8255 = call ptr @s2n_strerror_debug(i32 noundef %8254, ptr noundef @.str.80)
  %8256 = call ptr @__errno_location() #13
  %8257 = load i32, ptr %8256, align 4, !tbaa !5
  %8258 = call ptr @strerror(i32 noundef %8257) #12
  %8259 = call ptr @__errno_location() #13
  %8260 = load i32, ptr %8259, align 4, !tbaa !5
  %8261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8248, ptr noundef @.str.78, i32 noundef %8249, ptr noundef @.str.123, ptr noundef @.str.77, i32 noundef 302, ptr noundef %8252, ptr noundef %8255, ptr noundef %8258, i32 noundef %8260) #12
  br label %8279

8262:                                             ; preds = %8240, %8233
  %8263 = load i32, ptr %175, align 4, !tbaa !5
  %8264 = call ptr @__errno_location() #13
  store i32 %8263, ptr %8264, align 4, !tbaa !5
  %8265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8266 = load i32, ptr @test_count, align 4, !tbaa !5
  %8267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call ptr @s2n_strerror(i32 noundef %8268, ptr noundef @.str.80)
  %8270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8271 = load i32, ptr %8270, align 4, !tbaa !5
  %8272 = call ptr @s2n_strerror_debug(i32 noundef %8271, ptr noundef @.str.80)
  %8273 = call ptr @__errno_location() #13
  %8274 = load i32, ptr %8273, align 4, !tbaa !5
  %8275 = call ptr @strerror(i32 noundef %8274) #12
  %8276 = call ptr @__errno_location() #13
  %8277 = load i32, ptr %8276, align 4, !tbaa !5
  %8278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8265, ptr noundef @.str.81, i32 noundef %8266, ptr noundef @.str.123, ptr noundef @.str.77, i32 noundef 302, ptr noundef %8269, ptr noundef %8272, ptr noundef %8275, i32 noundef %8277) #12
  br label %8279

8279:                                             ; preds = %8262, %8245
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #12
  br label %8280

8280:                                             ; preds = %8279
  br label %8281

8281:                                             ; preds = %8280
  call void @exit(i32 noundef 1) #14
  unreachable

8282:                                             ; No predecessors!
  br label %8283

8283:                                             ; preds = %8282
  br label %8284

8284:                                             ; preds = %8283, %8225
  br label %8285

8285:                                             ; preds = %8284
  br label %8286

8286:                                             ; preds = %8285
  br label %8287

8287:                                             ; preds = %8286
  br label %8288

8288:                                             ; preds = %8287
  %8289 = call i32 @s2n_offered_psk_free(ptr noundef %173)
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #12
  store i32 0, ptr %172, align 4
  br label %8290

8290:                                             ; preds = %8288, %8157
  call void @llvm.lifetime.end.p0(i64 32, ptr %169) #12
  %8291 = load i32, ptr %172, align 4
  switch i32 %8291, label %16936 [
    i32 0, label %8292
  ]

8292:                                             ; preds = %8290
  br label %8293

8293:                                             ; preds = %8292
  %8294 = load i32, ptr @test_count, align 4, !tbaa !5
  %8295 = add nsw i32 %8294, 1
  store i32 %8295, ptr @test_count, align 4, !tbaa !5
  %8296 = call i32 @s2n_offered_psk_free(ptr noundef null)
  %8297 = icmp eq i32 %8296, -1
  br i1 %8297, label %8298, label %8351

8298:                                             ; preds = %8293
  br label %8299

8299:                                             ; preds = %8298
  br label %8300

8300:                                             ; preds = %8299
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #12
  %8301 = call ptr @__errno_location() #13
  %8302 = load i32, ptr %8301, align 4, !tbaa !5
  store i32 %8302, ptr %176, align 4, !tbaa !5
  %8303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8304 = call i32 @s2n_print_stacktrace(ptr noundef %8303)
  %8305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8306 = trunc i8 %8305 to i1
  br i1 %8306, label %8307, label %8329

8307:                                             ; preds = %8300
  %8308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8309 = call i32 @fileno(ptr noundef %8308) #12
  %8310 = call i32 @isatty(i32 noundef %8309) #12
  %8311 = icmp ne i32 %8310, 0
  br i1 %8311, label %8312, label %8329

8312:                                             ; preds = %8307
  %8313 = load i32, ptr %176, align 4, !tbaa !5
  %8314 = call ptr @__errno_location() #13
  store i32 %8313, ptr %8314, align 4, !tbaa !5
  %8315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8316 = load i32, ptr @test_count, align 4, !tbaa !5
  %8317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8318 = load i32, ptr %8317, align 4, !tbaa !5
  %8319 = call ptr @s2n_strerror(i32 noundef %8318, ptr noundef @.str.80)
  %8320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8321 = load i32, ptr %8320, align 4, !tbaa !5
  %8322 = call ptr @s2n_strerror_debug(i32 noundef %8321, ptr noundef @.str.80)
  %8323 = call ptr @__errno_location() #13
  %8324 = load i32, ptr %8323, align 4, !tbaa !5
  %8325 = call ptr @strerror(i32 noundef %8324) #12
  %8326 = call ptr @__errno_location() #13
  %8327 = load i32, ptr %8326, align 4, !tbaa !5
  %8328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8315, ptr noundef @.str.78, i32 noundef %8316, ptr noundef @.str.124, ptr noundef @.str.77, i32 noundef 307, ptr noundef %8319, ptr noundef %8322, ptr noundef %8325, i32 noundef %8327) #12
  br label %8346

8329:                                             ; preds = %8307, %8300
  %8330 = load i32, ptr %176, align 4, !tbaa !5
  %8331 = call ptr @__errno_location() #13
  store i32 %8330, ptr %8331, align 4, !tbaa !5
  %8332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8333 = load i32, ptr @test_count, align 4, !tbaa !5
  %8334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8335 = load i32, ptr %8334, align 4, !tbaa !5
  %8336 = call ptr @s2n_strerror(i32 noundef %8335, ptr noundef @.str.80)
  %8337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8338 = load i32, ptr %8337, align 4, !tbaa !5
  %8339 = call ptr @s2n_strerror_debug(i32 noundef %8338, ptr noundef @.str.80)
  %8340 = call ptr @__errno_location() #13
  %8341 = load i32, ptr %8340, align 4, !tbaa !5
  %8342 = call ptr @strerror(i32 noundef %8341) #12
  %8343 = call ptr @__errno_location() #13
  %8344 = load i32, ptr %8343, align 4, !tbaa !5
  %8345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8332, ptr noundef @.str.81, i32 noundef %8333, ptr noundef @.str.124, ptr noundef @.str.77, i32 noundef 307, ptr noundef %8336, ptr noundef %8339, ptr noundef %8342, i32 noundef %8344) #12
  br label %8346

8346:                                             ; preds = %8329, %8312
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #12
  br label %8347

8347:                                             ; preds = %8346
  br label %8348

8348:                                             ; preds = %8347
  call void @exit(i32 noundef 1) #14
  unreachable

8349:                                             ; No predecessors!
  br label %8350

8350:                                             ; preds = %8349
  br label %8351

8351:                                             ; preds = %8350, %8293
  br label %8352

8352:                                             ; preds = %8351
  br label %8353

8353:                                             ; preds = %8352
  call void @llvm.lifetime.start.p0(i64 8, ptr %177) #12
  %8354 = call ptr @s2n_offered_psk_new()
  store ptr %8354, ptr %177, align 8, !tbaa !9
  br label %8355

8355:                                             ; preds = %8353
  %8356 = load i32, ptr @test_count, align 4, !tbaa !5
  %8357 = add nsw i32 %8356, 1
  store i32 %8357, ptr @test_count, align 4, !tbaa !5
  %8358 = load ptr, ptr %177, align 8, !tbaa !9
  %8359 = icmp eq ptr %8358, null
  br i1 %8359, label %8360, label %8413

8360:                                             ; preds = %8355
  br label %8361

8361:                                             ; preds = %8360
  br label %8362

8362:                                             ; preds = %8361
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #12
  %8363 = call ptr @__errno_location() #13
  %8364 = load i32, ptr %8363, align 4, !tbaa !5
  store i32 %8364, ptr %178, align 4, !tbaa !5
  %8365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8366 = call i32 @s2n_print_stacktrace(ptr noundef %8365)
  %8367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8368 = trunc i8 %8367 to i1
  br i1 %8368, label %8369, label %8391

8369:                                             ; preds = %8362
  %8370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8371 = call i32 @fileno(ptr noundef %8370) #12
  %8372 = call i32 @isatty(i32 noundef %8371) #12
  %8373 = icmp ne i32 %8372, 0
  br i1 %8373, label %8374, label %8391

8374:                                             ; preds = %8369
  %8375 = load i32, ptr %178, align 4, !tbaa !5
  %8376 = call ptr @__errno_location() #13
  store i32 %8375, ptr %8376, align 4, !tbaa !5
  %8377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8378 = load i32, ptr @test_count, align 4, !tbaa !5
  %8379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8380 = load i32, ptr %8379, align 4, !tbaa !5
  %8381 = call ptr @s2n_strerror(i32 noundef %8380, ptr noundef @.str.80)
  %8382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8383 = load i32, ptr %8382, align 4, !tbaa !5
  %8384 = call ptr @s2n_strerror_debug(i32 noundef %8383, ptr noundef @.str.80)
  %8385 = call ptr @__errno_location() #13
  %8386 = load i32, ptr %8385, align 4, !tbaa !5
  %8387 = call ptr @strerror(i32 noundef %8386) #12
  %8388 = call ptr @__errno_location() #13
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8377, ptr noundef @.str.78, i32 noundef %8378, ptr noundef @.str.122, ptr noundef @.str.77, i32 noundef 310, ptr noundef %8381, ptr noundef %8384, ptr noundef %8387, i32 noundef %8389) #12
  br label %8408

8391:                                             ; preds = %8369, %8362
  %8392 = load i32, ptr %178, align 4, !tbaa !5
  %8393 = call ptr @__errno_location() #13
  store i32 %8392, ptr %8393, align 4, !tbaa !5
  %8394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8395 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8397, ptr noundef @.str.80)
  %8399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @s2n_strerror_debug(i32 noundef %8400, ptr noundef @.str.80)
  %8402 = call ptr @__errno_location() #13
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call ptr @strerror(i32 noundef %8403) #12
  %8405 = call ptr @__errno_location() #13
  %8406 = load i32, ptr %8405, align 4, !tbaa !5
  %8407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8394, ptr noundef @.str.81, i32 noundef %8395, ptr noundef @.str.122, ptr noundef @.str.77, i32 noundef 310, ptr noundef %8398, ptr noundef %8401, ptr noundef %8404, i32 noundef %8406) #12
  br label %8408

8408:                                             ; preds = %8391, %8374
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #12
  br label %8409

8409:                                             ; preds = %8408
  br label %8410

8410:                                             ; preds = %8409
  call void @exit(i32 noundef 1) #14
  unreachable

8411:                                             ; No predecessors!
  br label %8412

8412:                                             ; preds = %8411
  br label %8413

8413:                                             ; preds = %8412, %8355
  br label %8414

8414:                                             ; preds = %8413
  br label %8415

8415:                                             ; preds = %8414
  br label %8416

8416:                                             ; preds = %8415
  %8417 = load i32, ptr @test_count, align 4, !tbaa !5
  %8418 = add nsw i32 %8417, 1
  store i32 %8418, ptr @test_count, align 4, !tbaa !5
  %8419 = call i32 @s2n_offered_psk_free(ptr noundef %177)
  %8420 = icmp eq i32 %8419, -1
  br i1 %8420, label %8421, label %8474

8421:                                             ; preds = %8416
  br label %8422

8422:                                             ; preds = %8421
  br label %8423

8423:                                             ; preds = %8422
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #12
  %8424 = call ptr @__errno_location() #13
  %8425 = load i32, ptr %8424, align 4, !tbaa !5
  store i32 %8425, ptr %179, align 4, !tbaa !5
  %8426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8427 = call i32 @s2n_print_stacktrace(ptr noundef %8426)
  %8428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8429 = trunc i8 %8428 to i1
  br i1 %8429, label %8430, label %8452

8430:                                             ; preds = %8423
  %8431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8432 = call i32 @fileno(ptr noundef %8431) #12
  %8433 = call i32 @isatty(i32 noundef %8432) #12
  %8434 = icmp ne i32 %8433, 0
  br i1 %8434, label %8435, label %8452

8435:                                             ; preds = %8430
  %8436 = load i32, ptr %179, align 4, !tbaa !5
  %8437 = call ptr @__errno_location() #13
  store i32 %8436, ptr %8437, align 4, !tbaa !5
  %8438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8439 = load i32, ptr @test_count, align 4, !tbaa !5
  %8440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8441 = load i32, ptr %8440, align 4, !tbaa !5
  %8442 = call ptr @s2n_strerror(i32 noundef %8441, ptr noundef @.str.80)
  %8443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8444 = load i32, ptr %8443, align 4, !tbaa !5
  %8445 = call ptr @s2n_strerror_debug(i32 noundef %8444, ptr noundef @.str.80)
  %8446 = call ptr @__errno_location() #13
  %8447 = load i32, ptr %8446, align 4, !tbaa !5
  %8448 = call ptr @strerror(i32 noundef %8447) #12
  %8449 = call ptr @__errno_location() #13
  %8450 = load i32, ptr %8449, align 4, !tbaa !5
  %8451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8438, ptr noundef @.str.78, i32 noundef %8439, ptr noundef @.str.125, ptr noundef @.str.77, i32 noundef 311, ptr noundef %8442, ptr noundef %8445, ptr noundef %8448, i32 noundef %8450) #12
  br label %8469

8452:                                             ; preds = %8430, %8423
  %8453 = load i32, ptr %179, align 4, !tbaa !5
  %8454 = call ptr @__errno_location() #13
  store i32 %8453, ptr %8454, align 4, !tbaa !5
  %8455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8456 = load i32, ptr @test_count, align 4, !tbaa !5
  %8457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8458 = load i32, ptr %8457, align 4, !tbaa !5
  %8459 = call ptr @s2n_strerror(i32 noundef %8458, ptr noundef @.str.80)
  %8460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8461 = load i32, ptr %8460, align 4, !tbaa !5
  %8462 = call ptr @s2n_strerror_debug(i32 noundef %8461, ptr noundef @.str.80)
  %8463 = call ptr @__errno_location() #13
  %8464 = load i32, ptr %8463, align 4, !tbaa !5
  %8465 = call ptr @strerror(i32 noundef %8464) #12
  %8466 = call ptr @__errno_location() #13
  %8467 = load i32, ptr %8466, align 4, !tbaa !5
  %8468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8455, ptr noundef @.str.81, i32 noundef %8456, ptr noundef @.str.125, ptr noundef @.str.77, i32 noundef 311, ptr noundef %8459, ptr noundef %8462, ptr noundef %8465, i32 noundef %8467) #12
  br label %8469

8469:                                             ; preds = %8452, %8435
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #12
  br label %8470

8470:                                             ; preds = %8469
  br label %8471

8471:                                             ; preds = %8470
  call void @exit(i32 noundef 1) #14
  unreachable

8472:                                             ; No predecessors!
  br label %8473

8473:                                             ; preds = %8472
  br label %8474

8474:                                             ; preds = %8473, %8416
  br label %8475

8475:                                             ; preds = %8474
  br label %8476

8476:                                             ; preds = %8475
  br label %8477

8477:                                             ; preds = %8476
  %8478 = load i32, ptr @test_count, align 4, !tbaa !5
  %8479 = add nsw i32 %8478, 1
  store i32 %8479, ptr @test_count, align 4, !tbaa !5
  %8480 = load ptr, ptr %177, align 8, !tbaa !9
  %8481 = icmp eq ptr %8480, null
  br i1 %8481, label %8535, label %8482

8482:                                             ; preds = %8477
  br label %8483

8483:                                             ; preds = %8482
  br label %8484

8484:                                             ; preds = %8483
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #12
  %8485 = call ptr @__errno_location() #13
  %8486 = load i32, ptr %8485, align 4, !tbaa !5
  store i32 %8486, ptr %180, align 4, !tbaa !5
  %8487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8488 = call i32 @s2n_print_stacktrace(ptr noundef %8487)
  %8489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8490 = trunc i8 %8489 to i1
  br i1 %8490, label %8491, label %8513

8491:                                             ; preds = %8484
  %8492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8493 = call i32 @fileno(ptr noundef %8492) #12
  %8494 = call i32 @isatty(i32 noundef %8493) #12
  %8495 = icmp ne i32 %8494, 0
  br i1 %8495, label %8496, label %8513

8496:                                             ; preds = %8491
  %8497 = load i32, ptr %180, align 4, !tbaa !5
  %8498 = call ptr @__errno_location() #13
  store i32 %8497, ptr %8498, align 4, !tbaa !5
  %8499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8500 = load i32, ptr @test_count, align 4, !tbaa !5
  %8501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8502 = load i32, ptr %8501, align 4, !tbaa !5
  %8503 = call ptr @s2n_strerror(i32 noundef %8502, ptr noundef @.str.80)
  %8504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8505 = load i32, ptr %8504, align 4, !tbaa !5
  %8506 = call ptr @s2n_strerror_debug(i32 noundef %8505, ptr noundef @.str.80)
  %8507 = call ptr @__errno_location() #13
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  %8509 = call ptr @strerror(i32 noundef %8508) #12
  %8510 = call ptr @__errno_location() #13
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8499, ptr noundef @.str.78, i32 noundef %8500, ptr noundef @.str.126, ptr noundef @.str.77, i32 noundef 312, ptr noundef %8503, ptr noundef %8506, ptr noundef %8509, i32 noundef %8511) #12
  br label %8530

8513:                                             ; preds = %8491, %8484
  %8514 = load i32, ptr %180, align 4, !tbaa !5
  %8515 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %8524 = call ptr @__errno_location() #13
  %8525 = load i32, ptr %8524, align 4, !tbaa !5
  %8526 = call ptr @strerror(i32 noundef %8525) #12
  %8527 = call ptr @__errno_location() #13
  %8528 = load i32, ptr %8527, align 4, !tbaa !5
  %8529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8516, ptr noundef @.str.81, i32 noundef %8517, ptr noundef @.str.126, ptr noundef @.str.77, i32 noundef 312, ptr noundef %8520, ptr noundef %8523, ptr noundef %8526, i32 noundef %8528) #12
  br label %8530

8530:                                             ; preds = %8513, %8496
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #12
  br label %8531

8531:                                             ; preds = %8530
  br label %8532

8532:                                             ; preds = %8531
  call void @exit(i32 noundef 1) #14
  unreachable

8533:                                             ; No predecessors!
  br label %8534

8534:                                             ; preds = %8533
  br label %8535

8535:                                             ; preds = %8534, %8477
  br label %8536

8536:                                             ; preds = %8535
  br label %8537

8537:                                             ; preds = %8536
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr %181) #12
  call void @llvm.memset.p0.i64(ptr align 8 %181, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %182) #12
  store ptr null, ptr %182, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr %183) #12
  store i16 0, ptr %183, align 2, !tbaa !52
  br label %8538

8538:                                             ; preds = %8537
  br label %8539

8539:                                             ; preds = %8538
  br label %8540

8540:                                             ; preds = %8539
  %8541 = load i32, ptr @test_count, align 4, !tbaa !5
  %8542 = add nsw i32 %8541, 1
  store i32 %8542, ptr @test_count, align 4, !tbaa !5
  %8543 = call i32 @s2n_offered_psk_get_identity(ptr noundef null, ptr noundef %182, ptr noundef %183)
  %8544 = icmp eq i32 %8543, -1
  br i1 %8544, label %8598, label %8545

8545:                                             ; preds = %8540
  br label %8546

8546:                                             ; preds = %8545
  br label %8547

8547:                                             ; preds = %8546
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #12
  %8548 = call ptr @__errno_location() #13
  %8549 = load i32, ptr %8548, align 4, !tbaa !5
  store i32 %8549, ptr %184, align 4, !tbaa !5
  %8550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8551 = call i32 @s2n_print_stacktrace(ptr noundef %8550)
  %8552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8553 = trunc i8 %8552 to i1
  br i1 %8553, label %8554, label %8576

8554:                                             ; preds = %8547
  %8555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8556 = call i32 @fileno(ptr noundef %8555) #12
  %8557 = call i32 @isatty(i32 noundef %8556) #12
  %8558 = icmp ne i32 %8557, 0
  br i1 %8558, label %8559, label %8576

8559:                                             ; preds = %8554
  %8560 = load i32, ptr %184, align 4, !tbaa !5
  %8561 = call ptr @__errno_location() #13
  store i32 %8560, ptr %8561, align 4, !tbaa !5
  %8562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8563 = load i32, ptr @test_count, align 4, !tbaa !5
  %8564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8565 = load i32, ptr %8564, align 4, !tbaa !5
  %8566 = call ptr @s2n_strerror(i32 noundef %8565, ptr noundef @.str.80)
  %8567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8568 = load i32, ptr %8567, align 4, !tbaa !5
  %8569 = call ptr @s2n_strerror_debug(i32 noundef %8568, ptr noundef @.str.80)
  %8570 = call ptr @__errno_location() #13
  %8571 = load i32, ptr %8570, align 4, !tbaa !5
  %8572 = call ptr @strerror(i32 noundef %8571) #12
  %8573 = call ptr @__errno_location() #13
  %8574 = load i32, ptr %8573, align 4, !tbaa !5
  %8575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8562, ptr noundef @.str.78, i32 noundef %8563, ptr noundef @.str.127, ptr noundef @.str.77, i32 noundef 322, ptr noundef %8566, ptr noundef %8569, ptr noundef %8572, i32 noundef %8574) #12
  br label %8593

8576:                                             ; preds = %8554, %8547
  %8577 = load i32, ptr %184, align 4, !tbaa !5
  %8578 = call ptr @__errno_location() #13
  store i32 %8577, ptr %8578, align 4, !tbaa !5
  %8579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8580 = load i32, ptr @test_count, align 4, !tbaa !5
  %8581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8582 = load i32, ptr %8581, align 4, !tbaa !5
  %8583 = call ptr @s2n_strerror(i32 noundef %8582, ptr noundef @.str.80)
  %8584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8585 = load i32, ptr %8584, align 4, !tbaa !5
  %8586 = call ptr @s2n_strerror_debug(i32 noundef %8585, ptr noundef @.str.80)
  %8587 = call ptr @__errno_location() #13
  %8588 = load i32, ptr %8587, align 4, !tbaa !5
  %8589 = call ptr @strerror(i32 noundef %8588) #12
  %8590 = call ptr @__errno_location() #13
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  %8592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8579, ptr noundef @.str.81, i32 noundef %8580, ptr noundef @.str.127, ptr noundef @.str.77, i32 noundef 322, ptr noundef %8583, ptr noundef %8586, ptr noundef %8589, i32 noundef %8591) #12
  br label %8593

8593:                                             ; preds = %8576, %8559
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #12
  br label %8594

8594:                                             ; preds = %8593
  br label %8595

8595:                                             ; preds = %8594
  call void @exit(i32 noundef 1) #14
  unreachable

8596:                                             ; No predecessors!
  br label %8597

8597:                                             ; preds = %8596
  br label %8598

8598:                                             ; preds = %8597, %8540
  br label %8599

8599:                                             ; preds = %8598
  br label %8600

8600:                                             ; preds = %8599
  br label %8601

8601:                                             ; preds = %8600
  %8602 = load i32, ptr @test_count, align 4, !tbaa !5
  %8603 = add nsw i32 %8602, 1
  store i32 %8603, ptr @test_count, align 4, !tbaa !5
  %8604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8605 = load i32, ptr %8604, align 4, !tbaa !5
  %8606 = icmp eq i32 %8605, 402653193
  br i1 %8606, label %8660, label %8607

8607:                                             ; preds = %8601
  br label %8608

8608:                                             ; preds = %8607
  br label %8609

8609:                                             ; preds = %8608
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #12
  %8610 = call ptr @__errno_location() #13
  %8611 = load i32, ptr %8610, align 4, !tbaa !5
  store i32 %8611, ptr %185, align 4, !tbaa !5
  %8612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8613 = call i32 @s2n_print_stacktrace(ptr noundef %8612)
  %8614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8615 = trunc i8 %8614 to i1
  br i1 %8615, label %8616, label %8638

8616:                                             ; preds = %8609
  %8617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8618 = call i32 @fileno(ptr noundef %8617) #12
  %8619 = call i32 @isatty(i32 noundef %8618) #12
  %8620 = icmp ne i32 %8619, 0
  br i1 %8620, label %8621, label %8638

8621:                                             ; preds = %8616
  %8622 = load i32, ptr %185, align 4, !tbaa !5
  %8623 = call ptr @__errno_location() #13
  store i32 %8622, ptr %8623, align 4, !tbaa !5
  %8624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8625 = load i32, ptr @test_count, align 4, !tbaa !5
  %8626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8627 = load i32, ptr %8626, align 4, !tbaa !5
  %8628 = call ptr @s2n_strerror(i32 noundef %8627, ptr noundef @.str.80)
  %8629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8630 = load i32, ptr %8629, align 4, !tbaa !5
  %8631 = call ptr @s2n_strerror_debug(i32 noundef %8630, ptr noundef @.str.80)
  %8632 = call ptr @__errno_location() #13
  %8633 = load i32, ptr %8632, align 4, !tbaa !5
  %8634 = call ptr @strerror(i32 noundef %8633) #12
  %8635 = call ptr @__errno_location() #13
  %8636 = load i32, ptr %8635, align 4, !tbaa !5
  %8637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8624, ptr noundef @.str.78, i32 noundef %8625, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 322, ptr noundef %8628, ptr noundef %8631, ptr noundef %8634, i32 noundef %8636) #12
  br label %8655

8638:                                             ; preds = %8616, %8609
  %8639 = load i32, ptr %185, align 4, !tbaa !5
  %8640 = call ptr @__errno_location() #13
  store i32 %8639, ptr %8640, align 4, !tbaa !5
  %8641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8642 = load i32, ptr @test_count, align 4, !tbaa !5
  %8643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8644 = load i32, ptr %8643, align 4, !tbaa !5
  %8645 = call ptr @s2n_strerror(i32 noundef %8644, ptr noundef @.str.80)
  %8646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8647 = load i32, ptr %8646, align 4, !tbaa !5
  %8648 = call ptr @s2n_strerror_debug(i32 noundef %8647, ptr noundef @.str.80)
  %8649 = call ptr @__errno_location() #13
  %8650 = load i32, ptr %8649, align 4, !tbaa !5
  %8651 = call ptr @strerror(i32 noundef %8650) #12
  %8652 = call ptr @__errno_location() #13
  %8653 = load i32, ptr %8652, align 4, !tbaa !5
  %8654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8641, ptr noundef @.str.81, i32 noundef %8642, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 322, ptr noundef %8645, ptr noundef %8648, ptr noundef %8651, i32 noundef %8653) #12
  br label %8655

8655:                                             ; preds = %8638, %8621
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #12
  br label %8656

8656:                                             ; preds = %8655
  br label %8657

8657:                                             ; preds = %8656
  call void @exit(i32 noundef 1) #14
  unreachable

8658:                                             ; No predecessors!
  br label %8659

8659:                                             ; preds = %8658
  br label %8660

8660:                                             ; preds = %8659, %8601
  br label %8661

8661:                                             ; preds = %8660
  br label %8662

8662:                                             ; preds = %8661
  br label %8663

8663:                                             ; preds = %8662
  %8664 = load i32, ptr @test_count, align 4, !tbaa !5
  %8665 = add nsw i32 %8664, 1
  store i32 %8665, ptr @test_count, align 4, !tbaa !5
  %8666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8667 = load i32, ptr %8666, align 4, !tbaa !5
  %8668 = call ptr @s2n_strerror_debug(i32 noundef %8667, ptr noundef @.str.80)
  %8669 = icmp eq ptr %8668, null
  br i1 %8669, label %8670, label %8723

8670:                                             ; preds = %8663
  br label %8671

8671:                                             ; preds = %8670
  br label %8672

8672:                                             ; preds = %8671
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #12
  %8673 = call ptr @__errno_location() #13
  %8674 = load i32, ptr %8673, align 4, !tbaa !5
  store i32 %8674, ptr %186, align 4, !tbaa !5
  %8675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8676 = call i32 @s2n_print_stacktrace(ptr noundef %8675)
  %8677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8678 = trunc i8 %8677 to i1
  br i1 %8678, label %8679, label %8701

8679:                                             ; preds = %8672
  %8680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8681 = call i32 @fileno(ptr noundef %8680) #12
  %8682 = call i32 @isatty(i32 noundef %8681) #12
  %8683 = icmp ne i32 %8682, 0
  br i1 %8683, label %8684, label %8701

8684:                                             ; preds = %8679
  %8685 = load i32, ptr %186, align 4, !tbaa !5
  %8686 = call ptr @__errno_location() #13
  store i32 %8685, ptr %8686, align 4, !tbaa !5
  %8687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8688 = load i32, ptr @test_count, align 4, !tbaa !5
  %8689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8690 = load i32, ptr %8689, align 4, !tbaa !5
  %8691 = call ptr @s2n_strerror(i32 noundef %8690, ptr noundef @.str.80)
  %8692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8693 = load i32, ptr %8692, align 4, !tbaa !5
  %8694 = call ptr @s2n_strerror_debug(i32 noundef %8693, ptr noundef @.str.80)
  %8695 = call ptr @__errno_location() #13
  %8696 = load i32, ptr %8695, align 4, !tbaa !5
  %8697 = call ptr @strerror(i32 noundef %8696) #12
  %8698 = call ptr @__errno_location() #13
  %8699 = load i32, ptr %8698, align 4, !tbaa !5
  %8700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8687, ptr noundef @.str.78, i32 noundef %8688, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 322, ptr noundef %8691, ptr noundef %8694, ptr noundef %8697, i32 noundef %8699) #12
  br label %8718

8701:                                             ; preds = %8679, %8672
  %8702 = load i32, ptr %186, align 4, !tbaa !5
  %8703 = call ptr @__errno_location() #13
  store i32 %8702, ptr %8703, align 4, !tbaa !5
  %8704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8705 = load i32, ptr @test_count, align 4, !tbaa !5
  %8706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8707 = load i32, ptr %8706, align 4, !tbaa !5
  %8708 = call ptr @s2n_strerror(i32 noundef %8707, ptr noundef @.str.80)
  %8709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8710 = load i32, ptr %8709, align 4, !tbaa !5
  %8711 = call ptr @s2n_strerror_debug(i32 noundef %8710, ptr noundef @.str.80)
  %8712 = call ptr @__errno_location() #13
  %8713 = load i32, ptr %8712, align 4, !tbaa !5
  %8714 = call ptr @strerror(i32 noundef %8713) #12
  %8715 = call ptr @__errno_location() #13
  %8716 = load i32, ptr %8715, align 4, !tbaa !5
  %8717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8704, ptr noundef @.str.81, i32 noundef %8705, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 322, ptr noundef %8708, ptr noundef %8711, ptr noundef %8714, i32 noundef %8716) #12
  br label %8718

8718:                                             ; preds = %8701, %8684
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #12
  br label %8719

8719:                                             ; preds = %8718
  br label %8720

8720:                                             ; preds = %8719
  call void @exit(i32 noundef 1) #14
  unreachable

8721:                                             ; No predecessors!
  br label %8722

8722:                                             ; preds = %8721
  br label %8723

8723:                                             ; preds = %8722, %8663
  br label %8724

8724:                                             ; preds = %8723
  br label %8725

8725:                                             ; preds = %8724
  br label %8726

8726:                                             ; preds = %8725
  br label %8727

8727:                                             ; preds = %8726
  br label %8728

8728:                                             ; preds = %8727
  %8729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8729, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8730 = call ptr @__errno_location() #13
  store i32 0, ptr %8730, align 4, !tbaa !5
  br label %8731

8731:                                             ; preds = %8728
  br label %8732

8732:                                             ; preds = %8731
  br label %8733

8733:                                             ; preds = %8732
  br label %8734

8734:                                             ; preds = %8733
  br label %8735

8735:                                             ; preds = %8734
  br label %8736

8736:                                             ; preds = %8735
  br label %8737

8737:                                             ; preds = %8736
  %8738 = load i32, ptr @test_count, align 4, !tbaa !5
  %8739 = add nsw i32 %8738, 1
  store i32 %8739, ptr @test_count, align 4, !tbaa !5
  %8740 = call i32 @s2n_offered_psk_get_identity(ptr noundef %181, ptr noundef null, ptr noundef %183)
  %8741 = icmp eq i32 %8740, -1
  br i1 %8741, label %8795, label %8742

8742:                                             ; preds = %8737
  br label %8743

8743:                                             ; preds = %8742
  br label %8744

8744:                                             ; preds = %8743
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #12
  %8745 = call ptr @__errno_location() #13
  %8746 = load i32, ptr %8745, align 4, !tbaa !5
  store i32 %8746, ptr %187, align 4, !tbaa !5
  %8747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8748 = call i32 @s2n_print_stacktrace(ptr noundef %8747)
  %8749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8750 = trunc i8 %8749 to i1
  br i1 %8750, label %8751, label %8773

8751:                                             ; preds = %8744
  %8752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8753 = call i32 @fileno(ptr noundef %8752) #12
  %8754 = call i32 @isatty(i32 noundef %8753) #12
  %8755 = icmp ne i32 %8754, 0
  br i1 %8755, label %8756, label %8773

8756:                                             ; preds = %8751
  %8757 = load i32, ptr %187, align 4, !tbaa !5
  %8758 = call ptr @__errno_location() #13
  store i32 %8757, ptr %8758, align 4, !tbaa !5
  %8759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8760 = load i32, ptr @test_count, align 4, !tbaa !5
  %8761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  %8763 = call ptr @s2n_strerror(i32 noundef %8762, ptr noundef @.str.80)
  %8764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call ptr @s2n_strerror_debug(i32 noundef %8765, ptr noundef @.str.80)
  %8767 = call ptr @__errno_location() #13
  %8768 = load i32, ptr %8767, align 4, !tbaa !5
  %8769 = call ptr @strerror(i32 noundef %8768) #12
  %8770 = call ptr @__errno_location() #13
  %8771 = load i32, ptr %8770, align 4, !tbaa !5
  %8772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8759, ptr noundef @.str.78, i32 noundef %8760, ptr noundef @.str.128, ptr noundef @.str.77, i32 noundef 323, ptr noundef %8763, ptr noundef %8766, ptr noundef %8769, i32 noundef %8771) #12
  br label %8790

8773:                                             ; preds = %8751, %8744
  %8774 = load i32, ptr %187, align 4, !tbaa !5
  %8775 = call ptr @__errno_location() #13
  store i32 %8774, ptr %8775, align 4, !tbaa !5
  %8776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8777 = load i32, ptr @test_count, align 4, !tbaa !5
  %8778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8779 = load i32, ptr %8778, align 4, !tbaa !5
  %8780 = call ptr @s2n_strerror(i32 noundef %8779, ptr noundef @.str.80)
  %8781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8782 = load i32, ptr %8781, align 4, !tbaa !5
  %8783 = call ptr @s2n_strerror_debug(i32 noundef %8782, ptr noundef @.str.80)
  %8784 = call ptr @__errno_location() #13
  %8785 = load i32, ptr %8784, align 4, !tbaa !5
  %8786 = call ptr @strerror(i32 noundef %8785) #12
  %8787 = call ptr @__errno_location() #13
  %8788 = load i32, ptr %8787, align 4, !tbaa !5
  %8789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8776, ptr noundef @.str.81, i32 noundef %8777, ptr noundef @.str.128, ptr noundef @.str.77, i32 noundef 323, ptr noundef %8780, ptr noundef %8783, ptr noundef %8786, i32 noundef %8788) #12
  br label %8790

8790:                                             ; preds = %8773, %8756
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #12
  br label %8791

8791:                                             ; preds = %8790
  br label %8792

8792:                                             ; preds = %8791
  call void @exit(i32 noundef 1) #14
  unreachable

8793:                                             ; No predecessors!
  br label %8794

8794:                                             ; preds = %8793
  br label %8795

8795:                                             ; preds = %8794, %8737
  br label %8796

8796:                                             ; preds = %8795
  br label %8797

8797:                                             ; preds = %8796
  br label %8798

8798:                                             ; preds = %8797
  %8799 = load i32, ptr @test_count, align 4, !tbaa !5
  %8800 = add nsw i32 %8799, 1
  store i32 %8800, ptr @test_count, align 4, !tbaa !5
  %8801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8802 = load i32, ptr %8801, align 4, !tbaa !5
  %8803 = icmp eq i32 %8802, 402653193
  br i1 %8803, label %8857, label %8804

8804:                                             ; preds = %8798
  br label %8805

8805:                                             ; preds = %8804
  br label %8806

8806:                                             ; preds = %8805
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #12
  %8807 = call ptr @__errno_location() #13
  %8808 = load i32, ptr %8807, align 4, !tbaa !5
  store i32 %8808, ptr %188, align 4, !tbaa !5
  %8809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8810 = call i32 @s2n_print_stacktrace(ptr noundef %8809)
  %8811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8812 = trunc i8 %8811 to i1
  br i1 %8812, label %8813, label %8835

8813:                                             ; preds = %8806
  %8814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8815 = call i32 @fileno(ptr noundef %8814) #12
  %8816 = call i32 @isatty(i32 noundef %8815) #12
  %8817 = icmp ne i32 %8816, 0
  br i1 %8817, label %8818, label %8835

8818:                                             ; preds = %8813
  %8819 = load i32, ptr %188, align 4, !tbaa !5
  %8820 = call ptr @__errno_location() #13
  store i32 %8819, ptr %8820, align 4, !tbaa !5
  %8821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8822 = load i32, ptr @test_count, align 4, !tbaa !5
  %8823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8824 = load i32, ptr %8823, align 4, !tbaa !5
  %8825 = call ptr @s2n_strerror(i32 noundef %8824, ptr noundef @.str.80)
  %8826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8827 = load i32, ptr %8826, align 4, !tbaa !5
  %8828 = call ptr @s2n_strerror_debug(i32 noundef %8827, ptr noundef @.str.80)
  %8829 = call ptr @__errno_location() #13
  %8830 = load i32, ptr %8829, align 4, !tbaa !5
  %8831 = call ptr @strerror(i32 noundef %8830) #12
  %8832 = call ptr @__errno_location() #13
  %8833 = load i32, ptr %8832, align 4, !tbaa !5
  %8834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8821, ptr noundef @.str.78, i32 noundef %8822, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 323, ptr noundef %8825, ptr noundef %8828, ptr noundef %8831, i32 noundef %8833) #12
  br label %8852

8835:                                             ; preds = %8813, %8806
  %8836 = load i32, ptr %188, align 4, !tbaa !5
  %8837 = call ptr @__errno_location() #13
  store i32 %8836, ptr %8837, align 4, !tbaa !5
  %8838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8839 = load i32, ptr @test_count, align 4, !tbaa !5
  %8840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8841 = load i32, ptr %8840, align 4, !tbaa !5
  %8842 = call ptr @s2n_strerror(i32 noundef %8841, ptr noundef @.str.80)
  %8843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8844 = load i32, ptr %8843, align 4, !tbaa !5
  %8845 = call ptr @s2n_strerror_debug(i32 noundef %8844, ptr noundef @.str.80)
  %8846 = call ptr @__errno_location() #13
  %8847 = load i32, ptr %8846, align 4, !tbaa !5
  %8848 = call ptr @strerror(i32 noundef %8847) #12
  %8849 = call ptr @__errno_location() #13
  %8850 = load i32, ptr %8849, align 4, !tbaa !5
  %8851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8838, ptr noundef @.str.81, i32 noundef %8839, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 323, ptr noundef %8842, ptr noundef %8845, ptr noundef %8848, i32 noundef %8850) #12
  br label %8852

8852:                                             ; preds = %8835, %8818
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #12
  br label %8853

8853:                                             ; preds = %8852
  br label %8854

8854:                                             ; preds = %8853
  call void @exit(i32 noundef 1) #14
  unreachable

8855:                                             ; No predecessors!
  br label %8856

8856:                                             ; preds = %8855
  br label %8857

8857:                                             ; preds = %8856, %8798
  br label %8858

8858:                                             ; preds = %8857
  br label %8859

8859:                                             ; preds = %8858
  br label %8860

8860:                                             ; preds = %8859
  %8861 = load i32, ptr @test_count, align 4, !tbaa !5
  %8862 = add nsw i32 %8861, 1
  store i32 %8862, ptr @test_count, align 4, !tbaa !5
  %8863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8864 = load i32, ptr %8863, align 4, !tbaa !5
  %8865 = call ptr @s2n_strerror_debug(i32 noundef %8864, ptr noundef @.str.80)
  %8866 = icmp eq ptr %8865, null
  br i1 %8866, label %8867, label %8920

8867:                                             ; preds = %8860
  br label %8868

8868:                                             ; preds = %8867
  br label %8869

8869:                                             ; preds = %8868
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #12
  %8870 = call ptr @__errno_location() #13
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  store i32 %8871, ptr %189, align 4, !tbaa !5
  %8872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8873 = call i32 @s2n_print_stacktrace(ptr noundef %8872)
  %8874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8875 = trunc i8 %8874 to i1
  br i1 %8875, label %8876, label %8898

8876:                                             ; preds = %8869
  %8877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8878 = call i32 @fileno(ptr noundef %8877) #12
  %8879 = call i32 @isatty(i32 noundef %8878) #12
  %8880 = icmp ne i32 %8879, 0
  br i1 %8880, label %8881, label %8898

8881:                                             ; preds = %8876
  %8882 = load i32, ptr %189, align 4, !tbaa !5
  %8883 = call ptr @__errno_location() #13
  store i32 %8882, ptr %8883, align 4, !tbaa !5
  %8884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8885 = load i32, ptr @test_count, align 4, !tbaa !5
  %8886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8887 = load i32, ptr %8886, align 4, !tbaa !5
  %8888 = call ptr @s2n_strerror(i32 noundef %8887, ptr noundef @.str.80)
  %8889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8890 = load i32, ptr %8889, align 4, !tbaa !5
  %8891 = call ptr @s2n_strerror_debug(i32 noundef %8890, ptr noundef @.str.80)
  %8892 = call ptr @__errno_location() #13
  %8893 = load i32, ptr %8892, align 4, !tbaa !5
  %8894 = call ptr @strerror(i32 noundef %8893) #12
  %8895 = call ptr @__errno_location() #13
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8884, ptr noundef @.str.78, i32 noundef %8885, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 323, ptr noundef %8888, ptr noundef %8891, ptr noundef %8894, i32 noundef %8896) #12
  br label %8915

8898:                                             ; preds = %8876, %8869
  %8899 = load i32, ptr %189, align 4, !tbaa !5
  %8900 = call ptr @__errno_location() #13
  store i32 %8899, ptr %8900, align 4, !tbaa !5
  %8901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8902 = load i32, ptr @test_count, align 4, !tbaa !5
  %8903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8904 = load i32, ptr %8903, align 4, !tbaa !5
  %8905 = call ptr @s2n_strerror(i32 noundef %8904, ptr noundef @.str.80)
  %8906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  %8908 = call ptr @s2n_strerror_debug(i32 noundef %8907, ptr noundef @.str.80)
  %8909 = call ptr @__errno_location() #13
  %8910 = load i32, ptr %8909, align 4, !tbaa !5
  %8911 = call ptr @strerror(i32 noundef %8910) #12
  %8912 = call ptr @__errno_location() #13
  %8913 = load i32, ptr %8912, align 4, !tbaa !5
  %8914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8901, ptr noundef @.str.81, i32 noundef %8902, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 323, ptr noundef %8905, ptr noundef %8908, ptr noundef %8911, i32 noundef %8913) #12
  br label %8915

8915:                                             ; preds = %8898, %8881
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #12
  br label %8916

8916:                                             ; preds = %8915
  br label %8917

8917:                                             ; preds = %8916
  call void @exit(i32 noundef 1) #14
  unreachable

8918:                                             ; No predecessors!
  br label %8919

8919:                                             ; preds = %8918
  br label %8920

8920:                                             ; preds = %8919, %8860
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

8922:                                             ; preds = %8921
  br label %8923

8923:                                             ; preds = %8922
  br label %8924

8924:                                             ; preds = %8923
  br label %8925

8925:                                             ; preds = %8924
  %8926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8926, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8927 = call ptr @__errno_location() #13
  store i32 0, ptr %8927, align 4, !tbaa !5
  br label %8928

8928:                                             ; preds = %8925
  br label %8929

8929:                                             ; preds = %8928
  br label %8930

8930:                                             ; preds = %8929
  br label %8931

8931:                                             ; preds = %8930
  br label %8932

8932:                                             ; preds = %8931
  br label %8933

8933:                                             ; preds = %8932
  br label %8934

8934:                                             ; preds = %8933
  %8935 = load i32, ptr @test_count, align 4, !tbaa !5
  %8936 = add nsw i32 %8935, 1
  store i32 %8936, ptr @test_count, align 4, !tbaa !5
  %8937 = call i32 @s2n_offered_psk_get_identity(ptr noundef %181, ptr noundef %182, ptr noundef null)
  %8938 = icmp eq i32 %8937, -1
  br i1 %8938, label %8992, label %8939

8939:                                             ; preds = %8934
  br label %8940

8940:                                             ; preds = %8939
  br label %8941

8941:                                             ; preds = %8940
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #12
  %8942 = call ptr @__errno_location() #13
  %8943 = load i32, ptr %8942, align 4, !tbaa !5
  store i32 %8943, ptr %190, align 4, !tbaa !5
  %8944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8945 = call i32 @s2n_print_stacktrace(ptr noundef %8944)
  %8946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8947 = trunc i8 %8946 to i1
  br i1 %8947, label %8948, label %8970

8948:                                             ; preds = %8941
  %8949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8950 = call i32 @fileno(ptr noundef %8949) #12
  %8951 = call i32 @isatty(i32 noundef %8950) #12
  %8952 = icmp ne i32 %8951, 0
  br i1 %8952, label %8953, label %8970

8953:                                             ; preds = %8948
  %8954 = load i32, ptr %190, align 4, !tbaa !5
  %8955 = call ptr @__errno_location() #13
  store i32 %8954, ptr %8955, align 4, !tbaa !5
  %8956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8957 = load i32, ptr @test_count, align 4, !tbaa !5
  %8958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8959 = load i32, ptr %8958, align 4, !tbaa !5
  %8960 = call ptr @s2n_strerror(i32 noundef %8959, ptr noundef @.str.80)
  %8961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8962 = load i32, ptr %8961, align 4, !tbaa !5
  %8963 = call ptr @s2n_strerror_debug(i32 noundef %8962, ptr noundef @.str.80)
  %8964 = call ptr @__errno_location() #13
  %8965 = load i32, ptr %8964, align 4, !tbaa !5
  %8966 = call ptr @strerror(i32 noundef %8965) #12
  %8967 = call ptr @__errno_location() #13
  %8968 = load i32, ptr %8967, align 4, !tbaa !5
  %8969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8956, ptr noundef @.str.78, i32 noundef %8957, ptr noundef @.str.129, ptr noundef @.str.77, i32 noundef 324, ptr noundef %8960, ptr noundef %8963, ptr noundef %8966, i32 noundef %8968) #12
  br label %8987

8970:                                             ; preds = %8948, %8941
  %8971 = load i32, ptr %190, align 4, !tbaa !5
  %8972 = call ptr @__errno_location() #13
  store i32 %8971, ptr %8972, align 4, !tbaa !5
  %8973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8974 = load i32, ptr @test_count, align 4, !tbaa !5
  %8975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8976 = load i32, ptr %8975, align 4, !tbaa !5
  %8977 = call ptr @s2n_strerror(i32 noundef %8976, ptr noundef @.str.80)
  %8978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8979 = load i32, ptr %8978, align 4, !tbaa !5
  %8980 = call ptr @s2n_strerror_debug(i32 noundef %8979, ptr noundef @.str.80)
  %8981 = call ptr @__errno_location() #13
  %8982 = load i32, ptr %8981, align 4, !tbaa !5
  %8983 = call ptr @strerror(i32 noundef %8982) #12
  %8984 = call ptr @__errno_location() #13
  %8985 = load i32, ptr %8984, align 4, !tbaa !5
  %8986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8973, ptr noundef @.str.81, i32 noundef %8974, ptr noundef @.str.129, ptr noundef @.str.77, i32 noundef 324, ptr noundef %8977, ptr noundef %8980, ptr noundef %8983, i32 noundef %8985) #12
  br label %8987

8987:                                             ; preds = %8970, %8953
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #12
  br label %8988

8988:                                             ; preds = %8987
  br label %8989

8989:                                             ; preds = %8988
  call void @exit(i32 noundef 1) #14
  unreachable

8990:                                             ; No predecessors!
  br label %8991

8991:                                             ; preds = %8990
  br label %8992

8992:                                             ; preds = %8991, %8934
  br label %8993

8993:                                             ; preds = %8992
  br label %8994

8994:                                             ; preds = %8993
  br label %8995

8995:                                             ; preds = %8994
  %8996 = load i32, ptr @test_count, align 4, !tbaa !5
  %8997 = add nsw i32 %8996, 1
  store i32 %8997, ptr @test_count, align 4, !tbaa !5
  %8998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8999 = load i32, ptr %8998, align 4, !tbaa !5
  %9000 = icmp eq i32 %8999, 402653193
  br i1 %9000, label %9054, label %9001

9001:                                             ; preds = %8995
  br label %9002

9002:                                             ; preds = %9001
  br label %9003

9003:                                             ; preds = %9002
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #12
  %9004 = call ptr @__errno_location() #13
  %9005 = load i32, ptr %9004, align 4, !tbaa !5
  store i32 %9005, ptr %191, align 4, !tbaa !5
  %9006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9007 = call i32 @s2n_print_stacktrace(ptr noundef %9006)
  %9008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9009 = trunc i8 %9008 to i1
  br i1 %9009, label %9010, label %9032

9010:                                             ; preds = %9003
  %9011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9012 = call i32 @fileno(ptr noundef %9011) #12
  %9013 = call i32 @isatty(i32 noundef %9012) #12
  %9014 = icmp ne i32 %9013, 0
  br i1 %9014, label %9015, label %9032

9015:                                             ; preds = %9010
  %9016 = load i32, ptr %191, align 4, !tbaa !5
  %9017 = call ptr @__errno_location() #13
  store i32 %9016, ptr %9017, align 4, !tbaa !5
  %9018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9019 = load i32, ptr @test_count, align 4, !tbaa !5
  %9020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9021 = load i32, ptr %9020, align 4, !tbaa !5
  %9022 = call ptr @s2n_strerror(i32 noundef %9021, ptr noundef @.str.80)
  %9023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9024 = load i32, ptr %9023, align 4, !tbaa !5
  %9025 = call ptr @s2n_strerror_debug(i32 noundef %9024, ptr noundef @.str.80)
  %9026 = call ptr @__errno_location() #13
  %9027 = load i32, ptr %9026, align 4, !tbaa !5
  %9028 = call ptr @strerror(i32 noundef %9027) #12
  %9029 = call ptr @__errno_location() #13
  %9030 = load i32, ptr %9029, align 4, !tbaa !5
  %9031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9018, ptr noundef @.str.78, i32 noundef %9019, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 324, ptr noundef %9022, ptr noundef %9025, ptr noundef %9028, i32 noundef %9030) #12
  br label %9049

9032:                                             ; preds = %9010, %9003
  %9033 = load i32, ptr %191, align 4, !tbaa !5
  %9034 = call ptr @__errno_location() #13
  store i32 %9033, ptr %9034, align 4, !tbaa !5
  %9035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9036 = load i32, ptr @test_count, align 4, !tbaa !5
  %9037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9038 = load i32, ptr %9037, align 4, !tbaa !5
  %9039 = call ptr @s2n_strerror(i32 noundef %9038, ptr noundef @.str.80)
  %9040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9041 = load i32, ptr %9040, align 4, !tbaa !5
  %9042 = call ptr @s2n_strerror_debug(i32 noundef %9041, ptr noundef @.str.80)
  %9043 = call ptr @__errno_location() #13
  %9044 = load i32, ptr %9043, align 4, !tbaa !5
  %9045 = call ptr @strerror(i32 noundef %9044) #12
  %9046 = call ptr @__errno_location() #13
  %9047 = load i32, ptr %9046, align 4, !tbaa !5
  %9048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9035, ptr noundef @.str.81, i32 noundef %9036, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 324, ptr noundef %9039, ptr noundef %9042, ptr noundef %9045, i32 noundef %9047) #12
  br label %9049

9049:                                             ; preds = %9032, %9015
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #12
  br label %9050

9050:                                             ; preds = %9049
  br label %9051

9051:                                             ; preds = %9050
  call void @exit(i32 noundef 1) #14
  unreachable

9052:                                             ; No predecessors!
  br label %9053

9053:                                             ; preds = %9052
  br label %9054

9054:                                             ; preds = %9053, %8995
  br label %9055

9055:                                             ; preds = %9054
  br label %9056

9056:                                             ; preds = %9055
  br label %9057

9057:                                             ; preds = %9056
  %9058 = load i32, ptr @test_count, align 4, !tbaa !5
  %9059 = add nsw i32 %9058, 1
  store i32 %9059, ptr @test_count, align 4, !tbaa !5
  %9060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9061 = load i32, ptr %9060, align 4, !tbaa !5
  %9062 = call ptr @s2n_strerror_debug(i32 noundef %9061, ptr noundef @.str.80)
  %9063 = icmp eq ptr %9062, null
  br i1 %9063, label %9064, label %9117

9064:                                             ; preds = %9057
  br label %9065

9065:                                             ; preds = %9064
  br label %9066

9066:                                             ; preds = %9065
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #12
  %9067 = call ptr @__errno_location() #13
  %9068 = load i32, ptr %9067, align 4, !tbaa !5
  store i32 %9068, ptr %192, align 4, !tbaa !5
  %9069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9070 = call i32 @s2n_print_stacktrace(ptr noundef %9069)
  %9071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9072 = trunc i8 %9071 to i1
  br i1 %9072, label %9073, label %9095

9073:                                             ; preds = %9066
  %9074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9075 = call i32 @fileno(ptr noundef %9074) #12
  %9076 = call i32 @isatty(i32 noundef %9075) #12
  %9077 = icmp ne i32 %9076, 0
  br i1 %9077, label %9078, label %9095

9078:                                             ; preds = %9073
  %9079 = load i32, ptr %192, align 4, !tbaa !5
  %9080 = call ptr @__errno_location() #13
  store i32 %9079, ptr %9080, align 4, !tbaa !5
  %9081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9082 = load i32, ptr @test_count, align 4, !tbaa !5
  %9083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9084 = load i32, ptr %9083, align 4, !tbaa !5
  %9085 = call ptr @s2n_strerror(i32 noundef %9084, ptr noundef @.str.80)
  %9086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9087 = load i32, ptr %9086, align 4, !tbaa !5
  %9088 = call ptr @s2n_strerror_debug(i32 noundef %9087, ptr noundef @.str.80)
  %9089 = call ptr @__errno_location() #13
  %9090 = load i32, ptr %9089, align 4, !tbaa !5
  %9091 = call ptr @strerror(i32 noundef %9090) #12
  %9092 = call ptr @__errno_location() #13
  %9093 = load i32, ptr %9092, align 4, !tbaa !5
  %9094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9081, ptr noundef @.str.78, i32 noundef %9082, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 324, ptr noundef %9085, ptr noundef %9088, ptr noundef %9091, i32 noundef %9093) #12
  br label %9112

9095:                                             ; preds = %9073, %9066
  %9096 = load i32, ptr %192, align 4, !tbaa !5
  %9097 = call ptr @__errno_location() #13
  store i32 %9096, ptr %9097, align 4, !tbaa !5
  %9098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9099 = load i32, ptr @test_count, align 4, !tbaa !5
  %9100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9101 = load i32, ptr %9100, align 4, !tbaa !5
  %9102 = call ptr @s2n_strerror(i32 noundef %9101, ptr noundef @.str.80)
  %9103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9104 = load i32, ptr %9103, align 4, !tbaa !5
  %9105 = call ptr @s2n_strerror_debug(i32 noundef %9104, ptr noundef @.str.80)
  %9106 = call ptr @__errno_location() #13
  %9107 = load i32, ptr %9106, align 4, !tbaa !5
  %9108 = call ptr @strerror(i32 noundef %9107) #12
  %9109 = call ptr @__errno_location() #13
  %9110 = load i32, ptr %9109, align 4, !tbaa !5
  %9111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9098, ptr noundef @.str.81, i32 noundef %9099, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 324, ptr noundef %9102, ptr noundef %9105, ptr noundef %9108, i32 noundef %9110) #12
  br label %9112

9112:                                             ; preds = %9095, %9078
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #12
  br label %9113

9113:                                             ; preds = %9112
  br label %9114

9114:                                             ; preds = %9113
  call void @exit(i32 noundef 1) #14
  unreachable

9115:                                             ; No predecessors!
  br label %9116

9116:                                             ; preds = %9115
  br label %9117

9117:                                             ; preds = %9116, %9057
  br label %9118

9118:                                             ; preds = %9117
  br label %9119

9119:                                             ; preds = %9118
  br label %9120

9120:                                             ; preds = %9119
  br label %9121

9121:                                             ; preds = %9120
  br label %9122

9122:                                             ; preds = %9121
  %9123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9123, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9124 = call ptr @__errno_location() #13
  store i32 0, ptr %9124, align 4, !tbaa !5
  br label %9125

9125:                                             ; preds = %9122
  br label %9126

9126:                                             ; preds = %9125
  br label %9127

9127:                                             ; preds = %9126
  br label %9128

9128:                                             ; preds = %9127
  call void @llvm.lifetime.end.p0(i64 2, ptr %183) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %182) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr %193) #12
  %9129 = call ptr @s2n_offered_psk_new()
  store ptr %9129, ptr %193, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %194) #12
  store ptr null, ptr %194, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr %195) #12
  store i16 0, ptr %195, align 2, !tbaa !52
  br label %9130

9130:                                             ; preds = %9128
  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 %193, align 8, !tbaa !9
  %9136 = call i32 @s2n_offered_psk_get_identity(ptr noundef %9135, ptr noundef %194, ptr noundef %195)
  %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 %196) #12
  %9141 = call ptr @__errno_location() #13
  %9142 = load i32, ptr %9141, align 4, !tbaa !5
  store i32 %9142, ptr %196, 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) #12
  %9150 = call i32 @isatty(i32 noundef %9149) #12
  %9151 = icmp ne i32 %9150, 0
  br i1 %9151, label %9152, label %9169

9152:                                             ; preds = %9147
  %9153 = load i32, ptr %196, align 4, !tbaa !5
  %9154 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %9163 = call ptr @__errno_location() #13
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  %9165 = call ptr @strerror(i32 noundef %9164) #12
  %9166 = call ptr @__errno_location() #13
  %9167 = load i32, ptr %9166, align 4, !tbaa !5
  %9168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9155, ptr noundef @.str.78, i32 noundef %9156, ptr noundef @.str.130, ptr noundef @.str.77, i32 noundef 333, ptr noundef %9159, ptr noundef %9162, ptr noundef %9165, i32 noundef %9167) #12
  br label %9186

9169:                                             ; preds = %9147, %9140
  %9170 = load i32, ptr %196, align 4, !tbaa !5
  %9171 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %9180 = call ptr @__errno_location() #13
  %9181 = load i32, ptr %9180, align 4, !tbaa !5
  %9182 = call ptr @strerror(i32 noundef %9181) #12
  %9183 = call ptr @__errno_location() #13
  %9184 = load i32, ptr %9183, align 4, !tbaa !5
  %9185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9172, ptr noundef @.str.81, i32 noundef %9173, ptr noundef @.str.130, ptr noundef @.str.77, i32 noundef 333, ptr noundef %9176, ptr noundef %9179, ptr noundef %9182, i32 noundef %9184) #12
  br label %9186

9186:                                             ; preds = %9169, %9152
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #12
  br label %9187

9187:                                             ; preds = %9186
  br label %9188

9188:                                             ; preds = %9187
  call void @exit(i32 noundef 1) #14
  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, 402653193
  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 %197) #12
  %9203 = call ptr @__errno_location() #13
  %9204 = load i32, ptr %9203, align 4, !tbaa !5
  store i32 %9204, ptr %197, 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) #12
  %9212 = call i32 @isatty(i32 noundef %9211) #12
  %9213 = icmp ne i32 %9212, 0
  br i1 %9213, label %9214, label %9231

9214:                                             ; preds = %9209
  %9215 = load i32, ptr %197, align 4, !tbaa !5
  %9216 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %9225 = call ptr @__errno_location() #13
  %9226 = load i32, ptr %9225, align 4, !tbaa !5
  %9227 = call ptr @strerror(i32 noundef %9226) #12
  %9228 = call ptr @__errno_location() #13
  %9229 = load i32, ptr %9228, align 4, !tbaa !5
  %9230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9217, ptr noundef @.str.78, i32 noundef %9218, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 333, ptr noundef %9221, ptr noundef %9224, ptr noundef %9227, i32 noundef %9229) #12
  br label %9248

9231:                                             ; preds = %9209, %9202
  %9232 = load i32, ptr %197, align 4, !tbaa !5
  %9233 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %9242 = call ptr @__errno_location() #13
  %9243 = load i32, ptr %9242, align 4, !tbaa !5
  %9244 = call ptr @strerror(i32 noundef %9243) #12
  %9245 = call ptr @__errno_location() #13
  %9246 = load i32, ptr %9245, align 4, !tbaa !5
  %9247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9234, ptr noundef @.str.81, i32 noundef %9235, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 333, ptr noundef %9238, ptr noundef %9241, ptr noundef %9244, i32 noundef %9246) #12
  br label %9248

9248:                                             ; preds = %9231, %9214
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #12
  br label %9249

9249:                                             ; preds = %9248
  br label %9250

9250:                                             ; preds = %9249
  call void @exit(i32 noundef 1) #14
  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.80)
  %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 %198) #12
  %9266 = call ptr @__errno_location() #13
  %9267 = load i32, ptr %9266, align 4, !tbaa !5
  store i32 %9267, ptr %198, 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) #12
  %9275 = call i32 @isatty(i32 noundef %9274) #12
  %9276 = icmp ne i32 %9275, 0
  br i1 %9276, label %9277, label %9294

9277:                                             ; preds = %9272
  %9278 = load i32, ptr %198, align 4, !tbaa !5
  %9279 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %9288 = call ptr @__errno_location() #13
  %9289 = load i32, ptr %9288, align 4, !tbaa !5
  %9290 = call ptr @strerror(i32 noundef %9289) #12
  %9291 = call ptr @__errno_location() #13
  %9292 = load i32, ptr %9291, align 4, !tbaa !5
  %9293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9280, ptr noundef @.str.78, i32 noundef %9281, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 333, ptr noundef %9284, ptr noundef %9287, ptr noundef %9290, i32 noundef %9292) #12
  br label %9311

9294:                                             ; preds = %9272, %9265
  %9295 = load i32, ptr %198, align 4, !tbaa !5
  %9296 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %9305 = call ptr @__errno_location() #13
  %9306 = load i32, ptr %9305, align 4, !tbaa !5
  %9307 = call ptr @strerror(i32 noundef %9306) #12
  %9308 = call ptr @__errno_location() #13
  %9309 = load i32, ptr %9308, align 4, !tbaa !5
  %9310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9297, ptr noundef @.str.81, i32 noundef %9298, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 333, ptr noundef %9301, ptr noundef %9304, ptr noundef %9307, i32 noundef %9309) #12
  br label %9311

9311:                                             ; preds = %9294, %9277
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #12
  br label %9312

9312:                                             ; preds = %9311
  br label %9313

9313:                                             ; preds = %9312
  call void @exit(i32 noundef 1) #14
  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() #13
  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
  call void @llvm.lifetime.end.p0(i64 2, ptr %195) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #12
  %9328 = call i32 @s2n_offered_psk_free(ptr noundef %193)
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #12
  call void @llvm.lifetime.start.p0(i64 9, ptr %199) #12
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %199, ptr align 1 @__const.main.wire_identity, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #12
  %9329 = call ptr @s2n_offered_psk_new()
  store ptr %9329, ptr %200, align 8, !tbaa !9
  br label %9330

9330:                                             ; preds = %9327
  %9331 = load i32, ptr @test_count, align 4, !tbaa !5
  %9332 = add nsw i32 %9331, 1
  store i32 %9332, ptr @test_count, align 4, !tbaa !5
  %9333 = load ptr, ptr %200, align 8, !tbaa !9
  %9334 = getelementptr inbounds %struct.s2n_offered_psk, ptr %9333, i32 0, i32 0
  %9335 = getelementptr inbounds [9 x i8], ptr %199, i64 0, i64 0
  %9336 = call i32 @s2n_blob_init(ptr noundef %9334, ptr noundef %9335, i32 noundef 9)
  %9337 = icmp eq i32 %9336, -1
  br i1 %9337, label %9338, label %9391

9338:                                             ; preds = %9330
  br label %9339

9339:                                             ; preds = %9338
  br label %9340

9340:                                             ; preds = %9339
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #12
  %9341 = call ptr @__errno_location() #13
  %9342 = load i32, ptr %9341, align 4, !tbaa !5
  store i32 %9342, ptr %201, align 4, !tbaa !5
  %9343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9344 = call i32 @s2n_print_stacktrace(ptr noundef %9343)
  %9345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9346 = trunc i8 %9345 to i1
  br i1 %9346, label %9347, label %9369

9347:                                             ; preds = %9340
  %9348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9349 = call i32 @fileno(ptr noundef %9348) #12
  %9350 = call i32 @isatty(i32 noundef %9349) #12
  %9351 = icmp ne i32 %9350, 0
  br i1 %9351, label %9352, label %9369

9352:                                             ; preds = %9347
  %9353 = load i32, ptr %201, align 4, !tbaa !5
  %9354 = call ptr @__errno_location() #13
  store i32 %9353, ptr %9354, align 4, !tbaa !5
  %9355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9356 = load i32, ptr @test_count, align 4, !tbaa !5
  %9357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9358 = load i32, ptr %9357, align 4, !tbaa !5
  %9359 = call ptr @s2n_strerror(i32 noundef %9358, ptr noundef @.str.80)
  %9360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9361 = load i32, ptr %9360, align 4, !tbaa !5
  %9362 = call ptr @s2n_strerror_debug(i32 noundef %9361, ptr noundef @.str.80)
  %9363 = call ptr @__errno_location() #13
  %9364 = load i32, ptr %9363, align 4, !tbaa !5
  %9365 = call ptr @strerror(i32 noundef %9364) #12
  %9366 = call ptr @__errno_location() #13
  %9367 = load i32, ptr %9366, align 4, !tbaa !5
  %9368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9355, ptr noundef @.str.78, i32 noundef %9356, ptr noundef @.str.131, ptr noundef @.str.77, i32 noundef 340, ptr noundef %9359, ptr noundef %9362, ptr noundef %9365, i32 noundef %9367) #12
  br label %9386

9369:                                             ; preds = %9347, %9340
  %9370 = load i32, ptr %201, align 4, !tbaa !5
  %9371 = call ptr @__errno_location() #13
  store i32 %9370, ptr %9371, align 4, !tbaa !5
  %9372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9373 = load i32, ptr @test_count, align 4, !tbaa !5
  %9374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9375 = load i32, ptr %9374, align 4, !tbaa !5
  %9376 = call ptr @s2n_strerror(i32 noundef %9375, ptr noundef @.str.80)
  %9377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9378 = load i32, ptr %9377, align 4, !tbaa !5
  %9379 = call ptr @s2n_strerror_debug(i32 noundef %9378, ptr noundef @.str.80)
  %9380 = call ptr @__errno_location() #13
  %9381 = load i32, ptr %9380, align 4, !tbaa !5
  %9382 = call ptr @strerror(i32 noundef %9381) #12
  %9383 = call ptr @__errno_location() #13
  %9384 = load i32, ptr %9383, align 4, !tbaa !5
  %9385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9372, ptr noundef @.str.81, i32 noundef %9373, ptr noundef @.str.131, ptr noundef @.str.77, i32 noundef 340, ptr noundef %9376, ptr noundef %9379, ptr noundef %9382, i32 noundef %9384) #12
  br label %9386

9386:                                             ; preds = %9369, %9352
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #12
  br label %9387

9387:                                             ; preds = %9386
  br label %9388

9388:                                             ; preds = %9387
  call void @exit(i32 noundef 1) #14
  unreachable

9389:                                             ; No predecessors!
  br label %9390

9390:                                             ; preds = %9389
  br label %9391

9391:                                             ; preds = %9390, %9330
  br label %9392

9392:                                             ; preds = %9391
  br label %9393

9393:                                             ; preds = %9392
  call void @llvm.lifetime.start.p0(i64 8, ptr %202) #12
  store ptr null, ptr %202, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr %203) #12
  store i16 0, ptr %203, align 2, !tbaa !52
  br label %9394

9394:                                             ; preds = %9393
  %9395 = load i32, ptr @test_count, align 4, !tbaa !5
  %9396 = add nsw i32 %9395, 1
  store i32 %9396, ptr @test_count, align 4, !tbaa !5
  %9397 = load ptr, ptr %200, align 8, !tbaa !9
  %9398 = call i32 @s2n_offered_psk_get_identity(ptr noundef %9397, ptr noundef %202, ptr noundef %203)
  %9399 = icmp eq i32 %9398, -1
  br i1 %9399, label %9400, label %9453

9400:                                             ; preds = %9394
  br label %9401

9401:                                             ; preds = %9400
  br label %9402

9402:                                             ; preds = %9401
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #12
  %9403 = call ptr @__errno_location() #13
  %9404 = load i32, ptr %9403, align 4, !tbaa !5
  store i32 %9404, ptr %204, align 4, !tbaa !5
  %9405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9406 = call i32 @s2n_print_stacktrace(ptr noundef %9405)
  %9407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9408 = trunc i8 %9407 to i1
  br i1 %9408, label %9409, label %9431

9409:                                             ; preds = %9402
  %9410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9411 = call i32 @fileno(ptr noundef %9410) #12
  %9412 = call i32 @isatty(i32 noundef %9411) #12
  %9413 = icmp ne i32 %9412, 0
  br i1 %9413, label %9414, label %9431

9414:                                             ; preds = %9409
  %9415 = load i32, ptr %204, align 4, !tbaa !5
  %9416 = call ptr @__errno_location() #13
  store i32 %9415, ptr %9416, align 4, !tbaa !5
  %9417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9418 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9420, ptr noundef @.str.80)
  %9422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9423 = load i32, ptr %9422, align 4, !tbaa !5
  %9424 = call ptr @s2n_strerror_debug(i32 noundef %9423, ptr noundef @.str.80)
  %9425 = call ptr @__errno_location() #13
  %9426 = load i32, ptr %9425, align 4, !tbaa !5
  %9427 = call ptr @strerror(i32 noundef %9426) #12
  %9428 = call ptr @__errno_location() #13
  %9429 = load i32, ptr %9428, align 4, !tbaa !5
  %9430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9417, ptr noundef @.str.78, i32 noundef %9418, ptr noundef @.str.132, ptr noundef @.str.77, i32 noundef 344, ptr noundef %9421, ptr noundef %9424, ptr noundef %9427, i32 noundef %9429) #12
  br label %9448

9431:                                             ; preds = %9409, %9402
  %9432 = load i32, ptr %204, align 4, !tbaa !5
  %9433 = call ptr @__errno_location() #13
  store i32 %9432, ptr %9433, align 4, !tbaa !5
  %9434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9435 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9437, ptr noundef @.str.80)
  %9439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9440 = load i32, ptr %9439, align 4, !tbaa !5
  %9441 = call ptr @s2n_strerror_debug(i32 noundef %9440, ptr noundef @.str.80)
  %9442 = call ptr @__errno_location() #13
  %9443 = load i32, ptr %9442, align 4, !tbaa !5
  %9444 = call ptr @strerror(i32 noundef %9443) #12
  %9445 = call ptr @__errno_location() #13
  %9446 = load i32, ptr %9445, align 4, !tbaa !5
  %9447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9434, ptr noundef @.str.81, i32 noundef %9435, ptr noundef @.str.132, ptr noundef @.str.77, i32 noundef 344, ptr noundef %9438, ptr noundef %9441, ptr noundef %9444, i32 noundef %9446) #12
  br label %9448

9448:                                             ; preds = %9431, %9414
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #12
  br label %9449

9449:                                             ; preds = %9448
  br label %9450

9450:                                             ; preds = %9449
  call void @exit(i32 noundef 1) #14
  unreachable

9451:                                             ; No predecessors!
  br label %9452

9452:                                             ; preds = %9451
  br label %9453

9453:                                             ; preds = %9452, %9394
  br label %9454

9454:                                             ; preds = %9453
  br label %9455

9455:                                             ; preds = %9454
  br label %9456

9456:                                             ; preds = %9455
  %9457 = load i32, ptr @test_count, align 4, !tbaa !5
  %9458 = add nsw i32 %9457, 1
  store i32 %9458, ptr @test_count, align 4, !tbaa !5
  %9459 = load i16, ptr %203, align 2, !tbaa !52
  %9460 = zext i16 %9459 to i64
  %9461 = icmp eq i64 %9460, 9
  br i1 %9461, label %9515, label %9462

9462:                                             ; preds = %9456
  br label %9463

9463:                                             ; preds = %9462
  br label %9464

9464:                                             ; preds = %9463
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #12
  %9465 = call ptr @__errno_location() #13
  %9466 = load i32, ptr %9465, align 4, !tbaa !5
  store i32 %9466, ptr %205, align 4, !tbaa !5
  %9467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9468 = call i32 @s2n_print_stacktrace(ptr noundef %9467)
  %9469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9470 = trunc i8 %9469 to i1
  br i1 %9470, label %9471, label %9493

9471:                                             ; preds = %9464
  %9472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9473 = call i32 @fileno(ptr noundef %9472) #12
  %9474 = call i32 @isatty(i32 noundef %9473) #12
  %9475 = icmp ne i32 %9474, 0
  br i1 %9475, label %9476, label %9493

9476:                                             ; preds = %9471
  %9477 = load i32, ptr %205, align 4, !tbaa !5
  %9478 = call ptr @__errno_location() #13
  store i32 %9477, ptr %9478, align 4, !tbaa !5
  %9479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9480 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9482, ptr noundef @.str.80)
  %9484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9485 = load i32, ptr %9484, align 4, !tbaa !5
  %9486 = call ptr @s2n_strerror_debug(i32 noundef %9485, ptr noundef @.str.80)
  %9487 = call ptr @__errno_location() #13
  %9488 = load i32, ptr %9487, align 4, !tbaa !5
  %9489 = call ptr @strerror(i32 noundef %9488) #12
  %9490 = call ptr @__errno_location() #13
  %9491 = load i32, ptr %9490, align 4, !tbaa !5
  %9492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9479, ptr noundef @.str.78, i32 noundef %9480, ptr noundef @.str.133, ptr noundef @.str.77, i32 noundef 345, ptr noundef %9483, ptr noundef %9486, ptr noundef %9489, i32 noundef %9491) #12
  br label %9510

9493:                                             ; preds = %9471, %9464
  %9494 = load i32, ptr %205, align 4, !tbaa !5
  %9495 = call ptr @__errno_location() #13
  store i32 %9494, ptr %9495, align 4, !tbaa !5
  %9496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9497 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9499, ptr noundef @.str.80)
  %9501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9502 = load i32, ptr %9501, align 4, !tbaa !5
  %9503 = call ptr @s2n_strerror_debug(i32 noundef %9502, ptr noundef @.str.80)
  %9504 = call ptr @__errno_location() #13
  %9505 = load i32, ptr %9504, align 4, !tbaa !5
  %9506 = call ptr @strerror(i32 noundef %9505) #12
  %9507 = call ptr @__errno_location() #13
  %9508 = load i32, ptr %9507, align 4, !tbaa !5
  %9509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9496, ptr noundef @.str.81, i32 noundef %9497, ptr noundef @.str.133, ptr noundef @.str.77, i32 noundef 345, ptr noundef %9500, ptr noundef %9503, ptr noundef %9506, i32 noundef %9508) #12
  br label %9510

9510:                                             ; preds = %9493, %9476
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #12
  br label %9511

9511:                                             ; preds = %9510
  br label %9512

9512:                                             ; preds = %9511
  call void @exit(i32 noundef 1) #14
  unreachable

9513:                                             ; No predecessors!
  br label %9514

9514:                                             ; preds = %9513
  br label %9515

9515:                                             ; preds = %9514, %9456
  br label %9516

9516:                                             ; preds = %9515
  br label %9517

9517:                                             ; preds = %9516
  br label %9518

9518:                                             ; preds = %9517
  br label %9519

9519:                                             ; preds = %9518
  %9520 = load i32, ptr @test_count, align 4, !tbaa !5
  %9521 = add nsw i32 %9520, 1
  store i32 %9521, ptr @test_count, align 4, !tbaa !5
  %9522 = load ptr, ptr %202, align 8, !tbaa !9
  %9523 = getelementptr inbounds [9 x i8], ptr %199, i64 0, i64 0
  %9524 = call i32 @memcmp(ptr noundef %9522, ptr noundef %9523, i64 noundef 9) #15
  %9525 = icmp eq i32 %9524, 0
  br i1 %9525, label %9579, label %9526

9526:                                             ; preds = %9519
  br label %9527

9527:                                             ; preds = %9526
  br label %9528

9528:                                             ; preds = %9527
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #12
  %9529 = call ptr @__errno_location() #13
  %9530 = load i32, ptr %9529, align 4, !tbaa !5
  store i32 %9530, ptr %206, align 4, !tbaa !5
  %9531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9532 = call i32 @s2n_print_stacktrace(ptr noundef %9531)
  %9533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9534 = trunc i8 %9533 to i1
  br i1 %9534, label %9535, label %9557

9535:                                             ; preds = %9528
  %9536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9537 = call i32 @fileno(ptr noundef %9536) #12
  %9538 = call i32 @isatty(i32 noundef %9537) #12
  %9539 = icmp ne i32 %9538, 0
  br i1 %9539, label %9540, label %9557

9540:                                             ; preds = %9535
  %9541 = load i32, ptr %206, align 4, !tbaa !5
  %9542 = call ptr @__errno_location() #13
  store i32 %9541, ptr %9542, align 4, !tbaa !5
  %9543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9544 = load i32, ptr @test_count, align 4, !tbaa !5
  %9545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9546 = load i32, ptr %9545, align 4, !tbaa !5
  %9547 = call ptr @s2n_strerror(i32 noundef %9546, ptr noundef @.str.80)
  %9548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9549 = load i32, ptr %9548, align 4, !tbaa !5
  %9550 = call ptr @s2n_strerror_debug(i32 noundef %9549, ptr noundef @.str.80)
  %9551 = call ptr @__errno_location() #13
  %9552 = load i32, ptr %9551, align 4, !tbaa !5
  %9553 = call ptr @strerror(i32 noundef %9552) #12
  %9554 = call ptr @__errno_location() #13
  %9555 = load i32, ptr %9554, align 4, !tbaa !5
  %9556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9543, ptr noundef @.str.78, i32 noundef %9544, ptr noundef @.str.134, ptr noundef @.str.77, i32 noundef 346, ptr noundef %9547, ptr noundef %9550, ptr noundef %9553, i32 noundef %9555) #12
  br label %9574

9557:                                             ; preds = %9535, %9528
  %9558 = load i32, ptr %206, align 4, !tbaa !5
  %9559 = call ptr @__errno_location() #13
  store i32 %9558, ptr %9559, align 4, !tbaa !5
  %9560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9561 = load i32, ptr @test_count, align 4, !tbaa !5
  %9562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9563 = load i32, ptr %9562, align 4, !tbaa !5
  %9564 = call ptr @s2n_strerror(i32 noundef %9563, ptr noundef @.str.80)
  %9565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9566 = load i32, ptr %9565, align 4, !tbaa !5
  %9567 = call ptr @s2n_strerror_debug(i32 noundef %9566, ptr noundef @.str.80)
  %9568 = call ptr @__errno_location() #13
  %9569 = load i32, ptr %9568, align 4, !tbaa !5
  %9570 = call ptr @strerror(i32 noundef %9569) #12
  %9571 = call ptr @__errno_location() #13
  %9572 = load i32, ptr %9571, align 4, !tbaa !5
  %9573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9560, ptr noundef @.str.81, i32 noundef %9561, ptr noundef @.str.134, ptr noundef @.str.77, i32 noundef 346, ptr noundef %9564, ptr noundef %9567, ptr noundef %9570, i32 noundef %9572) #12
  br label %9574

9574:                                             ; preds = %9557, %9540
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #12
  br label %9575

9575:                                             ; preds = %9574
  br label %9576

9576:                                             ; preds = %9575
  call void @exit(i32 noundef 1) #14
  unreachable

9577:                                             ; No predecessors!
  br label %9578

9578:                                             ; preds = %9577
  br label %9579

9579:                                             ; preds = %9578, %9519
  br label %9580

9580:                                             ; preds = %9579
  br label %9581

9581:                                             ; preds = %9580
  br label %9582

9582:                                             ; preds = %9581
  br label %9583

9583:                                             ; preds = %9582
  call void @llvm.lifetime.end.p0(i64 2, ptr %203) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %202) #12
  %9584 = call i32 @s2n_offered_psk_free(ptr noundef %200)
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr %199) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr %207) #12
  %9585 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9585, ptr %207, align 8, !tbaa !9
  br label %9586

9586:                                             ; preds = %9583
  %9587 = load i32, ptr @test_count, align 4, !tbaa !5
  %9588 = add nsw i32 %9587, 1
  store i32 %9588, ptr @test_count, align 4, !tbaa !5
  %9589 = load ptr, ptr %207, align 8, !tbaa !9
  %9590 = icmp eq ptr %9589, null
  br i1 %9590, label %9591, label %9644

9591:                                             ; preds = %9586
  br label %9592

9592:                                             ; preds = %9591
  br label %9593

9593:                                             ; preds = %9592
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #12
  %9594 = call ptr @__errno_location() #13
  %9595 = load i32, ptr %9594, align 4, !tbaa !5
  store i32 %9595, ptr %208, align 4, !tbaa !5
  %9596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9597 = call i32 @s2n_print_stacktrace(ptr noundef %9596)
  %9598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9599 = trunc i8 %9598 to i1
  br i1 %9599, label %9600, label %9622

9600:                                             ; preds = %9593
  %9601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9602 = call i32 @fileno(ptr noundef %9601) #12
  %9603 = call i32 @isatty(i32 noundef %9602) #12
  %9604 = icmp ne i32 %9603, 0
  br i1 %9604, label %9605, label %9622

9605:                                             ; preds = %9600
  %9606 = load i32, ptr %208, align 4, !tbaa !5
  %9607 = call ptr @__errno_location() #13
  store i32 %9606, ptr %9607, align 4, !tbaa !5
  %9608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9609 = load i32, ptr @test_count, align 4, !tbaa !5
  %9610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9611 = load i32, ptr %9610, align 4, !tbaa !5
  %9612 = call ptr @s2n_strerror(i32 noundef %9611, ptr noundef @.str.80)
  %9613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9614 = load i32, ptr %9613, align 4, !tbaa !5
  %9615 = call ptr @s2n_strerror_debug(i32 noundef %9614, ptr noundef @.str.80)
  %9616 = call ptr @__errno_location() #13
  %9617 = load i32, ptr %9616, align 4, !tbaa !5
  %9618 = call ptr @strerror(i32 noundef %9617) #12
  %9619 = call ptr @__errno_location() #13
  %9620 = load i32, ptr %9619, align 4, !tbaa !5
  %9621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9608, ptr noundef @.str.78, i32 noundef %9609, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 353, ptr noundef %9612, ptr noundef %9615, ptr noundef %9618, i32 noundef %9620) #12
  br label %9639

9622:                                             ; preds = %9600, %9593
  %9623 = load i32, ptr %208, align 4, !tbaa !5
  %9624 = call ptr @__errno_location() #13
  store i32 %9623, ptr %9624, align 4, !tbaa !5
  %9625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9626 = load i32, ptr @test_count, align 4, !tbaa !5
  %9627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9628 = load i32, ptr %9627, align 4, !tbaa !5
  %9629 = call ptr @s2n_strerror(i32 noundef %9628, ptr noundef @.str.80)
  %9630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9631 = load i32, ptr %9630, align 4, !tbaa !5
  %9632 = call ptr @s2n_strerror_debug(i32 noundef %9631, ptr noundef @.str.80)
  %9633 = call ptr @__errno_location() #13
  %9634 = load i32, ptr %9633, align 4, !tbaa !5
  %9635 = call ptr @strerror(i32 noundef %9634) #12
  %9636 = call ptr @__errno_location() #13
  %9637 = load i32, ptr %9636, align 4, !tbaa !5
  %9638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9625, ptr noundef @.str.81, i32 noundef %9626, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 353, ptr noundef %9629, ptr noundef %9632, ptr noundef %9635, i32 noundef %9637) #12
  br label %9639

9639:                                             ; preds = %9622, %9605
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #12
  br label %9640

9640:                                             ; preds = %9639
  br label %9641

9641:                                             ; preds = %9640
  call void @exit(i32 noundef 1) #14
  unreachable

9642:                                             ; No predecessors!
  br label %9643

9643:                                             ; preds = %9642
  br label %9644

9644:                                             ; preds = %9643, %9586
  br label %9645

9645:                                             ; preds = %9644
  br label %9646

9646:                                             ; preds = %9645
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #12
  store i32 0, ptr %209, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #12
  store i32 0, ptr %210, align 4, !tbaa !5
  %9647 = load ptr, ptr %207, align 8, !tbaa !9
  %9648 = getelementptr inbounds %struct.s2n_connection, ptr %9647, i32 0, i32 1
  %9649 = load ptr, ptr %9648, align 8, !tbaa !53
  %9650 = getelementptr inbounds %struct.s2n_config, ptr %9649, i32 0, i32 14
  store i64 100000000, ptr %9650, align 8, !tbaa !54
  br label %9651

9651:                                             ; preds = %9646
  %9652 = load i32, ptr @test_count, align 4, !tbaa !5
  %9653 = add nsw i32 %9652, 1
  store i32 %9653, ptr @test_count, align 4, !tbaa !5
  %9654 = load ptr, ptr %207, align 8, !tbaa !9
  %9655 = load i32, ptr %210, align 4, !tbaa !5
  %9656 = load i32, ptr %209, align 4, !tbaa !5
  %9657 = call i32 @s2n_validate_ticket_lifetime(ptr noundef %9654, i32 noundef %9655, i32 noundef %9656)
  %9658 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  store i32 %9657, ptr %9658, align 4
  %9659 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  %9660 = load i32, ptr %9659, align 4
  %9661 = call zeroext i1 @s2n_result_is_ok(i32 %9660)
  br i1 %9661, label %9715, label %9662

9662:                                             ; preds = %9651
  br label %9663

9663:                                             ; preds = %9662
  br label %9664

9664:                                             ; preds = %9663
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #12
  %9665 = call ptr @__errno_location() #13
  %9666 = load i32, ptr %9665, align 4, !tbaa !5
  store i32 %9666, ptr %212, align 4, !tbaa !5
  %9667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9668 = call i32 @s2n_print_stacktrace(ptr noundef %9667)
  %9669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9670 = trunc i8 %9669 to i1
  br i1 %9670, label %9671, label %9693

9671:                                             ; preds = %9664
  %9672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9673 = call i32 @fileno(ptr noundef %9672) #12
  %9674 = call i32 @isatty(i32 noundef %9673) #12
  %9675 = icmp ne i32 %9674, 0
  br i1 %9675, label %9676, label %9693

9676:                                             ; preds = %9671
  %9677 = load i32, ptr %212, align 4, !tbaa !5
  %9678 = call ptr @__errno_location() #13
  store i32 %9677, ptr %9678, align 4, !tbaa !5
  %9679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9680 = load i32, ptr @test_count, align 4, !tbaa !5
  %9681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9682 = load i32, ptr %9681, align 4, !tbaa !5
  %9683 = call ptr @s2n_strerror(i32 noundef %9682, ptr noundef @.str.80)
  %9684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9685 = load i32, ptr %9684, align 4, !tbaa !5
  %9686 = call ptr @s2n_strerror_debug(i32 noundef %9685, ptr noundef @.str.80)
  %9687 = call ptr @__errno_location() #13
  %9688 = load i32, ptr %9687, align 4, !tbaa !5
  %9689 = call ptr @strerror(i32 noundef %9688) #12
  %9690 = call ptr @__errno_location() #13
  %9691 = load i32, ptr %9690, align 4, !tbaa !5
  %9692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9679, ptr noundef @.str.78, i32 noundef %9680, ptr noundef @.str.135, ptr noundef @.str.77, i32 noundef 359, ptr noundef %9683, ptr noundef %9686, ptr noundef %9689, i32 noundef %9691) #12
  br label %9710

9693:                                             ; preds = %9671, %9664
  %9694 = load i32, ptr %212, align 4, !tbaa !5
  %9695 = call ptr @__errno_location() #13
  store i32 %9694, ptr %9695, align 4, !tbaa !5
  %9696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9697 = load i32, ptr @test_count, align 4, !tbaa !5
  %9698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9699 = load i32, ptr %9698, align 4, !tbaa !5
  %9700 = call ptr @s2n_strerror(i32 noundef %9699, ptr noundef @.str.80)
  %9701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9702 = load i32, ptr %9701, align 4, !tbaa !5
  %9703 = call ptr @s2n_strerror_debug(i32 noundef %9702, ptr noundef @.str.80)
  %9704 = call ptr @__errno_location() #13
  %9705 = load i32, ptr %9704, align 4, !tbaa !5
  %9706 = call ptr @strerror(i32 noundef %9705) #12
  %9707 = call ptr @__errno_location() #13
  %9708 = load i32, ptr %9707, align 4, !tbaa !5
  %9709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9696, ptr noundef @.str.81, i32 noundef %9697, ptr noundef @.str.135, ptr noundef @.str.77, i32 noundef 359, ptr noundef %9700, ptr noundef %9703, ptr noundef %9706, i32 noundef %9708) #12
  br label %9710

9710:                                             ; preds = %9693, %9676
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #12
  br label %9711

9711:                                             ; preds = %9710
  br label %9712

9712:                                             ; preds = %9711
  call void @exit(i32 noundef 1) #14
  unreachable

9713:                                             ; No predecessors!
  br label %9714

9714:                                             ; preds = %9713
  br label %9715

9715:                                             ; preds = %9714, %9651
  br label %9716

9716:                                             ; preds = %9715
  br label %9717

9717:                                             ; preds = %9716
  store i32 101, ptr %210, align 4, !tbaa !5
  %9718 = load ptr, ptr %207, align 8, !tbaa !9
  %9719 = getelementptr inbounds %struct.s2n_connection, ptr %9718, i32 0, i32 1
  %9720 = load ptr, ptr %9719, align 8, !tbaa !53
  %9721 = getelementptr inbounds %struct.s2n_config, ptr %9720, i32 0, i32 14
  store i64 100000000, ptr %9721, align 8, !tbaa !54
  br label %9722

9722:                                             ; preds = %9717
  br label %9723

9723:                                             ; preds = %9722
  br label %9724

9724:                                             ; preds = %9723
  %9725 = load i32, ptr @test_count, align 4, !tbaa !5
  %9726 = add nsw i32 %9725, 1
  store i32 %9726, ptr @test_count, align 4, !tbaa !5
  %9727 = load ptr, ptr %207, align 8, !tbaa !9
  %9728 = load i32, ptr %210, align 4, !tbaa !5
  %9729 = load i32, ptr %209, align 4, !tbaa !5
  %9730 = call i32 @s2n_validate_ticket_lifetime(ptr noundef %9727, i32 noundef %9728, i32 noundef %9729)
  %9731 = getelementptr inbounds %struct.s2n_result, ptr %213, i32 0, i32 0
  store i32 %9730, ptr %9731, align 4
  %9732 = getelementptr inbounds %struct.s2n_result, ptr %213, i32 0, i32 0
  %9733 = load i32, ptr %9732, align 4
  %9734 = call zeroext i1 @s2n_result_is_error(i32 %9733)
  br i1 %9734, label %9788, label %9735

9735:                                             ; preds = %9724
  br label %9736

9736:                                             ; preds = %9735
  br label %9737

9737:                                             ; preds = %9736
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #12
  %9738 = call ptr @__errno_location() #13
  %9739 = load i32, ptr %9738, align 4, !tbaa !5
  store i32 %9739, ptr %214, align 4, !tbaa !5
  %9740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9741 = call i32 @s2n_print_stacktrace(ptr noundef %9740)
  %9742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9743 = trunc i8 %9742 to i1
  br i1 %9743, label %9744, label %9766

9744:                                             ; preds = %9737
  %9745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9746 = call i32 @fileno(ptr noundef %9745) #12
  %9747 = call i32 @isatty(i32 noundef %9746) #12
  %9748 = icmp ne i32 %9747, 0
  br i1 %9748, label %9749, label %9766

9749:                                             ; preds = %9744
  %9750 = load i32, ptr %214, align 4, !tbaa !5
  %9751 = call ptr @__errno_location() #13
  store i32 %9750, ptr %9751, align 4, !tbaa !5
  %9752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9753 = load i32, ptr @test_count, align 4, !tbaa !5
  %9754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9755 = load i32, ptr %9754, align 4, !tbaa !5
  %9756 = call ptr @s2n_strerror(i32 noundef %9755, ptr noundef @.str.80)
  %9757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9758 = load i32, ptr %9757, align 4, !tbaa !5
  %9759 = call ptr @s2n_strerror_debug(i32 noundef %9758, ptr noundef @.str.80)
  %9760 = call ptr @__errno_location() #13
  %9761 = load i32, ptr %9760, align 4, !tbaa !5
  %9762 = call ptr @strerror(i32 noundef %9761) #12
  %9763 = call ptr @__errno_location() #13
  %9764 = load i32, ptr %9763, align 4, !tbaa !5
  %9765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9752, ptr noundef @.str.78, i32 noundef %9753, ptr noundef @.str.136, ptr noundef @.str.77, i32 noundef 364, ptr noundef %9756, ptr noundef %9759, ptr noundef %9762, i32 noundef %9764) #12
  br label %9783

9766:                                             ; preds = %9744, %9737
  %9767 = load i32, ptr %214, align 4, !tbaa !5
  %9768 = call ptr @__errno_location() #13
  store i32 %9767, ptr %9768, align 4, !tbaa !5
  %9769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9770 = load i32, ptr @test_count, align 4, !tbaa !5
  %9771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9772 = load i32, ptr %9771, align 4, !tbaa !5
  %9773 = call ptr @s2n_strerror(i32 noundef %9772, ptr noundef @.str.80)
  %9774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9775 = load i32, ptr %9774, align 4, !tbaa !5
  %9776 = call ptr @s2n_strerror_debug(i32 noundef %9775, ptr noundef @.str.80)
  %9777 = call ptr @__errno_location() #13
  %9778 = load i32, ptr %9777, align 4, !tbaa !5
  %9779 = call ptr @strerror(i32 noundef %9778) #12
  %9780 = call ptr @__errno_location() #13
  %9781 = load i32, ptr %9780, align 4, !tbaa !5
  %9782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9769, ptr noundef @.str.81, i32 noundef %9770, ptr noundef @.str.136, ptr noundef @.str.77, i32 noundef 364, ptr noundef %9773, ptr noundef %9776, ptr noundef %9779, i32 noundef %9781) #12
  br label %9783

9783:                                             ; preds = %9766, %9749
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #12
  br label %9784

9784:                                             ; preds = %9783
  br label %9785

9785:                                             ; preds = %9784
  call void @exit(i32 noundef 1) #14
  unreachable

9786:                                             ; No predecessors!
  br label %9787

9787:                                             ; preds = %9786
  br label %9788

9788:                                             ; preds = %9787, %9724
  br label %9789

9789:                                             ; preds = %9788
  br label %9790

9790:                                             ; preds = %9789
  br label %9791

9791:                                             ; preds = %9790
  %9792 = load i32, ptr @test_count, align 4, !tbaa !5
  %9793 = add nsw i32 %9792, 1
  store i32 %9793, ptr @test_count, align 4, !tbaa !5
  %9794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9795 = load i32, ptr %9794, align 4, !tbaa !5
  %9796 = icmp eq i32 %9795, 469762110
  br i1 %9796, label %9850, label %9797

9797:                                             ; preds = %9791
  br label %9798

9798:                                             ; preds = %9797
  br label %9799

9799:                                             ; preds = %9798
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #12
  %9800 = call ptr @__errno_location() #13
  %9801 = load i32, ptr %9800, align 4, !tbaa !5
  store i32 %9801, ptr %215, align 4, !tbaa !5
  %9802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9803 = call i32 @s2n_print_stacktrace(ptr noundef %9802)
  %9804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9805 = trunc i8 %9804 to i1
  br i1 %9805, label %9806, label %9828

9806:                                             ; preds = %9799
  %9807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9808 = call i32 @fileno(ptr noundef %9807) #12
  %9809 = call i32 @isatty(i32 noundef %9808) #12
  %9810 = icmp ne i32 %9809, 0
  br i1 %9810, label %9811, label %9828

9811:                                             ; preds = %9806
  %9812 = load i32, ptr %215, align 4, !tbaa !5
  %9813 = call ptr @__errno_location() #13
  store i32 %9812, ptr %9813, align 4, !tbaa !5
  %9814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9815 = load i32, ptr @test_count, align 4, !tbaa !5
  %9816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9817 = load i32, ptr %9816, align 4, !tbaa !5
  %9818 = call ptr @s2n_strerror(i32 noundef %9817, ptr noundef @.str.80)
  %9819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9820 = load i32, ptr %9819, align 4, !tbaa !5
  %9821 = call ptr @s2n_strerror_debug(i32 noundef %9820, ptr noundef @.str.80)
  %9822 = call ptr @__errno_location() #13
  %9823 = load i32, ptr %9822, align 4, !tbaa !5
  %9824 = call ptr @strerror(i32 noundef %9823) #12
  %9825 = call ptr @__errno_location() #13
  %9826 = load i32, ptr %9825, align 4, !tbaa !5
  %9827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9814, ptr noundef @.str.78, i32 noundef %9815, ptr noundef @.str.137, ptr noundef @.str.77, i32 noundef 364, ptr noundef %9818, ptr noundef %9821, ptr noundef %9824, i32 noundef %9826) #12
  br label %9845

9828:                                             ; preds = %9806, %9799
  %9829 = load i32, ptr %215, align 4, !tbaa !5
  %9830 = call ptr @__errno_location() #13
  store i32 %9829, ptr %9830, align 4, !tbaa !5
  %9831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9832 = load i32, ptr @test_count, align 4, !tbaa !5
  %9833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror(i32 noundef %9834, ptr noundef @.str.80)
  %9836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call ptr @s2n_strerror_debug(i32 noundef %9837, ptr noundef @.str.80)
  %9839 = call ptr @__errno_location() #13
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call ptr @strerror(i32 noundef %9840) #12
  %9842 = call ptr @__errno_location() #13
  %9843 = load i32, ptr %9842, align 4, !tbaa !5
  %9844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9831, ptr noundef @.str.81, i32 noundef %9832, ptr noundef @.str.137, ptr noundef @.str.77, i32 noundef 364, ptr noundef %9835, ptr noundef %9838, ptr noundef %9841, i32 noundef %9843) #12
  br label %9845

9845:                                             ; preds = %9828, %9811
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #12
  br label %9846

9846:                                             ; preds = %9845
  br label %9847

9847:                                             ; preds = %9846
  call void @exit(i32 noundef 1) #14
  unreachable

9848:                                             ; No predecessors!
  br label %9849

9849:                                             ; preds = %9848
  br label %9850

9850:                                             ; preds = %9849, %9791
  br label %9851

9851:                                             ; preds = %9850
  br label %9852

9852:                                             ; preds = %9851
  br label %9853

9853:                                             ; preds = %9852
  %9854 = load i32, ptr @test_count, align 4, !tbaa !5
  %9855 = add nsw i32 %9854, 1
  store i32 %9855, ptr @test_count, align 4, !tbaa !5
  %9856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9857 = load i32, ptr %9856, align 4, !tbaa !5
  %9858 = call ptr @s2n_strerror_debug(i32 noundef %9857, ptr noundef @.str.80)
  %9859 = icmp eq ptr %9858, null
  br i1 %9859, label %9860, label %9913

9860:                                             ; preds = %9853
  br label %9861

9861:                                             ; preds = %9860
  br label %9862

9862:                                             ; preds = %9861
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #12
  %9863 = call ptr @__errno_location() #13
  %9864 = load i32, ptr %9863, align 4, !tbaa !5
  store i32 %9864, ptr %216, align 4, !tbaa !5
  %9865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9866 = call i32 @s2n_print_stacktrace(ptr noundef %9865)
  %9867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9868 = trunc i8 %9867 to i1
  br i1 %9868, label %9869, label %9891

9869:                                             ; preds = %9862
  %9870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9871 = call i32 @fileno(ptr noundef %9870) #12
  %9872 = call i32 @isatty(i32 noundef %9871) #12
  %9873 = icmp ne i32 %9872, 0
  br i1 %9873, label %9874, label %9891

9874:                                             ; preds = %9869
  %9875 = load i32, ptr %216, align 4, !tbaa !5
  %9876 = call ptr @__errno_location() #13
  store i32 %9875, ptr %9876, align 4, !tbaa !5
  %9877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9878 = load i32, ptr @test_count, align 4, !tbaa !5
  %9879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9880 = load i32, ptr %9879, align 4, !tbaa !5
  %9881 = call ptr @s2n_strerror(i32 noundef %9880, ptr noundef @.str.80)
  %9882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9883 = load i32, ptr %9882, align 4, !tbaa !5
  %9884 = call ptr @s2n_strerror_debug(i32 noundef %9883, ptr noundef @.str.80)
  %9885 = call ptr @__errno_location() #13
  %9886 = load i32, ptr %9885, align 4, !tbaa !5
  %9887 = call ptr @strerror(i32 noundef %9886) #12
  %9888 = call ptr @__errno_location() #13
  %9889 = load i32, ptr %9888, align 4, !tbaa !5
  %9890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9877, ptr noundef @.str.78, i32 noundef %9878, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 364, ptr noundef %9881, ptr noundef %9884, ptr noundef %9887, i32 noundef %9889) #12
  br label %9908

9891:                                             ; preds = %9869, %9862
  %9892 = load i32, ptr %216, align 4, !tbaa !5
  %9893 = call ptr @__errno_location() #13
  store i32 %9892, ptr %9893, align 4, !tbaa !5
  %9894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9895 = load i32, ptr @test_count, align 4, !tbaa !5
  %9896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9897 = load i32, ptr %9896, align 4, !tbaa !5
  %9898 = call ptr @s2n_strerror(i32 noundef %9897, ptr noundef @.str.80)
  %9899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9900 = load i32, ptr %9899, align 4, !tbaa !5
  %9901 = call ptr @s2n_strerror_debug(i32 noundef %9900, ptr noundef @.str.80)
  %9902 = call ptr @__errno_location() #13
  %9903 = load i32, ptr %9902, align 4, !tbaa !5
  %9904 = call ptr @strerror(i32 noundef %9903) #12
  %9905 = call ptr @__errno_location() #13
  %9906 = load i32, ptr %9905, align 4, !tbaa !5
  %9907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9894, ptr noundef @.str.81, i32 noundef %9895, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 364, ptr noundef %9898, ptr noundef %9901, ptr noundef %9904, i32 noundef %9906) #12
  br label %9908

9908:                                             ; preds = %9891, %9874
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #12
  br label %9909

9909:                                             ; preds = %9908
  br label %9910

9910:                                             ; preds = %9909
  call void @exit(i32 noundef 1) #14
  unreachable

9911:                                             ; No predecessors!
  br label %9912

9912:                                             ; preds = %9911
  br label %9913

9913:                                             ; preds = %9912, %9853
  br label %9914

9914:                                             ; preds = %9913
  br label %9915

9915:                                             ; preds = %9914
  br label %9916

9916:                                             ; preds = %9915
  br label %9917

9917:                                             ; preds = %9916
  br label %9918

9918:                                             ; preds = %9917
  %9919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9919, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9920 = call ptr @__errno_location() #13
  store i32 0, ptr %9920, align 4, !tbaa !5
  br label %9921

9921:                                             ; preds = %9918
  br label %9922

9922:                                             ; preds = %9921
  br label %9923

9923:                                             ; preds = %9922
  br label %9924

9924:                                             ; preds = %9923
  store i32 100, ptr %210, align 4, !tbaa !5
  store i32 1000, ptr %209, align 4, !tbaa !5
  %9925 = load ptr, ptr %207, align 8, !tbaa !9
  %9926 = getelementptr inbounds %struct.s2n_connection, ptr %9925, i32 0, i32 1
  %9927 = load ptr, ptr %9926, align 8, !tbaa !53
  %9928 = getelementptr inbounds %struct.s2n_config, ptr %9927, i32 0, i32 14
  store i64 4294967295000000, ptr %9928, align 8, !tbaa !54
  br label %9929

9929:                                             ; preds = %9924
  %9930 = load i32, ptr @test_count, align 4, !tbaa !5
  %9931 = add nsw i32 %9930, 1
  store i32 %9931, ptr @test_count, align 4, !tbaa !5
  %9932 = load ptr, ptr %207, align 8, !tbaa !9
  %9933 = load i32, ptr %210, align 4, !tbaa !5
  %9934 = load i32, ptr %209, align 4, !tbaa !5
  %9935 = call i32 @s2n_validate_ticket_lifetime(ptr noundef %9932, i32 noundef %9933, i32 noundef %9934)
  %9936 = getelementptr inbounds %struct.s2n_result, ptr %217, i32 0, i32 0
  store i32 %9935, ptr %9936, align 4
  %9937 = getelementptr inbounds %struct.s2n_result, ptr %217, i32 0, i32 0
  %9938 = load i32, ptr %9937, align 4
  %9939 = call zeroext i1 @s2n_result_is_ok(i32 %9938)
  br i1 %9939, label %9993, label %9940

9940:                                             ; preds = %9929
  br label %9941

9941:                                             ; preds = %9940
  br label %9942

9942:                                             ; preds = %9941
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #12
  %9943 = call ptr @__errno_location() #13
  %9944 = load i32, ptr %9943, align 4, !tbaa !5
  store i32 %9944, ptr %218, align 4, !tbaa !5
  %9945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9946 = call i32 @s2n_print_stacktrace(ptr noundef %9945)
  %9947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9948 = trunc i8 %9947 to i1
  br i1 %9948, label %9949, label %9971

9949:                                             ; preds = %9942
  %9950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9951 = call i32 @fileno(ptr noundef %9950) #12
  %9952 = call i32 @isatty(i32 noundef %9951) #12
  %9953 = icmp ne i32 %9952, 0
  br i1 %9953, label %9954, label %9971

9954:                                             ; preds = %9949
  %9955 = load i32, ptr %218, align 4, !tbaa !5
  %9956 = call ptr @__errno_location() #13
  store i32 %9955, ptr %9956, align 4, !tbaa !5
  %9957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9958 = load i32, ptr @test_count, align 4, !tbaa !5
  %9959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9960 = load i32, ptr %9959, align 4, !tbaa !5
  %9961 = call ptr @s2n_strerror(i32 noundef %9960, ptr noundef @.str.80)
  %9962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9963 = load i32, ptr %9962, align 4, !tbaa !5
  %9964 = call ptr @s2n_strerror_debug(i32 noundef %9963, ptr noundef @.str.80)
  %9965 = call ptr @__errno_location() #13
  %9966 = load i32, ptr %9965, align 4, !tbaa !5
  %9967 = call ptr @strerror(i32 noundef %9966) #12
  %9968 = call ptr @__errno_location() #13
  %9969 = load i32, ptr %9968, align 4, !tbaa !5
  %9970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9957, ptr noundef @.str.78, i32 noundef %9958, ptr noundef @.str.135, ptr noundef @.str.77, i32 noundef 371, ptr noundef %9961, ptr noundef %9964, ptr noundef %9967, i32 noundef %9969) #12
  br label %9988

9971:                                             ; preds = %9949, %9942
  %9972 = load i32, ptr %218, align 4, !tbaa !5
  %9973 = call ptr @__errno_location() #13
  store i32 %9972, ptr %9973, align 4, !tbaa !5
  %9974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9975 = load i32, ptr @test_count, align 4, !tbaa !5
  %9976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @s2n_strerror(i32 noundef %9977, ptr noundef @.str.80)
  %9979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call ptr @s2n_strerror_debug(i32 noundef %9980, ptr noundef @.str.80)
  %9982 = call ptr @__errno_location() #13
  %9983 = load i32, ptr %9982, align 4, !tbaa !5
  %9984 = call ptr @strerror(i32 noundef %9983) #12
  %9985 = call ptr @__errno_location() #13
  %9986 = load i32, ptr %9985, align 4, !tbaa !5
  %9987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9974, ptr noundef @.str.81, i32 noundef %9975, ptr noundef @.str.135, ptr noundef @.str.77, i32 noundef 371, ptr noundef %9978, ptr noundef %9981, ptr noundef %9984, i32 noundef %9986) #12
  br label %9988

9988:                                             ; preds = %9971, %9954
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #12
  br label %9989

9989:                                             ; preds = %9988
  br label %9990

9990:                                             ; preds = %9989
  call void @exit(i32 noundef 1) #14
  unreachable

9991:                                             ; No predecessors!
  br label %9992

9992:                                             ; preds = %9991
  br label %9993

9993:                                             ; preds = %9992, %9929
  br label %9994

9994:                                             ; preds = %9993
  br label %9995

9995:                                             ; preds = %9994
  br label %9996

9996:                                             ; preds = %9995
  %9997 = load i32, ptr @test_count, align 4, !tbaa !5
  %9998 = add nsw i32 %9997, 1
  store i32 %9998, ptr @test_count, align 4, !tbaa !5
  %9999 = load ptr, ptr %207, align 8, !tbaa !9
  %10000 = call i32 @s2n_connection_free(ptr noundef %9999)
  %10001 = icmp eq i32 %10000, -1
  br i1 %10001, label %10002, label %10055

10002:                                            ; preds = %9996
  br label %10003

10003:                                            ; preds = %10002
  br label %10004

10004:                                            ; preds = %10003
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #12
  %10005 = call ptr @__errno_location() #13
  %10006 = load i32, ptr %10005, align 4, !tbaa !5
  store i32 %10006, ptr %219, align 4, !tbaa !5
  %10007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10008 = call i32 @s2n_print_stacktrace(ptr noundef %10007)
  %10009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10010 = trunc i8 %10009 to i1
  br i1 %10010, label %10011, label %10033

10011:                                            ; preds = %10004
  %10012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10013 = call i32 @fileno(ptr noundef %10012) #12
  %10014 = call i32 @isatty(i32 noundef %10013) #12
  %10015 = icmp ne i32 %10014, 0
  br i1 %10015, label %10016, label %10033

10016:                                            ; preds = %10011
  %10017 = load i32, ptr %219, align 4, !tbaa !5
  %10018 = call ptr @__errno_location() #13
  store i32 %10017, ptr %10018, align 4, !tbaa !5
  %10019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10020 = load i32, ptr @test_count, align 4, !tbaa !5
  %10021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10022 = load i32, ptr %10021, align 4, !tbaa !5
  %10023 = call ptr @s2n_strerror(i32 noundef %10022, ptr noundef @.str.80)
  %10024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10025 = load i32, ptr %10024, align 4, !tbaa !5
  %10026 = call ptr @s2n_strerror_debug(i32 noundef %10025, ptr noundef @.str.80)
  %10027 = call ptr @__errno_location() #13
  %10028 = load i32, ptr %10027, align 4, !tbaa !5
  %10029 = call ptr @strerror(i32 noundef %10028) #12
  %10030 = call ptr @__errno_location() #13
  %10031 = load i32, ptr %10030, align 4, !tbaa !5
  %10032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10019, ptr noundef @.str.78, i32 noundef %10020, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 373, ptr noundef %10023, ptr noundef %10026, ptr noundef %10029, i32 noundef %10031) #12
  br label %10050

10033:                                            ; preds = %10011, %10004
  %10034 = load i32, ptr %219, align 4, !tbaa !5
  %10035 = call ptr @__errno_location() #13
  store i32 %10034, ptr %10035, align 4, !tbaa !5
  %10036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10037 = load i32, ptr @test_count, align 4, !tbaa !5
  %10038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10039 = load i32, ptr %10038, align 4, !tbaa !5
  %10040 = call ptr @s2n_strerror(i32 noundef %10039, ptr noundef @.str.80)
  %10041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10042 = load i32, ptr %10041, align 4, !tbaa !5
  %10043 = call ptr @s2n_strerror_debug(i32 noundef %10042, ptr noundef @.str.80)
  %10044 = call ptr @__errno_location() #13
  %10045 = load i32, ptr %10044, align 4, !tbaa !5
  %10046 = call ptr @strerror(i32 noundef %10045) #12
  %10047 = call ptr @__errno_location() #13
  %10048 = load i32, ptr %10047, align 4, !tbaa !5
  %10049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10036, ptr noundef @.str.81, i32 noundef %10037, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 373, ptr noundef %10040, ptr noundef %10043, ptr noundef %10046, i32 noundef %10048) #12
  br label %10050

10050:                                            ; preds = %10033, %10016
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #12
  br label %10051

10051:                                            ; preds = %10050
  br label %10052

10052:                                            ; preds = %10051
  call void @exit(i32 noundef 1) #14
  unreachable

10053:                                            ; No predecessors!
  br label %10054

10054:                                            ; preds = %10053
  br label %10055

10055:                                            ; preds = %10054, %9996
  br label %10056

10056:                                            ; preds = %10055
  br label %10057

10057:                                            ; preds = %10056
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr %220) #12
  %10058 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10058, ptr %220, align 8, !tbaa !9
  br label %10059

10059:                                            ; preds = %10057
  %10060 = load i32, ptr @test_count, align 4, !tbaa !5
  %10061 = add nsw i32 %10060, 1
  store i32 %10061, ptr @test_count, align 4, !tbaa !5
  %10062 = load ptr, ptr %220, align 8, !tbaa !9
  %10063 = icmp eq ptr %10062, null
  br i1 %10063, label %10064, label %10117

10064:                                            ; preds = %10059
  br label %10065

10065:                                            ; preds = %10064
  br label %10066

10066:                                            ; preds = %10065
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #12
  %10067 = call ptr @__errno_location() #13
  %10068 = load i32, ptr %10067, align 4, !tbaa !5
  store i32 %10068, ptr %221, align 4, !tbaa !5
  %10069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10070 = call i32 @s2n_print_stacktrace(ptr noundef %10069)
  %10071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10072 = trunc i8 %10071 to i1
  br i1 %10072, label %10073, label %10095

10073:                                            ; preds = %10066
  %10074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10075 = call i32 @fileno(ptr noundef %10074) #12
  %10076 = call i32 @isatty(i32 noundef %10075) #12
  %10077 = icmp ne i32 %10076, 0
  br i1 %10077, label %10078, label %10095

10078:                                            ; preds = %10073
  %10079 = load i32, ptr %221, align 4, !tbaa !5
  %10080 = call ptr @__errno_location() #13
  store i32 %10079, ptr %10080, align 4, !tbaa !5
  %10081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10082 = load i32, ptr @test_count, align 4, !tbaa !5
  %10083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10084 = load i32, ptr %10083, align 4, !tbaa !5
  %10085 = call ptr @s2n_strerror(i32 noundef %10084, ptr noundef @.str.80)
  %10086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10087 = load i32, ptr %10086, align 4, !tbaa !5
  %10088 = call ptr @s2n_strerror_debug(i32 noundef %10087, ptr noundef @.str.80)
  %10089 = call ptr @__errno_location() #13
  %10090 = load i32, ptr %10089, align 4, !tbaa !5
  %10091 = call ptr @strerror(i32 noundef %10090) #12
  %10092 = call ptr @__errno_location() #13
  %10093 = load i32, ptr %10092, align 4, !tbaa !5
  %10094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10081, ptr noundef @.str.78, i32 noundef %10082, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 379, ptr noundef %10085, ptr noundef %10088, ptr noundef %10091, i32 noundef %10093) #12
  br label %10112

10095:                                            ; preds = %10073, %10066
  %10096 = load i32, ptr %221, align 4, !tbaa !5
  %10097 = call ptr @__errno_location() #13
  store i32 %10096, ptr %10097, align 4, !tbaa !5
  %10098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10099 = load i32, ptr @test_count, align 4, !tbaa !5
  %10100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10101 = load i32, ptr %10100, align 4, !tbaa !5
  %10102 = call ptr @s2n_strerror(i32 noundef %10101, ptr noundef @.str.80)
  %10103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10104 = load i32, ptr %10103, align 4, !tbaa !5
  %10105 = call ptr @s2n_strerror_debug(i32 noundef %10104, ptr noundef @.str.80)
  %10106 = call ptr @__errno_location() #13
  %10107 = load i32, ptr %10106, align 4, !tbaa !5
  %10108 = call ptr @strerror(i32 noundef %10107) #12
  %10109 = call ptr @__errno_location() #13
  %10110 = load i32, ptr %10109, align 4, !tbaa !5
  %10111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10098, ptr noundef @.str.81, i32 noundef %10099, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 379, ptr noundef %10102, ptr noundef %10105, ptr noundef %10108, i32 noundef %10110) #12
  br label %10112

10112:                                            ; preds = %10095, %10078
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #12
  br label %10113

10113:                                            ; preds = %10112
  br label %10114

10114:                                            ; preds = %10113
  call void @exit(i32 noundef 1) #14
  unreachable

10115:                                            ; No predecessors!
  br label %10116

10116:                                            ; preds = %10115
  br label %10117

10117:                                            ; preds = %10116, %10059
  br label %10118

10118:                                            ; preds = %10117
  br label %10119

10119:                                            ; preds = %10118
  call void @llvm.lifetime.start.p0(i64 8, ptr %222) #12
  %10120 = load ptr, ptr %220, align 8, !tbaa !9
  %10121 = getelementptr inbounds %struct.s2n_connection, ptr %10120, i32 0, i32 33
  %10122 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10121, i32 0, i32 1
  store ptr %10122, ptr %222, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr %223) #12
  store i16 5, ptr %223, align 2, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 20, ptr %224) #12
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %224, ptr align 16 @__const.main.wire_identity_bytes, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %225) #12
  call void @llvm.memset.p0.i64(ptr align 8 %225, i8 0, i64 24, i1 false)
  br label %10123

10123:                                            ; preds = %10119
  %10124 = load i32, ptr @test_count, align 4, !tbaa !5
  %10125 = add nsw i32 %10124, 1
  store i32 %10125, ptr @test_count, align 4, !tbaa !5
  %10126 = getelementptr inbounds [20 x i8], ptr %224, i64 0, i64 0
  %10127 = call i32 @s2n_blob_init(ptr noundef %225, ptr noundef %10126, i32 noundef 20)
  %10128 = icmp eq i32 %10127, -1
  br i1 %10128, label %10129, label %10182

10129:                                            ; preds = %10123
  br label %10130

10130:                                            ; preds = %10129
  br label %10131

10131:                                            ; preds = %10130
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #12
  %10132 = call ptr @__errno_location() #13
  %10133 = load i32, ptr %10132, align 4, !tbaa !5
  store i32 %10133, ptr %226, align 4, !tbaa !5
  %10134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10135 = call i32 @s2n_print_stacktrace(ptr noundef %10134)
  %10136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10137 = trunc i8 %10136 to i1
  br i1 %10137, label %10138, label %10160

10138:                                            ; preds = %10131
  %10139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10140 = call i32 @fileno(ptr noundef %10139) #12
  %10141 = call i32 @isatty(i32 noundef %10140) #12
  %10142 = icmp ne i32 %10141, 0
  br i1 %10142, label %10143, label %10160

10143:                                            ; preds = %10138
  %10144 = load i32, ptr %226, align 4, !tbaa !5
  %10145 = call ptr @__errno_location() #13
  store i32 %10144, ptr %10145, align 4, !tbaa !5
  %10146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10147 = load i32, ptr @test_count, align 4, !tbaa !5
  %10148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10149 = load i32, ptr %10148, align 4, !tbaa !5
  %10150 = call ptr @s2n_strerror(i32 noundef %10149, ptr noundef @.str.80)
  %10151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10152 = load i32, ptr %10151, align 4, !tbaa !5
  %10153 = call ptr @s2n_strerror_debug(i32 noundef %10152, ptr noundef @.str.80)
  %10154 = call ptr @__errno_location() #13
  %10155 = load i32, ptr %10154, align 4, !tbaa !5
  %10156 = call ptr @strerror(i32 noundef %10155) #12
  %10157 = call ptr @__errno_location() #13
  %10158 = load i32, ptr %10157, align 4, !tbaa !5
  %10159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10146, ptr noundef @.str.78, i32 noundef %10147, ptr noundef @.str.138, ptr noundef @.str.77, i32 noundef 386, ptr noundef %10150, ptr noundef %10153, ptr noundef %10156, i32 noundef %10158) #12
  br label %10177

10160:                                            ; preds = %10138, %10131
  %10161 = load i32, ptr %226, align 4, !tbaa !5
  %10162 = call ptr @__errno_location() #13
  store i32 %10161, ptr %10162, align 4, !tbaa !5
  %10163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10164 = load i32, ptr @test_count, align 4, !tbaa !5
  %10165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10166 = load i32, ptr %10165, align 4, !tbaa !5
  %10167 = call ptr @s2n_strerror(i32 noundef %10166, ptr noundef @.str.80)
  %10168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10169 = load i32, ptr %10168, align 4, !tbaa !5
  %10170 = call ptr @s2n_strerror_debug(i32 noundef %10169, ptr noundef @.str.80)
  %10171 = call ptr @__errno_location() #13
  %10172 = load i32, ptr %10171, align 4, !tbaa !5
  %10173 = call ptr @strerror(i32 noundef %10172) #12
  %10174 = call ptr @__errno_location() #13
  %10175 = load i32, ptr %10174, align 4, !tbaa !5
  %10176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10163, ptr noundef @.str.81, i32 noundef %10164, ptr noundef @.str.138, ptr noundef @.str.77, i32 noundef 386, ptr noundef %10167, ptr noundef %10170, ptr noundef %10173, i32 noundef %10175) #12
  br label %10177

10177:                                            ; preds = %10160, %10143
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #12
  br label %10178

10178:                                            ; preds = %10177
  br label %10179

10179:                                            ; preds = %10178
  call void @exit(i32 noundef 1) #14
  unreachable

10180:                                            ; No predecessors!
  br label %10181

10181:                                            ; preds = %10180
  br label %10182

10182:                                            ; preds = %10181, %10123
  br label %10183

10183:                                            ; preds = %10182
  br label %10184

10184:                                            ; preds = %10183
  call void @llvm.lifetime.start.p0(i64 32, ptr %227) #12
  %10185 = getelementptr inbounds %struct.s2n_offered_psk, ptr %227, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10185, ptr align 8 %225, i64 24, i1 false), !tbaa.struct !58
  %10186 = getelementptr inbounds %struct.s2n_offered_psk, ptr %227, i32 0, i32 1
  store i16 5, ptr %10186, align 8, !tbaa !60
  %10187 = getelementptr inbounds %struct.s2n_offered_psk, ptr %227, i32 0, i32 2
  store i32 0, ptr %10187, align 4, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 56, ptr %228) #12
  call void @llvm.memset.p0.i64(ptr align 8 %228, i8 0, i64 56, i1 false)
  %10188 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %228, i32 0, i32 0
  %10189 = load ptr, ptr %220, align 8, !tbaa !9
  store ptr %10189, ptr %10188, align 8, !tbaa !20
  %10190 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %228, i32 0, i32 1
  %10191 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %228, i32 0, i32 2
  %10192 = load ptr, ptr %220, align 8, !tbaa !9
  %10193 = getelementptr inbounds %struct.s2n_connection, ptr %10192, i32 0, i32 33
  %10194 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10193, i32 0, i32 0
  store i32 1, ptr %10194, align 8, !tbaa !23
  br label %10195

10195:                                            ; preds = %10184
  br label %10196

10196:                                            ; preds = %10195
  br label %10197

10197:                                            ; preds = %10196
  %10198 = load i32, ptr @test_count, align 4, !tbaa !5
  %10199 = add nsw i32 %10198, 1
  store i32 %10199, ptr @test_count, align 4, !tbaa !5
  %10200 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef null, ptr noundef %227)
  %10201 = icmp eq i32 %10200, -1
  br i1 %10201, label %10255, label %10202

10202:                                            ; preds = %10197
  br label %10203

10203:                                            ; preds = %10202
  br label %10204

10204:                                            ; preds = %10203
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #12
  %10205 = call ptr @__errno_location() #13
  %10206 = load i32, ptr %10205, align 4, !tbaa !5
  store i32 %10206, ptr %229, align 4, !tbaa !5
  %10207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10208 = call i32 @s2n_print_stacktrace(ptr noundef %10207)
  %10209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10210 = trunc i8 %10209 to i1
  br i1 %10210, label %10211, label %10233

10211:                                            ; preds = %10204
  %10212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10213 = call i32 @fileno(ptr noundef %10212) #12
  %10214 = call i32 @isatty(i32 noundef %10213) #12
  %10215 = icmp ne i32 %10214, 0
  br i1 %10215, label %10216, label %10233

10216:                                            ; preds = %10211
  %10217 = load i32, ptr %229, align 4, !tbaa !5
  %10218 = call ptr @__errno_location() #13
  store i32 %10217, ptr %10218, align 4, !tbaa !5
  %10219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10220 = load i32, ptr @test_count, align 4, !tbaa !5
  %10221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  %10223 = call ptr @s2n_strerror(i32 noundef %10222, ptr noundef @.str.80)
  %10224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10225 = load i32, ptr %10224, align 4, !tbaa !5
  %10226 = call ptr @s2n_strerror_debug(i32 noundef %10225, ptr noundef @.str.80)
  %10227 = call ptr @__errno_location() #13
  %10228 = load i32, ptr %10227, align 4, !tbaa !5
  %10229 = call ptr @strerror(i32 noundef %10228) #12
  %10230 = call ptr @__errno_location() #13
  %10231 = load i32, ptr %10230, align 4, !tbaa !5
  %10232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10219, ptr noundef @.str.78, i32 noundef %10220, ptr noundef @.str.139, ptr noundef @.str.77, i32 noundef 393, ptr noundef %10223, ptr noundef %10226, ptr noundef %10229, i32 noundef %10231) #12
  br label %10250

10233:                                            ; preds = %10211, %10204
  %10234 = load i32, ptr %229, align 4, !tbaa !5
  %10235 = call ptr @__errno_location() #13
  store i32 %10234, ptr %10235, align 4, !tbaa !5
  %10236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10237 = load i32, ptr @test_count, align 4, !tbaa !5
  %10238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10239 = load i32, ptr %10238, align 4, !tbaa !5
  %10240 = call ptr @s2n_strerror(i32 noundef %10239, ptr noundef @.str.80)
  %10241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10242 = load i32, ptr %10241, align 4, !tbaa !5
  %10243 = call ptr @s2n_strerror_debug(i32 noundef %10242, ptr noundef @.str.80)
  %10244 = call ptr @__errno_location() #13
  %10245 = load i32, ptr %10244, align 4, !tbaa !5
  %10246 = call ptr @strerror(i32 noundef %10245) #12
  %10247 = call ptr @__errno_location() #13
  %10248 = load i32, ptr %10247, align 4, !tbaa !5
  %10249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10236, ptr noundef @.str.81, i32 noundef %10237, ptr noundef @.str.139, ptr noundef @.str.77, i32 noundef 393, ptr noundef %10240, ptr noundef %10243, ptr noundef %10246, i32 noundef %10248) #12
  br label %10250

10250:                                            ; preds = %10233, %10216
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #12
  br label %10251

10251:                                            ; preds = %10250
  br label %10252

10252:                                            ; preds = %10251
  call void @exit(i32 noundef 1) #14
  unreachable

10253:                                            ; No predecessors!
  br label %10254

10254:                                            ; preds = %10253
  br label %10255

10255:                                            ; preds = %10254, %10197
  br label %10256

10256:                                            ; preds = %10255
  br label %10257

10257:                                            ; preds = %10256
  br label %10258

10258:                                            ; preds = %10257
  %10259 = load i32, ptr @test_count, align 4, !tbaa !5
  %10260 = add nsw i32 %10259, 1
  store i32 %10260, ptr @test_count, align 4, !tbaa !5
  %10261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10262 = load i32, ptr %10261, align 4, !tbaa !5
  %10263 = icmp eq i32 %10262, 402653193
  br i1 %10263, label %10317, label %10264

10264:                                            ; preds = %10258
  br label %10265

10265:                                            ; preds = %10264
  br label %10266

10266:                                            ; preds = %10265
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #12
  %10267 = call ptr @__errno_location() #13
  %10268 = load i32, ptr %10267, align 4, !tbaa !5
  store i32 %10268, ptr %230, align 4, !tbaa !5
  %10269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10270 = call i32 @s2n_print_stacktrace(ptr noundef %10269)
  %10271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10272 = trunc i8 %10271 to i1
  br i1 %10272, label %10273, label %10295

10273:                                            ; preds = %10266
  %10274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10275 = call i32 @fileno(ptr noundef %10274) #12
  %10276 = call i32 @isatty(i32 noundef %10275) #12
  %10277 = icmp ne i32 %10276, 0
  br i1 %10277, label %10278, label %10295

10278:                                            ; preds = %10273
  %10279 = load i32, ptr %230, align 4, !tbaa !5
  %10280 = call ptr @__errno_location() #13
  store i32 %10279, ptr %10280, align 4, !tbaa !5
  %10281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10282 = load i32, ptr @test_count, align 4, !tbaa !5
  %10283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10284 = load i32, ptr %10283, align 4, !tbaa !5
  %10285 = call ptr @s2n_strerror(i32 noundef %10284, ptr noundef @.str.80)
  %10286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10287 = load i32, ptr %10286, align 4, !tbaa !5
  %10288 = call ptr @s2n_strerror_debug(i32 noundef %10287, ptr noundef @.str.80)
  %10289 = call ptr @__errno_location() #13
  %10290 = load i32, ptr %10289, align 4, !tbaa !5
  %10291 = call ptr @strerror(i32 noundef %10290) #12
  %10292 = call ptr @__errno_location() #13
  %10293 = load i32, ptr %10292, align 4, !tbaa !5
  %10294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10281, ptr noundef @.str.78, i32 noundef %10282, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 393, ptr noundef %10285, ptr noundef %10288, ptr noundef %10291, i32 noundef %10293) #12
  br label %10312

10295:                                            ; preds = %10273, %10266
  %10296 = load i32, ptr %230, align 4, !tbaa !5
  %10297 = call ptr @__errno_location() #13
  store i32 %10296, ptr %10297, align 4, !tbaa !5
  %10298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10299 = load i32, ptr @test_count, align 4, !tbaa !5
  %10300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10301 = load i32, ptr %10300, align 4, !tbaa !5
  %10302 = call ptr @s2n_strerror(i32 noundef %10301, ptr noundef @.str.80)
  %10303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10304 = load i32, ptr %10303, align 4, !tbaa !5
  %10305 = call ptr @s2n_strerror_debug(i32 noundef %10304, ptr noundef @.str.80)
  %10306 = call ptr @__errno_location() #13
  %10307 = load i32, ptr %10306, align 4, !tbaa !5
  %10308 = call ptr @strerror(i32 noundef %10307) #12
  %10309 = call ptr @__errno_location() #13
  %10310 = load i32, ptr %10309, align 4, !tbaa !5
  %10311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10298, ptr noundef @.str.81, i32 noundef %10299, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 393, ptr noundef %10302, ptr noundef %10305, ptr noundef %10308, i32 noundef %10310) #12
  br label %10312

10312:                                            ; preds = %10295, %10278
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #12
  br label %10313

10313:                                            ; preds = %10312
  br label %10314

10314:                                            ; preds = %10313
  call void @exit(i32 noundef 1) #14
  unreachable

10315:                                            ; No predecessors!
  br label %10316

10316:                                            ; preds = %10315
  br label %10317

10317:                                            ; preds = %10316, %10258
  br label %10318

10318:                                            ; preds = %10317
  br label %10319

10319:                                            ; preds = %10318
  br label %10320

10320:                                            ; preds = %10319
  %10321 = load i32, ptr @test_count, align 4, !tbaa !5
  %10322 = add nsw i32 %10321, 1
  store i32 %10322, ptr @test_count, align 4, !tbaa !5
  %10323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10324 = load i32, ptr %10323, align 4, !tbaa !5
  %10325 = call ptr @s2n_strerror_debug(i32 noundef %10324, ptr noundef @.str.80)
  %10326 = icmp eq ptr %10325, null
  br i1 %10326, label %10327, label %10380

10327:                                            ; preds = %10320
  br label %10328

10328:                                            ; preds = %10327
  br label %10329

10329:                                            ; preds = %10328
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #12
  %10330 = call ptr @__errno_location() #13
  %10331 = load i32, ptr %10330, align 4, !tbaa !5
  store i32 %10331, ptr %231, align 4, !tbaa !5
  %10332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10333 = call i32 @s2n_print_stacktrace(ptr noundef %10332)
  %10334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10335 = trunc i8 %10334 to i1
  br i1 %10335, label %10336, label %10358

10336:                                            ; preds = %10329
  %10337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10338 = call i32 @fileno(ptr noundef %10337) #12
  %10339 = call i32 @isatty(i32 noundef %10338) #12
  %10340 = icmp ne i32 %10339, 0
  br i1 %10340, label %10341, label %10358

10341:                                            ; preds = %10336
  %10342 = load i32, ptr %231, align 4, !tbaa !5
  %10343 = call ptr @__errno_location() #13
  store i32 %10342, ptr %10343, align 4, !tbaa !5
  %10344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10345 = load i32, ptr @test_count, align 4, !tbaa !5
  %10346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10347 = load i32, ptr %10346, align 4, !tbaa !5
  %10348 = call ptr @s2n_strerror(i32 noundef %10347, ptr noundef @.str.80)
  %10349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10350 = load i32, ptr %10349, align 4, !tbaa !5
  %10351 = call ptr @s2n_strerror_debug(i32 noundef %10350, ptr noundef @.str.80)
  %10352 = call ptr @__errno_location() #13
  %10353 = load i32, ptr %10352, align 4, !tbaa !5
  %10354 = call ptr @strerror(i32 noundef %10353) #12
  %10355 = call ptr @__errno_location() #13
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10344, ptr noundef @.str.78, i32 noundef %10345, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 393, ptr noundef %10348, ptr noundef %10351, ptr noundef %10354, i32 noundef %10356) #12
  br label %10375

10358:                                            ; preds = %10336, %10329
  %10359 = load i32, ptr %231, align 4, !tbaa !5
  %10360 = call ptr @__errno_location() #13
  store i32 %10359, ptr %10360, align 4, !tbaa !5
  %10361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10362 = load i32, ptr @test_count, align 4, !tbaa !5
  %10363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10364 = load i32, ptr %10363, align 4, !tbaa !5
  %10365 = call ptr @s2n_strerror(i32 noundef %10364, ptr noundef @.str.80)
  %10366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10367 = load i32, ptr %10366, align 4, !tbaa !5
  %10368 = call ptr @s2n_strerror_debug(i32 noundef %10367, ptr noundef @.str.80)
  %10369 = call ptr @__errno_location() #13
  %10370 = load i32, ptr %10369, align 4, !tbaa !5
  %10371 = call ptr @strerror(i32 noundef %10370) #12
  %10372 = call ptr @__errno_location() #13
  %10373 = load i32, ptr %10372, align 4, !tbaa !5
  %10374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10361, ptr noundef @.str.81, i32 noundef %10362, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 393, ptr noundef %10365, ptr noundef %10368, ptr noundef %10371, i32 noundef %10373) #12
  br label %10375

10375:                                            ; preds = %10358, %10341
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #12
  br label %10376

10376:                                            ; preds = %10375
  br label %10377

10377:                                            ; preds = %10376
  call void @exit(i32 noundef 1) #14
  unreachable

10378:                                            ; No predecessors!
  br label %10379

10379:                                            ; preds = %10378
  br label %10380

10380:                                            ; preds = %10379, %10320
  br label %10381

10381:                                            ; preds = %10380
  br label %10382

10382:                                            ; preds = %10381
  br label %10383

10383:                                            ; preds = %10382
  br label %10384

10384:                                            ; preds = %10383
  br label %10385

10385:                                            ; preds = %10384
  %10386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10386, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10387 = call ptr @__errno_location() #13
  store i32 0, ptr %10387, align 4, !tbaa !5
  br label %10388

10388:                                            ; preds = %10385
  br label %10389

10389:                                            ; preds = %10388
  br label %10390

10390:                                            ; preds = %10389
  br label %10391

10391:                                            ; preds = %10390
  br label %10392

10392:                                            ; preds = %10391
  br label %10393

10393:                                            ; preds = %10392
  br label %10394

10394:                                            ; preds = %10393
  %10395 = load i32, ptr @test_count, align 4, !tbaa !5
  %10396 = add nsw i32 %10395, 1
  store i32 %10396, ptr @test_count, align 4, !tbaa !5
  %10397 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %228, ptr noundef %227)
  %10398 = icmp eq i32 %10397, -1
  br i1 %10398, label %10452, label %10399

10399:                                            ; preds = %10394
  br label %10400

10400:                                            ; preds = %10399
  br label %10401

10401:                                            ; preds = %10400
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #12
  %10402 = call ptr @__errno_location() #13
  %10403 = load i32, ptr %10402, align 4, !tbaa !5
  store i32 %10403, ptr %232, align 4, !tbaa !5
  %10404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10405 = call i32 @s2n_print_stacktrace(ptr noundef %10404)
  %10406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10407 = trunc i8 %10406 to i1
  br i1 %10407, label %10408, label %10430

10408:                                            ; preds = %10401
  %10409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10410 = call i32 @fileno(ptr noundef %10409) #12
  %10411 = call i32 @isatty(i32 noundef %10410) #12
  %10412 = icmp ne i32 %10411, 0
  br i1 %10412, label %10413, label %10430

10413:                                            ; preds = %10408
  %10414 = load i32, ptr %232, align 4, !tbaa !5
  %10415 = call ptr @__errno_location() #13
  store i32 %10414, ptr %10415, align 4, !tbaa !5
  %10416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10417 = load i32, ptr @test_count, align 4, !tbaa !5
  %10418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10419 = load i32, ptr %10418, align 4, !tbaa !5
  %10420 = call ptr @s2n_strerror(i32 noundef %10419, ptr noundef @.str.80)
  %10421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10422 = load i32, ptr %10421, align 4, !tbaa !5
  %10423 = call ptr @s2n_strerror_debug(i32 noundef %10422, ptr noundef @.str.80)
  %10424 = call ptr @__errno_location() #13
  %10425 = load i32, ptr %10424, align 4, !tbaa !5
  %10426 = call ptr @strerror(i32 noundef %10425) #12
  %10427 = call ptr @__errno_location() #13
  %10428 = load i32, ptr %10427, align 4, !tbaa !5
  %10429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10416, ptr noundef @.str.78, i32 noundef %10417, ptr noundef @.str.140, ptr noundef @.str.77, i32 noundef 397, ptr noundef %10420, ptr noundef %10423, ptr noundef %10426, i32 noundef %10428) #12
  br label %10447

10430:                                            ; preds = %10408, %10401
  %10431 = load i32, ptr %232, align 4, !tbaa !5
  %10432 = call ptr @__errno_location() #13
  store i32 %10431, ptr %10432, align 4, !tbaa !5
  %10433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10434 = load i32, ptr @test_count, align 4, !tbaa !5
  %10435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10436 = load i32, ptr %10435, align 4, !tbaa !5
  %10437 = call ptr @s2n_strerror(i32 noundef %10436, ptr noundef @.str.80)
  %10438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10439 = load i32, ptr %10438, align 4, !tbaa !5
  %10440 = call ptr @s2n_strerror_debug(i32 noundef %10439, ptr noundef @.str.80)
  %10441 = call ptr @__errno_location() #13
  %10442 = load i32, ptr %10441, align 4, !tbaa !5
  %10443 = call ptr @strerror(i32 noundef %10442) #12
  %10444 = call ptr @__errno_location() #13
  %10445 = load i32, ptr %10444, align 4, !tbaa !5
  %10446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10433, ptr noundef @.str.81, i32 noundef %10434, ptr noundef @.str.140, ptr noundef @.str.77, i32 noundef 397, ptr noundef %10437, ptr noundef %10440, ptr noundef %10443, i32 noundef %10445) #12
  br label %10447

10447:                                            ; preds = %10430, %10413
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #12
  br label %10448

10448:                                            ; preds = %10447
  br label %10449

10449:                                            ; preds = %10448
  call void @exit(i32 noundef 1) #14
  unreachable

10450:                                            ; No predecessors!
  br label %10451

10451:                                            ; preds = %10450
  br label %10452

10452:                                            ; preds = %10451, %10394
  br label %10453

10453:                                            ; preds = %10452
  br label %10454

10454:                                            ; preds = %10453
  br label %10455

10455:                                            ; preds = %10454
  %10456 = load i32, ptr @test_count, align 4, !tbaa !5
  %10457 = add nsw i32 %10456, 1
  store i32 %10457, ptr @test_count, align 4, !tbaa !5
  %10458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10459 = load i32, ptr %10458, align 4, !tbaa !5
  %10460 = icmp eq i32 %10459, 402653193
  br i1 %10460, label %10514, label %10461

10461:                                            ; preds = %10455
  br label %10462

10462:                                            ; preds = %10461
  br label %10463

10463:                                            ; preds = %10462
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #12
  %10464 = call ptr @__errno_location() #13
  %10465 = load i32, ptr %10464, align 4, !tbaa !5
  store i32 %10465, ptr %233, align 4, !tbaa !5
  %10466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10467 = call i32 @s2n_print_stacktrace(ptr noundef %10466)
  %10468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10469 = trunc i8 %10468 to i1
  br i1 %10469, label %10470, label %10492

10470:                                            ; preds = %10463
  %10471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10472 = call i32 @fileno(ptr noundef %10471) #12
  %10473 = call i32 @isatty(i32 noundef %10472) #12
  %10474 = icmp ne i32 %10473, 0
  br i1 %10474, label %10475, label %10492

10475:                                            ; preds = %10470
  %10476 = load i32, ptr %233, align 4, !tbaa !5
  %10477 = call ptr @__errno_location() #13
  store i32 %10476, ptr %10477, align 4, !tbaa !5
  %10478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10479 = load i32, ptr @test_count, align 4, !tbaa !5
  %10480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10481 = load i32, ptr %10480, align 4, !tbaa !5
  %10482 = call ptr @s2n_strerror(i32 noundef %10481, ptr noundef @.str.80)
  %10483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10484 = load i32, ptr %10483, align 4, !tbaa !5
  %10485 = call ptr @s2n_strerror_debug(i32 noundef %10484, ptr noundef @.str.80)
  %10486 = call ptr @__errno_location() #13
  %10487 = load i32, ptr %10486, align 4, !tbaa !5
  %10488 = call ptr @strerror(i32 noundef %10487) #12
  %10489 = call ptr @__errno_location() #13
  %10490 = load i32, ptr %10489, align 4, !tbaa !5
  %10491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10478, ptr noundef @.str.78, i32 noundef %10479, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 397, ptr noundef %10482, ptr noundef %10485, ptr noundef %10488, i32 noundef %10490) #12
  br label %10509

10492:                                            ; preds = %10470, %10463
  %10493 = load i32, ptr %233, align 4, !tbaa !5
  %10494 = call ptr @__errno_location() #13
  store i32 %10493, ptr %10494, align 4, !tbaa !5
  %10495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10496 = load i32, ptr @test_count, align 4, !tbaa !5
  %10497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10498 = load i32, ptr %10497, align 4, !tbaa !5
  %10499 = call ptr @s2n_strerror(i32 noundef %10498, ptr noundef @.str.80)
  %10500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10501 = load i32, ptr %10500, align 4, !tbaa !5
  %10502 = call ptr @s2n_strerror_debug(i32 noundef %10501, ptr noundef @.str.80)
  %10503 = call ptr @__errno_location() #13
  %10504 = load i32, ptr %10503, align 4, !tbaa !5
  %10505 = call ptr @strerror(i32 noundef %10504) #12
  %10506 = call ptr @__errno_location() #13
  %10507 = load i32, ptr %10506, align 4, !tbaa !5
  %10508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10495, ptr noundef @.str.81, i32 noundef %10496, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 397, ptr noundef %10499, ptr noundef %10502, ptr noundef %10505, i32 noundef %10507) #12
  br label %10509

10509:                                            ; preds = %10492, %10475
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #12
  br label %10510

10510:                                            ; preds = %10509
  br label %10511

10511:                                            ; preds = %10510
  call void @exit(i32 noundef 1) #14
  unreachable

10512:                                            ; No predecessors!
  br label %10513

10513:                                            ; preds = %10512
  br label %10514

10514:                                            ; preds = %10513, %10455
  br label %10515

10515:                                            ; preds = %10514
  br label %10516

10516:                                            ; preds = %10515
  br label %10517

10517:                                            ; preds = %10516
  %10518 = load i32, ptr @test_count, align 4, !tbaa !5
  %10519 = add nsw i32 %10518, 1
  store i32 %10519, ptr @test_count, align 4, !tbaa !5
  %10520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10521 = load i32, ptr %10520, align 4, !tbaa !5
  %10522 = call ptr @s2n_strerror_debug(i32 noundef %10521, ptr noundef @.str.80)
  %10523 = icmp eq ptr %10522, null
  br i1 %10523, label %10524, label %10577

10524:                                            ; preds = %10517
  br label %10525

10525:                                            ; preds = %10524
  br label %10526

10526:                                            ; preds = %10525
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #12
  %10527 = call ptr @__errno_location() #13
  %10528 = load i32, ptr %10527, align 4, !tbaa !5
  store i32 %10528, ptr %234, align 4, !tbaa !5
  %10529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10530 = call i32 @s2n_print_stacktrace(ptr noundef %10529)
  %10531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10532 = trunc i8 %10531 to i1
  br i1 %10532, label %10533, label %10555

10533:                                            ; preds = %10526
  %10534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10535 = call i32 @fileno(ptr noundef %10534) #12
  %10536 = call i32 @isatty(i32 noundef %10535) #12
  %10537 = icmp ne i32 %10536, 0
  br i1 %10537, label %10538, label %10555

10538:                                            ; preds = %10533
  %10539 = load i32, ptr %234, align 4, !tbaa !5
  %10540 = call ptr @__errno_location() #13
  store i32 %10539, ptr %10540, align 4, !tbaa !5
  %10541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10542 = load i32, ptr @test_count, align 4, !tbaa !5
  %10543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10544 = load i32, ptr %10543, align 4, !tbaa !5
  %10545 = call ptr @s2n_strerror(i32 noundef %10544, ptr noundef @.str.80)
  %10546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10547 = load i32, ptr %10546, align 4, !tbaa !5
  %10548 = call ptr @s2n_strerror_debug(i32 noundef %10547, ptr noundef @.str.80)
  %10549 = call ptr @__errno_location() #13
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call ptr @strerror(i32 noundef %10550) #12
  %10552 = call ptr @__errno_location() #13
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10541, ptr noundef @.str.78, i32 noundef %10542, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 397, ptr noundef %10545, ptr noundef %10548, ptr noundef %10551, i32 noundef %10553) #12
  br label %10572

10555:                                            ; preds = %10533, %10526
  %10556 = load i32, ptr %234, align 4, !tbaa !5
  %10557 = call ptr @__errno_location() #13
  store i32 %10556, ptr %10557, align 4, !tbaa !5
  %10558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10559 = load i32, ptr @test_count, align 4, !tbaa !5
  %10560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10561 = load i32, ptr %10560, align 4, !tbaa !5
  %10562 = call ptr @s2n_strerror(i32 noundef %10561, ptr noundef @.str.80)
  %10563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10564 = load i32, ptr %10563, align 4, !tbaa !5
  %10565 = call ptr @s2n_strerror_debug(i32 noundef %10564, ptr noundef @.str.80)
  %10566 = call ptr @__errno_location() #13
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call ptr @strerror(i32 noundef %10567) #12
  %10569 = call ptr @__errno_location() #13
  %10570 = load i32, ptr %10569, align 4, !tbaa !5
  %10571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10558, ptr noundef @.str.81, i32 noundef %10559, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 397, ptr noundef %10562, ptr noundef %10565, ptr noundef %10568, i32 noundef %10570) #12
  br label %10572

10572:                                            ; preds = %10555, %10538
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #12
  br label %10573

10573:                                            ; preds = %10572
  br label %10574

10574:                                            ; preds = %10573
  call void @exit(i32 noundef 1) #14
  unreachable

10575:                                            ; No predecessors!
  br label %10576

10576:                                            ; preds = %10575
  br label %10577

10577:                                            ; preds = %10576, %10517
  br label %10578

10578:                                            ; preds = %10577
  br label %10579

10579:                                            ; preds = %10578
  br label %10580

10580:                                            ; preds = %10579
  br label %10581

10581:                                            ; preds = %10580
  br label %10582

10582:                                            ; preds = %10581
  %10583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10583, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10584 = call ptr @__errno_location() #13
  store i32 0, ptr %10584, align 4, !tbaa !5
  br label %10585

10585:                                            ; preds = %10582
  br label %10586

10586:                                            ; preds = %10585
  br label %10587

10587:                                            ; preds = %10586
  br label %10588

10588:                                            ; preds = %10587
  br label %10589

10589:                                            ; preds = %10588
  %10590 = load i32, ptr @test_count, align 4, !tbaa !5
  %10591 = add nsw i32 %10590, 1
  store i32 %10591, ptr @test_count, align 4, !tbaa !5
  %10592 = load ptr, ptr %220, align 8, !tbaa !9
  %10593 = getelementptr inbounds %struct.s2n_connection, ptr %10592, i32 0, i32 33
  %10594 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10593, i32 0, i32 4
  %10595 = load ptr, ptr %10594, align 8, !tbaa !61
  %10596 = icmp eq ptr %10595, null
  br i1 %10596, label %10650, label %10597

10597:                                            ; preds = %10589
  br label %10598

10598:                                            ; preds = %10597
  br label %10599

10599:                                            ; preds = %10598
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #12
  %10600 = call ptr @__errno_location() #13
  %10601 = load i32, ptr %10600, align 4, !tbaa !5
  store i32 %10601, ptr %235, align 4, !tbaa !5
  %10602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10603 = call i32 @s2n_print_stacktrace(ptr noundef %10602)
  %10604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10605 = trunc i8 %10604 to i1
  br i1 %10605, label %10606, label %10628

10606:                                            ; preds = %10599
  %10607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10608 = call i32 @fileno(ptr noundef %10607) #12
  %10609 = call i32 @isatty(i32 noundef %10608) #12
  %10610 = icmp ne i32 %10609, 0
  br i1 %10610, label %10611, label %10628

10611:                                            ; preds = %10606
  %10612 = load i32, ptr %235, align 4, !tbaa !5
  %10613 = call ptr @__errno_location() #13
  store i32 %10612, ptr %10613, align 4, !tbaa !5
  %10614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10615 = load i32, ptr @test_count, align 4, !tbaa !5
  %10616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10617 = load i32, ptr %10616, align 4, !tbaa !5
  %10618 = call ptr @s2n_strerror(i32 noundef %10617, ptr noundef @.str.80)
  %10619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10620 = load i32, ptr %10619, align 4, !tbaa !5
  %10621 = call ptr @s2n_strerror_debug(i32 noundef %10620, ptr noundef @.str.80)
  %10622 = call ptr @__errno_location() #13
  %10623 = load i32, ptr %10622, align 4, !tbaa !5
  %10624 = call ptr @strerror(i32 noundef %10623) #12
  %10625 = call ptr @__errno_location() #13
  %10626 = load i32, ptr %10625, align 4, !tbaa !5
  %10627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10614, ptr noundef @.str.78, i32 noundef %10615, ptr noundef @.str.141, ptr noundef @.str.77, i32 noundef 398, ptr noundef %10618, ptr noundef %10621, ptr noundef %10624, i32 noundef %10626) #12
  br label %10645

10628:                                            ; preds = %10606, %10599
  %10629 = load i32, ptr %235, align 4, !tbaa !5
  %10630 = call ptr @__errno_location() #13
  store i32 %10629, ptr %10630, align 4, !tbaa !5
  %10631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10632 = load i32, ptr @test_count, align 4, !tbaa !5
  %10633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10634 = load i32, ptr %10633, align 4, !tbaa !5
  %10635 = call ptr @s2n_strerror(i32 noundef %10634, ptr noundef @.str.80)
  %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_debug(i32 noundef %10637, ptr noundef @.str.80)
  %10639 = call ptr @__errno_location() #13
  %10640 = load i32, ptr %10639, align 4, !tbaa !5
  %10641 = call ptr @strerror(i32 noundef %10640) #12
  %10642 = call ptr @__errno_location() #13
  %10643 = load i32, ptr %10642, align 4, !tbaa !5
  %10644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10631, ptr noundef @.str.81, i32 noundef %10632, ptr noundef @.str.141, ptr noundef @.str.77, i32 noundef 398, ptr noundef %10635, ptr noundef %10638, ptr noundef %10641, i32 noundef %10643) #12
  br label %10645

10645:                                            ; preds = %10628, %10611
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #12
  br label %10646

10646:                                            ; preds = %10645
  br label %10647

10647:                                            ; preds = %10646
  call void @exit(i32 noundef 1) #14
  unreachable

10648:                                            ; No predecessors!
  br label %10649

10649:                                            ; preds = %10648
  br label %10650

10650:                                            ; preds = %10649, %10589
  br label %10651

10651:                                            ; preds = %10650
  br label %10652

10652:                                            ; preds = %10651
  call void @llvm.lifetime.start.p0(i64 8, ptr %236) #12
  store ptr null, ptr %236, align 8, !tbaa !9
  br label %10653

10653:                                            ; preds = %10652
  %10654 = load i32, ptr @test_count, align 4, !tbaa !5
  %10655 = add nsw i32 %10654, 1
  store i32 %10655, ptr @test_count, align 4, !tbaa !5
  %10656 = load ptr, ptr %222, align 8, !tbaa !9
  %10657 = call i32 @s2n_array_pushback(ptr noundef %10656, ptr noundef %236)
  %10658 = getelementptr inbounds %struct.s2n_result, ptr %237, i32 0, i32 0
  store i32 %10657, ptr %10658, align 4
  %10659 = getelementptr inbounds %struct.s2n_result, ptr %237, i32 0, i32 0
  %10660 = load i32, ptr %10659, align 4
  %10661 = call zeroext i1 @s2n_result_is_ok(i32 %10660)
  br i1 %10661, label %10715, label %10662

10662:                                            ; preds = %10653
  br label %10663

10663:                                            ; preds = %10662
  br label %10664

10664:                                            ; preds = %10663
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #12
  %10665 = call ptr @__errno_location() #13
  %10666 = load i32, ptr %10665, align 4, !tbaa !5
  store i32 %10666, ptr %238, align 4, !tbaa !5
  %10667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10668 = call i32 @s2n_print_stacktrace(ptr noundef %10667)
  %10669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10670 = trunc i8 %10669 to i1
  br i1 %10670, label %10671, label %10693

10671:                                            ; preds = %10664
  %10672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10673 = call i32 @fileno(ptr noundef %10672) #12
  %10674 = call i32 @isatty(i32 noundef %10673) #12
  %10675 = icmp ne i32 %10674, 0
  br i1 %10675, label %10676, label %10693

10676:                                            ; preds = %10671
  %10677 = load i32, ptr %238, align 4, !tbaa !5
  %10678 = call ptr @__errno_location() #13
  store i32 %10677, ptr %10678, align 4, !tbaa !5
  %10679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10680 = load i32, ptr @test_count, align 4, !tbaa !5
  %10681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10682 = load i32, ptr %10681, align 4, !tbaa !5
  %10683 = call ptr @s2n_strerror(i32 noundef %10682, ptr noundef @.str.80)
  %10684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10685 = load i32, ptr %10684, align 4, !tbaa !5
  %10686 = call ptr @s2n_strerror_debug(i32 noundef %10685, ptr noundef @.str.80)
  %10687 = call ptr @__errno_location() #13
  %10688 = load i32, ptr %10687, align 4, !tbaa !5
  %10689 = call ptr @strerror(i32 noundef %10688) #12
  %10690 = call ptr @__errno_location() #13
  %10691 = load i32, ptr %10690, align 4, !tbaa !5
  %10692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10679, ptr noundef @.str.78, i32 noundef %10680, ptr noundef @.str.142, ptr noundef @.str.77, i32 noundef 404, ptr noundef %10683, ptr noundef %10686, ptr noundef %10689, i32 noundef %10691) #12
  br label %10710

10693:                                            ; preds = %10671, %10664
  %10694 = load i32, ptr %238, align 4, !tbaa !5
  %10695 = call ptr @__errno_location() #13
  store i32 %10694, ptr %10695, align 4, !tbaa !5
  %10696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10697 = load i32, ptr @test_count, align 4, !tbaa !5
  %10698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10699 = load i32, ptr %10698, align 4, !tbaa !5
  %10700 = call ptr @s2n_strerror(i32 noundef %10699, ptr noundef @.str.80)
  %10701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10702 = load i32, ptr %10701, align 4, !tbaa !5
  %10703 = call ptr @s2n_strerror_debug(i32 noundef %10702, ptr noundef @.str.80)
  %10704 = call ptr @__errno_location() #13
  %10705 = load i32, ptr %10704, align 4, !tbaa !5
  %10706 = call ptr @strerror(i32 noundef %10705) #12
  %10707 = call ptr @__errno_location() #13
  %10708 = load i32, ptr %10707, align 4, !tbaa !5
  %10709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10696, ptr noundef @.str.81, i32 noundef %10697, ptr noundef @.str.142, ptr noundef @.str.77, i32 noundef 404, ptr noundef %10700, ptr noundef %10703, ptr noundef %10706, i32 noundef %10708) #12
  br label %10710

10710:                                            ; preds = %10693, %10676
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #12
  br label %10711

10711:                                            ; preds = %10710
  br label %10712

10712:                                            ; preds = %10711
  call void @exit(i32 noundef 1) #14
  unreachable

10713:                                            ; No predecessors!
  br label %10714

10714:                                            ; preds = %10713
  br label %10715

10715:                                            ; preds = %10714, %10653
  br label %10716

10716:                                            ; preds = %10715
  br label %10717

10717:                                            ; preds = %10716
  br label %10718

10718:                                            ; preds = %10717
  %10719 = load i32, ptr @test_count, align 4, !tbaa !5
  %10720 = add nsw i32 %10719, 1
  store i32 %10720, ptr @test_count, align 4, !tbaa !5
  %10721 = load ptr, ptr %236, align 8, !tbaa !9
  %10722 = call i32 @s2n_psk_init(ptr noundef %10721, i32 noundef 1)
  %10723 = getelementptr inbounds %struct.s2n_result, ptr %239, i32 0, i32 0
  store i32 %10722, ptr %10723, align 4
  %10724 = getelementptr inbounds %struct.s2n_result, ptr %239, i32 0, i32 0
  %10725 = load i32, ptr %10724, align 4
  %10726 = call zeroext i1 @s2n_result_is_ok(i32 %10725)
  br i1 %10726, label %10780, label %10727

10727:                                            ; preds = %10718
  br label %10728

10728:                                            ; preds = %10727
  br label %10729

10729:                                            ; preds = %10728
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #12
  %10730 = call ptr @__errno_location() #13
  %10731 = load i32, ptr %10730, align 4, !tbaa !5
  store i32 %10731, ptr %240, align 4, !tbaa !5
  %10732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10733 = call i32 @s2n_print_stacktrace(ptr noundef %10732)
  %10734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10735 = trunc i8 %10734 to i1
  br i1 %10735, label %10736, label %10758

10736:                                            ; preds = %10729
  %10737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10738 = call i32 @fileno(ptr noundef %10737) #12
  %10739 = call i32 @isatty(i32 noundef %10738) #12
  %10740 = icmp ne i32 %10739, 0
  br i1 %10740, label %10741, label %10758

10741:                                            ; preds = %10736
  %10742 = load i32, ptr %240, align 4, !tbaa !5
  %10743 = call ptr @__errno_location() #13
  store i32 %10742, ptr %10743, align 4, !tbaa !5
  %10744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10745 = load i32, ptr @test_count, align 4, !tbaa !5
  %10746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10747 = load i32, ptr %10746, align 4, !tbaa !5
  %10748 = call ptr @s2n_strerror(i32 noundef %10747, ptr noundef @.str.80)
  %10749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10750 = load i32, ptr %10749, align 4, !tbaa !5
  %10751 = call ptr @s2n_strerror_debug(i32 noundef %10750, ptr noundef @.str.80)
  %10752 = call ptr @__errno_location() #13
  %10753 = load i32, ptr %10752, align 4, !tbaa !5
  %10754 = call ptr @strerror(i32 noundef %10753) #12
  %10755 = call ptr @__errno_location() #13
  %10756 = load i32, ptr %10755, align 4, !tbaa !5
  %10757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10744, ptr noundef @.str.78, i32 noundef %10745, ptr noundef @.str.143, ptr noundef @.str.77, i32 noundef 405, ptr noundef %10748, ptr noundef %10751, ptr noundef %10754, i32 noundef %10756) #12
  br label %10775

10758:                                            ; preds = %10736, %10729
  %10759 = load i32, ptr %240, align 4, !tbaa !5
  %10760 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %10769 = call ptr @__errno_location() #13
  %10770 = load i32, ptr %10769, align 4, !tbaa !5
  %10771 = call ptr @strerror(i32 noundef %10770) #12
  %10772 = call ptr @__errno_location() #13
  %10773 = load i32, ptr %10772, align 4, !tbaa !5
  %10774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10761, ptr noundef @.str.81, i32 noundef %10762, ptr noundef @.str.143, ptr noundef @.str.77, i32 noundef 405, ptr noundef %10765, ptr noundef %10768, ptr noundef %10771, i32 noundef %10773) #12
  br label %10775

10775:                                            ; preds = %10758, %10741
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #12
  br label %10776

10776:                                            ; preds = %10775
  br label %10777

10777:                                            ; preds = %10776
  call void @exit(i32 noundef 1) #14
  unreachable

10778:                                            ; No predecessors!
  br label %10779

10779:                                            ; preds = %10778
  br label %10780

10780:                                            ; preds = %10779, %10718
  br label %10781

10781:                                            ; preds = %10780
  br label %10782

10782:                                            ; preds = %10781
  br label %10783

10783:                                            ; preds = %10782
  %10784 = load i32, ptr @test_count, align 4, !tbaa !5
  %10785 = add nsw i32 %10784, 1
  store i32 %10785, ptr @test_count, align 4, !tbaa !5
  %10786 = load ptr, ptr %236, align 8, !tbaa !9
  %10787 = getelementptr inbounds [4 x i8], ptr %10, i64 0, i64 0
  %10788 = call i32 @s2n_psk_set_identity(ptr noundef %10786, ptr noundef %10787, i16 noundef zeroext 4)
  %10789 = icmp eq i32 %10788, -1
  br i1 %10789, label %10790, label %10843

10790:                                            ; preds = %10783
  br label %10791

10791:                                            ; preds = %10790
  br label %10792

10792:                                            ; preds = %10791
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #12
  %10793 = call ptr @__errno_location() #13
  %10794 = load i32, ptr %10793, align 4, !tbaa !5
  store i32 %10794, ptr %241, align 4, !tbaa !5
  %10795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10796 = call i32 @s2n_print_stacktrace(ptr noundef %10795)
  %10797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10798 = trunc i8 %10797 to i1
  br i1 %10798, label %10799, label %10821

10799:                                            ; preds = %10792
  %10800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10801 = call i32 @fileno(ptr noundef %10800) #12
  %10802 = call i32 @isatty(i32 noundef %10801) #12
  %10803 = icmp ne i32 %10802, 0
  br i1 %10803, label %10804, label %10821

10804:                                            ; preds = %10799
  %10805 = load i32, ptr %241, align 4, !tbaa !5
  %10806 = call ptr @__errno_location() #13
  store i32 %10805, ptr %10806, align 4, !tbaa !5
  %10807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10808 = load i32, ptr @test_count, align 4, !tbaa !5
  %10809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10810 = load i32, ptr %10809, align 4, !tbaa !5
  %10811 = call ptr @s2n_strerror(i32 noundef %10810, ptr noundef @.str.80)
  %10812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10813 = load i32, ptr %10812, align 4, !tbaa !5
  %10814 = call ptr @s2n_strerror_debug(i32 noundef %10813, ptr noundef @.str.80)
  %10815 = call ptr @__errno_location() #13
  %10816 = load i32, ptr %10815, align 4, !tbaa !5
  %10817 = call ptr @strerror(i32 noundef %10816) #12
  %10818 = call ptr @__errno_location() #13
  %10819 = load i32, ptr %10818, align 4, !tbaa !5
  %10820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10807, ptr noundef @.str.78, i32 noundef %10808, ptr noundef @.str.144, ptr noundef @.str.77, i32 noundef 406, ptr noundef %10811, ptr noundef %10814, ptr noundef %10817, i32 noundef %10819) #12
  br label %10838

10821:                                            ; preds = %10799, %10792
  %10822 = load i32, ptr %241, align 4, !tbaa !5
  %10823 = call ptr @__errno_location() #13
  store i32 %10822, ptr %10823, align 4, !tbaa !5
  %10824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10825 = load i32, ptr @test_count, align 4, !tbaa !5
  %10826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10827 = load i32, ptr %10826, align 4, !tbaa !5
  %10828 = call ptr @s2n_strerror(i32 noundef %10827, ptr noundef @.str.80)
  %10829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10830 = load i32, ptr %10829, align 4, !tbaa !5
  %10831 = call ptr @s2n_strerror_debug(i32 noundef %10830, ptr noundef @.str.80)
  %10832 = call ptr @__errno_location() #13
  %10833 = load i32, ptr %10832, align 4, !tbaa !5
  %10834 = call ptr @strerror(i32 noundef %10833) #12
  %10835 = call ptr @__errno_location() #13
  %10836 = load i32, ptr %10835, align 4, !tbaa !5
  %10837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10824, ptr noundef @.str.81, i32 noundef %10825, ptr noundef @.str.144, ptr noundef @.str.77, i32 noundef 406, ptr noundef %10828, ptr noundef %10831, ptr noundef %10834, i32 noundef %10836) #12
  br label %10838

10838:                                            ; preds = %10821, %10804
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #12
  br label %10839

10839:                                            ; preds = %10838
  br label %10840

10840:                                            ; preds = %10839
  call void @exit(i32 noundef 1) #14
  unreachable

10841:                                            ; No predecessors!
  br label %10842

10842:                                            ; preds = %10841
  br label %10843

10843:                                            ; preds = %10842, %10783
  br label %10844

10844:                                            ; preds = %10843
  br label %10845

10845:                                            ; preds = %10844
  br label %10846

10846:                                            ; preds = %10845
  br label %10847

10847:                                            ; preds = %10846
  br label %10848

10848:                                            ; preds = %10847
  %10849 = load i32, ptr @test_count, align 4, !tbaa !5
  %10850 = add nsw i32 %10849, 1
  store i32 %10850, ptr @test_count, align 4, !tbaa !5
  %10851 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %228, ptr noundef %227)
  %10852 = icmp eq i32 %10851, -1
  br i1 %10852, label %10906, label %10853

10853:                                            ; preds = %10848
  br label %10854

10854:                                            ; preds = %10853
  br label %10855

10855:                                            ; preds = %10854
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #12
  %10856 = call ptr @__errno_location() #13
  %10857 = load i32, ptr %10856, align 4, !tbaa !5
  store i32 %10857, ptr %242, align 4, !tbaa !5
  %10858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10859 = call i32 @s2n_print_stacktrace(ptr noundef %10858)
  %10860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10861 = trunc i8 %10860 to i1
  br i1 %10861, label %10862, label %10884

10862:                                            ; preds = %10855
  %10863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10864 = call i32 @fileno(ptr noundef %10863) #12
  %10865 = call i32 @isatty(i32 noundef %10864) #12
  %10866 = icmp ne i32 %10865, 0
  br i1 %10866, label %10867, label %10884

10867:                                            ; preds = %10862
  %10868 = load i32, ptr %242, align 4, !tbaa !5
  %10869 = call ptr @__errno_location() #13
  store i32 %10868, ptr %10869, align 4, !tbaa !5
  %10870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10871 = load i32, ptr @test_count, align 4, !tbaa !5
  %10872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10873 = load i32, ptr %10872, align 4, !tbaa !5
  %10874 = call ptr @s2n_strerror(i32 noundef %10873, ptr noundef @.str.80)
  %10875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10876 = load i32, ptr %10875, align 4, !tbaa !5
  %10877 = call ptr @s2n_strerror_debug(i32 noundef %10876, ptr noundef @.str.80)
  %10878 = call ptr @__errno_location() #13
  %10879 = load i32, ptr %10878, align 4, !tbaa !5
  %10880 = call ptr @strerror(i32 noundef %10879) #12
  %10881 = call ptr @__errno_location() #13
  %10882 = load i32, ptr %10881, align 4, !tbaa !5
  %10883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10870, ptr noundef @.str.78, i32 noundef %10871, ptr noundef @.str.140, ptr noundef @.str.77, i32 noundef 408, ptr noundef %10874, ptr noundef %10877, ptr noundef %10880, i32 noundef %10882) #12
  br label %10901

10884:                                            ; preds = %10862, %10855
  %10885 = load i32, ptr %242, align 4, !tbaa !5
  %10886 = call ptr @__errno_location() #13
  store i32 %10885, ptr %10886, align 4, !tbaa !5
  %10887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10888 = load i32, ptr @test_count, align 4, !tbaa !5
  %10889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10890 = load i32, ptr %10889, align 4, !tbaa !5
  %10891 = call ptr @s2n_strerror(i32 noundef %10890, ptr noundef @.str.80)
  %10892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10893 = load i32, ptr %10892, align 4, !tbaa !5
  %10894 = call ptr @s2n_strerror_debug(i32 noundef %10893, ptr noundef @.str.80)
  %10895 = call ptr @__errno_location() #13
  %10896 = load i32, ptr %10895, align 4, !tbaa !5
  %10897 = call ptr @strerror(i32 noundef %10896) #12
  %10898 = call ptr @__errno_location() #13
  %10899 = load i32, ptr %10898, align 4, !tbaa !5
  %10900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10887, ptr noundef @.str.81, i32 noundef %10888, ptr noundef @.str.140, ptr noundef @.str.77, i32 noundef 408, ptr noundef %10891, ptr noundef %10894, ptr noundef %10897, i32 noundef %10899) #12
  br label %10901

10901:                                            ; preds = %10884, %10867
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #12
  br label %10902

10902:                                            ; preds = %10901
  br label %10903

10903:                                            ; preds = %10902
  call void @exit(i32 noundef 1) #14
  unreachable

10904:                                            ; No predecessors!
  br label %10905

10905:                                            ; preds = %10904
  br label %10906

10906:                                            ; preds = %10905, %10848
  br label %10907

10907:                                            ; preds = %10906
  br label %10908

10908:                                            ; preds = %10907
  br label %10909

10909:                                            ; preds = %10908
  %10910 = load i32, ptr @test_count, align 4, !tbaa !5
  %10911 = add nsw i32 %10910, 1
  store i32 %10911, ptr @test_count, align 4, !tbaa !5
  %10912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10913 = load i32, ptr %10912, align 4, !tbaa !5
  %10914 = icmp eq i32 %10913, 402653193
  br i1 %10914, label %10968, label %10915

10915:                                            ; preds = %10909
  br label %10916

10916:                                            ; preds = %10915
  br label %10917

10917:                                            ; preds = %10916
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #12
  %10918 = call ptr @__errno_location() #13
  %10919 = load i32, ptr %10918, align 4, !tbaa !5
  store i32 %10919, ptr %243, align 4, !tbaa !5
  %10920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10921 = call i32 @s2n_print_stacktrace(ptr noundef %10920)
  %10922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10923 = trunc i8 %10922 to i1
  br i1 %10923, label %10924, label %10946

10924:                                            ; preds = %10917
  %10925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10926 = call i32 @fileno(ptr noundef %10925) #12
  %10927 = call i32 @isatty(i32 noundef %10926) #12
  %10928 = icmp ne i32 %10927, 0
  br i1 %10928, label %10929, label %10946

10929:                                            ; preds = %10924
  %10930 = load i32, ptr %243, align 4, !tbaa !5
  %10931 = call ptr @__errno_location() #13
  store i32 %10930, ptr %10931, align 4, !tbaa !5
  %10932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10933 = load i32, ptr @test_count, align 4, !tbaa !5
  %10934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10935 = load i32, ptr %10934, align 4, !tbaa !5
  %10936 = call ptr @s2n_strerror(i32 noundef %10935, ptr noundef @.str.80)
  %10937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10938 = load i32, ptr %10937, align 4, !tbaa !5
  %10939 = call ptr @s2n_strerror_debug(i32 noundef %10938, ptr noundef @.str.80)
  %10940 = call ptr @__errno_location() #13
  %10941 = load i32, ptr %10940, align 4, !tbaa !5
  %10942 = call ptr @strerror(i32 noundef %10941) #12
  %10943 = call ptr @__errno_location() #13
  %10944 = load i32, ptr %10943, align 4, !tbaa !5
  %10945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10932, ptr noundef @.str.78, i32 noundef %10933, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 408, ptr noundef %10936, ptr noundef %10939, ptr noundef %10942, i32 noundef %10944) #12
  br label %10963

10946:                                            ; preds = %10924, %10917
  %10947 = load i32, ptr %243, align 4, !tbaa !5
  %10948 = call ptr @__errno_location() #13
  store i32 %10947, ptr %10948, align 4, !tbaa !5
  %10949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10950 = load i32, ptr @test_count, align 4, !tbaa !5
  %10951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10952 = load i32, ptr %10951, align 4, !tbaa !5
  %10953 = call ptr @s2n_strerror(i32 noundef %10952, ptr noundef @.str.80)
  %10954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10955 = load i32, ptr %10954, align 4, !tbaa !5
  %10956 = call ptr @s2n_strerror_debug(i32 noundef %10955, ptr noundef @.str.80)
  %10957 = call ptr @__errno_location() #13
  %10958 = load i32, ptr %10957, align 4, !tbaa !5
  %10959 = call ptr @strerror(i32 noundef %10958) #12
  %10960 = call ptr @__errno_location() #13
  %10961 = load i32, ptr %10960, align 4, !tbaa !5
  %10962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10949, ptr noundef @.str.81, i32 noundef %10950, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 408, ptr noundef %10953, ptr noundef %10956, ptr noundef %10959, i32 noundef %10961) #12
  br label %10963

10963:                                            ; preds = %10946, %10929
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #12
  br label %10964

10964:                                            ; preds = %10963
  br label %10965

10965:                                            ; preds = %10964
  call void @exit(i32 noundef 1) #14
  unreachable

10966:                                            ; No predecessors!
  br label %10967

10967:                                            ; preds = %10966
  br label %10968

10968:                                            ; preds = %10967, %10909
  br label %10969

10969:                                            ; preds = %10968
  br label %10970

10970:                                            ; preds = %10969
  br label %10971

10971:                                            ; preds = %10970
  %10972 = load i32, ptr @test_count, align 4, !tbaa !5
  %10973 = add nsw i32 %10972, 1
  store i32 %10973, ptr @test_count, align 4, !tbaa !5
  %10974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10975 = load i32, ptr %10974, align 4, !tbaa !5
  %10976 = call ptr @s2n_strerror_debug(i32 noundef %10975, ptr noundef @.str.80)
  %10977 = icmp eq ptr %10976, null
  br i1 %10977, label %10978, label %11031

10978:                                            ; preds = %10971
  br label %10979

10979:                                            ; preds = %10978
  br label %10980

10980:                                            ; preds = %10979
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #12
  %10981 = call ptr @__errno_location() #13
  %10982 = load i32, ptr %10981, align 4, !tbaa !5
  store i32 %10982, ptr %244, align 4, !tbaa !5
  %10983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10984 = call i32 @s2n_print_stacktrace(ptr noundef %10983)
  %10985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10986 = trunc i8 %10985 to i1
  br i1 %10986, label %10987, label %11009

10987:                                            ; preds = %10980
  %10988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10989 = call i32 @fileno(ptr noundef %10988) #12
  %10990 = call i32 @isatty(i32 noundef %10989) #12
  %10991 = icmp ne i32 %10990, 0
  br i1 %10991, label %10992, label %11009

10992:                                            ; preds = %10987
  %10993 = load i32, ptr %244, align 4, !tbaa !5
  %10994 = call ptr @__errno_location() #13
  store i32 %10993, ptr %10994, align 4, !tbaa !5
  %10995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10996 = load i32, ptr @test_count, align 4, !tbaa !5
  %10997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10998 = load i32, ptr %10997, align 4, !tbaa !5
  %10999 = call ptr @s2n_strerror(i32 noundef %10998, ptr noundef @.str.80)
  %11000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11001 = load i32, ptr %11000, align 4, !tbaa !5
  %11002 = call ptr @s2n_strerror_debug(i32 noundef %11001, ptr noundef @.str.80)
  %11003 = call ptr @__errno_location() #13
  %11004 = load i32, ptr %11003, align 4, !tbaa !5
  %11005 = call ptr @strerror(i32 noundef %11004) #12
  %11006 = call ptr @__errno_location() #13
  %11007 = load i32, ptr %11006, align 4, !tbaa !5
  %11008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10995, ptr noundef @.str.78, i32 noundef %10996, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 408, ptr noundef %10999, ptr noundef %11002, ptr noundef %11005, i32 noundef %11007) #12
  br label %11026

11009:                                            ; preds = %10987, %10980
  %11010 = load i32, ptr %244, align 4, !tbaa !5
  %11011 = call ptr @__errno_location() #13
  store i32 %11010, ptr %11011, align 4, !tbaa !5
  %11012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11013 = load i32, ptr @test_count, align 4, !tbaa !5
  %11014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11015 = load i32, ptr %11014, align 4, !tbaa !5
  %11016 = call ptr @s2n_strerror(i32 noundef %11015, ptr noundef @.str.80)
  %11017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11018 = load i32, ptr %11017, align 4, !tbaa !5
  %11019 = call ptr @s2n_strerror_debug(i32 noundef %11018, ptr noundef @.str.80)
  %11020 = call ptr @__errno_location() #13
  %11021 = load i32, ptr %11020, align 4, !tbaa !5
  %11022 = call ptr @strerror(i32 noundef %11021) #12
  %11023 = call ptr @__errno_location() #13
  %11024 = load i32, ptr %11023, align 4, !tbaa !5
  %11025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11012, ptr noundef @.str.81, i32 noundef %11013, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 408, ptr noundef %11016, ptr noundef %11019, ptr noundef %11022, i32 noundef %11024) #12
  br label %11026

11026:                                            ; preds = %11009, %10992
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #12
  br label %11027

11027:                                            ; preds = %11026
  br label %11028

11028:                                            ; preds = %11027
  call void @exit(i32 noundef 1) #14
  unreachable

11029:                                            ; No predecessors!
  br label %11030

11030:                                            ; preds = %11029
  br label %11031

11031:                                            ; preds = %11030, %10971
  br label %11032

11032:                                            ; preds = %11031
  br label %11033

11033:                                            ; preds = %11032
  br label %11034

11034:                                            ; preds = %11033
  br label %11035

11035:                                            ; preds = %11034
  br label %11036

11036:                                            ; preds = %11035
  %11037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11037, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11038 = call ptr @__errno_location() #13
  store i32 0, ptr %11038, align 4, !tbaa !5
  br label %11039

11039:                                            ; preds = %11036
  br label %11040

11040:                                            ; preds = %11039
  br label %11041

11041:                                            ; preds = %11040
  br label %11042

11042:                                            ; preds = %11041
  br label %11043

11043:                                            ; preds = %11042
  %11044 = load i32, ptr @test_count, align 4, !tbaa !5
  %11045 = add nsw i32 %11044, 1
  store i32 %11045, ptr @test_count, align 4, !tbaa !5
  %11046 = load ptr, ptr %220, align 8, !tbaa !9
  %11047 = getelementptr inbounds %struct.s2n_connection, ptr %11046, i32 0, i32 33
  %11048 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11047, i32 0, i32 4
  %11049 = load ptr, ptr %11048, align 8, !tbaa !61
  %11050 = icmp eq ptr %11049, null
  br i1 %11050, label %11104, label %11051

11051:                                            ; preds = %11043
  br label %11052

11052:                                            ; preds = %11051
  br label %11053

11053:                                            ; preds = %11052
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #12
  %11054 = call ptr @__errno_location() #13
  %11055 = load i32, ptr %11054, align 4, !tbaa !5
  store i32 %11055, ptr %245, align 4, !tbaa !5
  %11056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11057 = call i32 @s2n_print_stacktrace(ptr noundef %11056)
  %11058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11059 = trunc i8 %11058 to i1
  br i1 %11059, label %11060, label %11082

11060:                                            ; preds = %11053
  %11061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11062 = call i32 @fileno(ptr noundef %11061) #12
  %11063 = call i32 @isatty(i32 noundef %11062) #12
  %11064 = icmp ne i32 %11063, 0
  br i1 %11064, label %11065, label %11082

11065:                                            ; preds = %11060
  %11066 = load i32, ptr %245, align 4, !tbaa !5
  %11067 = call ptr @__errno_location() #13
  store i32 %11066, ptr %11067, align 4, !tbaa !5
  %11068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11069 = load i32, ptr @test_count, align 4, !tbaa !5
  %11070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11071 = load i32, ptr %11070, align 4, !tbaa !5
  %11072 = call ptr @s2n_strerror(i32 noundef %11071, ptr noundef @.str.80)
  %11073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11074 = load i32, ptr %11073, align 4, !tbaa !5
  %11075 = call ptr @s2n_strerror_debug(i32 noundef %11074, ptr noundef @.str.80)
  %11076 = call ptr @__errno_location() #13
  %11077 = load i32, ptr %11076, align 4, !tbaa !5
  %11078 = call ptr @strerror(i32 noundef %11077) #12
  %11079 = call ptr @__errno_location() #13
  %11080 = load i32, ptr %11079, align 4, !tbaa !5
  %11081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11068, ptr noundef @.str.78, i32 noundef %11069, ptr noundef @.str.141, ptr noundef @.str.77, i32 noundef 409, ptr noundef %11072, ptr noundef %11075, ptr noundef %11078, i32 noundef %11080) #12
  br label %11099

11082:                                            ; preds = %11060, %11053
  %11083 = load i32, ptr %245, align 4, !tbaa !5
  %11084 = call ptr @__errno_location() #13
  store i32 %11083, ptr %11084, align 4, !tbaa !5
  %11085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11086 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11088, ptr noundef @.str.80)
  %11090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11091 = load i32, ptr %11090, align 4, !tbaa !5
  %11092 = call ptr @s2n_strerror_debug(i32 noundef %11091, ptr noundef @.str.80)
  %11093 = call ptr @__errno_location() #13
  %11094 = load i32, ptr %11093, align 4, !tbaa !5
  %11095 = call ptr @strerror(i32 noundef %11094) #12
  %11096 = call ptr @__errno_location() #13
  %11097 = load i32, ptr %11096, align 4, !tbaa !5
  %11098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11085, ptr noundef @.str.81, i32 noundef %11086, ptr noundef @.str.141, ptr noundef @.str.77, i32 noundef 409, ptr noundef %11089, ptr noundef %11092, ptr noundef %11095, i32 noundef %11097) #12
  br label %11099

11099:                                            ; preds = %11082, %11065
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #12
  br label %11100

11100:                                            ; preds = %11099
  br label %11101

11101:                                            ; preds = %11100
  call void @exit(i32 noundef 1) #14
  unreachable

11102:                                            ; No predecessors!
  br label %11103

11103:                                            ; preds = %11102
  br label %11104

11104:                                            ; preds = %11103, %11043
  br label %11105

11105:                                            ; preds = %11104
  br label %11106

11106:                                            ; preds = %11105
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr %246) #12
  store ptr null, ptr %246, align 8, !tbaa !9
  br label %11107

11107:                                            ; preds = %11106
  %11108 = load i32, ptr @test_count, align 4, !tbaa !5
  %11109 = add nsw i32 %11108, 1
  store i32 %11109, ptr @test_count, align 4, !tbaa !5
  %11110 = load ptr, ptr %222, align 8, !tbaa !9
  %11111 = call i32 @s2n_array_pushback(ptr noundef %11110, ptr noundef %246)
  %11112 = getelementptr inbounds %struct.s2n_result, ptr %247, i32 0, i32 0
  store i32 %11111, ptr %11112, align 4
  %11113 = getelementptr inbounds %struct.s2n_result, ptr %247, i32 0, i32 0
  %11114 = load i32, ptr %11113, align 4
  %11115 = call zeroext i1 @s2n_result_is_ok(i32 %11114)
  br i1 %11115, label %11169, label %11116

11116:                                            ; preds = %11107
  br label %11117

11117:                                            ; preds = %11116
  br label %11118

11118:                                            ; preds = %11117
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #12
  %11119 = call ptr @__errno_location() #13
  %11120 = load i32, ptr %11119, align 4, !tbaa !5
  store i32 %11120, ptr %248, align 4, !tbaa !5
  %11121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11122 = call i32 @s2n_print_stacktrace(ptr noundef %11121)
  %11123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11124 = trunc i8 %11123 to i1
  br i1 %11124, label %11125, label %11147

11125:                                            ; preds = %11118
  %11126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11127 = call i32 @fileno(ptr noundef %11126) #12
  %11128 = call i32 @isatty(i32 noundef %11127) #12
  %11129 = icmp ne i32 %11128, 0
  br i1 %11129, label %11130, label %11147

11130:                                            ; preds = %11125
  %11131 = load i32, ptr %248, align 4, !tbaa !5
  %11132 = call ptr @__errno_location() #13
  store i32 %11131, ptr %11132, align 4, !tbaa !5
  %11133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11134 = load i32, ptr @test_count, align 4, !tbaa !5
  %11135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11136 = load i32, ptr %11135, align 4, !tbaa !5
  %11137 = call ptr @s2n_strerror(i32 noundef %11136, ptr noundef @.str.80)
  %11138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11139 = load i32, ptr %11138, align 4, !tbaa !5
  %11140 = call ptr @s2n_strerror_debug(i32 noundef %11139, ptr noundef @.str.80)
  %11141 = call ptr @__errno_location() #13
  %11142 = load i32, ptr %11141, align 4, !tbaa !5
  %11143 = call ptr @strerror(i32 noundef %11142) #12
  %11144 = call ptr @__errno_location() #13
  %11145 = load i32, ptr %11144, align 4, !tbaa !5
  %11146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11133, ptr noundef @.str.78, i32 noundef %11134, ptr noundef @.str.145, ptr noundef @.str.77, i32 noundef 416, ptr noundef %11137, ptr noundef %11140, ptr noundef %11143, i32 noundef %11145) #12
  br label %11164

11147:                                            ; preds = %11125, %11118
  %11148 = load i32, ptr %248, align 4, !tbaa !5
  %11149 = call ptr @__errno_location() #13
  store i32 %11148, ptr %11149, align 4, !tbaa !5
  %11150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11151 = load i32, ptr @test_count, align 4, !tbaa !5
  %11152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11153 = load i32, ptr %11152, align 4, !tbaa !5
  %11154 = call ptr @s2n_strerror(i32 noundef %11153, ptr noundef @.str.80)
  %11155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11156 = load i32, ptr %11155, align 4, !tbaa !5
  %11157 = call ptr @s2n_strerror_debug(i32 noundef %11156, ptr noundef @.str.80)
  %11158 = call ptr @__errno_location() #13
  %11159 = load i32, ptr %11158, align 4, !tbaa !5
  %11160 = call ptr @strerror(i32 noundef %11159) #12
  %11161 = call ptr @__errno_location() #13
  %11162 = load i32, ptr %11161, align 4, !tbaa !5
  %11163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11150, ptr noundef @.str.81, i32 noundef %11151, ptr noundef @.str.145, ptr noundef @.str.77, i32 noundef 416, ptr noundef %11154, ptr noundef %11157, ptr noundef %11160, i32 noundef %11162) #12
  br label %11164

11164:                                            ; preds = %11147, %11130
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #12
  br label %11165

11165:                                            ; preds = %11164
  br label %11166

11166:                                            ; preds = %11165
  call void @exit(i32 noundef 1) #14
  unreachable

11167:                                            ; No predecessors!
  br label %11168

11168:                                            ; preds = %11167
  br label %11169

11169:                                            ; preds = %11168, %11107
  br label %11170

11170:                                            ; preds = %11169
  br label %11171

11171:                                            ; preds = %11170
  br label %11172

11172:                                            ; preds = %11171
  %11173 = load i32, ptr @test_count, align 4, !tbaa !5
  %11174 = add nsw i32 %11173, 1
  store i32 %11174, ptr @test_count, align 4, !tbaa !5
  %11175 = load ptr, ptr %246, align 8, !tbaa !9
  %11176 = call i32 @s2n_psk_init(ptr noundef %11175, i32 noundef 1)
  %11177 = getelementptr inbounds %struct.s2n_result, ptr %249, i32 0, i32 0
  store i32 %11176, ptr %11177, align 4
  %11178 = getelementptr inbounds %struct.s2n_result, ptr %249, i32 0, i32 0
  %11179 = load i32, ptr %11178, align 4
  %11180 = call zeroext i1 @s2n_result_is_ok(i32 %11179)
  br i1 %11180, label %11234, label %11181

11181:                                            ; preds = %11172
  br label %11182

11182:                                            ; preds = %11181
  br label %11183

11183:                                            ; preds = %11182
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #12
  %11184 = call ptr @__errno_location() #13
  %11185 = load i32, ptr %11184, align 4, !tbaa !5
  store i32 %11185, ptr %250, align 4, !tbaa !5
  %11186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11187 = call i32 @s2n_print_stacktrace(ptr noundef %11186)
  %11188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11189 = trunc i8 %11188 to i1
  br i1 %11189, label %11190, label %11212

11190:                                            ; preds = %11183
  %11191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11192 = call i32 @fileno(ptr noundef %11191) #12
  %11193 = call i32 @isatty(i32 noundef %11192) #12
  %11194 = icmp ne i32 %11193, 0
  br i1 %11194, label %11195, label %11212

11195:                                            ; preds = %11190
  %11196 = load i32, ptr %250, align 4, !tbaa !5
  %11197 = call ptr @__errno_location() #13
  store i32 %11196, ptr %11197, align 4, !tbaa !5
  %11198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11199 = load i32, ptr @test_count, align 4, !tbaa !5
  %11200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11201 = load i32, ptr %11200, align 4, !tbaa !5
  %11202 = call ptr @s2n_strerror(i32 noundef %11201, ptr noundef @.str.80)
  %11203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11204 = load i32, ptr %11203, align 4, !tbaa !5
  %11205 = call ptr @s2n_strerror_debug(i32 noundef %11204, ptr noundef @.str.80)
  %11206 = call ptr @__errno_location() #13
  %11207 = load i32, ptr %11206, align 4, !tbaa !5
  %11208 = call ptr @strerror(i32 noundef %11207) #12
  %11209 = call ptr @__errno_location() #13
  %11210 = load i32, ptr %11209, align 4, !tbaa !5
  %11211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11198, ptr noundef @.str.78, i32 noundef %11199, ptr noundef @.str.146, ptr noundef @.str.77, i32 noundef 417, ptr noundef %11202, ptr noundef %11205, ptr noundef %11208, i32 noundef %11210) #12
  br label %11229

11212:                                            ; preds = %11190, %11183
  %11213 = load i32, ptr %250, align 4, !tbaa !5
  %11214 = call ptr @__errno_location() #13
  store i32 %11213, ptr %11214, align 4, !tbaa !5
  %11215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11216 = load i32, ptr @test_count, align 4, !tbaa !5
  %11217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11218 = load i32, ptr %11217, align 4, !tbaa !5
  %11219 = call ptr @s2n_strerror(i32 noundef %11218, ptr noundef @.str.80)
  %11220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11221 = load i32, ptr %11220, align 4, !tbaa !5
  %11222 = call ptr @s2n_strerror_debug(i32 noundef %11221, ptr noundef @.str.80)
  %11223 = call ptr @__errno_location() #13
  %11224 = load i32, ptr %11223, align 4, !tbaa !5
  %11225 = call ptr @strerror(i32 noundef %11224) #12
  %11226 = call ptr @__errno_location() #13
  %11227 = load i32, ptr %11226, align 4, !tbaa !5
  %11228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11215, ptr noundef @.str.81, i32 noundef %11216, ptr noundef @.str.146, ptr noundef @.str.77, i32 noundef 417, ptr noundef %11219, ptr noundef %11222, ptr noundef %11225, i32 noundef %11227) #12
  br label %11229

11229:                                            ; preds = %11212, %11195
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #12
  br label %11230

11230:                                            ; preds = %11229
  br label %11231

11231:                                            ; preds = %11230
  call void @exit(i32 noundef 1) #14
  unreachable

11232:                                            ; No predecessors!
  br label %11233

11233:                                            ; preds = %11232
  br label %11234

11234:                                            ; preds = %11233, %11172
  br label %11235

11235:                                            ; preds = %11234
  br label %11236

11236:                                            ; preds = %11235
  br label %11237

11237:                                            ; preds = %11236
  %11238 = load i32, ptr @test_count, align 4, !tbaa !5
  %11239 = add nsw i32 %11238, 1
  store i32 %11239, ptr @test_count, align 4, !tbaa !5
  %11240 = load ptr, ptr %246, align 8, !tbaa !9
  %11241 = getelementptr inbounds [20 x i8], ptr %224, i64 0, i64 0
  %11242 = call i32 @s2n_psk_set_identity(ptr noundef %11240, ptr noundef %11241, i16 noundef zeroext 20)
  %11243 = icmp eq i32 %11242, -1
  br i1 %11243, label %11244, label %11297

11244:                                            ; preds = %11237
  br label %11245

11245:                                            ; preds = %11244
  br label %11246

11246:                                            ; preds = %11245
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #12
  %11247 = call ptr @__errno_location() #13
  %11248 = load i32, ptr %11247, align 4, !tbaa !5
  store i32 %11248, ptr %251, align 4, !tbaa !5
  %11249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11250 = call i32 @s2n_print_stacktrace(ptr noundef %11249)
  %11251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11252 = trunc i8 %11251 to i1
  br i1 %11252, label %11253, label %11275

11253:                                            ; preds = %11246
  %11254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11255 = call i32 @fileno(ptr noundef %11254) #12
  %11256 = call i32 @isatty(i32 noundef %11255) #12
  %11257 = icmp ne i32 %11256, 0
  br i1 %11257, label %11258, label %11275

11258:                                            ; preds = %11253
  %11259 = load i32, ptr %251, align 4, !tbaa !5
  %11260 = call ptr @__errno_location() #13
  store i32 %11259, ptr %11260, align 4, !tbaa !5
  %11261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11262 = load i32, ptr @test_count, align 4, !tbaa !5
  %11263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11264 = load i32, ptr %11263, align 4, !tbaa !5
  %11265 = call ptr @s2n_strerror(i32 noundef %11264, ptr noundef @.str.80)
  %11266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11267 = load i32, ptr %11266, align 4, !tbaa !5
  %11268 = call ptr @s2n_strerror_debug(i32 noundef %11267, ptr noundef @.str.80)
  %11269 = call ptr @__errno_location() #13
  %11270 = load i32, ptr %11269, align 4, !tbaa !5
  %11271 = call ptr @strerror(i32 noundef %11270) #12
  %11272 = call ptr @__errno_location() #13
  %11273 = load i32, ptr %11272, align 4, !tbaa !5
  %11274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11261, ptr noundef @.str.78, i32 noundef %11262, ptr noundef @.str.147, ptr noundef @.str.77, i32 noundef 418, ptr noundef %11265, ptr noundef %11268, ptr noundef %11271, i32 noundef %11273) #12
  br label %11292

11275:                                            ; preds = %11253, %11246
  %11276 = load i32, ptr %251, align 4, !tbaa !5
  %11277 = call ptr @__errno_location() #13
  store i32 %11276, ptr %11277, align 4, !tbaa !5
  %11278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11279 = load i32, ptr @test_count, align 4, !tbaa !5
  %11280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11281 = load i32, ptr %11280, align 4, !tbaa !5
  %11282 = call ptr @s2n_strerror(i32 noundef %11281, ptr noundef @.str.80)
  %11283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11284 = load i32, ptr %11283, align 4, !tbaa !5
  %11285 = call ptr @s2n_strerror_debug(i32 noundef %11284, ptr noundef @.str.80)
  %11286 = call ptr @__errno_location() #13
  %11287 = load i32, ptr %11286, align 4, !tbaa !5
  %11288 = call ptr @strerror(i32 noundef %11287) #12
  %11289 = call ptr @__errno_location() #13
  %11290 = load i32, ptr %11289, align 4, !tbaa !5
  %11291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11278, ptr noundef @.str.81, i32 noundef %11279, ptr noundef @.str.147, ptr noundef @.str.77, i32 noundef 418, ptr noundef %11282, ptr noundef %11285, ptr noundef %11288, i32 noundef %11290) #12
  br label %11292

11292:                                            ; preds = %11275, %11258
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #12
  br label %11293

11293:                                            ; preds = %11292
  br label %11294

11294:                                            ; preds = %11293
  call void @exit(i32 noundef 1) #14
  unreachable

11295:                                            ; No predecessors!
  br label %11296

11296:                                            ; preds = %11295
  br label %11297

11297:                                            ; preds = %11296, %11237
  br label %11298

11298:                                            ; preds = %11297
  br label %11299

11299:                                            ; preds = %11298
  br label %11300

11300:                                            ; preds = %11299
  %11301 = load i32, ptr @test_count, align 4, !tbaa !5
  %11302 = add nsw i32 %11301, 1
  store i32 %11302, ptr @test_count, align 4, !tbaa !5
  %11303 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %228, ptr noundef %227)
  %11304 = icmp eq i32 %11303, -1
  br i1 %11304, label %11305, label %11358

11305:                                            ; preds = %11300
  br label %11306

11306:                                            ; preds = %11305
  br label %11307

11307:                                            ; preds = %11306
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #12
  %11308 = call ptr @__errno_location() #13
  %11309 = load i32, ptr %11308, align 4, !tbaa !5
  store i32 %11309, ptr %252, align 4, !tbaa !5
  %11310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11311 = call i32 @s2n_print_stacktrace(ptr noundef %11310)
  %11312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11313 = trunc i8 %11312 to i1
  br i1 %11313, label %11314, label %11336

11314:                                            ; preds = %11307
  %11315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11316 = call i32 @fileno(ptr noundef %11315) #12
  %11317 = call i32 @isatty(i32 noundef %11316) #12
  %11318 = icmp ne i32 %11317, 0
  br i1 %11318, label %11319, label %11336

11319:                                            ; preds = %11314
  %11320 = load i32, ptr %252, align 4, !tbaa !5
  %11321 = call ptr @__errno_location() #13
  store i32 %11320, ptr %11321, align 4, !tbaa !5
  %11322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11323 = load i32, ptr @test_count, align 4, !tbaa !5
  %11324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11325 = load i32, ptr %11324, align 4, !tbaa !5
  %11326 = call ptr @s2n_strerror(i32 noundef %11325, ptr noundef @.str.80)
  %11327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11328 = load i32, ptr %11327, align 4, !tbaa !5
  %11329 = call ptr @s2n_strerror_debug(i32 noundef %11328, ptr noundef @.str.80)
  %11330 = call ptr @__errno_location() #13
  %11331 = load i32, ptr %11330, align 4, !tbaa !5
  %11332 = call ptr @strerror(i32 noundef %11331) #12
  %11333 = call ptr @__errno_location() #13
  %11334 = load i32, ptr %11333, align 4, !tbaa !5
  %11335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11322, ptr noundef @.str.78, i32 noundef %11323, ptr noundef @.str.148, ptr noundef @.str.77, i32 noundef 420, ptr noundef %11326, ptr noundef %11329, ptr noundef %11332, i32 noundef %11334) #12
  br label %11353

11336:                                            ; preds = %11314, %11307
  %11337 = load i32, ptr %252, align 4, !tbaa !5
  %11338 = call ptr @__errno_location() #13
  store i32 %11337, ptr %11338, align 4, !tbaa !5
  %11339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11340 = load i32, ptr @test_count, align 4, !tbaa !5
  %11341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11342 = load i32, ptr %11341, align 4, !tbaa !5
  %11343 = call ptr @s2n_strerror(i32 noundef %11342, ptr noundef @.str.80)
  %11344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11345 = load i32, ptr %11344, align 4, !tbaa !5
  %11346 = call ptr @s2n_strerror_debug(i32 noundef %11345, ptr noundef @.str.80)
  %11347 = call ptr @__errno_location() #13
  %11348 = load i32, ptr %11347, align 4, !tbaa !5
  %11349 = call ptr @strerror(i32 noundef %11348) #12
  %11350 = call ptr @__errno_location() #13
  %11351 = load i32, ptr %11350, align 4, !tbaa !5
  %11352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11339, ptr noundef @.str.81, i32 noundef %11340, ptr noundef @.str.148, ptr noundef @.str.77, i32 noundef 420, ptr noundef %11343, ptr noundef %11346, ptr noundef %11349, i32 noundef %11351) #12
  br label %11353

11353:                                            ; preds = %11336, %11319
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #12
  br label %11354

11354:                                            ; preds = %11353
  br label %11355

11355:                                            ; preds = %11354
  call void @exit(i32 noundef 1) #14
  unreachable

11356:                                            ; No predecessors!
  br label %11357

11357:                                            ; preds = %11356
  br label %11358

11358:                                            ; preds = %11357, %11300
  br label %11359

11359:                                            ; preds = %11358
  br label %11360

11360:                                            ; preds = %11359
  br label %11361

11361:                                            ; preds = %11360
  %11362 = load i32, ptr @test_count, align 4, !tbaa !5
  %11363 = add nsw i32 %11362, 1
  store i32 %11363, ptr @test_count, align 4, !tbaa !5
  %11364 = load ptr, ptr %220, align 8, !tbaa !9
  %11365 = getelementptr inbounds %struct.s2n_connection, ptr %11364, i32 0, i32 33
  %11366 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11365, i32 0, i32 4
  %11367 = load ptr, ptr %11366, align 8, !tbaa !61
  %11368 = load ptr, ptr %246, align 8, !tbaa !9
  %11369 = icmp eq ptr %11367, %11368
  br i1 %11369, label %11423, label %11370

11370:                                            ; preds = %11361
  br label %11371

11371:                                            ; preds = %11370
  br label %11372

11372:                                            ; preds = %11371
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #12
  %11373 = call ptr @__errno_location() #13
  %11374 = load i32, ptr %11373, align 4, !tbaa !5
  store i32 %11374, ptr %253, align 4, !tbaa !5
  %11375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11376 = call i32 @s2n_print_stacktrace(ptr noundef %11375)
  %11377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11378 = trunc i8 %11377 to i1
  br i1 %11378, label %11379, label %11401

11379:                                            ; preds = %11372
  %11380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11381 = call i32 @fileno(ptr noundef %11380) #12
  %11382 = call i32 @isatty(i32 noundef %11381) #12
  %11383 = icmp ne i32 %11382, 0
  br i1 %11383, label %11384, label %11401

11384:                                            ; preds = %11379
  %11385 = load i32, ptr %253, align 4, !tbaa !5
  %11386 = call ptr @__errno_location() #13
  store i32 %11385, ptr %11386, align 4, !tbaa !5
  %11387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11388 = load i32, ptr @test_count, align 4, !tbaa !5
  %11389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11390 = load i32, ptr %11389, align 4, !tbaa !5
  %11391 = call ptr @s2n_strerror(i32 noundef %11390, ptr noundef @.str.80)
  %11392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11393 = load i32, ptr %11392, align 4, !tbaa !5
  %11394 = call ptr @s2n_strerror_debug(i32 noundef %11393, ptr noundef @.str.80)
  %11395 = call ptr @__errno_location() #13
  %11396 = load i32, ptr %11395, align 4, !tbaa !5
  %11397 = call ptr @strerror(i32 noundef %11396) #12
  %11398 = call ptr @__errno_location() #13
  %11399 = load i32, ptr %11398, align 4, !tbaa !5
  %11400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11387, ptr noundef @.str.78, i32 noundef %11388, ptr noundef @.str.149, ptr noundef @.str.77, i32 noundef 421, ptr noundef %11391, ptr noundef %11394, ptr noundef %11397, i32 noundef %11399) #12
  br label %11418

11401:                                            ; preds = %11379, %11372
  %11402 = load i32, ptr %253, align 4, !tbaa !5
  %11403 = call ptr @__errno_location() #13
  store i32 %11402, ptr %11403, align 4, !tbaa !5
  %11404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11405 = load i32, ptr @test_count, align 4, !tbaa !5
  %11406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11407 = load i32, ptr %11406, align 4, !tbaa !5
  %11408 = call ptr @s2n_strerror(i32 noundef %11407, ptr noundef @.str.80)
  %11409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11410 = load i32, ptr %11409, align 4, !tbaa !5
  %11411 = call ptr @s2n_strerror_debug(i32 noundef %11410, ptr noundef @.str.80)
  %11412 = call ptr @__errno_location() #13
  %11413 = load i32, ptr %11412, align 4, !tbaa !5
  %11414 = call ptr @strerror(i32 noundef %11413) #12
  %11415 = call ptr @__errno_location() #13
  %11416 = load i32, ptr %11415, align 4, !tbaa !5
  %11417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11404, ptr noundef @.str.81, i32 noundef %11405, ptr noundef @.str.149, ptr noundef @.str.77, i32 noundef 421, ptr noundef %11408, ptr noundef %11411, ptr noundef %11414, i32 noundef %11416) #12
  br label %11418

11418:                                            ; preds = %11401, %11384
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #12
  br label %11419

11419:                                            ; preds = %11418
  br label %11420

11420:                                            ; preds = %11419
  call void @exit(i32 noundef 1) #14
  unreachable

11421:                                            ; No predecessors!
  br label %11422

11422:                                            ; preds = %11421
  br label %11423

11423:                                            ; preds = %11422, %11361
  br label %11424

11424:                                            ; preds = %11423
  br label %11425

11425:                                            ; preds = %11424
  br label %11426

11426:                                            ; preds = %11425
  %11427 = load i32, ptr @test_count, align 4, !tbaa !5
  %11428 = add nsw i32 %11427, 1
  store i32 %11428, ptr @test_count, align 4, !tbaa !5
  %11429 = load ptr, ptr %220, align 8, !tbaa !9
  %11430 = getelementptr inbounds %struct.s2n_connection, ptr %11429, i32 0, i32 33
  %11431 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11430, i32 0, i32 3
  %11432 = load i16, ptr %11431, align 2, !tbaa !62
  %11433 = zext i16 %11432 to i32
  %11434 = icmp eq i32 %11433, 5
  br i1 %11434, label %11488, label %11435

11435:                                            ; preds = %11426
  br label %11436

11436:                                            ; preds = %11435
  br label %11437

11437:                                            ; preds = %11436
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #12
  %11438 = call ptr @__errno_location() #13
  %11439 = load i32, ptr %11438, align 4, !tbaa !5
  store i32 %11439, ptr %254, align 4, !tbaa !5
  %11440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11441 = call i32 @s2n_print_stacktrace(ptr noundef %11440)
  %11442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11443 = trunc i8 %11442 to i1
  br i1 %11443, label %11444, label %11466

11444:                                            ; preds = %11437
  %11445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11446 = call i32 @fileno(ptr noundef %11445) #12
  %11447 = call i32 @isatty(i32 noundef %11446) #12
  %11448 = icmp ne i32 %11447, 0
  br i1 %11448, label %11449, label %11466

11449:                                            ; preds = %11444
  %11450 = load i32, ptr %254, align 4, !tbaa !5
  %11451 = call ptr @__errno_location() #13
  store i32 %11450, ptr %11451, align 4, !tbaa !5
  %11452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11453 = load i32, ptr @test_count, align 4, !tbaa !5
  %11454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11455 = load i32, ptr %11454, align 4, !tbaa !5
  %11456 = call ptr @s2n_strerror(i32 noundef %11455, ptr noundef @.str.80)
  %11457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11458 = load i32, ptr %11457, align 4, !tbaa !5
  %11459 = call ptr @s2n_strerror_debug(i32 noundef %11458, ptr noundef @.str.80)
  %11460 = call ptr @__errno_location() #13
  %11461 = load i32, ptr %11460, align 4, !tbaa !5
  %11462 = call ptr @strerror(i32 noundef %11461) #12
  %11463 = call ptr @__errno_location() #13
  %11464 = load i32, ptr %11463, align 4, !tbaa !5
  %11465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11452, ptr noundef @.str.78, i32 noundef %11453, ptr noundef @.str.150, ptr noundef @.str.77, i32 noundef 422, ptr noundef %11456, ptr noundef %11459, ptr noundef %11462, i32 noundef %11464) #12
  br label %11483

11466:                                            ; preds = %11444, %11437
  %11467 = load i32, ptr %254, align 4, !tbaa !5
  %11468 = call ptr @__errno_location() #13
  store i32 %11467, ptr %11468, align 4, !tbaa !5
  %11469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11470 = load i32, ptr @test_count, align 4, !tbaa !5
  %11471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11472 = load i32, ptr %11471, align 4, !tbaa !5
  %11473 = call ptr @s2n_strerror(i32 noundef %11472, ptr noundef @.str.80)
  %11474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11475 = load i32, ptr %11474, align 4, !tbaa !5
  %11476 = call ptr @s2n_strerror_debug(i32 noundef %11475, ptr noundef @.str.80)
  %11477 = call ptr @__errno_location() #13
  %11478 = load i32, ptr %11477, align 4, !tbaa !5
  %11479 = call ptr @strerror(i32 noundef %11478) #12
  %11480 = call ptr @__errno_location() #13
  %11481 = load i32, ptr %11480, align 4, !tbaa !5
  %11482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11469, ptr noundef @.str.81, i32 noundef %11470, ptr noundef @.str.150, ptr noundef @.str.77, i32 noundef 422, ptr noundef %11473, ptr noundef %11476, ptr noundef %11479, i32 noundef %11481) #12
  br label %11483

11483:                                            ; preds = %11466, %11449
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #12
  br label %11484

11484:                                            ; preds = %11483
  br label %11485

11485:                                            ; preds = %11484
  call void @exit(i32 noundef 1) #14
  unreachable

11486:                                            ; No predecessors!
  br label %11487

11487:                                            ; preds = %11486
  br label %11488

11488:                                            ; preds = %11487, %11426
  br label %11489

11489:                                            ; preds = %11488
  br label %11490

11490:                                            ; preds = %11489
  br label %11491

11491:                                            ; preds = %11490
  %11492 = load i32, ptr @test_count, align 4, !tbaa !5
  %11493 = add nsw i32 %11492, 1
  store i32 %11493, ptr @test_count, align 4, !tbaa !5
  %11494 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %228, ptr noundef null)
  %11495 = icmp eq i32 %11494, -1
  br i1 %11495, label %11496, label %11549

11496:                                            ; preds = %11491
  br label %11497

11497:                                            ; preds = %11496
  br label %11498

11498:                                            ; preds = %11497
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #12
  %11499 = call ptr @__errno_location() #13
  %11500 = load i32, ptr %11499, align 4, !tbaa !5
  store i32 %11500, ptr %255, align 4, !tbaa !5
  %11501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11502 = call i32 @s2n_print_stacktrace(ptr noundef %11501)
  %11503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11504 = trunc i8 %11503 to i1
  br i1 %11504, label %11505, label %11527

11505:                                            ; preds = %11498
  %11506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11507 = call i32 @fileno(ptr noundef %11506) #12
  %11508 = call i32 @isatty(i32 noundef %11507) #12
  %11509 = icmp ne i32 %11508, 0
  br i1 %11509, label %11510, label %11527

11510:                                            ; preds = %11505
  %11511 = load i32, ptr %255, align 4, !tbaa !5
  %11512 = call ptr @__errno_location() #13
  store i32 %11511, ptr %11512, align 4, !tbaa !5
  %11513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11514 = load i32, ptr @test_count, align 4, !tbaa !5
  %11515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11516 = load i32, ptr %11515, align 4, !tbaa !5
  %11517 = call ptr @s2n_strerror(i32 noundef %11516, ptr noundef @.str.80)
  %11518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11519 = load i32, ptr %11518, align 4, !tbaa !5
  %11520 = call ptr @s2n_strerror_debug(i32 noundef %11519, ptr noundef @.str.80)
  %11521 = call ptr @__errno_location() #13
  %11522 = load i32, ptr %11521, align 4, !tbaa !5
  %11523 = call ptr @strerror(i32 noundef %11522) #12
  %11524 = call ptr @__errno_location() #13
  %11525 = load i32, ptr %11524, align 4, !tbaa !5
  %11526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11513, ptr noundef @.str.78, i32 noundef %11514, ptr noundef @.str.151, ptr noundef @.str.77, i32 noundef 427, ptr noundef %11517, ptr noundef %11520, ptr noundef %11523, i32 noundef %11525) #12
  br label %11544

11527:                                            ; preds = %11505, %11498
  %11528 = load i32, ptr %255, align 4, !tbaa !5
  %11529 = call ptr @__errno_location() #13
  store i32 %11528, ptr %11529, align 4, !tbaa !5
  %11530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11531 = load i32, ptr @test_count, align 4, !tbaa !5
  %11532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11533 = load i32, ptr %11532, align 4, !tbaa !5
  %11534 = call ptr @s2n_strerror(i32 noundef %11533, ptr noundef @.str.80)
  %11535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11536 = load i32, ptr %11535, align 4, !tbaa !5
  %11537 = call ptr @s2n_strerror_debug(i32 noundef %11536, ptr noundef @.str.80)
  %11538 = call ptr @__errno_location() #13
  %11539 = load i32, ptr %11538, align 4, !tbaa !5
  %11540 = call ptr @strerror(i32 noundef %11539) #12
  %11541 = call ptr @__errno_location() #13
  %11542 = load i32, ptr %11541, align 4, !tbaa !5
  %11543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11530, ptr noundef @.str.81, i32 noundef %11531, ptr noundef @.str.151, ptr noundef @.str.77, i32 noundef 427, ptr noundef %11534, ptr noundef %11537, ptr noundef %11540, i32 noundef %11542) #12
  br label %11544

11544:                                            ; preds = %11527, %11510
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #12
  br label %11545

11545:                                            ; preds = %11544
  br label %11546

11546:                                            ; preds = %11545
  call void @exit(i32 noundef 1) #14
  unreachable

11547:                                            ; No predecessors!
  br label %11548

11548:                                            ; preds = %11547
  br label %11549

11549:                                            ; preds = %11548, %11491
  br label %11550

11550:                                            ; preds = %11549
  br label %11551

11551:                                            ; preds = %11550
  br label %11552

11552:                                            ; preds = %11551
  %11553 = load i32, ptr @test_count, align 4, !tbaa !5
  %11554 = add nsw i32 %11553, 1
  store i32 %11554, ptr @test_count, align 4, !tbaa !5
  %11555 = load ptr, ptr %220, align 8, !tbaa !9
  %11556 = getelementptr inbounds %struct.s2n_connection, ptr %11555, i32 0, i32 33
  %11557 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11556, i32 0, i32 4
  %11558 = load ptr, ptr %11557, align 8, !tbaa !61
  %11559 = icmp eq ptr %11558, null
  br i1 %11559, label %11613, label %11560

11560:                                            ; preds = %11552
  br label %11561

11561:                                            ; preds = %11560
  br label %11562

11562:                                            ; preds = %11561
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #12
  %11563 = call ptr @__errno_location() #13
  %11564 = load i32, ptr %11563, align 4, !tbaa !5
  store i32 %11564, ptr %256, align 4, !tbaa !5
  %11565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11566 = call i32 @s2n_print_stacktrace(ptr noundef %11565)
  %11567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11568 = trunc i8 %11567 to i1
  br i1 %11568, label %11569, label %11591

11569:                                            ; preds = %11562
  %11570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11571 = call i32 @fileno(ptr noundef %11570) #12
  %11572 = call i32 @isatty(i32 noundef %11571) #12
  %11573 = icmp ne i32 %11572, 0
  br i1 %11573, label %11574, label %11591

11574:                                            ; preds = %11569
  %11575 = load i32, ptr %256, align 4, !tbaa !5
  %11576 = call ptr @__errno_location() #13
  store i32 %11575, ptr %11576, align 4, !tbaa !5
  %11577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11578 = load i32, ptr @test_count, align 4, !tbaa !5
  %11579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11580 = load i32, ptr %11579, align 4, !tbaa !5
  %11581 = call ptr @s2n_strerror(i32 noundef %11580, ptr noundef @.str.80)
  %11582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11583 = load i32, ptr %11582, align 4, !tbaa !5
  %11584 = call ptr @s2n_strerror_debug(i32 noundef %11583, ptr noundef @.str.80)
  %11585 = call ptr @__errno_location() #13
  %11586 = load i32, ptr %11585, align 4, !tbaa !5
  %11587 = call ptr @strerror(i32 noundef %11586) #12
  %11588 = call ptr @__errno_location() #13
  %11589 = load i32, ptr %11588, align 4, !tbaa !5
  %11590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11577, ptr noundef @.str.78, i32 noundef %11578, ptr noundef @.str.141, ptr noundef @.str.77, i32 noundef 428, ptr noundef %11581, ptr noundef %11584, ptr noundef %11587, i32 noundef %11589) #12
  br label %11608

11591:                                            ; preds = %11569, %11562
  %11592 = load i32, ptr %256, align 4, !tbaa !5
  %11593 = call ptr @__errno_location() #13
  store i32 %11592, ptr %11593, align 4, !tbaa !5
  %11594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11595 = load i32, ptr @test_count, align 4, !tbaa !5
  %11596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11597 = load i32, ptr %11596, align 4, !tbaa !5
  %11598 = call ptr @s2n_strerror(i32 noundef %11597, ptr noundef @.str.80)
  %11599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11600 = load i32, ptr %11599, align 4, !tbaa !5
  %11601 = call ptr @s2n_strerror_debug(i32 noundef %11600, ptr noundef @.str.80)
  %11602 = call ptr @__errno_location() #13
  %11603 = load i32, ptr %11602, align 4, !tbaa !5
  %11604 = call ptr @strerror(i32 noundef %11603) #12
  %11605 = call ptr @__errno_location() #13
  %11606 = load i32, ptr %11605, align 4, !tbaa !5
  %11607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11594, ptr noundef @.str.81, i32 noundef %11595, ptr noundef @.str.141, ptr noundef @.str.77, i32 noundef 428, ptr noundef %11598, ptr noundef %11601, ptr noundef %11604, i32 noundef %11606) #12
  br label %11608

11608:                                            ; preds = %11591, %11574
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #12
  br label %11609

11609:                                            ; preds = %11608
  br label %11610

11610:                                            ; preds = %11609
  call void @exit(i32 noundef 1) #14
  unreachable

11611:                                            ; No predecessors!
  br label %11612

11612:                                            ; preds = %11611
  br label %11613

11613:                                            ; preds = %11612, %11552
  br label %11614

11614:                                            ; preds = %11613
  br label %11615

11615:                                            ; preds = %11614
  call void @llvm.lifetime.start.p0(i64 8, ptr %257) #12
  store ptr null, ptr %257, align 8, !tbaa !9
  br label %11616

11616:                                            ; preds = %11615
  %11617 = load i32, ptr @test_count, align 4, !tbaa !5
  %11618 = add nsw i32 %11617, 1
  store i32 %11618, ptr @test_count, align 4, !tbaa !5
  %11619 = load ptr, ptr %222, align 8, !tbaa !9
  %11620 = call i32 @s2n_array_pushback(ptr noundef %11619, ptr noundef %257)
  %11621 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  store i32 %11620, ptr %11621, align 4
  %11622 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  %11623 = load i32, ptr %11622, align 4
  %11624 = call zeroext i1 @s2n_result_is_ok(i32 %11623)
  br i1 %11624, label %11678, label %11625

11625:                                            ; preds = %11616
  br label %11626

11626:                                            ; preds = %11625
  br label %11627

11627:                                            ; preds = %11626
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #12
  %11628 = call ptr @__errno_location() #13
  %11629 = load i32, ptr %11628, align 4, !tbaa !5
  store i32 %11629, ptr %259, align 4, !tbaa !5
  %11630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11631 = call i32 @s2n_print_stacktrace(ptr noundef %11630)
  %11632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11633 = trunc i8 %11632 to i1
  br i1 %11633, label %11634, label %11656

11634:                                            ; preds = %11627
  %11635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11636 = call i32 @fileno(ptr noundef %11635) #12
  %11637 = call i32 @isatty(i32 noundef %11636) #12
  %11638 = icmp ne i32 %11637, 0
  br i1 %11638, label %11639, label %11656

11639:                                            ; preds = %11634
  %11640 = load i32, ptr %259, align 4, !tbaa !5
  %11641 = call ptr @__errno_location() #13
  store i32 %11640, ptr %11641, align 4, !tbaa !5
  %11642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11643 = load i32, ptr @test_count, align 4, !tbaa !5
  %11644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11645 = load i32, ptr %11644, align 4, !tbaa !5
  %11646 = call ptr @s2n_strerror(i32 noundef %11645, ptr noundef @.str.80)
  %11647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11648 = load i32, ptr %11647, align 4, !tbaa !5
  %11649 = call ptr @s2n_strerror_debug(i32 noundef %11648, ptr noundef @.str.80)
  %11650 = call ptr @__errno_location() #13
  %11651 = load i32, ptr %11650, align 4, !tbaa !5
  %11652 = call ptr @strerror(i32 noundef %11651) #12
  %11653 = call ptr @__errno_location() #13
  %11654 = load i32, ptr %11653, align 4, !tbaa !5
  %11655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11642, ptr noundef @.str.78, i32 noundef %11643, ptr noundef @.str.152, ptr noundef @.str.77, i32 noundef 434, ptr noundef %11646, ptr noundef %11649, ptr noundef %11652, i32 noundef %11654) #12
  br label %11673

11656:                                            ; preds = %11634, %11627
  %11657 = load i32, ptr %259, align 4, !tbaa !5
  %11658 = call ptr @__errno_location() #13
  store i32 %11657, ptr %11658, align 4, !tbaa !5
  %11659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11660 = load i32, ptr @test_count, align 4, !tbaa !5
  %11661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11662 = load i32, ptr %11661, align 4, !tbaa !5
  %11663 = call ptr @s2n_strerror(i32 noundef %11662, ptr noundef @.str.80)
  %11664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11665 = load i32, ptr %11664, align 4, !tbaa !5
  %11666 = call ptr @s2n_strerror_debug(i32 noundef %11665, ptr noundef @.str.80)
  %11667 = call ptr @__errno_location() #13
  %11668 = load i32, ptr %11667, align 4, !tbaa !5
  %11669 = call ptr @strerror(i32 noundef %11668) #12
  %11670 = call ptr @__errno_location() #13
  %11671 = load i32, ptr %11670, align 4, !tbaa !5
  %11672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11659, ptr noundef @.str.81, i32 noundef %11660, ptr noundef @.str.152, ptr noundef @.str.77, i32 noundef 434, ptr noundef %11663, ptr noundef %11666, ptr noundef %11669, i32 noundef %11671) #12
  br label %11673

11673:                                            ; preds = %11656, %11639
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #12
  br label %11674

11674:                                            ; preds = %11673
  br label %11675

11675:                                            ; preds = %11674
  call void @exit(i32 noundef 1) #14
  unreachable

11676:                                            ; No predecessors!
  br label %11677

11677:                                            ; preds = %11676
  br label %11678

11678:                                            ; preds = %11677, %11616
  br label %11679

11679:                                            ; preds = %11678
  br label %11680

11680:                                            ; preds = %11679
  br label %11681

11681:                                            ; preds = %11680
  %11682 = load i32, ptr @test_count, align 4, !tbaa !5
  %11683 = add nsw i32 %11682, 1
  store i32 %11683, ptr @test_count, align 4, !tbaa !5
  %11684 = load ptr, ptr %257, align 8, !tbaa !9
  %11685 = call i32 @s2n_psk_init(ptr noundef %11684, i32 noundef 1)
  %11686 = getelementptr inbounds %struct.s2n_result, ptr %260, i32 0, i32 0
  store i32 %11685, ptr %11686, align 4
  %11687 = getelementptr inbounds %struct.s2n_result, ptr %260, i32 0, i32 0
  %11688 = load i32, ptr %11687, align 4
  %11689 = call zeroext i1 @s2n_result_is_ok(i32 %11688)
  br i1 %11689, label %11743, label %11690

11690:                                            ; preds = %11681
  br label %11691

11691:                                            ; preds = %11690
  br label %11692

11692:                                            ; preds = %11691
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #12
  %11693 = call ptr @__errno_location() #13
  %11694 = load i32, ptr %11693, align 4, !tbaa !5
  store i32 %11694, ptr %261, align 4, !tbaa !5
  %11695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11696 = call i32 @s2n_print_stacktrace(ptr noundef %11695)
  %11697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11698 = trunc i8 %11697 to i1
  br i1 %11698, label %11699, label %11721

11699:                                            ; preds = %11692
  %11700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11701 = call i32 @fileno(ptr noundef %11700) #12
  %11702 = call i32 @isatty(i32 noundef %11701) #12
  %11703 = icmp ne i32 %11702, 0
  br i1 %11703, label %11704, label %11721

11704:                                            ; preds = %11699
  %11705 = load i32, ptr %261, align 4, !tbaa !5
  %11706 = call ptr @__errno_location() #13
  store i32 %11705, ptr %11706, align 4, !tbaa !5
  %11707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11708 = load i32, ptr @test_count, align 4, !tbaa !5
  %11709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11710 = load i32, ptr %11709, align 4, !tbaa !5
  %11711 = call ptr @s2n_strerror(i32 noundef %11710, ptr noundef @.str.80)
  %11712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11713 = load i32, ptr %11712, align 4, !tbaa !5
  %11714 = call ptr @s2n_strerror_debug(i32 noundef %11713, ptr noundef @.str.80)
  %11715 = call ptr @__errno_location() #13
  %11716 = load i32, ptr %11715, align 4, !tbaa !5
  %11717 = call ptr @strerror(i32 noundef %11716) #12
  %11718 = call ptr @__errno_location() #13
  %11719 = load i32, ptr %11718, align 4, !tbaa !5
  %11720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11707, ptr noundef @.str.78, i32 noundef %11708, ptr noundef @.str.153, ptr noundef @.str.77, i32 noundef 435, ptr noundef %11711, ptr noundef %11714, ptr noundef %11717, i32 noundef %11719) #12
  br label %11738

11721:                                            ; preds = %11699, %11692
  %11722 = load i32, ptr %261, align 4, !tbaa !5
  %11723 = call ptr @__errno_location() #13
  store i32 %11722, ptr %11723, align 4, !tbaa !5
  %11724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11725 = load i32, ptr @test_count, align 4, !tbaa !5
  %11726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11727 = load i32, ptr %11726, align 4, !tbaa !5
  %11728 = call ptr @s2n_strerror(i32 noundef %11727, ptr noundef @.str.80)
  %11729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11730 = load i32, ptr %11729, align 4, !tbaa !5
  %11731 = call ptr @s2n_strerror_debug(i32 noundef %11730, ptr noundef @.str.80)
  %11732 = call ptr @__errno_location() #13
  %11733 = load i32, ptr %11732, align 4, !tbaa !5
  %11734 = call ptr @strerror(i32 noundef %11733) #12
  %11735 = call ptr @__errno_location() #13
  %11736 = load i32, ptr %11735, align 4, !tbaa !5
  %11737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11724, ptr noundef @.str.81, i32 noundef %11725, ptr noundef @.str.153, ptr noundef @.str.77, i32 noundef 435, ptr noundef %11728, ptr noundef %11731, ptr noundef %11734, i32 noundef %11736) #12
  br label %11738

11738:                                            ; preds = %11721, %11704
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #12
  br label %11739

11739:                                            ; preds = %11738
  br label %11740

11740:                                            ; preds = %11739
  call void @exit(i32 noundef 1) #14
  unreachable

11741:                                            ; No predecessors!
  br label %11742

11742:                                            ; preds = %11741
  br label %11743

11743:                                            ; preds = %11742, %11681
  br label %11744

11744:                                            ; preds = %11743
  br label %11745

11745:                                            ; preds = %11744
  br label %11746

11746:                                            ; preds = %11745
  %11747 = load i32, ptr @test_count, align 4, !tbaa !5
  %11748 = add nsw i32 %11747, 1
  store i32 %11748, ptr @test_count, align 4, !tbaa !5
  %11749 = load ptr, ptr %257, align 8, !tbaa !9
  %11750 = getelementptr inbounds [20 x i8], ptr %224, i64 0, i64 0
  %11751 = call i32 @s2n_psk_set_identity(ptr noundef %11749, ptr noundef %11750, i16 noundef zeroext 20)
  %11752 = icmp eq i32 %11751, -1
  br i1 %11752, label %11753, label %11806

11753:                                            ; preds = %11746
  br label %11754

11754:                                            ; preds = %11753
  br label %11755

11755:                                            ; preds = %11754
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #12
  %11756 = call ptr @__errno_location() #13
  %11757 = load i32, ptr %11756, align 4, !tbaa !5
  store i32 %11757, ptr %262, align 4, !tbaa !5
  %11758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11759 = call i32 @s2n_print_stacktrace(ptr noundef %11758)
  %11760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11761 = trunc i8 %11760 to i1
  br i1 %11761, label %11762, label %11784

11762:                                            ; preds = %11755
  %11763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11764 = call i32 @fileno(ptr noundef %11763) #12
  %11765 = call i32 @isatty(i32 noundef %11764) #12
  %11766 = icmp ne i32 %11765, 0
  br i1 %11766, label %11767, label %11784

11767:                                            ; preds = %11762
  %11768 = load i32, ptr %262, align 4, !tbaa !5
  %11769 = call ptr @__errno_location() #13
  store i32 %11768, ptr %11769, align 4, !tbaa !5
  %11770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11771 = load i32, ptr @test_count, align 4, !tbaa !5
  %11772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11773 = load i32, ptr %11772, align 4, !tbaa !5
  %11774 = call ptr @s2n_strerror(i32 noundef %11773, ptr noundef @.str.80)
  %11775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11776 = load i32, ptr %11775, align 4, !tbaa !5
  %11777 = call ptr @s2n_strerror_debug(i32 noundef %11776, ptr noundef @.str.80)
  %11778 = call ptr @__errno_location() #13
  %11779 = load i32, ptr %11778, align 4, !tbaa !5
  %11780 = call ptr @strerror(i32 noundef %11779) #12
  %11781 = call ptr @__errno_location() #13
  %11782 = load i32, ptr %11781, align 4, !tbaa !5
  %11783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11770, ptr noundef @.str.78, i32 noundef %11771, ptr noundef @.str.154, ptr noundef @.str.77, i32 noundef 436, ptr noundef %11774, ptr noundef %11777, ptr noundef %11780, i32 noundef %11782) #12
  br label %11801

11784:                                            ; preds = %11762, %11755
  %11785 = load i32, ptr %262, align 4, !tbaa !5
  %11786 = call ptr @__errno_location() #13
  store i32 %11785, ptr %11786, align 4, !tbaa !5
  %11787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11788 = load i32, ptr @test_count, align 4, !tbaa !5
  %11789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11790 = load i32, ptr %11789, align 4, !tbaa !5
  %11791 = call ptr @s2n_strerror(i32 noundef %11790, ptr noundef @.str.80)
  %11792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11793 = load i32, ptr %11792, align 4, !tbaa !5
  %11794 = call ptr @s2n_strerror_debug(i32 noundef %11793, ptr noundef @.str.80)
  %11795 = call ptr @__errno_location() #13
  %11796 = load i32, ptr %11795, align 4, !tbaa !5
  %11797 = call ptr @strerror(i32 noundef %11796) #12
  %11798 = call ptr @__errno_location() #13
  %11799 = load i32, ptr %11798, align 4, !tbaa !5
  %11800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11787, ptr noundef @.str.81, i32 noundef %11788, ptr noundef @.str.154, ptr noundef @.str.77, i32 noundef 436, ptr noundef %11791, ptr noundef %11794, ptr noundef %11797, i32 noundef %11799) #12
  br label %11801

11801:                                            ; preds = %11784, %11767
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #12
  br label %11802

11802:                                            ; preds = %11801
  br label %11803

11803:                                            ; preds = %11802
  call void @exit(i32 noundef 1) #14
  unreachable

11804:                                            ; No predecessors!
  br label %11805

11805:                                            ; preds = %11804
  br label %11806

11806:                                            ; preds = %11805, %11746
  br label %11807

11807:                                            ; preds = %11806
  br label %11808

11808:                                            ; preds = %11807
  br label %11809

11809:                                            ; preds = %11808
  %11810 = load i32, ptr @test_count, align 4, !tbaa !5
  %11811 = add nsw i32 %11810, 1
  store i32 %11811, ptr @test_count, align 4, !tbaa !5
  %11812 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %228, ptr noundef %227)
  %11813 = icmp eq i32 %11812, -1
  br i1 %11813, label %11814, label %11867

11814:                                            ; preds = %11809
  br label %11815

11815:                                            ; preds = %11814
  br label %11816

11816:                                            ; preds = %11815
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #12
  %11817 = call ptr @__errno_location() #13
  %11818 = load i32, ptr %11817, align 4, !tbaa !5
  store i32 %11818, ptr %263, align 4, !tbaa !5
  %11819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11820 = call i32 @s2n_print_stacktrace(ptr noundef %11819)
  %11821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11822 = trunc i8 %11821 to i1
  br i1 %11822, label %11823, label %11845

11823:                                            ; preds = %11816
  %11824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11825 = call i32 @fileno(ptr noundef %11824) #12
  %11826 = call i32 @isatty(i32 noundef %11825) #12
  %11827 = icmp ne i32 %11826, 0
  br i1 %11827, label %11828, label %11845

11828:                                            ; preds = %11823
  %11829 = load i32, ptr %263, align 4, !tbaa !5
  %11830 = call ptr @__errno_location() #13
  store i32 %11829, ptr %11830, align 4, !tbaa !5
  %11831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11832 = load i32, ptr @test_count, align 4, !tbaa !5
  %11833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  %11835 = call ptr @s2n_strerror(i32 noundef %11834, ptr noundef @.str.80)
  %11836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11837 = load i32, ptr %11836, align 4, !tbaa !5
  %11838 = call ptr @s2n_strerror_debug(i32 noundef %11837, ptr noundef @.str.80)
  %11839 = call ptr @__errno_location() #13
  %11840 = load i32, ptr %11839, align 4, !tbaa !5
  %11841 = call ptr @strerror(i32 noundef %11840) #12
  %11842 = call ptr @__errno_location() #13
  %11843 = load i32, ptr %11842, align 4, !tbaa !5
  %11844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11831, ptr noundef @.str.78, i32 noundef %11832, ptr noundef @.str.148, ptr noundef @.str.77, i32 noundef 438, ptr noundef %11835, ptr noundef %11838, ptr noundef %11841, i32 noundef %11843) #12
  br label %11862

11845:                                            ; preds = %11823, %11816
  %11846 = load i32, ptr %263, align 4, !tbaa !5
  %11847 = call ptr @__errno_location() #13
  store i32 %11846, ptr %11847, align 4, !tbaa !5
  %11848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11849 = load i32, ptr @test_count, align 4, !tbaa !5
  %11850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11851 = load i32, ptr %11850, align 4, !tbaa !5
  %11852 = call ptr @s2n_strerror(i32 noundef %11851, ptr noundef @.str.80)
  %11853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11854 = load i32, ptr %11853, align 4, !tbaa !5
  %11855 = call ptr @s2n_strerror_debug(i32 noundef %11854, ptr noundef @.str.80)
  %11856 = call ptr @__errno_location() #13
  %11857 = load i32, ptr %11856, align 4, !tbaa !5
  %11858 = call ptr @strerror(i32 noundef %11857) #12
  %11859 = call ptr @__errno_location() #13
  %11860 = load i32, ptr %11859, align 4, !tbaa !5
  %11861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11848, ptr noundef @.str.81, i32 noundef %11849, ptr noundef @.str.148, ptr noundef @.str.77, i32 noundef 438, ptr noundef %11852, ptr noundef %11855, ptr noundef %11858, i32 noundef %11860) #12
  br label %11862

11862:                                            ; preds = %11845, %11828
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #12
  br label %11863

11863:                                            ; preds = %11862
  br label %11864

11864:                                            ; preds = %11863
  call void @exit(i32 noundef 1) #14
  unreachable

11865:                                            ; No predecessors!
  br label %11866

11866:                                            ; preds = %11865
  br label %11867

11867:                                            ; preds = %11866, %11809
  br label %11868

11868:                                            ; preds = %11867
  br label %11869

11869:                                            ; preds = %11868
  br label %11870

11870:                                            ; preds = %11869
  %11871 = load i32, ptr @test_count, align 4, !tbaa !5
  %11872 = add nsw i32 %11871, 1
  store i32 %11872, ptr @test_count, align 4, !tbaa !5
  %11873 = load ptr, ptr %220, align 8, !tbaa !9
  %11874 = getelementptr inbounds %struct.s2n_connection, ptr %11873, i32 0, i32 33
  %11875 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11874, i32 0, i32 4
  %11876 = load ptr, ptr %11875, align 8, !tbaa !61
  %11877 = load ptr, ptr %246, align 8, !tbaa !9
  %11878 = icmp eq ptr %11876, %11877
  br i1 %11878, label %11932, label %11879

11879:                                            ; preds = %11870
  br label %11880

11880:                                            ; preds = %11879
  br label %11881

11881:                                            ; preds = %11880
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #12
  %11882 = call ptr @__errno_location() #13
  %11883 = load i32, ptr %11882, align 4, !tbaa !5
  store i32 %11883, ptr %264, align 4, !tbaa !5
  %11884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11885 = call i32 @s2n_print_stacktrace(ptr noundef %11884)
  %11886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11887 = trunc i8 %11886 to i1
  br i1 %11887, label %11888, label %11910

11888:                                            ; preds = %11881
  %11889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11890 = call i32 @fileno(ptr noundef %11889) #12
  %11891 = call i32 @isatty(i32 noundef %11890) #12
  %11892 = icmp ne i32 %11891, 0
  br i1 %11892, label %11893, label %11910

11893:                                            ; preds = %11888
  %11894 = load i32, ptr %264, align 4, !tbaa !5
  %11895 = call ptr @__errno_location() #13
  store i32 %11894, ptr %11895, align 4, !tbaa !5
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = load i32, ptr @test_count, align 4, !tbaa !5
  %11898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11899 = load i32, ptr %11898, align 4, !tbaa !5
  %11900 = call ptr @s2n_strerror(i32 noundef %11899, ptr noundef @.str.80)
  %11901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11902 = load i32, ptr %11901, align 4, !tbaa !5
  %11903 = call ptr @s2n_strerror_debug(i32 noundef %11902, ptr noundef @.str.80)
  %11904 = call ptr @__errno_location() #13
  %11905 = load i32, ptr %11904, align 4, !tbaa !5
  %11906 = call ptr @strerror(i32 noundef %11905) #12
  %11907 = call ptr @__errno_location() #13
  %11908 = load i32, ptr %11907, align 4, !tbaa !5
  %11909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11896, ptr noundef @.str.78, i32 noundef %11897, ptr noundef @.str.149, ptr noundef @.str.77, i32 noundef 439, ptr noundef %11900, ptr noundef %11903, ptr noundef %11906, i32 noundef %11908) #12
  br label %11927

11910:                                            ; preds = %11888, %11881
  %11911 = load i32, ptr %264, align 4, !tbaa !5
  %11912 = call ptr @__errno_location() #13
  store i32 %11911, ptr %11912, align 4, !tbaa !5
  %11913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11914 = load i32, ptr @test_count, align 4, !tbaa !5
  %11915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11916 = load i32, ptr %11915, align 4, !tbaa !5
  %11917 = call ptr @s2n_strerror(i32 noundef %11916, ptr noundef @.str.80)
  %11918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11919 = load i32, ptr %11918, align 4, !tbaa !5
  %11920 = call ptr @s2n_strerror_debug(i32 noundef %11919, ptr noundef @.str.80)
  %11921 = call ptr @__errno_location() #13
  %11922 = load i32, ptr %11921, align 4, !tbaa !5
  %11923 = call ptr @strerror(i32 noundef %11922) #12
  %11924 = call ptr @__errno_location() #13
  %11925 = load i32, ptr %11924, align 4, !tbaa !5
  %11926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11913, ptr noundef @.str.81, i32 noundef %11914, ptr noundef @.str.149, ptr noundef @.str.77, i32 noundef 439, ptr noundef %11917, ptr noundef %11920, ptr noundef %11923, i32 noundef %11925) #12
  br label %11927

11927:                                            ; preds = %11910, %11893
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #12
  br label %11928

11928:                                            ; preds = %11927
  br label %11929

11929:                                            ; preds = %11928
  call void @exit(i32 noundef 1) #14
  unreachable

11930:                                            ; No predecessors!
  br label %11931

11931:                                            ; preds = %11930
  br label %11932

11932:                                            ; preds = %11931, %11870
  br label %11933

11933:                                            ; preds = %11932
  br label %11934

11934:                                            ; preds = %11933
  br label %11935

11935:                                            ; preds = %11934
  %11936 = load i32, ptr @test_count, align 4, !tbaa !5
  %11937 = add nsw i32 %11936, 1
  store i32 %11937, ptr @test_count, align 4, !tbaa !5
  %11938 = load ptr, ptr %220, align 8, !tbaa !9
  %11939 = getelementptr inbounds %struct.s2n_connection, ptr %11938, i32 0, i32 33
  %11940 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11939, i32 0, i32 3
  %11941 = load i16, ptr %11940, align 2, !tbaa !62
  %11942 = zext i16 %11941 to i32
  %11943 = icmp eq i32 %11942, 5
  br i1 %11943, label %11997, label %11944

11944:                                            ; preds = %11935
  br label %11945

11945:                                            ; preds = %11944
  br label %11946

11946:                                            ; preds = %11945
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #12
  %11947 = call ptr @__errno_location() #13
  %11948 = load i32, ptr %11947, align 4, !tbaa !5
  store i32 %11948, ptr %265, align 4, !tbaa !5
  %11949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11950 = call i32 @s2n_print_stacktrace(ptr noundef %11949)
  %11951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11952 = trunc i8 %11951 to i1
  br i1 %11952, label %11953, label %11975

11953:                                            ; preds = %11946
  %11954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11955 = call i32 @fileno(ptr noundef %11954) #12
  %11956 = call i32 @isatty(i32 noundef %11955) #12
  %11957 = icmp ne i32 %11956, 0
  br i1 %11957, label %11958, label %11975

11958:                                            ; preds = %11953
  %11959 = load i32, ptr %265, align 4, !tbaa !5
  %11960 = call ptr @__errno_location() #13
  store i32 %11959, ptr %11960, align 4, !tbaa !5
  %11961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11962 = load i32, ptr @test_count, align 4, !tbaa !5
  %11963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11964 = load i32, ptr %11963, align 4, !tbaa !5
  %11965 = call ptr @s2n_strerror(i32 noundef %11964, ptr noundef @.str.80)
  %11966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11967 = load i32, ptr %11966, align 4, !tbaa !5
  %11968 = call ptr @s2n_strerror_debug(i32 noundef %11967, ptr noundef @.str.80)
  %11969 = call ptr @__errno_location() #13
  %11970 = load i32, ptr %11969, align 4, !tbaa !5
  %11971 = call ptr @strerror(i32 noundef %11970) #12
  %11972 = call ptr @__errno_location() #13
  %11973 = load i32, ptr %11972, align 4, !tbaa !5
  %11974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11961, ptr noundef @.str.78, i32 noundef %11962, ptr noundef @.str.150, ptr noundef @.str.77, i32 noundef 440, ptr noundef %11965, ptr noundef %11968, ptr noundef %11971, i32 noundef %11973) #12
  br label %11992

11975:                                            ; preds = %11953, %11946
  %11976 = load i32, ptr %265, align 4, !tbaa !5
  %11977 = call ptr @__errno_location() #13
  store i32 %11976, ptr %11977, align 4, !tbaa !5
  %11978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11979 = load i32, ptr @test_count, align 4, !tbaa !5
  %11980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11981 = load i32, ptr %11980, align 4, !tbaa !5
  %11982 = call ptr @s2n_strerror(i32 noundef %11981, ptr noundef @.str.80)
  %11983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11984 = load i32, ptr %11983, align 4, !tbaa !5
  %11985 = call ptr @s2n_strerror_debug(i32 noundef %11984, ptr noundef @.str.80)
  %11986 = call ptr @__errno_location() #13
  %11987 = load i32, ptr %11986, align 4, !tbaa !5
  %11988 = call ptr @strerror(i32 noundef %11987) #12
  %11989 = call ptr @__errno_location() #13
  %11990 = load i32, ptr %11989, align 4, !tbaa !5
  %11991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11978, ptr noundef @.str.81, i32 noundef %11979, ptr noundef @.str.150, ptr noundef @.str.77, i32 noundef 440, ptr noundef %11982, ptr noundef %11985, ptr noundef %11988, i32 noundef %11990) #12
  br label %11992

11992:                                            ; preds = %11975, %11958
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #12
  br label %11993

11993:                                            ; preds = %11992
  br label %11994

11994:                                            ; preds = %11993
  call void @exit(i32 noundef 1) #14
  unreachable

11995:                                            ; No predecessors!
  br label %11996

11996:                                            ; preds = %11995
  br label %11997

11997:                                            ; preds = %11996, %11935
  br label %11998

11998:                                            ; preds = %11997
  br label %11999

11999:                                            ; preds = %11998
  call void @llvm.lifetime.end.p0(i64 8, ptr %257) #12
  br label %12000

12000:                                            ; preds = %11999
  %12001 = load i32, ptr @test_count, align 4, !tbaa !5
  %12002 = add nsw i32 %12001, 1
  store i32 %12002, ptr @test_count, align 4, !tbaa !5
  %12003 = load ptr, ptr %220, align 8, !tbaa !9
  %12004 = call i32 @s2n_connection_free(ptr noundef %12003)
  %12005 = icmp eq i32 %12004, -1
  br i1 %12005, label %12006, label %12059

12006:                                            ; preds = %12000
  br label %12007

12007:                                            ; preds = %12006
  br label %12008

12008:                                            ; preds = %12007
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #12
  %12009 = call ptr @__errno_location() #13
  %12010 = load i32, ptr %12009, align 4, !tbaa !5
  store i32 %12010, ptr %266, align 4, !tbaa !5
  %12011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12012 = call i32 @s2n_print_stacktrace(ptr noundef %12011)
  %12013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12014 = trunc i8 %12013 to i1
  br i1 %12014, label %12015, label %12037

12015:                                            ; preds = %12008
  %12016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12017 = call i32 @fileno(ptr noundef %12016) #12
  %12018 = call i32 @isatty(i32 noundef %12017) #12
  %12019 = icmp ne i32 %12018, 0
  br i1 %12019, label %12020, label %12037

12020:                                            ; preds = %12015
  %12021 = load i32, ptr %266, align 4, !tbaa !5
  %12022 = call ptr @__errno_location() #13
  store i32 %12021, ptr %12022, align 4, !tbaa !5
  %12023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12024 = load i32, ptr @test_count, align 4, !tbaa !5
  %12025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12026 = load i32, ptr %12025, align 4, !tbaa !5
  %12027 = call ptr @s2n_strerror(i32 noundef %12026, ptr noundef @.str.80)
  %12028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12029 = load i32, ptr %12028, align 4, !tbaa !5
  %12030 = call ptr @s2n_strerror_debug(i32 noundef %12029, ptr noundef @.str.80)
  %12031 = call ptr @__errno_location() #13
  %12032 = load i32, ptr %12031, align 4, !tbaa !5
  %12033 = call ptr @strerror(i32 noundef %12032) #12
  %12034 = call ptr @__errno_location() #13
  %12035 = load i32, ptr %12034, align 4, !tbaa !5
  %12036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12023, ptr noundef @.str.78, i32 noundef %12024, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 443, ptr noundef %12027, ptr noundef %12030, ptr noundef %12033, i32 noundef %12035) #12
  br label %12054

12037:                                            ; preds = %12015, %12008
  %12038 = load i32, ptr %266, align 4, !tbaa !5
  %12039 = call ptr @__errno_location() #13
  store i32 %12038, ptr %12039, align 4, !tbaa !5
  %12040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12041 = load i32, ptr @test_count, align 4, !tbaa !5
  %12042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12043 = load i32, ptr %12042, align 4, !tbaa !5
  %12044 = call ptr @s2n_strerror(i32 noundef %12043, ptr noundef @.str.80)
  %12045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12046 = load i32, ptr %12045, align 4, !tbaa !5
  %12047 = call ptr @s2n_strerror_debug(i32 noundef %12046, ptr noundef @.str.80)
  %12048 = call ptr @__errno_location() #13
  %12049 = load i32, ptr %12048, align 4, !tbaa !5
  %12050 = call ptr @strerror(i32 noundef %12049) #12
  %12051 = call ptr @__errno_location() #13
  %12052 = load i32, ptr %12051, align 4, !tbaa !5
  %12053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12040, ptr noundef @.str.81, i32 noundef %12041, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 443, ptr noundef %12044, ptr noundef %12047, ptr noundef %12050, i32 noundef %12052) #12
  br label %12054

12054:                                            ; preds = %12037, %12020
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #12
  br label %12055

12055:                                            ; preds = %12054
  br label %12056

12056:                                            ; preds = %12055
  call void @exit(i32 noundef 1) #14
  unreachable

12057:                                            ; No predecessors!
  br label %12058

12058:                                            ; preds = %12057
  br label %12059

12059:                                            ; preds = %12058, %12000
  br label %12060

12060:                                            ; preds = %12059
  br label %12061

12061:                                            ; preds = %12060
  call void @llvm.lifetime.start.p0(i64 8, ptr %267) #12
  %12062 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12062, ptr %267, align 8, !tbaa !9
  br label %12063

12063:                                            ; preds = %12061
  %12064 = load i32, ptr @test_count, align 4, !tbaa !5
  %12065 = add nsw i32 %12064, 1
  store i32 %12065, ptr @test_count, align 4, !tbaa !5
  %12066 = load ptr, ptr %267, align 8, !tbaa !9
  %12067 = icmp eq ptr %12066, null
  br i1 %12067, label %12068, label %12121

12068:                                            ; preds = %12063
  br label %12069

12069:                                            ; preds = %12068
  br label %12070

12070:                                            ; preds = %12069
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #12
  %12071 = call ptr @__errno_location() #13
  %12072 = load i32, ptr %12071, align 4, !tbaa !5
  store i32 %12072, ptr %268, align 4, !tbaa !5
  %12073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12074 = call i32 @s2n_print_stacktrace(ptr noundef %12073)
  %12075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12076 = trunc i8 %12075 to i1
  br i1 %12076, label %12077, label %12099

12077:                                            ; preds = %12070
  %12078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12079 = call i32 @fileno(ptr noundef %12078) #12
  %12080 = call i32 @isatty(i32 noundef %12079) #12
  %12081 = icmp ne i32 %12080, 0
  br i1 %12081, label %12082, label %12099

12082:                                            ; preds = %12077
  %12083 = load i32, ptr %268, align 4, !tbaa !5
  %12084 = call ptr @__errno_location() #13
  store i32 %12083, ptr %12084, align 4, !tbaa !5
  %12085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12086 = load i32, ptr @test_count, align 4, !tbaa !5
  %12087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12088 = load i32, ptr %12087, align 4, !tbaa !5
  %12089 = call ptr @s2n_strerror(i32 noundef %12088, ptr noundef @.str.80)
  %12090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12091 = load i32, ptr %12090, align 4, !tbaa !5
  %12092 = call ptr @s2n_strerror_debug(i32 noundef %12091, ptr noundef @.str.80)
  %12093 = call ptr @__errno_location() #13
  %12094 = load i32, ptr %12093, align 4, !tbaa !5
  %12095 = call ptr @strerror(i32 noundef %12094) #12
  %12096 = call ptr @__errno_location() #13
  %12097 = load i32, ptr %12096, align 4, !tbaa !5
  %12098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12085, ptr noundef @.str.78, i32 noundef %12086, ptr noundef @.str.155, ptr noundef @.str.77, i32 noundef 448, ptr noundef %12089, ptr noundef %12092, ptr noundef %12095, i32 noundef %12097) #12
  br label %12116

12099:                                            ; preds = %12077, %12070
  %12100 = load i32, ptr %268, align 4, !tbaa !5
  %12101 = call ptr @__errno_location() #13
  store i32 %12100, ptr %12101, align 4, !tbaa !5
  %12102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12103 = load i32, ptr @test_count, align 4, !tbaa !5
  %12104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12105 = load i32, ptr %12104, align 4, !tbaa !5
  %12106 = call ptr @s2n_strerror(i32 noundef %12105, ptr noundef @.str.80)
  %12107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12108 = load i32, ptr %12107, align 4, !tbaa !5
  %12109 = call ptr @s2n_strerror_debug(i32 noundef %12108, ptr noundef @.str.80)
  %12110 = call ptr @__errno_location() #13
  %12111 = load i32, ptr %12110, align 4, !tbaa !5
  %12112 = call ptr @strerror(i32 noundef %12111) #12
  %12113 = call ptr @__errno_location() #13
  %12114 = load i32, ptr %12113, align 4, !tbaa !5
  %12115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12102, ptr noundef @.str.81, i32 noundef %12103, ptr noundef @.str.155, ptr noundef @.str.77, i32 noundef 448, ptr noundef %12106, ptr noundef %12109, ptr noundef %12112, i32 noundef %12114) #12
  br label %12116

12116:                                            ; preds = %12099, %12082
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #12
  br label %12117

12117:                                            ; preds = %12116
  br label %12118

12118:                                            ; preds = %12117
  call void @exit(i32 noundef 1) #14
  unreachable

12119:                                            ; No predecessors!
  br label %12120

12120:                                            ; preds = %12119
  br label %12121

12121:                                            ; preds = %12120, %12063
  br label %12122

12122:                                            ; preds = %12121
  br label %12123

12123:                                            ; preds = %12122
  call void @llvm.lifetime.start.p0(i64 8, ptr %269) #12
  %12124 = call ptr @s2n_config_new()
  store ptr %12124, ptr %269, align 8, !tbaa !9
  br label %12125

12125:                                            ; preds = %12123
  %12126 = load i32, ptr @test_count, align 4, !tbaa !5
  %12127 = add nsw i32 %12126, 1
  store i32 %12127, ptr @test_count, align 4, !tbaa !5
  %12128 = load ptr, ptr %269, align 8, !tbaa !9
  %12129 = icmp eq ptr %12128, null
  br i1 %12129, label %12130, label %12183

12130:                                            ; preds = %12125
  br label %12131

12131:                                            ; preds = %12130
  br label %12132

12132:                                            ; preds = %12131
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #12
  %12133 = call ptr @__errno_location() #13
  %12134 = load i32, ptr %12133, align 4, !tbaa !5
  store i32 %12134, ptr %270, align 4, !tbaa !5
  %12135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12136 = call i32 @s2n_print_stacktrace(ptr noundef %12135)
  %12137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12138 = trunc i8 %12137 to i1
  br i1 %12138, label %12139, label %12161

12139:                                            ; preds = %12132
  %12140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12141 = call i32 @fileno(ptr noundef %12140) #12
  %12142 = call i32 @isatty(i32 noundef %12141) #12
  %12143 = icmp ne i32 %12142, 0
  br i1 %12143, label %12144, label %12161

12144:                                            ; preds = %12139
  %12145 = load i32, ptr %270, align 4, !tbaa !5
  %12146 = call ptr @__errno_location() #13
  store i32 %12145, ptr %12146, align 4, !tbaa !5
  %12147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12148 = load i32, ptr @test_count, align 4, !tbaa !5
  %12149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12150 = load i32, ptr %12149, align 4, !tbaa !5
  %12151 = call ptr @s2n_strerror(i32 noundef %12150, ptr noundef @.str.80)
  %12152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12153 = load i32, ptr %12152, align 4, !tbaa !5
  %12154 = call ptr @s2n_strerror_debug(i32 noundef %12153, ptr noundef @.str.80)
  %12155 = call ptr @__errno_location() #13
  %12156 = load i32, ptr %12155, align 4, !tbaa !5
  %12157 = call ptr @strerror(i32 noundef %12156) #12
  %12158 = call ptr @__errno_location() #13
  %12159 = load i32, ptr %12158, align 4, !tbaa !5
  %12160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12147, ptr noundef @.str.78, i32 noundef %12148, ptr noundef @.str.156, ptr noundef @.str.77, i32 noundef 451, ptr noundef %12151, ptr noundef %12154, ptr noundef %12157, i32 noundef %12159) #12
  br label %12178

12161:                                            ; preds = %12139, %12132
  %12162 = load i32, ptr %270, align 4, !tbaa !5
  %12163 = call ptr @__errno_location() #13
  store i32 %12162, ptr %12163, align 4, !tbaa !5
  %12164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12165 = load i32, ptr @test_count, align 4, !tbaa !5
  %12166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12167 = load i32, ptr %12166, align 4, !tbaa !5
  %12168 = call ptr @s2n_strerror(i32 noundef %12167, ptr noundef @.str.80)
  %12169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12170 = load i32, ptr %12169, align 4, !tbaa !5
  %12171 = call ptr @s2n_strerror_debug(i32 noundef %12170, ptr noundef @.str.80)
  %12172 = call ptr @__errno_location() #13
  %12173 = load i32, ptr %12172, align 4, !tbaa !5
  %12174 = call ptr @strerror(i32 noundef %12173) #12
  %12175 = call ptr @__errno_location() #13
  %12176 = load i32, ptr %12175, align 4, !tbaa !5
  %12177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12164, ptr noundef @.str.81, i32 noundef %12165, ptr noundef @.str.156, ptr noundef @.str.77, i32 noundef 451, ptr noundef %12168, ptr noundef %12171, ptr noundef %12174, i32 noundef %12176) #12
  br label %12178

12178:                                            ; preds = %12161, %12144
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #12
  br label %12179

12179:                                            ; preds = %12178
  br label %12180

12180:                                            ; preds = %12179
  call void @exit(i32 noundef 1) #14
  unreachable

12181:                                            ; No predecessors!
  br label %12182

12182:                                            ; preds = %12181
  br label %12183

12183:                                            ; preds = %12182, %12125
  br label %12184

12184:                                            ; preds = %12183
  br label %12185

12185:                                            ; preds = %12184
  br label %12186

12186:                                            ; preds = %12185
  %12187 = load i32, ptr @test_count, align 4, !tbaa !5
  %12188 = add nsw i32 %12187, 1
  store i32 %12188, ptr @test_count, align 4, !tbaa !5
  %12189 = load ptr, ptr %269, align 8, !tbaa !9
  %12190 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %12189)
  %12191 = getelementptr inbounds %struct.s2n_result, ptr %271, i32 0, i32 0
  store i32 %12190, ptr %12191, align 4
  %12192 = getelementptr inbounds %struct.s2n_result, ptr %271, i32 0, i32 0
  %12193 = load i32, ptr %12192, align 4
  %12194 = call zeroext i1 @s2n_result_is_ok(i32 %12193)
  br i1 %12194, label %12248, label %12195

12195:                                            ; preds = %12186
  br label %12196

12196:                                            ; preds = %12195
  br label %12197

12197:                                            ; preds = %12196
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #12
  %12198 = call ptr @__errno_location() #13
  %12199 = load i32, ptr %12198, align 4, !tbaa !5
  store i32 %12199, ptr %272, align 4, !tbaa !5
  %12200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12201 = call i32 @s2n_print_stacktrace(ptr noundef %12200)
  %12202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12203 = trunc i8 %12202 to i1
  br i1 %12203, label %12204, label %12226

12204:                                            ; preds = %12197
  %12205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12206 = call i32 @fileno(ptr noundef %12205) #12
  %12207 = call i32 @isatty(i32 noundef %12206) #12
  %12208 = icmp ne i32 %12207, 0
  br i1 %12208, label %12209, label %12226

12209:                                            ; preds = %12204
  %12210 = load i32, ptr %272, align 4, !tbaa !5
  %12211 = call ptr @__errno_location() #13
  store i32 %12210, ptr %12211, align 4, !tbaa !5
  %12212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12213 = load i32, ptr @test_count, align 4, !tbaa !5
  %12214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12215 = load i32, ptr %12214, align 4, !tbaa !5
  %12216 = call ptr @s2n_strerror(i32 noundef %12215, ptr noundef @.str.80)
  %12217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12218 = load i32, ptr %12217, align 4, !tbaa !5
  %12219 = call ptr @s2n_strerror_debug(i32 noundef %12218, ptr noundef @.str.80)
  %12220 = call ptr @__errno_location() #13
  %12221 = load i32, ptr %12220, align 4, !tbaa !5
  %12222 = call ptr @strerror(i32 noundef %12221) #12
  %12223 = call ptr @__errno_location() #13
  %12224 = load i32, ptr %12223, align 4, !tbaa !5
  %12225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12212, ptr noundef @.str.78, i32 noundef %12213, ptr noundef @.str.157, ptr noundef @.str.77, i32 noundef 452, ptr noundef %12216, ptr noundef %12219, ptr noundef %12222, i32 noundef %12224) #12
  br label %12243

12226:                                            ; preds = %12204, %12197
  %12227 = load i32, ptr %272, align 4, !tbaa !5
  %12228 = call ptr @__errno_location() #13
  store i32 %12227, ptr %12228, align 4, !tbaa !5
  %12229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12230 = load i32, ptr @test_count, align 4, !tbaa !5
  %12231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12232 = load i32, ptr %12231, align 4, !tbaa !5
  %12233 = call ptr @s2n_strerror(i32 noundef %12232, ptr noundef @.str.80)
  %12234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12235 = load i32, ptr %12234, align 4, !tbaa !5
  %12236 = call ptr @s2n_strerror_debug(i32 noundef %12235, ptr noundef @.str.80)
  %12237 = call ptr @__errno_location() #13
  %12238 = load i32, ptr %12237, align 4, !tbaa !5
  %12239 = call ptr @strerror(i32 noundef %12238) #12
  %12240 = call ptr @__errno_location() #13
  %12241 = load i32, ptr %12240, align 4, !tbaa !5
  %12242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12229, ptr noundef @.str.81, i32 noundef %12230, ptr noundef @.str.157, ptr noundef @.str.77, i32 noundef 452, ptr noundef %12233, ptr noundef %12236, ptr noundef %12239, i32 noundef %12241) #12
  br label %12243

12243:                                            ; preds = %12226, %12209
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #12
  br label %12244

12244:                                            ; preds = %12243
  br label %12245

12245:                                            ; preds = %12244
  call void @exit(i32 noundef 1) #14
  unreachable

12246:                                            ; No predecessors!
  br label %12247

12247:                                            ; preds = %12246
  br label %12248

12248:                                            ; preds = %12247, %12186
  br label %12249

12249:                                            ; preds = %12248
  br label %12250

12250:                                            ; preds = %12249
  br label %12251

12251:                                            ; preds = %12250
  %12252 = load i32, ptr @test_count, align 4, !tbaa !5
  %12253 = add nsw i32 %12252, 1
  store i32 %12253, ptr @test_count, align 4, !tbaa !5
  %12254 = load ptr, ptr %267, align 8, !tbaa !9
  %12255 = load ptr, ptr %269, align 8, !tbaa !9
  %12256 = call i32 @s2n_connection_set_config(ptr noundef %12254, ptr noundef %12255)
  %12257 = icmp eq i32 %12256, -1
  br i1 %12257, label %12258, label %12311

12258:                                            ; preds = %12251
  br label %12259

12259:                                            ; preds = %12258
  br label %12260

12260:                                            ; preds = %12259
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #12
  %12261 = call ptr @__errno_location() #13
  %12262 = load i32, ptr %12261, align 4, !tbaa !5
  store i32 %12262, ptr %273, align 4, !tbaa !5
  %12263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12264 = call i32 @s2n_print_stacktrace(ptr noundef %12263)
  %12265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12266 = trunc i8 %12265 to i1
  br i1 %12266, label %12267, label %12289

12267:                                            ; preds = %12260
  %12268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12269 = call i32 @fileno(ptr noundef %12268) #12
  %12270 = call i32 @isatty(i32 noundef %12269) #12
  %12271 = icmp ne i32 %12270, 0
  br i1 %12271, label %12272, label %12289

12272:                                            ; preds = %12267
  %12273 = load i32, ptr %273, align 4, !tbaa !5
  %12274 = call ptr @__errno_location() #13
  store i32 %12273, ptr %12274, align 4, !tbaa !5
  %12275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12276 = load i32, ptr @test_count, align 4, !tbaa !5
  %12277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12278 = load i32, ptr %12277, align 4, !tbaa !5
  %12279 = call ptr @s2n_strerror(i32 noundef %12278, ptr noundef @.str.80)
  %12280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12281 = load i32, ptr %12280, align 4, !tbaa !5
  %12282 = call ptr @s2n_strerror_debug(i32 noundef %12281, ptr noundef @.str.80)
  %12283 = call ptr @__errno_location() #13
  %12284 = load i32, ptr %12283, align 4, !tbaa !5
  %12285 = call ptr @strerror(i32 noundef %12284) #12
  %12286 = call ptr @__errno_location() #13
  %12287 = load i32, ptr %12286, align 4, !tbaa !5
  %12288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12275, ptr noundef @.str.78, i32 noundef %12276, ptr noundef @.str.158, ptr noundef @.str.77, i32 noundef 453, ptr noundef %12279, ptr noundef %12282, ptr noundef %12285, i32 noundef %12287) #12
  br label %12306

12289:                                            ; preds = %12267, %12260
  %12290 = load i32, ptr %273, align 4, !tbaa !5
  %12291 = call ptr @__errno_location() #13
  store i32 %12290, ptr %12291, align 4, !tbaa !5
  %12292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12293 = load i32, ptr @test_count, align 4, !tbaa !5
  %12294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12295 = load i32, ptr %12294, align 4, !tbaa !5
  %12296 = call ptr @s2n_strerror(i32 noundef %12295, ptr noundef @.str.80)
  %12297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12298 = load i32, ptr %12297, align 4, !tbaa !5
  %12299 = call ptr @s2n_strerror_debug(i32 noundef %12298, ptr noundef @.str.80)
  %12300 = call ptr @__errno_location() #13
  %12301 = load i32, ptr %12300, align 4, !tbaa !5
  %12302 = call ptr @strerror(i32 noundef %12301) #12
  %12303 = call ptr @__errno_location() #13
  %12304 = load i32, ptr %12303, align 4, !tbaa !5
  %12305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12292, ptr noundef @.str.81, i32 noundef %12293, ptr noundef @.str.158, ptr noundef @.str.77, i32 noundef 453, ptr noundef %12296, ptr noundef %12299, ptr noundef %12302, i32 noundef %12304) #12
  br label %12306

12306:                                            ; preds = %12289, %12272
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #12
  br label %12307

12307:                                            ; preds = %12306
  br label %12308

12308:                                            ; preds = %12307
  call void @exit(i32 noundef 1) #14
  unreachable

12309:                                            ; No predecessors!
  br label %12310

12310:                                            ; preds = %12309
  br label %12311

12311:                                            ; preds = %12310, %12251
  br label %12312

12312:                                            ; preds = %12311
  br label %12313

12313:                                            ; preds = %12312
  %12314 = load ptr, ptr %267, align 8, !tbaa !9
  %12315 = getelementptr inbounds %struct.s2n_connection, ptr %12314, i32 0, i32 33
  %12316 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %12315, i32 0, i32 0
  store i32 0, ptr %12316, align 8, !tbaa !23
  %12317 = load ptr, ptr %267, align 8, !tbaa !9
  %12318 = getelementptr inbounds %struct.s2n_connection, ptr %12317, i32 0, i32 23
  store i8 34, ptr %12318, align 4, !tbaa !63
  %12319 = load ptr, ptr %267, align 8, !tbaa !9
  %12320 = getelementptr inbounds %struct.s2n_connection, ptr %12319, i32 0, i32 27
  %12321 = load ptr, ptr %12320, align 8, !tbaa !64
  %12322 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %12321, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %12322, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 40, ptr %274) #12
  call void @llvm.memset.p0.i64(ptr align 8 %274, i8 0, i64 40, i1 false)
  br label %12323

12323:                                            ; preds = %12313
  %12324 = load i32, ptr @test_count, align 4, !tbaa !5
  %12325 = add nsw i32 %12324, 1
  store i32 %12325, ptr @test_count, align 4, !tbaa !5
  %12326 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %274, i32 noundef 0)
  %12327 = icmp eq i32 %12326, -1
  br i1 %12327, label %12328, label %12381

12328:                                            ; preds = %12323
  br label %12329

12329:                                            ; preds = %12328
  br label %12330

12330:                                            ; preds = %12329
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #12
  %12331 = call ptr @__errno_location() #13
  %12332 = load i32, ptr %12331, align 4, !tbaa !5
  store i32 %12332, ptr %275, align 4, !tbaa !5
  %12333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12334 = call i32 @s2n_print_stacktrace(ptr noundef %12333)
  %12335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12336 = trunc i8 %12335 to i1
  br i1 %12336, label %12337, label %12359

12337:                                            ; preds = %12330
  %12338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12339 = call i32 @fileno(ptr noundef %12338) #12
  %12340 = call i32 @isatty(i32 noundef %12339) #12
  %12341 = icmp ne i32 %12340, 0
  br i1 %12341, label %12342, label %12359

12342:                                            ; preds = %12337
  %12343 = load i32, ptr %275, align 4, !tbaa !5
  %12344 = call ptr @__errno_location() #13
  store i32 %12343, ptr %12344, align 4, !tbaa !5
  %12345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12346 = load i32, ptr @test_count, align 4, !tbaa !5
  %12347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12348 = load i32, ptr %12347, align 4, !tbaa !5
  %12349 = call ptr @s2n_strerror(i32 noundef %12348, ptr noundef @.str.80)
  %12350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12351 = load i32, ptr %12350, align 4, !tbaa !5
  %12352 = call ptr @s2n_strerror_debug(i32 noundef %12351, ptr noundef @.str.80)
  %12353 = call ptr @__errno_location() #13
  %12354 = load i32, ptr %12353, align 4, !tbaa !5
  %12355 = call ptr @strerror(i32 noundef %12354) #12
  %12356 = call ptr @__errno_location() #13
  %12357 = load i32, ptr %12356, align 4, !tbaa !5
  %12358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12345, ptr noundef @.str.78, i32 noundef %12346, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 460, ptr noundef %12349, ptr noundef %12352, ptr noundef %12355, i32 noundef %12357) #12
  br label %12376

12359:                                            ; preds = %12337, %12330
  %12360 = load i32, ptr %275, align 4, !tbaa !5
  %12361 = call ptr @__errno_location() #13
  store i32 %12360, ptr %12361, align 4, !tbaa !5
  %12362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12363 = load i32, ptr @test_count, align 4, !tbaa !5
  %12364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12365 = load i32, ptr %12364, align 4, !tbaa !5
  %12366 = call ptr @s2n_strerror(i32 noundef %12365, ptr noundef @.str.80)
  %12367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12368 = load i32, ptr %12367, align 4, !tbaa !5
  %12369 = call ptr @s2n_strerror_debug(i32 noundef %12368, ptr noundef @.str.80)
  %12370 = call ptr @__errno_location() #13
  %12371 = load i32, ptr %12370, align 4, !tbaa !5
  %12372 = call ptr @strerror(i32 noundef %12371) #12
  %12373 = call ptr @__errno_location() #13
  %12374 = load i32, ptr %12373, align 4, !tbaa !5
  %12375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12362, ptr noundef @.str.81, i32 noundef %12363, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 460, ptr noundef %12366, ptr noundef %12369, ptr noundef %12372, i32 noundef %12374) #12
  br label %12376

12376:                                            ; preds = %12359, %12342
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #12
  br label %12377

12377:                                            ; preds = %12376
  br label %12378

12378:                                            ; preds = %12377
  call void @exit(i32 noundef 1) #14
  unreachable

12379:                                            ; No predecessors!
  br label %12380

12380:                                            ; preds = %12379
  br label %12381

12381:                                            ; preds = %12380, %12323
  br label %12382

12382:                                            ; preds = %12381
  br label %12383

12383:                                            ; preds = %12382
  br label %12384

12384:                                            ; preds = %12383
  %12385 = load i32, ptr @test_count, align 4, !tbaa !5
  %12386 = add nsw i32 %12385, 1
  store i32 %12386, ptr @test_count, align 4, !tbaa !5
  %12387 = load ptr, ptr %267, align 8, !tbaa !9
  %12388 = call i32 @s2n_setup_encrypted_ticket(ptr noundef %12387, ptr noundef %274)
  %12389 = getelementptr inbounds %struct.s2n_result, ptr %276, i32 0, i32 0
  store i32 %12388, ptr %12389, align 4
  %12390 = getelementptr inbounds %struct.s2n_result, ptr %276, i32 0, i32 0
  %12391 = load i32, ptr %12390, align 4
  %12392 = call zeroext i1 @s2n_result_is_ok(i32 %12391)
  br i1 %12392, label %12446, label %12393

12393:                                            ; preds = %12384
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

12395:                                            ; preds = %12394
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #12
  %12396 = call ptr @__errno_location() #13
  %12397 = load i32, ptr %12396, align 4, !tbaa !5
  store i32 %12397, ptr %277, align 4, !tbaa !5
  %12398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12399 = call i32 @s2n_print_stacktrace(ptr noundef %12398)
  %12400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12401 = trunc i8 %12400 to i1
  br i1 %12401, label %12402, label %12424

12402:                                            ; preds = %12395
  %12403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12404 = call i32 @fileno(ptr noundef %12403) #12
  %12405 = call i32 @isatty(i32 noundef %12404) #12
  %12406 = icmp ne i32 %12405, 0
  br i1 %12406, label %12407, label %12424

12407:                                            ; preds = %12402
  %12408 = load i32, ptr %277, align 4, !tbaa !5
  %12409 = call ptr @__errno_location() #13
  store i32 %12408, ptr %12409, align 4, !tbaa !5
  %12410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12411 = load i32, ptr @test_count, align 4, !tbaa !5
  %12412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12413 = load i32, ptr %12412, align 4, !tbaa !5
  %12414 = call ptr @s2n_strerror(i32 noundef %12413, ptr noundef @.str.80)
  %12415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12416 = load i32, ptr %12415, align 4, !tbaa !5
  %12417 = call ptr @s2n_strerror_debug(i32 noundef %12416, ptr noundef @.str.80)
  %12418 = call ptr @__errno_location() #13
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  %12420 = call ptr @strerror(i32 noundef %12419) #12
  %12421 = call ptr @__errno_location() #13
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12410, ptr noundef @.str.78, i32 noundef %12411, ptr noundef @.str.160, ptr noundef @.str.77, i32 noundef 461, ptr noundef %12414, ptr noundef %12417, ptr noundef %12420, i32 noundef %12422) #12
  br label %12441

12424:                                            ; preds = %12402, %12395
  %12425 = load i32, ptr %277, align 4, !tbaa !5
  %12426 = call ptr @__errno_location() #13
  store i32 %12425, ptr %12426, align 4, !tbaa !5
  %12427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12428 = load i32, ptr @test_count, align 4, !tbaa !5
  %12429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12430 = load i32, ptr %12429, align 4, !tbaa !5
  %12431 = call ptr @s2n_strerror(i32 noundef %12430, ptr noundef @.str.80)
  %12432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12433 = load i32, ptr %12432, align 4, !tbaa !5
  %12434 = call ptr @s2n_strerror_debug(i32 noundef %12433, ptr noundef @.str.80)
  %12435 = call ptr @__errno_location() #13
  %12436 = load i32, ptr %12435, align 4, !tbaa !5
  %12437 = call ptr @strerror(i32 noundef %12436) #12
  %12438 = call ptr @__errno_location() #13
  %12439 = load i32, ptr %12438, align 4, !tbaa !5
  %12440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12427, ptr noundef @.str.81, i32 noundef %12428, ptr noundef @.str.160, ptr noundef @.str.77, i32 noundef 461, ptr noundef %12431, ptr noundef %12434, ptr noundef %12437, i32 noundef %12439) #12
  br label %12441

12441:                                            ; preds = %12424, %12407
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #12
  br label %12442

12442:                                            ; preds = %12441
  br label %12443

12443:                                            ; preds = %12442
  call void @exit(i32 noundef 1) #14
  unreachable

12444:                                            ; No predecessors!
  br label %12445

12445:                                            ; preds = %12444
  br label %12446

12446:                                            ; preds = %12445, %12384
  br label %12447

12447:                                            ; preds = %12446
  br label %12448

12448:                                            ; preds = %12447
  call void @llvm.lifetime.start.p0(i64 56, ptr %278) #12
  call void @llvm.memset.p0.i64(ptr align 8 %278, i8 0, i64 56, i1 false)
  %12449 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %278, i32 0, i32 0
  %12450 = load ptr, ptr %267, align 8, !tbaa !9
  store ptr %12450, ptr %12449, align 8, !tbaa !20
  %12451 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %278, i32 0, i32 1
  %12452 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %278, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 40, ptr %279) #12
  call void @llvm.memset.p0.i64(ptr align 8 %279, i8 0, i64 40, i1 false)
  br label %12453

12453:                                            ; preds = %12448
  %12454 = load i32, ptr @test_count, align 4, !tbaa !5
  %12455 = add nsw i32 %12454, 1
  store i32 %12455, ptr @test_count, align 4, !tbaa !5
  %12456 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %279, i32 noundef 0)
  %12457 = icmp eq i32 %12456, -1
  br i1 %12457, label %12458, label %12511

12458:                                            ; preds = %12453
  br label %12459

12459:                                            ; preds = %12458
  br label %12460

12460:                                            ; preds = %12459
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #12
  %12461 = call ptr @__errno_location() #13
  %12462 = load i32, ptr %12461, align 4, !tbaa !5
  store i32 %12462, ptr %280, align 4, !tbaa !5
  %12463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12464 = call i32 @s2n_print_stacktrace(ptr noundef %12463)
  %12465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12466 = trunc i8 %12465 to i1
  br i1 %12466, label %12467, label %12489

12467:                                            ; preds = %12460
  %12468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12469 = call i32 @fileno(ptr noundef %12468) #12
  %12470 = call i32 @isatty(i32 noundef %12469) #12
  %12471 = icmp ne i32 %12470, 0
  br i1 %12471, label %12472, label %12489

12472:                                            ; preds = %12467
  %12473 = load i32, ptr %280, align 4, !tbaa !5
  %12474 = call ptr @__errno_location() #13
  store i32 %12473, ptr %12474, align 4, !tbaa !5
  %12475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12476 = load i32, ptr @test_count, align 4, !tbaa !5
  %12477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12478 = load i32, ptr %12477, align 4, !tbaa !5
  %12479 = call ptr @s2n_strerror(i32 noundef %12478, ptr noundef @.str.80)
  %12480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12481 = load i32, ptr %12480, align 4, !tbaa !5
  %12482 = call ptr @s2n_strerror_debug(i32 noundef %12481, ptr noundef @.str.80)
  %12483 = call ptr @__errno_location() #13
  %12484 = load i32, ptr %12483, align 4, !tbaa !5
  %12485 = call ptr @strerror(i32 noundef %12484) #12
  %12486 = call ptr @__errno_location() #13
  %12487 = load i32, ptr %12486, align 4, !tbaa !5
  %12488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12475, ptr noundef @.str.78, i32 noundef %12476, ptr noundef @.str.161, ptr noundef @.str.77, i32 noundef 466, ptr noundef %12479, ptr noundef %12482, ptr noundef %12485, i32 noundef %12487) #12
  br label %12506

12489:                                            ; preds = %12467, %12460
  %12490 = load i32, ptr %280, align 4, !tbaa !5
  %12491 = call ptr @__errno_location() #13
  store i32 %12490, ptr %12491, align 4, !tbaa !5
  %12492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12493 = load i32, ptr @test_count, align 4, !tbaa !5
  %12494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12495 = load i32, ptr %12494, align 4, !tbaa !5
  %12496 = call ptr @s2n_strerror(i32 noundef %12495, ptr noundef @.str.80)
  %12497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12498 = load i32, ptr %12497, align 4, !tbaa !5
  %12499 = call ptr @s2n_strerror_debug(i32 noundef %12498, ptr noundef @.str.80)
  %12500 = call ptr @__errno_location() #13
  %12501 = load i32, ptr %12500, align 4, !tbaa !5
  %12502 = call ptr @strerror(i32 noundef %12501) #12
  %12503 = call ptr @__errno_location() #13
  %12504 = load i32, ptr %12503, align 4, !tbaa !5
  %12505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12492, ptr noundef @.str.81, i32 noundef %12493, ptr noundef @.str.161, ptr noundef @.str.77, i32 noundef 466, ptr noundef %12496, ptr noundef %12499, ptr noundef %12502, i32 noundef %12504) #12
  br label %12506

12506:                                            ; preds = %12489, %12472
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #12
  br label %12507

12507:                                            ; preds = %12506
  br label %12508

12508:                                            ; preds = %12507
  call void @exit(i32 noundef 1) #14
  unreachable

12509:                                            ; No predecessors!
  br label %12510

12510:                                            ; preds = %12509
  br label %12511

12511:                                            ; preds = %12510, %12453
  br label %12512

12512:                                            ; preds = %12511
  br label %12513

12513:                                            ; preds = %12512
  br label %12514

12514:                                            ; preds = %12513
  %12515 = load i32, ptr @test_count, align 4, !tbaa !5
  %12516 = add nsw i32 %12515, 1
  store i32 %12516, ptr @test_count, align 4, !tbaa !5
  %12517 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 0
  %12518 = getelementptr inbounds %struct.s2n_blob, ptr %12517, i32 0, i32 0
  %12519 = load ptr, ptr %12518, align 8, !tbaa !70
  %12520 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 0
  %12521 = getelementptr inbounds %struct.s2n_blob, ptr %12520, i32 0, i32 1
  %12522 = load i32, ptr %12521, align 8, !tbaa !71
  %12523 = call i32 @s2n_stuffer_write_bytes(ptr noundef %279, ptr noundef %12519, i32 noundef %12522)
  %12524 = icmp eq i32 %12523, -1
  br i1 %12524, label %12525, label %12578

12525:                                            ; preds = %12514
  br label %12526

12526:                                            ; preds = %12525
  br label %12527

12527:                                            ; preds = %12526
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #12
  %12528 = call ptr @__errno_location() #13
  %12529 = load i32, ptr %12528, align 4, !tbaa !5
  store i32 %12529, ptr %281, align 4, !tbaa !5
  %12530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12531 = call i32 @s2n_print_stacktrace(ptr noundef %12530)
  %12532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12533 = trunc i8 %12532 to i1
  br i1 %12533, label %12534, label %12556

12534:                                            ; preds = %12527
  %12535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12536 = call i32 @fileno(ptr noundef %12535) #12
  %12537 = call i32 @isatty(i32 noundef %12536) #12
  %12538 = icmp ne i32 %12537, 0
  br i1 %12538, label %12539, label %12556

12539:                                            ; preds = %12534
  %12540 = load i32, ptr %281, align 4, !tbaa !5
  %12541 = call ptr @__errno_location() #13
  store i32 %12540, ptr %12541, align 4, !tbaa !5
  %12542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12543 = load i32, ptr @test_count, align 4, !tbaa !5
  %12544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12545 = load i32, ptr %12544, align 4, !tbaa !5
  %12546 = call ptr @s2n_strerror(i32 noundef %12545, ptr noundef @.str.80)
  %12547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12548 = load i32, ptr %12547, align 4, !tbaa !5
  %12549 = call ptr @s2n_strerror_debug(i32 noundef %12548, ptr noundef @.str.80)
  %12550 = call ptr @__errno_location() #13
  %12551 = load i32, ptr %12550, align 4, !tbaa !5
  %12552 = call ptr @strerror(i32 noundef %12551) #12
  %12553 = call ptr @__errno_location() #13
  %12554 = load i32, ptr %12553, align 4, !tbaa !5
  %12555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12542, ptr noundef @.str.78, i32 noundef %12543, ptr noundef @.str.162, ptr noundef @.str.77, i32 noundef 467, ptr noundef %12546, ptr noundef %12549, ptr noundef %12552, i32 noundef %12554) #12
  br label %12573

12556:                                            ; preds = %12534, %12527
  %12557 = load i32, ptr %281, align 4, !tbaa !5
  %12558 = call ptr @__errno_location() #13
  store i32 %12557, ptr %12558, align 4, !tbaa !5
  %12559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12560 = load i32, ptr @test_count, align 4, !tbaa !5
  %12561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12562 = load i32, ptr %12561, align 4, !tbaa !5
  %12563 = call ptr @s2n_strerror(i32 noundef %12562, ptr noundef @.str.80)
  %12564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12565 = load i32, ptr %12564, align 4, !tbaa !5
  %12566 = call ptr @s2n_strerror_debug(i32 noundef %12565, ptr noundef @.str.80)
  %12567 = call ptr @__errno_location() #13
  %12568 = load i32, ptr %12567, align 4, !tbaa !5
  %12569 = call ptr @strerror(i32 noundef %12568) #12
  %12570 = call ptr @__errno_location() #13
  %12571 = load i32, ptr %12570, align 4, !tbaa !5
  %12572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12559, ptr noundef @.str.81, i32 noundef %12560, ptr noundef @.str.162, ptr noundef @.str.77, i32 noundef 467, ptr noundef %12563, ptr noundef %12566, ptr noundef %12569, i32 noundef %12571) #12
  br label %12573

12573:                                            ; preds = %12556, %12539
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #12
  br label %12574

12574:                                            ; preds = %12573
  br label %12575

12575:                                            ; preds = %12574
  call void @exit(i32 noundef 1) #14
  unreachable

12576:                                            ; No predecessors!
  br label %12577

12577:                                            ; preds = %12576
  br label %12578

12578:                                            ; preds = %12577, %12514
  br label %12579

12579:                                            ; preds = %12578
  br label %12580

12580:                                            ; preds = %12579
  %12581 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 2
  %12582 = load i32, ptr %12581, align 4, !tbaa !72
  %12583 = getelementptr inbounds %struct.s2n_stuffer, ptr %274, i32 0, i32 1
  %12584 = load i32, ptr %12583, align 8, !tbaa !73
  %12585 = sub i32 %12582, %12584
  %12586 = getelementptr inbounds %struct.s2n_stuffer, ptr %279, i32 0, i32 0
  %12587 = getelementptr inbounds %struct.s2n_blob, ptr %12586, i32 0, i32 1
  store i32 %12585, ptr %12587, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr %282) #12
  %12588 = getelementptr inbounds %struct.s2n_offered_psk, ptr %282, i32 0, i32 0
  %12589 = getelementptr inbounds %struct.s2n_stuffer, ptr %279, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12588, ptr align 8 %12589, i64 24, i1 false), !tbaa.struct !58
  %12590 = getelementptr inbounds %struct.s2n_offered_psk, ptr %282, i32 0, i32 1
  store i16 5, ptr %12590, align 8, !tbaa !60
  %12591 = getelementptr inbounds %struct.s2n_offered_psk, ptr %282, i32 0, i32 2
  store i32 0, ptr %12591, align 4, !tbaa !47
  br label %12592

12592:                                            ; preds = %12580
  %12593 = load i32, ptr @test_count, align 4, !tbaa !5
  %12594 = add nsw i32 %12593, 1
  store i32 %12594, ptr @test_count, align 4, !tbaa !5
  %12595 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %278, ptr noundef %282)
  %12596 = icmp eq i32 %12595, -1
  br i1 %12596, label %12597, label %12650

12597:                                            ; preds = %12592
  br label %12598

12598:                                            ; preds = %12597
  br label %12599

12599:                                            ; preds = %12598
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #12
  %12600 = call ptr @__errno_location() #13
  %12601 = load i32, ptr %12600, align 4, !tbaa !5
  store i32 %12601, ptr %283, align 4, !tbaa !5
  %12602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12603 = call i32 @s2n_print_stacktrace(ptr noundef %12602)
  %12604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12605 = trunc i8 %12604 to i1
  br i1 %12605, label %12606, label %12628

12606:                                            ; preds = %12599
  %12607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12608 = call i32 @fileno(ptr noundef %12607) #12
  %12609 = call i32 @isatty(i32 noundef %12608) #12
  %12610 = icmp ne i32 %12609, 0
  br i1 %12610, label %12611, label %12628

12611:                                            ; preds = %12606
  %12612 = load i32, ptr %283, align 4, !tbaa !5
  %12613 = call ptr @__errno_location() #13
  store i32 %12612, ptr %12613, align 4, !tbaa !5
  %12614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12615 = load i32, ptr @test_count, align 4, !tbaa !5
  %12616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12617 = load i32, ptr %12616, align 4, !tbaa !5
  %12618 = call ptr @s2n_strerror(i32 noundef %12617, ptr noundef @.str.80)
  %12619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12620 = load i32, ptr %12619, align 4, !tbaa !5
  %12621 = call ptr @s2n_strerror_debug(i32 noundef %12620, ptr noundef @.str.80)
  %12622 = call ptr @__errno_location() #13
  %12623 = load i32, ptr %12622, align 4, !tbaa !5
  %12624 = call ptr @strerror(i32 noundef %12623) #12
  %12625 = call ptr @__errno_location() #13
  %12626 = load i32, ptr %12625, align 4, !tbaa !5
  %12627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12614, ptr noundef @.str.78, i32 noundef %12615, ptr noundef @.str.163, ptr noundef @.str.77, i32 noundef 472, ptr noundef %12618, ptr noundef %12621, ptr noundef %12624, i32 noundef %12626) #12
  br label %12645

12628:                                            ; preds = %12606, %12599
  %12629 = load i32, ptr %283, align 4, !tbaa !5
  %12630 = call ptr @__errno_location() #13
  store i32 %12629, ptr %12630, align 4, !tbaa !5
  %12631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12632 = load i32, ptr @test_count, align 4, !tbaa !5
  %12633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12634 = load i32, ptr %12633, align 4, !tbaa !5
  %12635 = call ptr @s2n_strerror(i32 noundef %12634, ptr noundef @.str.80)
  %12636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12637 = load i32, ptr %12636, align 4, !tbaa !5
  %12638 = call ptr @s2n_strerror_debug(i32 noundef %12637, ptr noundef @.str.80)
  %12639 = call ptr @__errno_location() #13
  %12640 = load i32, ptr %12639, align 4, !tbaa !5
  %12641 = call ptr @strerror(i32 noundef %12640) #12
  %12642 = call ptr @__errno_location() #13
  %12643 = load i32, ptr %12642, align 4, !tbaa !5
  %12644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12631, ptr noundef @.str.81, i32 noundef %12632, ptr noundef @.str.163, ptr noundef @.str.77, i32 noundef 472, ptr noundef %12635, ptr noundef %12638, ptr noundef %12641, i32 noundef %12643) #12
  br label %12645

12645:                                            ; preds = %12628, %12611
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #12
  br label %12646

12646:                                            ; preds = %12645
  br label %12647

12647:                                            ; preds = %12646
  call void @exit(i32 noundef 1) #14
  unreachable

12648:                                            ; No predecessors!
  br label %12649

12649:                                            ; preds = %12648
  br label %12650

12650:                                            ; preds = %12649, %12592
  br label %12651

12651:                                            ; preds = %12650
  br label %12652

12652:                                            ; preds = %12651
  br label %12653

12653:                                            ; preds = %12652
  %12654 = load i32, ptr @test_count, align 4, !tbaa !5
  %12655 = add nsw i32 %12654, 1
  store i32 %12655, ptr @test_count, align 4, !tbaa !5
  %12656 = load ptr, ptr %267, align 8, !tbaa !9
  %12657 = getelementptr inbounds %struct.s2n_connection, ptr %12656, i32 0, i32 33
  %12658 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %12657, i32 0, i32 3
  %12659 = load i16, ptr %12658, align 2, !tbaa !62
  %12660 = zext i16 %12659 to i32
  %12661 = icmp eq i32 %12660, 5
  br i1 %12661, label %12715, label %12662

12662:                                            ; preds = %12653
  br label %12663

12663:                                            ; preds = %12662
  br label %12664

12664:                                            ; preds = %12663
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #12
  %12665 = call ptr @__errno_location() #13
  %12666 = load i32, ptr %12665, align 4, !tbaa !5
  store i32 %12666, ptr %284, align 4, !tbaa !5
  %12667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12668 = call i32 @s2n_print_stacktrace(ptr noundef %12667)
  %12669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12670 = trunc i8 %12669 to i1
  br i1 %12670, label %12671, label %12693

12671:                                            ; preds = %12664
  %12672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12673 = call i32 @fileno(ptr noundef %12672) #12
  %12674 = call i32 @isatty(i32 noundef %12673) #12
  %12675 = icmp ne i32 %12674, 0
  br i1 %12675, label %12676, label %12693

12676:                                            ; preds = %12671
  %12677 = load i32, ptr %284, align 4, !tbaa !5
  %12678 = call ptr @__errno_location() #13
  store i32 %12677, ptr %12678, align 4, !tbaa !5
  %12679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12680 = load i32, ptr @test_count, align 4, !tbaa !5
  %12681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12682 = load i32, ptr %12681, align 4, !tbaa !5
  %12683 = call ptr @s2n_strerror(i32 noundef %12682, ptr noundef @.str.80)
  %12684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12685 = load i32, ptr %12684, align 4, !tbaa !5
  %12686 = call ptr @s2n_strerror_debug(i32 noundef %12685, ptr noundef @.str.80)
  %12687 = call ptr @__errno_location() #13
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call ptr @strerror(i32 noundef %12688) #12
  %12690 = call ptr @__errno_location() #13
  %12691 = load i32, ptr %12690, align 4, !tbaa !5
  %12692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12679, ptr noundef @.str.78, i32 noundef %12680, ptr noundef @.str.164, ptr noundef @.str.77, i32 noundef 474, ptr noundef %12683, ptr noundef %12686, ptr noundef %12689, i32 noundef %12691) #12
  br label %12710

12693:                                            ; preds = %12671, %12664
  %12694 = load i32, ptr %284, align 4, !tbaa !5
  %12695 = call ptr @__errno_location() #13
  store i32 %12694, ptr %12695, align 4, !tbaa !5
  %12696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12697 = load i32, ptr @test_count, align 4, !tbaa !5
  %12698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12699 = load i32, ptr %12698, align 4, !tbaa !5
  %12700 = call ptr @s2n_strerror(i32 noundef %12699, ptr noundef @.str.80)
  %12701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12702 = load i32, ptr %12701, align 4, !tbaa !5
  %12703 = call ptr @s2n_strerror_debug(i32 noundef %12702, ptr noundef @.str.80)
  %12704 = call ptr @__errno_location() #13
  %12705 = load i32, ptr %12704, align 4, !tbaa !5
  %12706 = call ptr @strerror(i32 noundef %12705) #12
  %12707 = call ptr @__errno_location() #13
  %12708 = load i32, ptr %12707, align 4, !tbaa !5
  %12709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12696, ptr noundef @.str.81, i32 noundef %12697, ptr noundef @.str.164, ptr noundef @.str.77, i32 noundef 474, ptr noundef %12700, ptr noundef %12703, ptr noundef %12706, i32 noundef %12708) #12
  br label %12710

12710:                                            ; preds = %12693, %12676
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #12
  br label %12711

12711:                                            ; preds = %12710
  br label %12712

12712:                                            ; preds = %12711
  call void @exit(i32 noundef 1) #14
  unreachable

12713:                                            ; No predecessors!
  br label %12714

12714:                                            ; preds = %12713
  br label %12715

12715:                                            ; preds = %12714, %12653
  br label %12716

12716:                                            ; preds = %12715
  br label %12717

12717:                                            ; preds = %12716
  br label %12718

12718:                                            ; preds = %12717
  %12719 = load i32, ptr @test_count, align 4, !tbaa !5
  %12720 = add nsw i32 %12719, 1
  store i32 %12720, ptr @test_count, align 4, !tbaa !5
  %12721 = load ptr, ptr %267, align 8, !tbaa !9
  %12722 = getelementptr inbounds %struct.s2n_connection, ptr %12721, i32 0, i32 33
  %12723 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %12722, i32 0, i32 4
  %12724 = load ptr, ptr %12723, align 8, !tbaa !61
  %12725 = icmp eq ptr %12724, null
  br i1 %12725, label %12726, label %12779

12726:                                            ; preds = %12718
  br label %12727

12727:                                            ; preds = %12726
  br label %12728

12728:                                            ; preds = %12727
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #12
  %12729 = call ptr @__errno_location() #13
  %12730 = load i32, ptr %12729, align 4, !tbaa !5
  store i32 %12730, ptr %285, align 4, !tbaa !5
  %12731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12732 = call i32 @s2n_print_stacktrace(ptr noundef %12731)
  %12733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12734 = trunc i8 %12733 to i1
  br i1 %12734, label %12735, label %12757

12735:                                            ; preds = %12728
  %12736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12737 = call i32 @fileno(ptr noundef %12736) #12
  %12738 = call i32 @isatty(i32 noundef %12737) #12
  %12739 = icmp ne i32 %12738, 0
  br i1 %12739, label %12740, label %12757

12740:                                            ; preds = %12735
  %12741 = load i32, ptr %285, align 4, !tbaa !5
  %12742 = call ptr @__errno_location() #13
  store i32 %12741, ptr %12742, align 4, !tbaa !5
  %12743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12744 = load i32, ptr @test_count, align 4, !tbaa !5
  %12745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12746 = load i32, ptr %12745, align 4, !tbaa !5
  %12747 = call ptr @s2n_strerror(i32 noundef %12746, ptr noundef @.str.80)
  %12748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12749 = load i32, ptr %12748, align 4, !tbaa !5
  %12750 = call ptr @s2n_strerror_debug(i32 noundef %12749, ptr noundef @.str.80)
  %12751 = call ptr @__errno_location() #13
  %12752 = load i32, ptr %12751, align 4, !tbaa !5
  %12753 = call ptr @strerror(i32 noundef %12752) #12
  %12754 = call ptr @__errno_location() #13
  %12755 = load i32, ptr %12754, align 4, !tbaa !5
  %12756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12743, ptr noundef @.str.78, i32 noundef %12744, ptr noundef @.str.165, ptr noundef @.str.77, i32 noundef 475, ptr noundef %12747, ptr noundef %12750, ptr noundef %12753, i32 noundef %12755) #12
  br label %12774

12757:                                            ; preds = %12735, %12728
  %12758 = load i32, ptr %285, align 4, !tbaa !5
  %12759 = call ptr @__errno_location() #13
  store i32 %12758, ptr %12759, align 4, !tbaa !5
  %12760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12761 = load i32, ptr @test_count, align 4, !tbaa !5
  %12762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12763 = load i32, ptr %12762, align 4, !tbaa !5
  %12764 = call ptr @s2n_strerror(i32 noundef %12763, ptr noundef @.str.80)
  %12765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12766 = load i32, ptr %12765, align 4, !tbaa !5
  %12767 = call ptr @s2n_strerror_debug(i32 noundef %12766, ptr noundef @.str.80)
  %12768 = call ptr @__errno_location() #13
  %12769 = load i32, ptr %12768, align 4, !tbaa !5
  %12770 = call ptr @strerror(i32 noundef %12769) #12
  %12771 = call ptr @__errno_location() #13
  %12772 = load i32, ptr %12771, align 4, !tbaa !5
  %12773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12760, ptr noundef @.str.81, i32 noundef %12761, ptr noundef @.str.165, ptr noundef @.str.77, i32 noundef 475, ptr noundef %12764, ptr noundef %12767, ptr noundef %12770, i32 noundef %12772) #12
  br label %12774

12774:                                            ; preds = %12757, %12740
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #12
  br label %12775

12775:                                            ; preds = %12774
  br label %12776

12776:                                            ; preds = %12775
  call void @exit(i32 noundef 1) #14
  unreachable

12777:                                            ; No predecessors!
  br label %12778

12778:                                            ; preds = %12777
  br label %12779

12779:                                            ; preds = %12778, %12718
  br label %12780

12780:                                            ; preds = %12779
  br label %12781

12781:                                            ; preds = %12780
  br label %12782

12782:                                            ; preds = %12781
  %12783 = load i32, ptr @test_count, align 4, !tbaa !5
  %12784 = add nsw i32 %12783, 1
  store i32 %12784, ptr @test_count, align 4, !tbaa !5
  %12785 = load ptr, ptr %267, align 8, !tbaa !9
  %12786 = getelementptr inbounds %struct.s2n_connection, ptr %12785, i32 0, i32 33
  %12787 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %12786, i32 0, i32 4
  %12788 = load ptr, ptr %12787, align 8, !tbaa !61
  %12789 = getelementptr inbounds %struct.s2n_psk, ptr %12788, i32 0, i32 3
  %12790 = load i32, ptr %12789, align 8, !tbaa !74
  %12791 = load i32, ptr getelementptr inbounds (%struct.s2n_cipher_suite, ptr @s2n_tls13_aes_128_gcm_sha256, i32 0, i32 11), align 8, !tbaa !77
  %12792 = icmp eq i32 %12790, %12791
  br i1 %12792, label %12846, label %12793

12793:                                            ; preds = %12782
  br label %12794

12794:                                            ; preds = %12793
  br label %12795

12795:                                            ; preds = %12794
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #12
  %12796 = call ptr @__errno_location() #13
  %12797 = load i32, ptr %12796, align 4, !tbaa !5
  store i32 %12797, ptr %286, align 4, !tbaa !5
  %12798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12799 = call i32 @s2n_print_stacktrace(ptr noundef %12798)
  %12800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12801 = trunc i8 %12800 to i1
  br i1 %12801, label %12802, label %12824

12802:                                            ; preds = %12795
  %12803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12804 = call i32 @fileno(ptr noundef %12803) #12
  %12805 = call i32 @isatty(i32 noundef %12804) #12
  %12806 = icmp ne i32 %12805, 0
  br i1 %12806, label %12807, label %12824

12807:                                            ; preds = %12802
  %12808 = load i32, ptr %286, align 4, !tbaa !5
  %12809 = call ptr @__errno_location() #13
  store i32 %12808, ptr %12809, align 4, !tbaa !5
  %12810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12811 = load i32, ptr @test_count, align 4, !tbaa !5
  %12812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12813 = load i32, ptr %12812, align 4, !tbaa !5
  %12814 = call ptr @s2n_strerror(i32 noundef %12813, ptr noundef @.str.80)
  %12815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12816 = load i32, ptr %12815, align 4, !tbaa !5
  %12817 = call ptr @s2n_strerror_debug(i32 noundef %12816, ptr noundef @.str.80)
  %12818 = call ptr @__errno_location() #13
  %12819 = load i32, ptr %12818, align 4, !tbaa !5
  %12820 = call ptr @strerror(i32 noundef %12819) #12
  %12821 = call ptr @__errno_location() #13
  %12822 = load i32, ptr %12821, align 4, !tbaa !5
  %12823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12810, ptr noundef @.str.78, i32 noundef %12811, ptr noundef @.str.166, ptr noundef @.str.77, i32 noundef 478, ptr noundef %12814, ptr noundef %12817, ptr noundef %12820, i32 noundef %12822) #12
  br label %12841

12824:                                            ; preds = %12802, %12795
  %12825 = load i32, ptr %286, align 4, !tbaa !5
  %12826 = call ptr @__errno_location() #13
  store i32 %12825, ptr %12826, align 4, !tbaa !5
  %12827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12828 = load i32, ptr @test_count, align 4, !tbaa !5
  %12829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12830 = load i32, ptr %12829, align 4, !tbaa !5
  %12831 = call ptr @s2n_strerror(i32 noundef %12830, ptr noundef @.str.80)
  %12832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12833 = load i32, ptr %12832, align 4, !tbaa !5
  %12834 = call ptr @s2n_strerror_debug(i32 noundef %12833, ptr noundef @.str.80)
  %12835 = call ptr @__errno_location() #13
  %12836 = load i32, ptr %12835, align 4, !tbaa !5
  %12837 = call ptr @strerror(i32 noundef %12836) #12
  %12838 = call ptr @__errno_location() #13
  %12839 = load i32, ptr %12838, align 4, !tbaa !5
  %12840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12827, ptr noundef @.str.81, i32 noundef %12828, ptr noundef @.str.166, ptr noundef @.str.77, i32 noundef 478, ptr noundef %12831, ptr noundef %12834, ptr noundef %12837, i32 noundef %12839) #12
  br label %12841

12841:                                            ; preds = %12824, %12807
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #12
  br label %12842

12842:                                            ; preds = %12841
  br label %12843

12843:                                            ; preds = %12842
  call void @exit(i32 noundef 1) #14
  unreachable

12844:                                            ; No predecessors!
  br label %12845

12845:                                            ; preds = %12844
  br label %12846

12846:                                            ; preds = %12845, %12782
  br label %12847

12847:                                            ; preds = %12846
  br label %12848

12848:                                            ; preds = %12847
  br label %12849

12849:                                            ; preds = %12848
  %12850 = load i32, ptr @test_count, align 4, !tbaa !5
  %12851 = add nsw i32 %12850, 1
  store i32 %12851, ptr @test_count, align 4, !tbaa !5
  %12852 = load ptr, ptr %269, align 8, !tbaa !9
  %12853 = call i32 @s2n_config_free(ptr noundef %12852)
  %12854 = icmp eq i32 %12853, -1
  br i1 %12854, label %12855, label %12908

12855:                                            ; preds = %12849
  br label %12856

12856:                                            ; preds = %12855
  br label %12857

12857:                                            ; preds = %12856
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #12
  %12858 = call ptr @__errno_location() #13
  %12859 = load i32, ptr %12858, align 4, !tbaa !5
  store i32 %12859, ptr %287, align 4, !tbaa !5
  %12860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12861 = call i32 @s2n_print_stacktrace(ptr noundef %12860)
  %12862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12863 = trunc i8 %12862 to i1
  br i1 %12863, label %12864, label %12886

12864:                                            ; preds = %12857
  %12865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12866 = call i32 @fileno(ptr noundef %12865) #12
  %12867 = call i32 @isatty(i32 noundef %12866) #12
  %12868 = icmp ne i32 %12867, 0
  br i1 %12868, label %12869, label %12886

12869:                                            ; preds = %12864
  %12870 = load i32, ptr %287, align 4, !tbaa !5
  %12871 = call ptr @__errno_location() #13
  store i32 %12870, ptr %12871, align 4, !tbaa !5
  %12872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12873 = load i32, ptr @test_count, align 4, !tbaa !5
  %12874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12875 = load i32, ptr %12874, align 4, !tbaa !5
  %12876 = call ptr @s2n_strerror(i32 noundef %12875, ptr noundef @.str.80)
  %12877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12878 = load i32, ptr %12877, align 4, !tbaa !5
  %12879 = call ptr @s2n_strerror_debug(i32 noundef %12878, ptr noundef @.str.80)
  %12880 = call ptr @__errno_location() #13
  %12881 = load i32, ptr %12880, align 4, !tbaa !5
  %12882 = call ptr @strerror(i32 noundef %12881) #12
  %12883 = call ptr @__errno_location() #13
  %12884 = load i32, ptr %12883, align 4, !tbaa !5
  %12885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12872, ptr noundef @.str.78, i32 noundef %12873, ptr noundef @.str.167, ptr noundef @.str.77, i32 noundef 480, ptr noundef %12876, ptr noundef %12879, ptr noundef %12882, i32 noundef %12884) #12
  br label %12903

12886:                                            ; preds = %12864, %12857
  %12887 = load i32, ptr %287, align 4, !tbaa !5
  %12888 = call ptr @__errno_location() #13
  store i32 %12887, ptr %12888, align 4, !tbaa !5
  %12889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12890 = load i32, ptr @test_count, align 4, !tbaa !5
  %12891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12892 = load i32, ptr %12891, align 4, !tbaa !5
  %12893 = call ptr @s2n_strerror(i32 noundef %12892, ptr noundef @.str.80)
  %12894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12895 = load i32, ptr %12894, align 4, !tbaa !5
  %12896 = call ptr @s2n_strerror_debug(i32 noundef %12895, ptr noundef @.str.80)
  %12897 = call ptr @__errno_location() #13
  %12898 = load i32, ptr %12897, align 4, !tbaa !5
  %12899 = call ptr @strerror(i32 noundef %12898) #12
  %12900 = call ptr @__errno_location() #13
  %12901 = load i32, ptr %12900, align 4, !tbaa !5
  %12902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12889, ptr noundef @.str.81, i32 noundef %12890, ptr noundef @.str.167, ptr noundef @.str.77, i32 noundef 480, ptr noundef %12893, ptr noundef %12896, ptr noundef %12899, i32 noundef %12901) #12
  br label %12903

12903:                                            ; preds = %12886, %12869
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #12
  br label %12904

12904:                                            ; preds = %12903
  br label %12905

12905:                                            ; preds = %12904
  call void @exit(i32 noundef 1) #14
  unreachable

12906:                                            ; No predecessors!
  br label %12907

12907:                                            ; preds = %12906
  br label %12908

12908:                                            ; preds = %12907, %12849
  br label %12909

12909:                                            ; preds = %12908
  br label %12910

12910:                                            ; preds = %12909
  br label %12911

12911:                                            ; preds = %12910
  %12912 = load i32, ptr @test_count, align 4, !tbaa !5
  %12913 = add nsw i32 %12912, 1
  store i32 %12913, ptr @test_count, align 4, !tbaa !5
  %12914 = load ptr, ptr %267, align 8, !tbaa !9
  %12915 = call i32 @s2n_connection_free(ptr noundef %12914)
  %12916 = icmp eq i32 %12915, -1
  br i1 %12916, label %12917, label %12970

12917:                                            ; preds = %12911
  br label %12918

12918:                                            ; preds = %12917
  br label %12919

12919:                                            ; preds = %12918
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #12
  %12920 = call ptr @__errno_location() #13
  %12921 = load i32, ptr %12920, align 4, !tbaa !5
  store i32 %12921, ptr %288, align 4, !tbaa !5
  %12922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12923 = call i32 @s2n_print_stacktrace(ptr noundef %12922)
  %12924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12925 = trunc i8 %12924 to i1
  br i1 %12925, label %12926, label %12948

12926:                                            ; preds = %12919
  %12927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12928 = call i32 @fileno(ptr noundef %12927) #12
  %12929 = call i32 @isatty(i32 noundef %12928) #12
  %12930 = icmp ne i32 %12929, 0
  br i1 %12930, label %12931, label %12948

12931:                                            ; preds = %12926
  %12932 = load i32, ptr %288, align 4, !tbaa !5
  %12933 = call ptr @__errno_location() #13
  store i32 %12932, ptr %12933, align 4, !tbaa !5
  %12934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12935 = load i32, ptr @test_count, align 4, !tbaa !5
  %12936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12937 = load i32, ptr %12936, align 4, !tbaa !5
  %12938 = call ptr @s2n_strerror(i32 noundef %12937, ptr noundef @.str.80)
  %12939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12940 = load i32, ptr %12939, align 4, !tbaa !5
  %12941 = call ptr @s2n_strerror_debug(i32 noundef %12940, ptr noundef @.str.80)
  %12942 = call ptr @__errno_location() #13
  %12943 = load i32, ptr %12942, align 4, !tbaa !5
  %12944 = call ptr @strerror(i32 noundef %12943) #12
  %12945 = call ptr @__errno_location() #13
  %12946 = load i32, ptr %12945, align 4, !tbaa !5
  %12947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12934, ptr noundef @.str.78, i32 noundef %12935, ptr noundef @.str.168, ptr noundef @.str.77, i32 noundef 481, ptr noundef %12938, ptr noundef %12941, ptr noundef %12944, i32 noundef %12946) #12
  br label %12965

12948:                                            ; preds = %12926, %12919
  %12949 = load i32, ptr %288, align 4, !tbaa !5
  %12950 = call ptr @__errno_location() #13
  store i32 %12949, ptr %12950, align 4, !tbaa !5
  %12951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12952 = load i32, ptr @test_count, align 4, !tbaa !5
  %12953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12954 = load i32, ptr %12953, align 4, !tbaa !5
  %12955 = call ptr @s2n_strerror(i32 noundef %12954, ptr noundef @.str.80)
  %12956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12957 = load i32, ptr %12956, align 4, !tbaa !5
  %12958 = call ptr @s2n_strerror_debug(i32 noundef %12957, ptr noundef @.str.80)
  %12959 = call ptr @__errno_location() #13
  %12960 = load i32, ptr %12959, align 4, !tbaa !5
  %12961 = call ptr @strerror(i32 noundef %12960) #12
  %12962 = call ptr @__errno_location() #13
  %12963 = load i32, ptr %12962, align 4, !tbaa !5
  %12964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12951, ptr noundef @.str.81, i32 noundef %12952, ptr noundef @.str.168, ptr noundef @.str.77, i32 noundef 481, ptr noundef %12955, ptr noundef %12958, ptr noundef %12961, i32 noundef %12963) #12
  br label %12965

12965:                                            ; preds = %12948, %12931
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #12
  br label %12966

12966:                                            ; preds = %12965
  br label %12967

12967:                                            ; preds = %12966
  call void @exit(i32 noundef 1) #14
  unreachable

12968:                                            ; No predecessors!
  br label %12969

12969:                                            ; preds = %12968
  br label %12970

12970:                                            ; preds = %12969, %12911
  br label %12971

12971:                                            ; preds = %12970
  br label %12972

12972:                                            ; preds = %12971
  call void @llvm.lifetime.end.p0(i64 32, ptr %282) #12
  %12973 = call i32 @s2n_stuffer_free(ptr noundef %279)
  call void @llvm.lifetime.end.p0(i64 40, ptr %279) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %278) #12
  %12974 = call i32 @s2n_stuffer_free(ptr noundef %274)
  call void @llvm.lifetime.end.p0(i64 40, ptr %274) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %269) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %267) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr %289) #12
  %12975 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12975, ptr %289, align 8, !tbaa !9
  br label %12976

12976:                                            ; preds = %12972
  %12977 = load i32, ptr @test_count, align 4, !tbaa !5
  %12978 = add nsw i32 %12977, 1
  store i32 %12978, ptr @test_count, align 4, !tbaa !5
  %12979 = load ptr, ptr %289, align 8, !tbaa !9
  %12980 = icmp eq ptr %12979, null
  br i1 %12980, label %12981, label %13034

12981:                                            ; preds = %12976
  br label %12982

12982:                                            ; preds = %12981
  br label %12983

12983:                                            ; preds = %12982
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #12
  %12984 = call ptr @__errno_location() #13
  %12985 = load i32, ptr %12984, align 4, !tbaa !5
  store i32 %12985, ptr %290, align 4, !tbaa !5
  %12986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12987 = call i32 @s2n_print_stacktrace(ptr noundef %12986)
  %12988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12989 = trunc i8 %12988 to i1
  br i1 %12989, label %12990, label %13012

12990:                                            ; preds = %12983
  %12991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12992 = call i32 @fileno(ptr noundef %12991) #12
  %12993 = call i32 @isatty(i32 noundef %12992) #12
  %12994 = icmp ne i32 %12993, 0
  br i1 %12994, label %12995, label %13012

12995:                                            ; preds = %12990
  %12996 = load i32, ptr %290, align 4, !tbaa !5
  %12997 = call ptr @__errno_location() #13
  store i32 %12996, ptr %12997, align 4, !tbaa !5
  %12998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12999 = load i32, ptr @test_count, align 4, !tbaa !5
  %13000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13001 = load i32, ptr %13000, align 4, !tbaa !5
  %13002 = call ptr @s2n_strerror(i32 noundef %13001, ptr noundef @.str.80)
  %13003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13004 = load i32, ptr %13003, align 4, !tbaa !5
  %13005 = call ptr @s2n_strerror_debug(i32 noundef %13004, ptr noundef @.str.80)
  %13006 = call ptr @__errno_location() #13
  %13007 = load i32, ptr %13006, align 4, !tbaa !5
  %13008 = call ptr @strerror(i32 noundef %13007) #12
  %13009 = call ptr @__errno_location() #13
  %13010 = load i32, ptr %13009, align 4, !tbaa !5
  %13011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12998, ptr noundef @.str.78, i32 noundef %12999, ptr noundef @.str.155, ptr noundef @.str.77, i32 noundef 487, ptr noundef %13002, ptr noundef %13005, ptr noundef %13008, i32 noundef %13010) #12
  br label %13029

13012:                                            ; preds = %12990, %12983
  %13013 = load i32, ptr %290, align 4, !tbaa !5
  %13014 = call ptr @__errno_location() #13
  store i32 %13013, ptr %13014, align 4, !tbaa !5
  %13015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13016 = load i32, ptr @test_count, align 4, !tbaa !5
  %13017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13018 = load i32, ptr %13017, align 4, !tbaa !5
  %13019 = call ptr @s2n_strerror(i32 noundef %13018, ptr noundef @.str.80)
  %13020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13021 = load i32, ptr %13020, align 4, !tbaa !5
  %13022 = call ptr @s2n_strerror_debug(i32 noundef %13021, ptr noundef @.str.80)
  %13023 = call ptr @__errno_location() #13
  %13024 = load i32, ptr %13023, align 4, !tbaa !5
  %13025 = call ptr @strerror(i32 noundef %13024) #12
  %13026 = call ptr @__errno_location() #13
  %13027 = load i32, ptr %13026, align 4, !tbaa !5
  %13028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13015, ptr noundef @.str.81, i32 noundef %13016, ptr noundef @.str.155, ptr noundef @.str.77, i32 noundef 487, ptr noundef %13019, ptr noundef %13022, ptr noundef %13025, i32 noundef %13027) #12
  br label %13029

13029:                                            ; preds = %13012, %12995
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #12
  br label %13030

13030:                                            ; preds = %13029
  br label %13031

13031:                                            ; preds = %13030
  call void @exit(i32 noundef 1) #14
  unreachable

13032:                                            ; No predecessors!
  br label %13033

13033:                                            ; preds = %13032
  br label %13034

13034:                                            ; preds = %13033, %12976
  br label %13035

13035:                                            ; preds = %13034
  br label %13036

13036:                                            ; preds = %13035
  call void @llvm.lifetime.start.p0(i64 8, ptr %291) #12
  %13037 = call ptr @s2n_config_new()
  store ptr %13037, ptr %291, align 8, !tbaa !9
  br label %13038

13038:                                            ; preds = %13036
  %13039 = load i32, ptr @test_count, align 4, !tbaa !5
  %13040 = add nsw i32 %13039, 1
  store i32 %13040, ptr @test_count, align 4, !tbaa !5
  %13041 = load ptr, ptr %291, align 8, !tbaa !9
  %13042 = icmp eq ptr %13041, null
  br i1 %13042, label %13043, label %13096

13043:                                            ; preds = %13038
  br label %13044

13044:                                            ; preds = %13043
  br label %13045

13045:                                            ; preds = %13044
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #12
  %13046 = call ptr @__errno_location() #13
  %13047 = load i32, ptr %13046, align 4, !tbaa !5
  store i32 %13047, ptr %292, align 4, !tbaa !5
  %13048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13049 = call i32 @s2n_print_stacktrace(ptr noundef %13048)
  %13050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13051 = trunc i8 %13050 to i1
  br i1 %13051, label %13052, label %13074

13052:                                            ; preds = %13045
  %13053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13054 = call i32 @fileno(ptr noundef %13053) #12
  %13055 = call i32 @isatty(i32 noundef %13054) #12
  %13056 = icmp ne i32 %13055, 0
  br i1 %13056, label %13057, label %13074

13057:                                            ; preds = %13052
  %13058 = load i32, ptr %292, align 4, !tbaa !5
  %13059 = call ptr @__errno_location() #13
  store i32 %13058, ptr %13059, align 4, !tbaa !5
  %13060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13061 = load i32, ptr @test_count, align 4, !tbaa !5
  %13062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13063 = load i32, ptr %13062, align 4, !tbaa !5
  %13064 = call ptr @s2n_strerror(i32 noundef %13063, ptr noundef @.str.80)
  %13065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13066 = load i32, ptr %13065, align 4, !tbaa !5
  %13067 = call ptr @s2n_strerror_debug(i32 noundef %13066, ptr noundef @.str.80)
  %13068 = call ptr @__errno_location() #13
  %13069 = load i32, ptr %13068, align 4, !tbaa !5
  %13070 = call ptr @strerror(i32 noundef %13069) #12
  %13071 = call ptr @__errno_location() #13
  %13072 = load i32, ptr %13071, align 4, !tbaa !5
  %13073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13060, ptr noundef @.str.78, i32 noundef %13061, ptr noundef @.str.156, ptr noundef @.str.77, i32 noundef 490, ptr noundef %13064, ptr noundef %13067, ptr noundef %13070, i32 noundef %13072) #12
  br label %13091

13074:                                            ; preds = %13052, %13045
  %13075 = load i32, ptr %292, align 4, !tbaa !5
  %13076 = call ptr @__errno_location() #13
  store i32 %13075, ptr %13076, align 4, !tbaa !5
  %13077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13078 = load i32, ptr @test_count, align 4, !tbaa !5
  %13079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13080 = load i32, ptr %13079, align 4, !tbaa !5
  %13081 = call ptr @s2n_strerror(i32 noundef %13080, ptr noundef @.str.80)
  %13082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13083 = load i32, ptr %13082, align 4, !tbaa !5
  %13084 = call ptr @s2n_strerror_debug(i32 noundef %13083, ptr noundef @.str.80)
  %13085 = call ptr @__errno_location() #13
  %13086 = load i32, ptr %13085, align 4, !tbaa !5
  %13087 = call ptr @strerror(i32 noundef %13086) #12
  %13088 = call ptr @__errno_location() #13
  %13089 = load i32, ptr %13088, align 4, !tbaa !5
  %13090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13077, ptr noundef @.str.81, i32 noundef %13078, ptr noundef @.str.156, ptr noundef @.str.77, i32 noundef 490, ptr noundef %13081, ptr noundef %13084, ptr noundef %13087, i32 noundef %13089) #12
  br label %13091

13091:                                            ; preds = %13074, %13057
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #12
  br label %13092

13092:                                            ; preds = %13091
  br label %13093

13093:                                            ; preds = %13092
  call void @exit(i32 noundef 1) #14
  unreachable

13094:                                            ; No predecessors!
  br label %13095

13095:                                            ; preds = %13094
  br label %13096

13096:                                            ; preds = %13095, %13038
  br label %13097

13097:                                            ; preds = %13096
  br label %13098

13098:                                            ; preds = %13097
  br label %13099

13099:                                            ; preds = %13098
  %13100 = load i32, ptr @test_count, align 4, !tbaa !5
  %13101 = add nsw i32 %13100, 1
  store i32 %13101, ptr @test_count, align 4, !tbaa !5
  %13102 = load ptr, ptr %291, align 8, !tbaa !9
  %13103 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %13102)
  %13104 = getelementptr inbounds %struct.s2n_result, ptr %293, i32 0, i32 0
  store i32 %13103, ptr %13104, align 4
  %13105 = getelementptr inbounds %struct.s2n_result, ptr %293, i32 0, i32 0
  %13106 = load i32, ptr %13105, align 4
  %13107 = call zeroext i1 @s2n_result_is_ok(i32 %13106)
  br i1 %13107, label %13161, label %13108

13108:                                            ; preds = %13099
  br label %13109

13109:                                            ; preds = %13108
  br label %13110

13110:                                            ; preds = %13109
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #12
  %13111 = call ptr @__errno_location() #13
  %13112 = load i32, ptr %13111, align 4, !tbaa !5
  store i32 %13112, ptr %294, align 4, !tbaa !5
  %13113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13114 = call i32 @s2n_print_stacktrace(ptr noundef %13113)
  %13115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13116 = trunc i8 %13115 to i1
  br i1 %13116, label %13117, label %13139

13117:                                            ; preds = %13110
  %13118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13119 = call i32 @fileno(ptr noundef %13118) #12
  %13120 = call i32 @isatty(i32 noundef %13119) #12
  %13121 = icmp ne i32 %13120, 0
  br i1 %13121, label %13122, label %13139

13122:                                            ; preds = %13117
  %13123 = load i32, ptr %294, align 4, !tbaa !5
  %13124 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %13133 = call ptr @__errno_location() #13
  %13134 = load i32, ptr %13133, align 4, !tbaa !5
  %13135 = call ptr @strerror(i32 noundef %13134) #12
  %13136 = call ptr @__errno_location() #13
  %13137 = load i32, ptr %13136, align 4, !tbaa !5
  %13138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13125, ptr noundef @.str.78, i32 noundef %13126, ptr noundef @.str.157, ptr noundef @.str.77, i32 noundef 491, ptr noundef %13129, ptr noundef %13132, ptr noundef %13135, i32 noundef %13137) #12
  br label %13156

13139:                                            ; preds = %13117, %13110
  %13140 = load i32, ptr %294, align 4, !tbaa !5
  %13141 = call ptr @__errno_location() #13
  store i32 %13140, ptr %13141, align 4, !tbaa !5
  %13142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13143 = load i32, ptr @test_count, align 4, !tbaa !5
  %13144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13145 = load i32, ptr %13144, align 4, !tbaa !5
  %13146 = call ptr @s2n_strerror(i32 noundef %13145, ptr noundef @.str.80)
  %13147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13148 = load i32, ptr %13147, align 4, !tbaa !5
  %13149 = call ptr @s2n_strerror_debug(i32 noundef %13148, ptr noundef @.str.80)
  %13150 = call ptr @__errno_location() #13
  %13151 = load i32, ptr %13150, align 4, !tbaa !5
  %13152 = call ptr @strerror(i32 noundef %13151) #12
  %13153 = call ptr @__errno_location() #13
  %13154 = load i32, ptr %13153, align 4, !tbaa !5
  %13155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13142, ptr noundef @.str.81, i32 noundef %13143, ptr noundef @.str.157, ptr noundef @.str.77, i32 noundef 491, ptr noundef %13146, ptr noundef %13149, ptr noundef %13152, i32 noundef %13154) #12
  br label %13156

13156:                                            ; preds = %13139, %13122
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #12
  br label %13157

13157:                                            ; preds = %13156
  br label %13158

13158:                                            ; preds = %13157
  call void @exit(i32 noundef 1) #14
  unreachable

13159:                                            ; No predecessors!
  br label %13160

13160:                                            ; preds = %13159
  br label %13161

13161:                                            ; preds = %13160, %13099
  br label %13162

13162:                                            ; preds = %13161
  br label %13163

13163:                                            ; preds = %13162
  br label %13164

13164:                                            ; preds = %13163
  %13165 = load i32, ptr @test_count, align 4, !tbaa !5
  %13166 = add nsw i32 %13165, 1
  store i32 %13166, ptr @test_count, align 4, !tbaa !5
  %13167 = load ptr, ptr %289, align 8, !tbaa !9
  %13168 = load ptr, ptr %291, align 8, !tbaa !9
  %13169 = call i32 @s2n_connection_set_config(ptr noundef %13167, ptr noundef %13168)
  %13170 = icmp eq i32 %13169, -1
  br i1 %13170, label %13171, label %13224

13171:                                            ; preds = %13164
  br label %13172

13172:                                            ; preds = %13171
  br label %13173

13173:                                            ; preds = %13172
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #12
  %13174 = call ptr @__errno_location() #13
  %13175 = load i32, ptr %13174, align 4, !tbaa !5
  store i32 %13175, ptr %295, align 4, !tbaa !5
  %13176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13177 = call i32 @s2n_print_stacktrace(ptr noundef %13176)
  %13178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13179 = trunc i8 %13178 to i1
  br i1 %13179, label %13180, label %13202

13180:                                            ; preds = %13173
  %13181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13182 = call i32 @fileno(ptr noundef %13181) #12
  %13183 = call i32 @isatty(i32 noundef %13182) #12
  %13184 = icmp ne i32 %13183, 0
  br i1 %13184, label %13185, label %13202

13185:                                            ; preds = %13180
  %13186 = load i32, ptr %295, align 4, !tbaa !5
  %13187 = call ptr @__errno_location() #13
  store i32 %13186, ptr %13187, align 4, !tbaa !5
  %13188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13189 = load i32, ptr @test_count, align 4, !tbaa !5
  %13190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13191 = load i32, ptr %13190, align 4, !tbaa !5
  %13192 = call ptr @s2n_strerror(i32 noundef %13191, ptr noundef @.str.80)
  %13193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13194 = load i32, ptr %13193, align 4, !tbaa !5
  %13195 = call ptr @s2n_strerror_debug(i32 noundef %13194, ptr noundef @.str.80)
  %13196 = call ptr @__errno_location() #13
  %13197 = load i32, ptr %13196, align 4, !tbaa !5
  %13198 = call ptr @strerror(i32 noundef %13197) #12
  %13199 = call ptr @__errno_location() #13
  %13200 = load i32, ptr %13199, align 4, !tbaa !5
  %13201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13188, ptr noundef @.str.78, i32 noundef %13189, ptr noundef @.str.158, ptr noundef @.str.77, i32 noundef 492, ptr noundef %13192, ptr noundef %13195, ptr noundef %13198, i32 noundef %13200) #12
  br label %13219

13202:                                            ; preds = %13180, %13173
  %13203 = load i32, ptr %295, align 4, !tbaa !5
  %13204 = call ptr @__errno_location() #13
  store i32 %13203, ptr %13204, align 4, !tbaa !5
  %13205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13206 = load i32, ptr @test_count, align 4, !tbaa !5
  %13207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13208 = load i32, ptr %13207, align 4, !tbaa !5
  %13209 = call ptr @s2n_strerror(i32 noundef %13208, ptr noundef @.str.80)
  %13210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13211 = load i32, ptr %13210, align 4, !tbaa !5
  %13212 = call ptr @s2n_strerror_debug(i32 noundef %13211, ptr noundef @.str.80)
  %13213 = call ptr @__errno_location() #13
  %13214 = load i32, ptr %13213, align 4, !tbaa !5
  %13215 = call ptr @strerror(i32 noundef %13214) #12
  %13216 = call ptr @__errno_location() #13
  %13217 = load i32, ptr %13216, align 4, !tbaa !5
  %13218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13205, ptr noundef @.str.81, i32 noundef %13206, ptr noundef @.str.158, ptr noundef @.str.77, i32 noundef 492, ptr noundef %13209, ptr noundef %13212, ptr noundef %13215, i32 noundef %13217) #12
  br label %13219

13219:                                            ; preds = %13202, %13185
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #12
  br label %13220

13220:                                            ; preds = %13219
  br label %13221

13221:                                            ; preds = %13220
  call void @exit(i32 noundef 1) #14
  unreachable

13222:                                            ; No predecessors!
  br label %13223

13223:                                            ; preds = %13222
  br label %13224

13224:                                            ; preds = %13223, %13164
  br label %13225

13225:                                            ; preds = %13224
  br label %13226

13226:                                            ; preds = %13225
  %13227 = load ptr, ptr %289, align 8, !tbaa !9
  %13228 = getelementptr inbounds %struct.s2n_connection, ptr %13227, i32 0, i32 33
  %13229 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13228, i32 0, i32 0
  store i32 0, ptr %13229, align 8, !tbaa !23
  %13230 = load ptr, ptr %289, align 8, !tbaa !9
  %13231 = getelementptr inbounds %struct.s2n_connection, ptr %13230, i32 0, i32 23
  store i8 34, ptr %13231, align 4, !tbaa !63
  %13232 = load ptr, ptr %289, align 8, !tbaa !9
  %13233 = getelementptr inbounds %struct.s2n_connection, ptr %13232, i32 0, i32 27
  %13234 = load ptr, ptr %13233, align 8, !tbaa !64
  %13235 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %13234, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %13235, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 40, ptr %296) #12
  call void @llvm.memset.p0.i64(ptr align 8 %296, i8 0, i64 40, i1 false)
  br label %13236

13236:                                            ; preds = %13226
  %13237 = load i32, ptr @test_count, align 4, !tbaa !5
  %13238 = add nsw i32 %13237, 1
  store i32 %13238, ptr @test_count, align 4, !tbaa !5
  %13239 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %296, i32 noundef 0)
  %13240 = icmp eq i32 %13239, -1
  br i1 %13240, label %13241, label %13294

13241:                                            ; preds = %13236
  br label %13242

13242:                                            ; preds = %13241
  br label %13243

13243:                                            ; preds = %13242
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #12
  %13244 = call ptr @__errno_location() #13
  %13245 = load i32, ptr %13244, align 4, !tbaa !5
  store i32 %13245, ptr %297, align 4, !tbaa !5
  %13246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13247 = call i32 @s2n_print_stacktrace(ptr noundef %13246)
  %13248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13249 = trunc i8 %13248 to i1
  br i1 %13249, label %13250, label %13272

13250:                                            ; preds = %13243
  %13251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13252 = call i32 @fileno(ptr noundef %13251) #12
  %13253 = call i32 @isatty(i32 noundef %13252) #12
  %13254 = icmp ne i32 %13253, 0
  br i1 %13254, label %13255, label %13272

13255:                                            ; preds = %13250
  %13256 = load i32, ptr %297, align 4, !tbaa !5
  %13257 = call ptr @__errno_location() #13
  store i32 %13256, ptr %13257, align 4, !tbaa !5
  %13258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13259 = load i32, ptr @test_count, align 4, !tbaa !5
  %13260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13261 = load i32, ptr %13260, align 4, !tbaa !5
  %13262 = call ptr @s2n_strerror(i32 noundef %13261, ptr noundef @.str.80)
  %13263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13264 = load i32, ptr %13263, align 4, !tbaa !5
  %13265 = call ptr @s2n_strerror_debug(i32 noundef %13264, ptr noundef @.str.80)
  %13266 = call ptr @__errno_location() #13
  %13267 = load i32, ptr %13266, align 4, !tbaa !5
  %13268 = call ptr @strerror(i32 noundef %13267) #12
  %13269 = call ptr @__errno_location() #13
  %13270 = load i32, ptr %13269, align 4, !tbaa !5
  %13271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13258, ptr noundef @.str.78, i32 noundef %13259, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 499, ptr noundef %13262, ptr noundef %13265, ptr noundef %13268, i32 noundef %13270) #12
  br label %13289

13272:                                            ; preds = %13250, %13243
  %13273 = load i32, ptr %297, align 4, !tbaa !5
  %13274 = call ptr @__errno_location() #13
  store i32 %13273, ptr %13274, align 4, !tbaa !5
  %13275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13276 = load i32, ptr @test_count, align 4, !tbaa !5
  %13277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13278 = load i32, ptr %13277, align 4, !tbaa !5
  %13279 = call ptr @s2n_strerror(i32 noundef %13278, ptr noundef @.str.80)
  %13280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13281 = load i32, ptr %13280, align 4, !tbaa !5
  %13282 = call ptr @s2n_strerror_debug(i32 noundef %13281, ptr noundef @.str.80)
  %13283 = call ptr @__errno_location() #13
  %13284 = load i32, ptr %13283, align 4, !tbaa !5
  %13285 = call ptr @strerror(i32 noundef %13284) #12
  %13286 = call ptr @__errno_location() #13
  %13287 = load i32, ptr %13286, align 4, !tbaa !5
  %13288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13275, ptr noundef @.str.81, i32 noundef %13276, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 499, ptr noundef %13279, ptr noundef %13282, ptr noundef %13285, i32 noundef %13287) #12
  br label %13289

13289:                                            ; preds = %13272, %13255
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #12
  br label %13290

13290:                                            ; preds = %13289
  br label %13291

13291:                                            ; preds = %13290
  call void @exit(i32 noundef 1) #14
  unreachable

13292:                                            ; No predecessors!
  br label %13293

13293:                                            ; preds = %13292
  br label %13294

13294:                                            ; preds = %13293, %13236
  br label %13295

13295:                                            ; preds = %13294
  br label %13296

13296:                                            ; preds = %13295
  br label %13297

13297:                                            ; preds = %13296
  %13298 = load i32, ptr @test_count, align 4, !tbaa !5
  %13299 = add nsw i32 %13298, 1
  store i32 %13299, ptr @test_count, align 4, !tbaa !5
  %13300 = load ptr, ptr %289, align 8, !tbaa !9
  %13301 = call i32 @s2n_setup_encrypted_ticket(ptr noundef %13300, ptr noundef %296)
  %13302 = getelementptr inbounds %struct.s2n_result, ptr %298, i32 0, i32 0
  store i32 %13301, ptr %13302, align 4
  %13303 = getelementptr inbounds %struct.s2n_result, ptr %298, i32 0, i32 0
  %13304 = load i32, ptr %13303, align 4
  %13305 = call zeroext i1 @s2n_result_is_ok(i32 %13304)
  br i1 %13305, label %13359, label %13306

13306:                                            ; preds = %13297
  br label %13307

13307:                                            ; preds = %13306
  br label %13308

13308:                                            ; preds = %13307
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #12
  %13309 = call ptr @__errno_location() #13
  %13310 = load i32, ptr %13309, align 4, !tbaa !5
  store i32 %13310, ptr %299, align 4, !tbaa !5
  %13311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13312 = call i32 @s2n_print_stacktrace(ptr noundef %13311)
  %13313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13314 = trunc i8 %13313 to i1
  br i1 %13314, label %13315, label %13337

13315:                                            ; preds = %13308
  %13316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13317 = call i32 @fileno(ptr noundef %13316) #12
  %13318 = call i32 @isatty(i32 noundef %13317) #12
  %13319 = icmp ne i32 %13318, 0
  br i1 %13319, label %13320, label %13337

13320:                                            ; preds = %13315
  %13321 = load i32, ptr %299, align 4, !tbaa !5
  %13322 = call ptr @__errno_location() #13
  store i32 %13321, ptr %13322, align 4, !tbaa !5
  %13323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13324 = load i32, ptr @test_count, align 4, !tbaa !5
  %13325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13326 = load i32, ptr %13325, align 4, !tbaa !5
  %13327 = call ptr @s2n_strerror(i32 noundef %13326, ptr noundef @.str.80)
  %13328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13329 = load i32, ptr %13328, align 4, !tbaa !5
  %13330 = call ptr @s2n_strerror_debug(i32 noundef %13329, ptr noundef @.str.80)
  %13331 = call ptr @__errno_location() #13
  %13332 = load i32, ptr %13331, align 4, !tbaa !5
  %13333 = call ptr @strerror(i32 noundef %13332) #12
  %13334 = call ptr @__errno_location() #13
  %13335 = load i32, ptr %13334, align 4, !tbaa !5
  %13336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13323, ptr noundef @.str.78, i32 noundef %13324, ptr noundef @.str.160, ptr noundef @.str.77, i32 noundef 500, ptr noundef %13327, ptr noundef %13330, ptr noundef %13333, i32 noundef %13335) #12
  br label %13354

13337:                                            ; preds = %13315, %13308
  %13338 = load i32, ptr %299, align 4, !tbaa !5
  %13339 = call ptr @__errno_location() #13
  store i32 %13338, ptr %13339, align 4, !tbaa !5
  %13340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13341 = load i32, ptr @test_count, align 4, !tbaa !5
  %13342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13343 = load i32, ptr %13342, align 4, !tbaa !5
  %13344 = call ptr @s2n_strerror(i32 noundef %13343, ptr noundef @.str.80)
  %13345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13346 = load i32, ptr %13345, align 4, !tbaa !5
  %13347 = call ptr @s2n_strerror_debug(i32 noundef %13346, ptr noundef @.str.80)
  %13348 = call ptr @__errno_location() #13
  %13349 = load i32, ptr %13348, align 4, !tbaa !5
  %13350 = call ptr @strerror(i32 noundef %13349) #12
  %13351 = call ptr @__errno_location() #13
  %13352 = load i32, ptr %13351, align 4, !tbaa !5
  %13353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13340, ptr noundef @.str.81, i32 noundef %13341, ptr noundef @.str.160, ptr noundef @.str.77, i32 noundef 500, ptr noundef %13344, ptr noundef %13347, ptr noundef %13350, i32 noundef %13352) #12
  br label %13354

13354:                                            ; preds = %13337, %13320
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #12
  br label %13355

13355:                                            ; preds = %13354
  br label %13356

13356:                                            ; preds = %13355
  call void @exit(i32 noundef 1) #14
  unreachable

13357:                                            ; No predecessors!
  br label %13358

13358:                                            ; preds = %13357
  br label %13359

13359:                                            ; preds = %13358, %13297
  br label %13360

13360:                                            ; preds = %13359
  br label %13361

13361:                                            ; preds = %13360
  call void @llvm.lifetime.start.p0(i64 56, ptr %300) #12
  call void @llvm.memset.p0.i64(ptr align 8 %300, i8 0, i64 56, i1 false)
  %13362 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %300, i32 0, i32 0
  %13363 = load ptr, ptr %289, align 8, !tbaa !9
  store ptr %13363, ptr %13362, align 8, !tbaa !20
  %13364 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %300, i32 0, i32 1
  %13365 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %300, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 40, ptr %301) #12
  call void @llvm.memset.p0.i64(ptr align 8 %301, i8 0, i64 40, i1 false)
  br label %13366

13366:                                            ; preds = %13361
  %13367 = load i32, ptr @test_count, align 4, !tbaa !5
  %13368 = add nsw i32 %13367, 1
  store i32 %13368, ptr @test_count, align 4, !tbaa !5
  %13369 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %301, i32 noundef 0)
  %13370 = icmp eq i32 %13369, -1
  br i1 %13370, label %13371, label %13424

13371:                                            ; preds = %13366
  br label %13372

13372:                                            ; preds = %13371
  br label %13373

13373:                                            ; preds = %13372
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #12
  %13374 = call ptr @__errno_location() #13
  %13375 = load i32, ptr %13374, align 4, !tbaa !5
  store i32 %13375, ptr %302, align 4, !tbaa !5
  %13376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13377 = call i32 @s2n_print_stacktrace(ptr noundef %13376)
  %13378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13379 = trunc i8 %13378 to i1
  br i1 %13379, label %13380, label %13402

13380:                                            ; preds = %13373
  %13381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13382 = call i32 @fileno(ptr noundef %13381) #12
  %13383 = call i32 @isatty(i32 noundef %13382) #12
  %13384 = icmp ne i32 %13383, 0
  br i1 %13384, label %13385, label %13402

13385:                                            ; preds = %13380
  %13386 = load i32, ptr %302, align 4, !tbaa !5
  %13387 = call ptr @__errno_location() #13
  store i32 %13386, ptr %13387, align 4, !tbaa !5
  %13388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13389 = load i32, ptr @test_count, align 4, !tbaa !5
  %13390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13391 = load i32, ptr %13390, align 4, !tbaa !5
  %13392 = call ptr @s2n_strerror(i32 noundef %13391, ptr noundef @.str.80)
  %13393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13394 = load i32, ptr %13393, align 4, !tbaa !5
  %13395 = call ptr @s2n_strerror_debug(i32 noundef %13394, ptr noundef @.str.80)
  %13396 = call ptr @__errno_location() #13
  %13397 = load i32, ptr %13396, align 4, !tbaa !5
  %13398 = call ptr @strerror(i32 noundef %13397) #12
  %13399 = call ptr @__errno_location() #13
  %13400 = load i32, ptr %13399, align 4, !tbaa !5
  %13401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13388, ptr noundef @.str.78, i32 noundef %13389, ptr noundef @.str.161, ptr noundef @.str.77, i32 noundef 505, ptr noundef %13392, ptr noundef %13395, ptr noundef %13398, i32 noundef %13400) #12
  br label %13419

13402:                                            ; preds = %13380, %13373
  %13403 = load i32, ptr %302, align 4, !tbaa !5
  %13404 = call ptr @__errno_location() #13
  store i32 %13403, ptr %13404, align 4, !tbaa !5
  %13405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13406 = load i32, ptr @test_count, align 4, !tbaa !5
  %13407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13408 = load i32, ptr %13407, align 4, !tbaa !5
  %13409 = call ptr @s2n_strerror(i32 noundef %13408, ptr noundef @.str.80)
  %13410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13411 = load i32, ptr %13410, align 4, !tbaa !5
  %13412 = call ptr @s2n_strerror_debug(i32 noundef %13411, ptr noundef @.str.80)
  %13413 = call ptr @__errno_location() #13
  %13414 = load i32, ptr %13413, align 4, !tbaa !5
  %13415 = call ptr @strerror(i32 noundef %13414) #12
  %13416 = call ptr @__errno_location() #13
  %13417 = load i32, ptr %13416, align 4, !tbaa !5
  %13418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13405, ptr noundef @.str.81, i32 noundef %13406, ptr noundef @.str.161, ptr noundef @.str.77, i32 noundef 505, ptr noundef %13409, ptr noundef %13412, ptr noundef %13415, i32 noundef %13417) #12
  br label %13419

13419:                                            ; preds = %13402, %13385
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #12
  br label %13420

13420:                                            ; preds = %13419
  br label %13421

13421:                                            ; preds = %13420
  call void @exit(i32 noundef 1) #14
  unreachable

13422:                                            ; No predecessors!
  br label %13423

13423:                                            ; preds = %13422
  br label %13424

13424:                                            ; preds = %13423, %13366
  br label %13425

13425:                                            ; preds = %13424
  br label %13426

13426:                                            ; preds = %13425
  br label %13427

13427:                                            ; preds = %13426
  %13428 = load i32, ptr @test_count, align 4, !tbaa !5
  %13429 = add nsw i32 %13428, 1
  store i32 %13429, ptr @test_count, align 4, !tbaa !5
  %13430 = getelementptr inbounds %struct.s2n_stuffer, ptr %296, i32 0, i32 0
  %13431 = getelementptr inbounds %struct.s2n_blob, ptr %13430, i32 0, i32 0
  %13432 = load ptr, ptr %13431, align 8, !tbaa !70
  %13433 = getelementptr inbounds %struct.s2n_stuffer, ptr %296, i32 0, i32 0
  %13434 = getelementptr inbounds %struct.s2n_blob, ptr %13433, i32 0, i32 1
  %13435 = load i32, ptr %13434, align 8, !tbaa !71
  %13436 = call i32 @s2n_stuffer_write_bytes(ptr noundef %301, ptr noundef %13432, i32 noundef %13435)
  %13437 = icmp eq i32 %13436, -1
  br i1 %13437, label %13438, label %13491

13438:                                            ; preds = %13427
  br label %13439

13439:                                            ; preds = %13438
  br label %13440

13440:                                            ; preds = %13439
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #12
  %13441 = call ptr @__errno_location() #13
  %13442 = load i32, ptr %13441, align 4, !tbaa !5
  store i32 %13442, ptr %303, align 4, !tbaa !5
  %13443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13444 = call i32 @s2n_print_stacktrace(ptr noundef %13443)
  %13445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13446 = trunc i8 %13445 to i1
  br i1 %13446, label %13447, label %13469

13447:                                            ; preds = %13440
  %13448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13449 = call i32 @fileno(ptr noundef %13448) #12
  %13450 = call i32 @isatty(i32 noundef %13449) #12
  %13451 = icmp ne i32 %13450, 0
  br i1 %13451, label %13452, label %13469

13452:                                            ; preds = %13447
  %13453 = load i32, ptr %303, align 4, !tbaa !5
  %13454 = call ptr @__errno_location() #13
  store i32 %13453, ptr %13454, align 4, !tbaa !5
  %13455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13456 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13458, ptr noundef @.str.80)
  %13460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13461 = load i32, ptr %13460, align 4, !tbaa !5
  %13462 = call ptr @s2n_strerror_debug(i32 noundef %13461, ptr noundef @.str.80)
  %13463 = call ptr @__errno_location() #13
  %13464 = load i32, ptr %13463, align 4, !tbaa !5
  %13465 = call ptr @strerror(i32 noundef %13464) #12
  %13466 = call ptr @__errno_location() #13
  %13467 = load i32, ptr %13466, align 4, !tbaa !5
  %13468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13455, ptr noundef @.str.78, i32 noundef %13456, ptr noundef @.str.162, ptr noundef @.str.77, i32 noundef 506, ptr noundef %13459, ptr noundef %13462, ptr noundef %13465, i32 noundef %13467) #12
  br label %13486

13469:                                            ; preds = %13447, %13440
  %13470 = load i32, ptr %303, align 4, !tbaa !5
  %13471 = call ptr @__errno_location() #13
  store i32 %13470, ptr %13471, align 4, !tbaa !5
  %13472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13473 = load i32, ptr @test_count, align 4, !tbaa !5
  %13474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13475 = load i32, ptr %13474, align 4, !tbaa !5
  %13476 = call ptr @s2n_strerror(i32 noundef %13475, ptr noundef @.str.80)
  %13477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13478 = load i32, ptr %13477, align 4, !tbaa !5
  %13479 = call ptr @s2n_strerror_debug(i32 noundef %13478, ptr noundef @.str.80)
  %13480 = call ptr @__errno_location() #13
  %13481 = load i32, ptr %13480, align 4, !tbaa !5
  %13482 = call ptr @strerror(i32 noundef %13481) #12
  %13483 = call ptr @__errno_location() #13
  %13484 = load i32, ptr %13483, align 4, !tbaa !5
  %13485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13472, ptr noundef @.str.81, i32 noundef %13473, ptr noundef @.str.162, ptr noundef @.str.77, i32 noundef 506, ptr noundef %13476, ptr noundef %13479, ptr noundef %13482, i32 noundef %13484) #12
  br label %13486

13486:                                            ; preds = %13469, %13452
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #12
  br label %13487

13487:                                            ; preds = %13486
  br label %13488

13488:                                            ; preds = %13487
  call void @exit(i32 noundef 1) #14
  unreachable

13489:                                            ; No predecessors!
  br label %13490

13490:                                            ; preds = %13489
  br label %13491

13491:                                            ; preds = %13490, %13427
  br label %13492

13492:                                            ; preds = %13491
  br label %13493

13493:                                            ; preds = %13492
  %13494 = getelementptr inbounds %struct.s2n_stuffer, ptr %296, i32 0, i32 2
  %13495 = load i32, ptr %13494, align 4, !tbaa !72
  %13496 = getelementptr inbounds %struct.s2n_stuffer, ptr %296, i32 0, i32 1
  %13497 = load i32, ptr %13496, align 8, !tbaa !73
  %13498 = sub i32 %13495, %13497
  %13499 = getelementptr inbounds %struct.s2n_stuffer, ptr %301, i32 0, i32 0
  %13500 = getelementptr inbounds %struct.s2n_blob, ptr %13499, i32 0, i32 1
  store i32 %13498, ptr %13500, align 8, !tbaa !71
  call void @llvm.lifetime.start.p0(i64 32, ptr %304) #12
  %13501 = getelementptr inbounds %struct.s2n_offered_psk, ptr %304, i32 0, i32 0
  %13502 = getelementptr inbounds %struct.s2n_stuffer, ptr %296, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13501, ptr align 8 %13502, i64 24, i1 false), !tbaa.struct !58
  %13503 = getelementptr inbounds %struct.s2n_offered_psk, ptr %304, i32 0, i32 1
  store i16 5, ptr %13503, align 8, !tbaa !60
  %13504 = getelementptr inbounds %struct.s2n_offered_psk, ptr %304, i32 0, i32 2
  store i32 100, ptr %13504, align 4, !tbaa !47
  %13505 = load ptr, ptr %289, align 8, !tbaa !9
  %13506 = getelementptr inbounds %struct.s2n_connection, ptr %13505, i32 0, i32 1
  %13507 = load ptr, ptr %13506, align 8, !tbaa !53
  %13508 = getelementptr inbounds %struct.s2n_config, ptr %13507, i32 0, i32 14
  store i64 0, ptr %13508, align 8, !tbaa !54
  br label %13509

13509:                                            ; preds = %13493
  br label %13510

13510:                                            ; preds = %13509
  br label %13511

13511:                                            ; preds = %13510
  %13512 = load i32, ptr @test_count, align 4, !tbaa !5
  %13513 = add nsw i32 %13512, 1
  store i32 %13513, ptr @test_count, align 4, !tbaa !5
  %13514 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %300, ptr noundef %304)
  %13515 = icmp eq i32 %13514, -1
  br i1 %13515, label %13569, label %13516

13516:                                            ; preds = %13511
  br label %13517

13517:                                            ; preds = %13516
  br label %13518

13518:                                            ; preds = %13517
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #12
  %13519 = call ptr @__errno_location() #13
  %13520 = load i32, ptr %13519, align 4, !tbaa !5
  store i32 %13520, ptr %305, align 4, !tbaa !5
  %13521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13522 = call i32 @s2n_print_stacktrace(ptr noundef %13521)
  %13523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13524 = trunc i8 %13523 to i1
  br i1 %13524, label %13525, label %13547

13525:                                            ; preds = %13518
  %13526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13527 = call i32 @fileno(ptr noundef %13526) #12
  %13528 = call i32 @isatty(i32 noundef %13527) #12
  %13529 = icmp ne i32 %13528, 0
  br i1 %13529, label %13530, label %13547

13530:                                            ; preds = %13525
  %13531 = load i32, ptr %305, align 4, !tbaa !5
  %13532 = call ptr @__errno_location() #13
  store i32 %13531, ptr %13532, align 4, !tbaa !5
  %13533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13534 = load i32, ptr @test_count, align 4, !tbaa !5
  %13535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13536 = load i32, ptr %13535, align 4, !tbaa !5
  %13537 = call ptr @s2n_strerror(i32 noundef %13536, ptr noundef @.str.80)
  %13538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13539 = load i32, ptr %13538, align 4, !tbaa !5
  %13540 = call ptr @s2n_strerror_debug(i32 noundef %13539, ptr noundef @.str.80)
  %13541 = call ptr @__errno_location() #13
  %13542 = load i32, ptr %13541, align 4, !tbaa !5
  %13543 = call ptr @strerror(i32 noundef %13542) #12
  %13544 = call ptr @__errno_location() #13
  %13545 = load i32, ptr %13544, align 4, !tbaa !5
  %13546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13533, ptr noundef @.str.78, i32 noundef %13534, ptr noundef @.str.169, ptr noundef @.str.77, i32 noundef 513, ptr noundef %13537, ptr noundef %13540, ptr noundef %13543, i32 noundef %13545) #12
  br label %13564

13547:                                            ; preds = %13525, %13518
  %13548 = load i32, ptr %305, align 4, !tbaa !5
  %13549 = call ptr @__errno_location() #13
  store i32 %13548, ptr %13549, align 4, !tbaa !5
  %13550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13551 = load i32, ptr @test_count, align 4, !tbaa !5
  %13552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13553 = load i32, ptr %13552, align 4, !tbaa !5
  %13554 = call ptr @s2n_strerror(i32 noundef %13553, ptr noundef @.str.80)
  %13555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13556 = load i32, ptr %13555, align 4, !tbaa !5
  %13557 = call ptr @s2n_strerror_debug(i32 noundef %13556, ptr noundef @.str.80)
  %13558 = call ptr @__errno_location() #13
  %13559 = load i32, ptr %13558, align 4, !tbaa !5
  %13560 = call ptr @strerror(i32 noundef %13559) #12
  %13561 = call ptr @__errno_location() #13
  %13562 = load i32, ptr %13561, align 4, !tbaa !5
  %13563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13550, ptr noundef @.str.81, i32 noundef %13551, ptr noundef @.str.169, ptr noundef @.str.77, i32 noundef 513, ptr noundef %13554, ptr noundef %13557, ptr noundef %13560, i32 noundef %13562) #12
  br label %13564

13564:                                            ; preds = %13547, %13530
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #12
  br label %13565

13565:                                            ; preds = %13564
  br label %13566

13566:                                            ; preds = %13565
  call void @exit(i32 noundef 1) #14
  unreachable

13567:                                            ; No predecessors!
  br label %13568

13568:                                            ; preds = %13567
  br label %13569

13569:                                            ; preds = %13568, %13511
  br label %13570

13570:                                            ; preds = %13569
  br label %13571

13571:                                            ; preds = %13570
  br label %13572

13572:                                            ; preds = %13571
  %13573 = load i32, ptr @test_count, align 4, !tbaa !5
  %13574 = add nsw i32 %13573, 1
  store i32 %13574, ptr @test_count, align 4, !tbaa !5
  %13575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13576 = load i32, ptr %13575, align 4, !tbaa !5
  %13577 = icmp eq i32 %13576, 469762110
  br i1 %13577, label %13631, label %13578

13578:                                            ; preds = %13572
  br label %13579

13579:                                            ; preds = %13578
  br label %13580

13580:                                            ; preds = %13579
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #12
  %13581 = call ptr @__errno_location() #13
  %13582 = load i32, ptr %13581, align 4, !tbaa !5
  store i32 %13582, ptr %306, align 4, !tbaa !5
  %13583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13584 = call i32 @s2n_print_stacktrace(ptr noundef %13583)
  %13585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13586 = trunc i8 %13585 to i1
  br i1 %13586, label %13587, label %13609

13587:                                            ; preds = %13580
  %13588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13589 = call i32 @fileno(ptr noundef %13588) #12
  %13590 = call i32 @isatty(i32 noundef %13589) #12
  %13591 = icmp ne i32 %13590, 0
  br i1 %13591, label %13592, label %13609

13592:                                            ; preds = %13587
  %13593 = load i32, ptr %306, align 4, !tbaa !5
  %13594 = call ptr @__errno_location() #13
  store i32 %13593, ptr %13594, align 4, !tbaa !5
  %13595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13596 = load i32, ptr @test_count, align 4, !tbaa !5
  %13597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13598 = load i32, ptr %13597, align 4, !tbaa !5
  %13599 = call ptr @s2n_strerror(i32 noundef %13598, ptr noundef @.str.80)
  %13600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13601 = load i32, ptr %13600, align 4, !tbaa !5
  %13602 = call ptr @s2n_strerror_debug(i32 noundef %13601, ptr noundef @.str.80)
  %13603 = call ptr @__errno_location() #13
  %13604 = load i32, ptr %13603, align 4, !tbaa !5
  %13605 = call ptr @strerror(i32 noundef %13604) #12
  %13606 = call ptr @__errno_location() #13
  %13607 = load i32, ptr %13606, align 4, !tbaa !5
  %13608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13595, ptr noundef @.str.78, i32 noundef %13596, ptr noundef @.str.137, ptr noundef @.str.77, i32 noundef 513, ptr noundef %13599, ptr noundef %13602, ptr noundef %13605, i32 noundef %13607) #12
  br label %13626

13609:                                            ; preds = %13587, %13580
  %13610 = load i32, ptr %306, align 4, !tbaa !5
  %13611 = call ptr @__errno_location() #13
  store i32 %13610, ptr %13611, align 4, !tbaa !5
  %13612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13613 = load i32, ptr @test_count, align 4, !tbaa !5
  %13614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13615 = load i32, ptr %13614, align 4, !tbaa !5
  %13616 = call ptr @s2n_strerror(i32 noundef %13615, ptr noundef @.str.80)
  %13617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13618 = load i32, ptr %13617, align 4, !tbaa !5
  %13619 = call ptr @s2n_strerror_debug(i32 noundef %13618, ptr noundef @.str.80)
  %13620 = call ptr @__errno_location() #13
  %13621 = load i32, ptr %13620, align 4, !tbaa !5
  %13622 = call ptr @strerror(i32 noundef %13621) #12
  %13623 = call ptr @__errno_location() #13
  %13624 = load i32, ptr %13623, align 4, !tbaa !5
  %13625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13612, ptr noundef @.str.81, i32 noundef %13613, ptr noundef @.str.137, ptr noundef @.str.77, i32 noundef 513, ptr noundef %13616, ptr noundef %13619, ptr noundef %13622, i32 noundef %13624) #12
  br label %13626

13626:                                            ; preds = %13609, %13592
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #12
  br label %13627

13627:                                            ; preds = %13626
  br label %13628

13628:                                            ; preds = %13627
  call void @exit(i32 noundef 1) #14
  unreachable

13629:                                            ; No predecessors!
  br label %13630

13630:                                            ; preds = %13629
  br label %13631

13631:                                            ; preds = %13630, %13572
  br label %13632

13632:                                            ; preds = %13631
  br label %13633

13633:                                            ; preds = %13632
  br label %13634

13634:                                            ; preds = %13633
  %13635 = load i32, ptr @test_count, align 4, !tbaa !5
  %13636 = add nsw i32 %13635, 1
  store i32 %13636, ptr @test_count, align 4, !tbaa !5
  %13637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13638 = load i32, ptr %13637, align 4, !tbaa !5
  %13639 = call ptr @s2n_strerror_debug(i32 noundef %13638, ptr noundef @.str.80)
  %13640 = icmp eq ptr %13639, null
  br i1 %13640, label %13641, label %13694

13641:                                            ; preds = %13634
  br label %13642

13642:                                            ; preds = %13641
  br label %13643

13643:                                            ; preds = %13642
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #12
  %13644 = call ptr @__errno_location() #13
  %13645 = load i32, ptr %13644, align 4, !tbaa !5
  store i32 %13645, ptr %307, align 4, !tbaa !5
  %13646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13647 = call i32 @s2n_print_stacktrace(ptr noundef %13646)
  %13648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13649 = trunc i8 %13648 to i1
  br i1 %13649, label %13650, label %13672

13650:                                            ; preds = %13643
  %13651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13652 = call i32 @fileno(ptr noundef %13651) #12
  %13653 = call i32 @isatty(i32 noundef %13652) #12
  %13654 = icmp ne i32 %13653, 0
  br i1 %13654, label %13655, label %13672

13655:                                            ; preds = %13650
  %13656 = load i32, ptr %307, align 4, !tbaa !5
  %13657 = call ptr @__errno_location() #13
  store i32 %13656, ptr %13657, align 4, !tbaa !5
  %13658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13659 = load i32, ptr @test_count, align 4, !tbaa !5
  %13660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13661 = load i32, ptr %13660, align 4, !tbaa !5
  %13662 = call ptr @s2n_strerror(i32 noundef %13661, ptr noundef @.str.80)
  %13663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13664 = load i32, ptr %13663, align 4, !tbaa !5
  %13665 = call ptr @s2n_strerror_debug(i32 noundef %13664, ptr noundef @.str.80)
  %13666 = call ptr @__errno_location() #13
  %13667 = load i32, ptr %13666, align 4, !tbaa !5
  %13668 = call ptr @strerror(i32 noundef %13667) #12
  %13669 = call ptr @__errno_location() #13
  %13670 = load i32, ptr %13669, align 4, !tbaa !5
  %13671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13658, ptr noundef @.str.78, i32 noundef %13659, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 513, ptr noundef %13662, ptr noundef %13665, ptr noundef %13668, i32 noundef %13670) #12
  br label %13689

13672:                                            ; preds = %13650, %13643
  %13673 = load i32, ptr %307, align 4, !tbaa !5
  %13674 = call ptr @__errno_location() #13
  store i32 %13673, ptr %13674, align 4, !tbaa !5
  %13675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13676 = load i32, ptr @test_count, align 4, !tbaa !5
  %13677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13678 = load i32, ptr %13677, align 4, !tbaa !5
  %13679 = call ptr @s2n_strerror(i32 noundef %13678, ptr noundef @.str.80)
  %13680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13681 = load i32, ptr %13680, align 4, !tbaa !5
  %13682 = call ptr @s2n_strerror_debug(i32 noundef %13681, ptr noundef @.str.80)
  %13683 = call ptr @__errno_location() #13
  %13684 = load i32, ptr %13683, align 4, !tbaa !5
  %13685 = call ptr @strerror(i32 noundef %13684) #12
  %13686 = call ptr @__errno_location() #13
  %13687 = load i32, ptr %13686, align 4, !tbaa !5
  %13688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13675, ptr noundef @.str.81, i32 noundef %13676, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 513, ptr noundef %13679, ptr noundef %13682, ptr noundef %13685, i32 noundef %13687) #12
  br label %13689

13689:                                            ; preds = %13672, %13655
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #12
  br label %13690

13690:                                            ; preds = %13689
  br label %13691

13691:                                            ; preds = %13690
  call void @exit(i32 noundef 1) #14
  unreachable

13692:                                            ; No predecessors!
  br label %13693

13693:                                            ; preds = %13692
  br label %13694

13694:                                            ; preds = %13693, %13634
  br label %13695

13695:                                            ; preds = %13694
  br label %13696

13696:                                            ; preds = %13695
  br label %13697

13697:                                            ; preds = %13696
  br label %13698

13698:                                            ; preds = %13697
  br label %13699

13699:                                            ; preds = %13698
  %13700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13700, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13701 = call ptr @__errno_location() #13
  store i32 0, ptr %13701, align 4, !tbaa !5
  br label %13702

13702:                                            ; preds = %13699
  br label %13703

13703:                                            ; preds = %13702
  br label %13704

13704:                                            ; preds = %13703
  br label %13705

13705:                                            ; preds = %13704
  br label %13706

13706:                                            ; preds = %13705
  %13707 = load i32, ptr @test_count, align 4, !tbaa !5
  %13708 = add nsw i32 %13707, 1
  store i32 %13708, ptr @test_count, align 4, !tbaa !5
  %13709 = load ptr, ptr %289, align 8, !tbaa !9
  %13710 = getelementptr inbounds %struct.s2n_connection, ptr %13709, i32 0, i32 33
  %13711 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13710, i32 0, i32 3
  %13712 = load i16, ptr %13711, align 2, !tbaa !62
  %13713 = zext i16 %13712 to i32
  %13714 = icmp eq i32 %13713, 0
  br i1 %13714, label %13768, label %13715

13715:                                            ; preds = %13706
  br label %13716

13716:                                            ; preds = %13715
  br label %13717

13717:                                            ; preds = %13716
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #12
  %13718 = call ptr @__errno_location() #13
  %13719 = load i32, ptr %13718, align 4, !tbaa !5
  store i32 %13719, ptr %308, align 4, !tbaa !5
  %13720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13721 = call i32 @s2n_print_stacktrace(ptr noundef %13720)
  %13722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13723 = trunc i8 %13722 to i1
  br i1 %13723, label %13724, label %13746

13724:                                            ; preds = %13717
  %13725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13726 = call i32 @fileno(ptr noundef %13725) #12
  %13727 = call i32 @isatty(i32 noundef %13726) #12
  %13728 = icmp ne i32 %13727, 0
  br i1 %13728, label %13729, label %13746

13729:                                            ; preds = %13724
  %13730 = load i32, ptr %308, align 4, !tbaa !5
  %13731 = call ptr @__errno_location() #13
  store i32 %13730, ptr %13731, align 4, !tbaa !5
  %13732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13733 = load i32, ptr @test_count, align 4, !tbaa !5
  %13734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13735 = load i32, ptr %13734, align 4, !tbaa !5
  %13736 = call ptr @s2n_strerror(i32 noundef %13735, ptr noundef @.str.80)
  %13737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13738 = load i32, ptr %13737, align 4, !tbaa !5
  %13739 = call ptr @s2n_strerror_debug(i32 noundef %13738, ptr noundef @.str.80)
  %13740 = call ptr @__errno_location() #13
  %13741 = load i32, ptr %13740, align 4, !tbaa !5
  %13742 = call ptr @strerror(i32 noundef %13741) #12
  %13743 = call ptr @__errno_location() #13
  %13744 = load i32, ptr %13743, align 4, !tbaa !5
  %13745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13732, ptr noundef @.str.78, i32 noundef %13733, ptr noundef @.str.170, ptr noundef @.str.77, i32 noundef 515, ptr noundef %13736, ptr noundef %13739, ptr noundef %13742, i32 noundef %13744) #12
  br label %13763

13746:                                            ; preds = %13724, %13717
  %13747 = load i32, ptr %308, align 4, !tbaa !5
  %13748 = call ptr @__errno_location() #13
  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.80)
  %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.80)
  %13757 = call ptr @__errno_location() #13
  %13758 = load i32, ptr %13757, align 4, !tbaa !5
  %13759 = call ptr @strerror(i32 noundef %13758) #12
  %13760 = call ptr @__errno_location() #13
  %13761 = load i32, ptr %13760, align 4, !tbaa !5
  %13762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13749, ptr noundef @.str.81, i32 noundef %13750, ptr noundef @.str.170, ptr noundef @.str.77, i32 noundef 515, ptr noundef %13753, ptr noundef %13756, ptr noundef %13759, i32 noundef %13761) #12
  br label %13763

13763:                                            ; preds = %13746, %13729
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #12
  br label %13764

13764:                                            ; preds = %13763
  br label %13765

13765:                                            ; preds = %13764
  call void @exit(i32 noundef 1) #14
  unreachable

13766:                                            ; No predecessors!
  br label %13767

13767:                                            ; preds = %13766
  br label %13768

13768:                                            ; preds = %13767, %13706
  br label %13769

13769:                                            ; preds = %13768
  br label %13770

13770:                                            ; preds = %13769
  br label %13771

13771:                                            ; preds = %13770
  %13772 = load i32, ptr @test_count, align 4, !tbaa !5
  %13773 = add nsw i32 %13772, 1
  store i32 %13773, ptr @test_count, align 4, !tbaa !5
  %13774 = load ptr, ptr %289, align 8, !tbaa !9
  %13775 = getelementptr inbounds %struct.s2n_connection, ptr %13774, i32 0, i32 33
  %13776 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13775, i32 0, i32 4
  %13777 = load ptr, ptr %13776, align 8, !tbaa !61
  %13778 = icmp eq ptr %13777, null
  br i1 %13778, label %13832, label %13779

13779:                                            ; preds = %13771
  br label %13780

13780:                                            ; preds = %13779
  br label %13781

13781:                                            ; preds = %13780
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #12
  %13782 = call ptr @__errno_location() #13
  %13783 = load i32, ptr %13782, align 4, !tbaa !5
  store i32 %13783, ptr %309, align 4, !tbaa !5
  %13784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13785 = call i32 @s2n_print_stacktrace(ptr noundef %13784)
  %13786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13787 = trunc i8 %13786 to i1
  br i1 %13787, label %13788, label %13810

13788:                                            ; preds = %13781
  %13789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13790 = call i32 @fileno(ptr noundef %13789) #12
  %13791 = call i32 @isatty(i32 noundef %13790) #12
  %13792 = icmp ne i32 %13791, 0
  br i1 %13792, label %13793, label %13810

13793:                                            ; preds = %13788
  %13794 = load i32, ptr %309, align 4, !tbaa !5
  %13795 = call ptr @__errno_location() #13
  store i32 %13794, ptr %13795, align 4, !tbaa !5
  %13796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13797 = load i32, ptr @test_count, align 4, !tbaa !5
  %13798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13799 = load i32, ptr %13798, align 4, !tbaa !5
  %13800 = call ptr @s2n_strerror(i32 noundef %13799, ptr noundef @.str.80)
  %13801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13802 = load i32, ptr %13801, align 4, !tbaa !5
  %13803 = call ptr @s2n_strerror_debug(i32 noundef %13802, ptr noundef @.str.80)
  %13804 = call ptr @__errno_location() #13
  %13805 = load i32, ptr %13804, align 4, !tbaa !5
  %13806 = call ptr @strerror(i32 noundef %13805) #12
  %13807 = call ptr @__errno_location() #13
  %13808 = load i32, ptr %13807, align 4, !tbaa !5
  %13809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13796, ptr noundef @.str.78, i32 noundef %13797, ptr noundef @.str.171, ptr noundef @.str.77, i32 noundef 516, ptr noundef %13800, ptr noundef %13803, ptr noundef %13806, i32 noundef %13808) #12
  br label %13827

13810:                                            ; preds = %13788, %13781
  %13811 = load i32, ptr %309, align 4, !tbaa !5
  %13812 = call ptr @__errno_location() #13
  store i32 %13811, ptr %13812, align 4, !tbaa !5
  %13813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13814 = load i32, ptr @test_count, align 4, !tbaa !5
  %13815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13816 = load i32, ptr %13815, align 4, !tbaa !5
  %13817 = call ptr @s2n_strerror(i32 noundef %13816, ptr noundef @.str.80)
  %13818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13819 = load i32, ptr %13818, align 4, !tbaa !5
  %13820 = call ptr @s2n_strerror_debug(i32 noundef %13819, ptr noundef @.str.80)
  %13821 = call ptr @__errno_location() #13
  %13822 = load i32, ptr %13821, align 4, !tbaa !5
  %13823 = call ptr @strerror(i32 noundef %13822) #12
  %13824 = call ptr @__errno_location() #13
  %13825 = load i32, ptr %13824, align 4, !tbaa !5
  %13826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13813, ptr noundef @.str.81, i32 noundef %13814, ptr noundef @.str.171, ptr noundef @.str.77, i32 noundef 516, ptr noundef %13817, ptr noundef %13820, ptr noundef %13823, i32 noundef %13825) #12
  br label %13827

13827:                                            ; preds = %13810, %13793
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #12
  br label %13828

13828:                                            ; preds = %13827
  br label %13829

13829:                                            ; preds = %13828
  call void @exit(i32 noundef 1) #14
  unreachable

13830:                                            ; No predecessors!
  br label %13831

13831:                                            ; preds = %13830
  br label %13832

13832:                                            ; preds = %13831, %13771
  br label %13833

13833:                                            ; preds = %13832
  br label %13834

13834:                                            ; preds = %13833
  br label %13835

13835:                                            ; preds = %13834
  %13836 = load i32, ptr @test_count, align 4, !tbaa !5
  %13837 = add nsw i32 %13836, 1
  store i32 %13837, ptr @test_count, align 4, !tbaa !5
  %13838 = load ptr, ptr %291, align 8, !tbaa !9
  %13839 = call i32 @s2n_config_free(ptr noundef %13838)
  %13840 = icmp eq i32 %13839, -1
  br i1 %13840, label %13841, label %13894

13841:                                            ; preds = %13835
  br label %13842

13842:                                            ; preds = %13841
  br label %13843

13843:                                            ; preds = %13842
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #12
  %13844 = call ptr @__errno_location() #13
  %13845 = load i32, ptr %13844, align 4, !tbaa !5
  store i32 %13845, ptr %310, align 4, !tbaa !5
  %13846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13847 = call i32 @s2n_print_stacktrace(ptr noundef %13846)
  %13848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13849 = trunc i8 %13848 to i1
  br i1 %13849, label %13850, label %13872

13850:                                            ; preds = %13843
  %13851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13852 = call i32 @fileno(ptr noundef %13851) #12
  %13853 = call i32 @isatty(i32 noundef %13852) #12
  %13854 = icmp ne i32 %13853, 0
  br i1 %13854, label %13855, label %13872

13855:                                            ; preds = %13850
  %13856 = load i32, ptr %310, align 4, !tbaa !5
  %13857 = call ptr @__errno_location() #13
  store i32 %13856, ptr %13857, align 4, !tbaa !5
  %13858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13859 = load i32, ptr @test_count, align 4, !tbaa !5
  %13860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13861 = load i32, ptr %13860, align 4, !tbaa !5
  %13862 = call ptr @s2n_strerror(i32 noundef %13861, ptr noundef @.str.80)
  %13863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13864 = load i32, ptr %13863, align 4, !tbaa !5
  %13865 = call ptr @s2n_strerror_debug(i32 noundef %13864, ptr noundef @.str.80)
  %13866 = call ptr @__errno_location() #13
  %13867 = load i32, ptr %13866, align 4, !tbaa !5
  %13868 = call ptr @strerror(i32 noundef %13867) #12
  %13869 = call ptr @__errno_location() #13
  %13870 = load i32, ptr %13869, align 4, !tbaa !5
  %13871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13858, ptr noundef @.str.78, i32 noundef %13859, ptr noundef @.str.167, ptr noundef @.str.77, i32 noundef 518, ptr noundef %13862, ptr noundef %13865, ptr noundef %13868, i32 noundef %13870) #12
  br label %13889

13872:                                            ; preds = %13850, %13843
  %13873 = load i32, ptr %310, align 4, !tbaa !5
  %13874 = call ptr @__errno_location() #13
  store i32 %13873, ptr %13874, align 4, !tbaa !5
  %13875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13876 = load i32, ptr @test_count, align 4, !tbaa !5
  %13877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13878 = load i32, ptr %13877, align 4, !tbaa !5
  %13879 = call ptr @s2n_strerror(i32 noundef %13878, ptr noundef @.str.80)
  %13880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13881 = load i32, ptr %13880, align 4, !tbaa !5
  %13882 = call ptr @s2n_strerror_debug(i32 noundef %13881, ptr noundef @.str.80)
  %13883 = call ptr @__errno_location() #13
  %13884 = load i32, ptr %13883, align 4, !tbaa !5
  %13885 = call ptr @strerror(i32 noundef %13884) #12
  %13886 = call ptr @__errno_location() #13
  %13887 = load i32, ptr %13886, align 4, !tbaa !5
  %13888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13875, ptr noundef @.str.81, i32 noundef %13876, ptr noundef @.str.167, ptr noundef @.str.77, i32 noundef 518, ptr noundef %13879, ptr noundef %13882, ptr noundef %13885, i32 noundef %13887) #12
  br label %13889

13889:                                            ; preds = %13872, %13855
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #12
  br label %13890

13890:                                            ; preds = %13889
  br label %13891

13891:                                            ; preds = %13890
  call void @exit(i32 noundef 1) #14
  unreachable

13892:                                            ; No predecessors!
  br label %13893

13893:                                            ; preds = %13892
  br label %13894

13894:                                            ; preds = %13893, %13835
  br label %13895

13895:                                            ; preds = %13894
  br label %13896

13896:                                            ; preds = %13895
  br label %13897

13897:                                            ; preds = %13896
  %13898 = load i32, ptr @test_count, align 4, !tbaa !5
  %13899 = add nsw i32 %13898, 1
  store i32 %13899, ptr @test_count, align 4, !tbaa !5
  %13900 = load ptr, ptr %289, align 8, !tbaa !9
  %13901 = call i32 @s2n_connection_free(ptr noundef %13900)
  %13902 = icmp eq i32 %13901, -1
  br i1 %13902, label %13903, label %13956

13903:                                            ; preds = %13897
  br label %13904

13904:                                            ; preds = %13903
  br label %13905

13905:                                            ; preds = %13904
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #12
  %13906 = call ptr @__errno_location() #13
  %13907 = load i32, ptr %13906, align 4, !tbaa !5
  store i32 %13907, ptr %311, align 4, !tbaa !5
  %13908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13909 = call i32 @s2n_print_stacktrace(ptr noundef %13908)
  %13910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13911 = trunc i8 %13910 to i1
  br i1 %13911, label %13912, label %13934

13912:                                            ; preds = %13905
  %13913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13914 = call i32 @fileno(ptr noundef %13913) #12
  %13915 = call i32 @isatty(i32 noundef %13914) #12
  %13916 = icmp ne i32 %13915, 0
  br i1 %13916, label %13917, label %13934

13917:                                            ; preds = %13912
  %13918 = load i32, ptr %311, align 4, !tbaa !5
  %13919 = call ptr @__errno_location() #13
  store i32 %13918, ptr %13919, align 4, !tbaa !5
  %13920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13921 = load i32, ptr @test_count, align 4, !tbaa !5
  %13922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13923 = load i32, ptr %13922, align 4, !tbaa !5
  %13924 = call ptr @s2n_strerror(i32 noundef %13923, ptr noundef @.str.80)
  %13925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13926 = load i32, ptr %13925, align 4, !tbaa !5
  %13927 = call ptr @s2n_strerror_debug(i32 noundef %13926, ptr noundef @.str.80)
  %13928 = call ptr @__errno_location() #13
  %13929 = load i32, ptr %13928, align 4, !tbaa !5
  %13930 = call ptr @strerror(i32 noundef %13929) #12
  %13931 = call ptr @__errno_location() #13
  %13932 = load i32, ptr %13931, align 4, !tbaa !5
  %13933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13920, ptr noundef @.str.78, i32 noundef %13921, ptr noundef @.str.168, ptr noundef @.str.77, i32 noundef 519, ptr noundef %13924, ptr noundef %13927, ptr noundef %13930, i32 noundef %13932) #12
  br label %13951

13934:                                            ; preds = %13912, %13905
  %13935 = load i32, ptr %311, align 4, !tbaa !5
  %13936 = call ptr @__errno_location() #13
  store i32 %13935, ptr %13936, align 4, !tbaa !5
  %13937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13938 = load i32, ptr @test_count, align 4, !tbaa !5
  %13939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13940 = load i32, ptr %13939, align 4, !tbaa !5
  %13941 = call ptr @s2n_strerror(i32 noundef %13940, ptr noundef @.str.80)
  %13942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13943 = load i32, ptr %13942, align 4, !tbaa !5
  %13944 = call ptr @s2n_strerror_debug(i32 noundef %13943, ptr noundef @.str.80)
  %13945 = call ptr @__errno_location() #13
  %13946 = load i32, ptr %13945, align 4, !tbaa !5
  %13947 = call ptr @strerror(i32 noundef %13946) #12
  %13948 = call ptr @__errno_location() #13
  %13949 = load i32, ptr %13948, align 4, !tbaa !5
  %13950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13937, ptr noundef @.str.81, i32 noundef %13938, ptr noundef @.str.168, ptr noundef @.str.77, i32 noundef 519, ptr noundef %13941, ptr noundef %13944, ptr noundef %13947, i32 noundef %13949) #12
  br label %13951

13951:                                            ; preds = %13934, %13917
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #12
  br label %13952

13952:                                            ; preds = %13951
  br label %13953

13953:                                            ; preds = %13952
  call void @exit(i32 noundef 1) #14
  unreachable

13954:                                            ; No predecessors!
  br label %13955

13955:                                            ; preds = %13954
  br label %13956

13956:                                            ; preds = %13955, %13897
  br label %13957

13957:                                            ; preds = %13956
  br label %13958

13958:                                            ; preds = %13957
  call void @llvm.lifetime.end.p0(i64 32, ptr %304) #12
  %13959 = call i32 @s2n_stuffer_free(ptr noundef %301)
  call void @llvm.lifetime.end.p0(i64 40, ptr %301) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %300) #12
  %13960 = call i32 @s2n_stuffer_free(ptr noundef %296)
  call void @llvm.lifetime.end.p0(i64 40, ptr %296) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %291) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %289) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr %312) #12
  %13961 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13961, ptr %312, align 8, !tbaa !9
  br label %13962

13962:                                            ; preds = %13958
  %13963 = load i32, ptr @test_count, align 4, !tbaa !5
  %13964 = add nsw i32 %13963, 1
  store i32 %13964, ptr @test_count, align 4, !tbaa !5
  %13965 = load ptr, ptr %312, align 8, !tbaa !9
  %13966 = icmp eq ptr %13965, null
  br i1 %13966, label %13967, label %14020

13967:                                            ; preds = %13962
  br label %13968

13968:                                            ; preds = %13967
  br label %13969

13969:                                            ; preds = %13968
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #12
  %13970 = call ptr @__errno_location() #13
  %13971 = load i32, ptr %13970, align 4, !tbaa !5
  store i32 %13971, ptr %313, align 4, !tbaa !5
  %13972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13973 = call i32 @s2n_print_stacktrace(ptr noundef %13972)
  %13974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13975 = trunc i8 %13974 to i1
  br i1 %13975, label %13976, label %13998

13976:                                            ; preds = %13969
  %13977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13978 = call i32 @fileno(ptr noundef %13977) #12
  %13979 = call i32 @isatty(i32 noundef %13978) #12
  %13980 = icmp ne i32 %13979, 0
  br i1 %13980, label %13981, label %13998

13981:                                            ; preds = %13976
  %13982 = load i32, ptr %313, align 4, !tbaa !5
  %13983 = call ptr @__errno_location() #13
  store i32 %13982, ptr %13983, align 4, !tbaa !5
  %13984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13985 = load i32, ptr @test_count, align 4, !tbaa !5
  %13986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13987 = load i32, ptr %13986, align 4, !tbaa !5
  %13988 = call ptr @s2n_strerror(i32 noundef %13987, ptr noundef @.str.80)
  %13989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13990 = load i32, ptr %13989, align 4, !tbaa !5
  %13991 = call ptr @s2n_strerror_debug(i32 noundef %13990, ptr noundef @.str.80)
  %13992 = call ptr @__errno_location() #13
  %13993 = load i32, ptr %13992, align 4, !tbaa !5
  %13994 = call ptr @strerror(i32 noundef %13993) #12
  %13995 = call ptr @__errno_location() #13
  %13996 = load i32, ptr %13995, align 4, !tbaa !5
  %13997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13984, ptr noundef @.str.78, i32 noundef %13985, ptr noundef @.str.155, ptr noundef @.str.77, i32 noundef 525, ptr noundef %13988, ptr noundef %13991, ptr noundef %13994, i32 noundef %13996) #12
  br label %14015

13998:                                            ; preds = %13976, %13969
  %13999 = load i32, ptr %313, align 4, !tbaa !5
  %14000 = call ptr @__errno_location() #13
  store i32 %13999, ptr %14000, align 4, !tbaa !5
  %14001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14002 = load i32, ptr @test_count, align 4, !tbaa !5
  %14003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14004 = load i32, ptr %14003, align 4, !tbaa !5
  %14005 = call ptr @s2n_strerror(i32 noundef %14004, ptr noundef @.str.80)
  %14006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14007 = load i32, ptr %14006, align 4, !tbaa !5
  %14008 = call ptr @s2n_strerror_debug(i32 noundef %14007, ptr noundef @.str.80)
  %14009 = call ptr @__errno_location() #13
  %14010 = load i32, ptr %14009, align 4, !tbaa !5
  %14011 = call ptr @strerror(i32 noundef %14010) #12
  %14012 = call ptr @__errno_location() #13
  %14013 = load i32, ptr %14012, align 4, !tbaa !5
  %14014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14001, ptr noundef @.str.81, i32 noundef %14002, ptr noundef @.str.155, ptr noundef @.str.77, i32 noundef 525, ptr noundef %14005, ptr noundef %14008, ptr noundef %14011, i32 noundef %14013) #12
  br label %14015

14015:                                            ; preds = %13998, %13981
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #12
  br label %14016

14016:                                            ; preds = %14015
  br label %14017

14017:                                            ; preds = %14016
  call void @exit(i32 noundef 1) #14
  unreachable

14018:                                            ; No predecessors!
  br label %14019

14019:                                            ; preds = %14018
  br label %14020

14020:                                            ; preds = %14019, %13962
  br label %14021

14021:                                            ; preds = %14020
  br label %14022

14022:                                            ; preds = %14021
  %14023 = load ptr, ptr %312, align 8, !tbaa !9
  %14024 = getelementptr inbounds %struct.s2n_connection, ptr %14023, i32 0, i32 33
  %14025 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %14024, i32 0, i32 0
  store i32 0, ptr %14025, align 8, !tbaa !23
  %14026 = load ptr, ptr %312, align 8, !tbaa !9
  %14027 = getelementptr inbounds %struct.s2n_connection, ptr %14026, i32 0, i32 23
  store i8 34, ptr %14027, align 4, !tbaa !63
  %14028 = load ptr, ptr %312, align 8, !tbaa !9
  %14029 = getelementptr inbounds %struct.s2n_connection, ptr %14028, i32 0, i32 27
  %14030 = load ptr, ptr %14029, align 8, !tbaa !64
  %14031 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %14030, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %14031, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 56, ptr %314) #12
  call void @llvm.memset.p0.i64(ptr align 8 %314, i8 0, i64 56, i1 false)
  %14032 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %314, i32 0, i32 0
  %14033 = load ptr, ptr %312, align 8, !tbaa !9
  store ptr %14033, ptr %14032, align 8, !tbaa !20
  %14034 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %314, i32 0, i32 1
  %14035 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %314, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 32, ptr %315) #12
  %14036 = getelementptr inbounds %struct.s2n_offered_psk, ptr %315, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14036, ptr align 8 %225, i64 24, i1 false), !tbaa.struct !58
  %14037 = getelementptr inbounds %struct.s2n_offered_psk, ptr %315, i32 0, i32 1
  store i16 5, ptr %14037, align 8, !tbaa !60
  %14038 = getelementptr inbounds %struct.s2n_offered_psk, ptr %315, i32 0, i32 2
  store i32 0, ptr %14038, align 4, !tbaa !47
  br label %14039

14039:                                            ; preds = %14022
  br label %14040

14040:                                            ; preds = %14039
  %14041 = load i32, ptr @test_count, align 4, !tbaa !5
  %14042 = add nsw i32 %14041, 1
  store i32 %14042, ptr @test_count, align 4, !tbaa !5
  %14043 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %314, ptr noundef %315)
  %14044 = icmp eq i32 %14043, -1
  br i1 %14044, label %14098, label %14045

14045:                                            ; preds = %14040
  br label %14046

14046:                                            ; preds = %14045
  br label %14047

14047:                                            ; preds = %14046
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #12
  %14048 = call ptr @__errno_location() #13
  %14049 = load i32, ptr %14048, align 4, !tbaa !5
  store i32 %14049, ptr %316, align 4, !tbaa !5
  %14050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14051 = call i32 @s2n_print_stacktrace(ptr noundef %14050)
  %14052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14053 = trunc i8 %14052 to i1
  br i1 %14053, label %14054, label %14076

14054:                                            ; preds = %14047
  %14055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14056 = call i32 @fileno(ptr noundef %14055) #12
  %14057 = call i32 @isatty(i32 noundef %14056) #12
  %14058 = icmp ne i32 %14057, 0
  br i1 %14058, label %14059, label %14076

14059:                                            ; preds = %14054
  %14060 = load i32, ptr %316, align 4, !tbaa !5
  %14061 = call ptr @__errno_location() #13
  store i32 %14060, ptr %14061, align 4, !tbaa !5
  %14062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14063 = load i32, ptr @test_count, align 4, !tbaa !5
  %14064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14065 = load i32, ptr %14064, align 4, !tbaa !5
  %14066 = call ptr @s2n_strerror(i32 noundef %14065, ptr noundef @.str.80)
  %14067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14068 = load i32, ptr %14067, align 4, !tbaa !5
  %14069 = call ptr @s2n_strerror_debug(i32 noundef %14068, ptr noundef @.str.80)
  %14070 = call ptr @__errno_location() #13
  %14071 = load i32, ptr %14070, align 4, !tbaa !5
  %14072 = call ptr @strerror(i32 noundef %14071) #12
  %14073 = call ptr @__errno_location() #13
  %14074 = load i32, ptr %14073, align 4, !tbaa !5
  %14075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14062, ptr noundef @.str.78, i32 noundef %14063, ptr noundef @.str.169, ptr noundef @.str.77, i32 noundef 534, ptr noundef %14066, ptr noundef %14069, ptr noundef %14072, i32 noundef %14074) #12
  br label %14093

14076:                                            ; preds = %14054, %14047
  %14077 = load i32, ptr %316, align 4, !tbaa !5
  %14078 = call ptr @__errno_location() #13
  store i32 %14077, ptr %14078, align 4, !tbaa !5
  %14079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14080 = load i32, ptr @test_count, align 4, !tbaa !5
  %14081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14082 = load i32, ptr %14081, align 4, !tbaa !5
  %14083 = call ptr @s2n_strerror(i32 noundef %14082, ptr noundef @.str.80)
  %14084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14085 = load i32, ptr %14084, align 4, !tbaa !5
  %14086 = call ptr @s2n_strerror_debug(i32 noundef %14085, ptr noundef @.str.80)
  %14087 = call ptr @__errno_location() #13
  %14088 = load i32, ptr %14087, align 4, !tbaa !5
  %14089 = call ptr @strerror(i32 noundef %14088) #12
  %14090 = call ptr @__errno_location() #13
  %14091 = load i32, ptr %14090, align 4, !tbaa !5
  %14092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14079, ptr noundef @.str.81, i32 noundef %14080, ptr noundef @.str.169, ptr noundef @.str.77, i32 noundef 534, ptr noundef %14083, ptr noundef %14086, ptr noundef %14089, i32 noundef %14091) #12
  br label %14093

14093:                                            ; preds = %14076, %14059
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #12
  br label %14094

14094:                                            ; preds = %14093
  br label %14095

14095:                                            ; preds = %14094
  call void @exit(i32 noundef 1) #14
  unreachable

14096:                                            ; No predecessors!
  br label %14097

14097:                                            ; preds = %14096
  br label %14098

14098:                                            ; preds = %14097, %14040
  br label %14099

14099:                                            ; preds = %14098
  br label %14100

14100:                                            ; preds = %14099
  br label %14101

14101:                                            ; preds = %14100
  %14102 = load i32, ptr @test_count, align 4, !tbaa !5
  %14103 = add nsw i32 %14102, 1
  store i32 %14103, ptr @test_count, align 4, !tbaa !5
  %14104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14105 = load i32, ptr %14104, align 4, !tbaa !5
  %14106 = icmp eq i32 %14105, 0
  br i1 %14106, label %14107, label %14160

14107:                                            ; preds = %14101
  br label %14108

14108:                                            ; preds = %14107
  br label %14109

14109:                                            ; preds = %14108
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #12
  %14110 = call ptr @__errno_location() #13
  %14111 = load i32, ptr %14110, align 4, !tbaa !5
  store i32 %14111, ptr %317, align 4, !tbaa !5
  %14112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14113 = call i32 @s2n_print_stacktrace(ptr noundef %14112)
  %14114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14115 = trunc i8 %14114 to i1
  br i1 %14115, label %14116, label %14138

14116:                                            ; preds = %14109
  %14117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14118 = call i32 @fileno(ptr noundef %14117) #12
  %14119 = call i32 @isatty(i32 noundef %14118) #12
  %14120 = icmp ne i32 %14119, 0
  br i1 %14120, label %14121, label %14138

14121:                                            ; preds = %14116
  %14122 = load i32, ptr %317, align 4, !tbaa !5
  %14123 = call ptr @__errno_location() #13
  store i32 %14122, ptr %14123, align 4, !tbaa !5
  %14124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14125 = load i32, ptr @test_count, align 4, !tbaa !5
  %14126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14127 = load i32, ptr %14126, align 4, !tbaa !5
  %14128 = call ptr @s2n_strerror(i32 noundef %14127, ptr noundef @.str.80)
  %14129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14130 = load i32, ptr %14129, align 4, !tbaa !5
  %14131 = call ptr @s2n_strerror_debug(i32 noundef %14130, ptr noundef @.str.80)
  %14132 = call ptr @__errno_location() #13
  %14133 = load i32, ptr %14132, align 4, !tbaa !5
  %14134 = call ptr @strerror(i32 noundef %14133) #12
  %14135 = call ptr @__errno_location() #13
  %14136 = load i32, ptr %14135, align 4, !tbaa !5
  %14137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14124, ptr noundef @.str.78, i32 noundef %14125, ptr noundef @.str.172, ptr noundef @.str.77, i32 noundef 534, ptr noundef %14128, ptr noundef %14131, ptr noundef %14134, i32 noundef %14136) #12
  br label %14155

14138:                                            ; preds = %14116, %14109
  %14139 = load i32, ptr %317, align 4, !tbaa !5
  %14140 = call ptr @__errno_location() #13
  store i32 %14139, ptr %14140, align 4, !tbaa !5
  %14141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14142 = load i32, ptr @test_count, align 4, !tbaa !5
  %14143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14144 = load i32, ptr %14143, align 4, !tbaa !5
  %14145 = call ptr @s2n_strerror(i32 noundef %14144, ptr noundef @.str.80)
  %14146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14147 = load i32, ptr %14146, align 4, !tbaa !5
  %14148 = call ptr @s2n_strerror_debug(i32 noundef %14147, ptr noundef @.str.80)
  %14149 = call ptr @__errno_location() #13
  %14150 = load i32, ptr %14149, align 4, !tbaa !5
  %14151 = call ptr @strerror(i32 noundef %14150) #12
  %14152 = call ptr @__errno_location() #13
  %14153 = load i32, ptr %14152, align 4, !tbaa !5
  %14154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14141, ptr noundef @.str.81, i32 noundef %14142, ptr noundef @.str.172, ptr noundef @.str.77, i32 noundef 534, ptr noundef %14145, ptr noundef %14148, ptr noundef %14151, i32 noundef %14153) #12
  br label %14155

14155:                                            ; preds = %14138, %14121
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #12
  br label %14156

14156:                                            ; preds = %14155
  br label %14157

14157:                                            ; preds = %14156
  call void @exit(i32 noundef 1) #14
  unreachable

14158:                                            ; No predecessors!
  br label %14159

14159:                                            ; preds = %14158
  br label %14160

14160:                                            ; preds = %14159, %14101
  br label %14161

14161:                                            ; preds = %14160
  br label %14162

14162:                                            ; preds = %14161
  br label %14163

14163:                                            ; preds = %14162
  %14164 = load i32, ptr @test_count, align 4, !tbaa !5
  %14165 = add nsw i32 %14164, 1
  store i32 %14165, ptr @test_count, align 4, !tbaa !5
  %14166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14167 = load i32, ptr %14166, align 4, !tbaa !5
  %14168 = call ptr @s2n_strerror_debug(i32 noundef %14167, ptr noundef @.str.80)
  %14169 = icmp eq ptr %14168, null
  br i1 %14169, label %14170, label %14223

14170:                                            ; preds = %14163
  br label %14171

14171:                                            ; preds = %14170
  br label %14172

14172:                                            ; preds = %14171
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #12
  %14173 = call ptr @__errno_location() #13
  %14174 = load i32, ptr %14173, align 4, !tbaa !5
  store i32 %14174, ptr %318, align 4, !tbaa !5
  %14175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14176 = call i32 @s2n_print_stacktrace(ptr noundef %14175)
  %14177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14178 = trunc i8 %14177 to i1
  br i1 %14178, label %14179, label %14201

14179:                                            ; preds = %14172
  %14180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14181 = call i32 @fileno(ptr noundef %14180) #12
  %14182 = call i32 @isatty(i32 noundef %14181) #12
  %14183 = icmp ne i32 %14182, 0
  br i1 %14183, label %14184, label %14201

14184:                                            ; preds = %14179
  %14185 = load i32, ptr %318, align 4, !tbaa !5
  %14186 = call ptr @__errno_location() #13
  store i32 %14185, ptr %14186, align 4, !tbaa !5
  %14187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14188 = load i32, ptr @test_count, align 4, !tbaa !5
  %14189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14190 = load i32, ptr %14189, align 4, !tbaa !5
  %14191 = call ptr @s2n_strerror(i32 noundef %14190, ptr noundef @.str.80)
  %14192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14193 = load i32, ptr %14192, align 4, !tbaa !5
  %14194 = call ptr @s2n_strerror_debug(i32 noundef %14193, ptr noundef @.str.80)
  %14195 = call ptr @__errno_location() #13
  %14196 = load i32, ptr %14195, align 4, !tbaa !5
  %14197 = call ptr @strerror(i32 noundef %14196) #12
  %14198 = call ptr @__errno_location() #13
  %14199 = load i32, ptr %14198, align 4, !tbaa !5
  %14200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14187, ptr noundef @.str.78, i32 noundef %14188, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 534, ptr noundef %14191, ptr noundef %14194, ptr noundef %14197, i32 noundef %14199) #12
  br label %14218

14201:                                            ; preds = %14179, %14172
  %14202 = load i32, ptr %318, align 4, !tbaa !5
  %14203 = call ptr @__errno_location() #13
  store i32 %14202, ptr %14203, align 4, !tbaa !5
  %14204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14205 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14207, ptr noundef @.str.80)
  %14209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14210 = load i32, ptr %14209, align 4, !tbaa !5
  %14211 = call ptr @s2n_strerror_debug(i32 noundef %14210, ptr noundef @.str.80)
  %14212 = call ptr @__errno_location() #13
  %14213 = load i32, ptr %14212, align 4, !tbaa !5
  %14214 = call ptr @strerror(i32 noundef %14213) #12
  %14215 = call ptr @__errno_location() #13
  %14216 = load i32, ptr %14215, align 4, !tbaa !5
  %14217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14204, ptr noundef @.str.81, i32 noundef %14205, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 534, ptr noundef %14208, ptr noundef %14211, ptr noundef %14214, i32 noundef %14216) #12
  br label %14218

14218:                                            ; preds = %14201, %14184
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #12
  br label %14219

14219:                                            ; preds = %14218
  br label %14220

14220:                                            ; preds = %14219
  call void @exit(i32 noundef 1) #14
  unreachable

14221:                                            ; No predecessors!
  br label %14222

14222:                                            ; preds = %14221
  br label %14223

14223:                                            ; preds = %14222, %14163
  br label %14224

14224:                                            ; preds = %14223
  br label %14225

14225:                                            ; preds = %14224
  br label %14226

14226:                                            ; preds = %14225
  %14227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14227, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14228 = call ptr @__errno_location() #13
  store i32 0, ptr %14228, align 4, !tbaa !5
  br label %14229

14229:                                            ; preds = %14226
  br label %14230

14230:                                            ; preds = %14229
  br label %14231

14231:                                            ; preds = %14230
  br label %14232

14232:                                            ; preds = %14231
  br label %14233

14233:                                            ; preds = %14232
  %14234 = load i32, ptr @test_count, align 4, !tbaa !5
  %14235 = add nsw i32 %14234, 1
  store i32 %14235, ptr @test_count, align 4, !tbaa !5
  %14236 = load ptr, ptr %312, align 8, !tbaa !9
  %14237 = getelementptr inbounds %struct.s2n_connection, ptr %14236, i32 0, i32 33
  %14238 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %14237, i32 0, i32 3
  %14239 = load i16, ptr %14238, align 2, !tbaa !62
  %14240 = zext i16 %14239 to i32
  %14241 = icmp eq i32 %14240, 0
  br i1 %14241, label %14295, label %14242

14242:                                            ; preds = %14233
  br label %14243

14243:                                            ; preds = %14242
  br label %14244

14244:                                            ; preds = %14243
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #12
  %14245 = call ptr @__errno_location() #13
  %14246 = load i32, ptr %14245, align 4, !tbaa !5
  store i32 %14246, ptr %319, align 4, !tbaa !5
  %14247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14248 = call i32 @s2n_print_stacktrace(ptr noundef %14247)
  %14249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14250 = trunc i8 %14249 to i1
  br i1 %14250, label %14251, label %14273

14251:                                            ; preds = %14244
  %14252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14253 = call i32 @fileno(ptr noundef %14252) #12
  %14254 = call i32 @isatty(i32 noundef %14253) #12
  %14255 = icmp ne i32 %14254, 0
  br i1 %14255, label %14256, label %14273

14256:                                            ; preds = %14251
  %14257 = load i32, ptr %319, align 4, !tbaa !5
  %14258 = call ptr @__errno_location() #13
  store i32 %14257, ptr %14258, align 4, !tbaa !5
  %14259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14260 = load i32, ptr @test_count, align 4, !tbaa !5
  %14261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14262 = load i32, ptr %14261, align 4, !tbaa !5
  %14263 = call ptr @s2n_strerror(i32 noundef %14262, ptr noundef @.str.80)
  %14264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14265 = load i32, ptr %14264, align 4, !tbaa !5
  %14266 = call ptr @s2n_strerror_debug(i32 noundef %14265, ptr noundef @.str.80)
  %14267 = call ptr @__errno_location() #13
  %14268 = load i32, ptr %14267, align 4, !tbaa !5
  %14269 = call ptr @strerror(i32 noundef %14268) #12
  %14270 = call ptr @__errno_location() #13
  %14271 = load i32, ptr %14270, align 4, !tbaa !5
  %14272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14259, ptr noundef @.str.78, i32 noundef %14260, ptr noundef @.str.170, ptr noundef @.str.77, i32 noundef 536, ptr noundef %14263, ptr noundef %14266, ptr noundef %14269, i32 noundef %14271) #12
  br label %14290

14273:                                            ; preds = %14251, %14244
  %14274 = load i32, ptr %319, align 4, !tbaa !5
  %14275 = call ptr @__errno_location() #13
  store i32 %14274, ptr %14275, align 4, !tbaa !5
  %14276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14277 = load i32, ptr @test_count, align 4, !tbaa !5
  %14278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14279 = load i32, ptr %14278, align 4, !tbaa !5
  %14280 = call ptr @s2n_strerror(i32 noundef %14279, ptr noundef @.str.80)
  %14281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14282 = load i32, ptr %14281, align 4, !tbaa !5
  %14283 = call ptr @s2n_strerror_debug(i32 noundef %14282, ptr noundef @.str.80)
  %14284 = call ptr @__errno_location() #13
  %14285 = load i32, ptr %14284, align 4, !tbaa !5
  %14286 = call ptr @strerror(i32 noundef %14285) #12
  %14287 = call ptr @__errno_location() #13
  %14288 = load i32, ptr %14287, align 4, !tbaa !5
  %14289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14276, ptr noundef @.str.81, i32 noundef %14277, ptr noundef @.str.170, ptr noundef @.str.77, i32 noundef 536, ptr noundef %14280, ptr noundef %14283, ptr noundef %14286, i32 noundef %14288) #12
  br label %14290

14290:                                            ; preds = %14273, %14256
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #12
  br label %14291

14291:                                            ; preds = %14290
  br label %14292

14292:                                            ; preds = %14291
  call void @exit(i32 noundef 1) #14
  unreachable

14293:                                            ; No predecessors!
  br label %14294

14294:                                            ; preds = %14293
  br label %14295

14295:                                            ; preds = %14294, %14233
  br label %14296

14296:                                            ; preds = %14295
  br label %14297

14297:                                            ; preds = %14296
  br label %14298

14298:                                            ; preds = %14297
  %14299 = load i32, ptr @test_count, align 4, !tbaa !5
  %14300 = add nsw i32 %14299, 1
  store i32 %14300, ptr @test_count, align 4, !tbaa !5
  %14301 = load ptr, ptr %312, align 8, !tbaa !9
  %14302 = getelementptr inbounds %struct.s2n_connection, ptr %14301, i32 0, i32 33
  %14303 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %14302, i32 0, i32 4
  %14304 = load ptr, ptr %14303, align 8, !tbaa !61
  %14305 = icmp eq ptr %14304, null
  br i1 %14305, label %14359, label %14306

14306:                                            ; preds = %14298
  br label %14307

14307:                                            ; preds = %14306
  br label %14308

14308:                                            ; preds = %14307
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #12
  %14309 = call ptr @__errno_location() #13
  %14310 = load i32, ptr %14309, align 4, !tbaa !5
  store i32 %14310, ptr %320, align 4, !tbaa !5
  %14311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14312 = call i32 @s2n_print_stacktrace(ptr noundef %14311)
  %14313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14314 = trunc i8 %14313 to i1
  br i1 %14314, label %14315, label %14337

14315:                                            ; preds = %14308
  %14316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14317 = call i32 @fileno(ptr noundef %14316) #12
  %14318 = call i32 @isatty(i32 noundef %14317) #12
  %14319 = icmp ne i32 %14318, 0
  br i1 %14319, label %14320, label %14337

14320:                                            ; preds = %14315
  %14321 = load i32, ptr %320, align 4, !tbaa !5
  %14322 = call ptr @__errno_location() #13
  store i32 %14321, ptr %14322, align 4, !tbaa !5
  %14323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14324 = load i32, ptr @test_count, align 4, !tbaa !5
  %14325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14326 = load i32, ptr %14325, align 4, !tbaa !5
  %14327 = call ptr @s2n_strerror(i32 noundef %14326, ptr noundef @.str.80)
  %14328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14329 = load i32, ptr %14328, align 4, !tbaa !5
  %14330 = call ptr @s2n_strerror_debug(i32 noundef %14329, ptr noundef @.str.80)
  %14331 = call ptr @__errno_location() #13
  %14332 = load i32, ptr %14331, align 4, !tbaa !5
  %14333 = call ptr @strerror(i32 noundef %14332) #12
  %14334 = call ptr @__errno_location() #13
  %14335 = load i32, ptr %14334, align 4, !tbaa !5
  %14336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14323, ptr noundef @.str.78, i32 noundef %14324, ptr noundef @.str.171, ptr noundef @.str.77, i32 noundef 537, ptr noundef %14327, ptr noundef %14330, ptr noundef %14333, i32 noundef %14335) #12
  br label %14354

14337:                                            ; preds = %14315, %14308
  %14338 = load i32, ptr %320, align 4, !tbaa !5
  %14339 = call ptr @__errno_location() #13
  store i32 %14338, ptr %14339, align 4, !tbaa !5
  %14340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14341 = load i32, ptr @test_count, align 4, !tbaa !5
  %14342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14343 = load i32, ptr %14342, align 4, !tbaa !5
  %14344 = call ptr @s2n_strerror(i32 noundef %14343, ptr noundef @.str.80)
  %14345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14346 = load i32, ptr %14345, align 4, !tbaa !5
  %14347 = call ptr @s2n_strerror_debug(i32 noundef %14346, ptr noundef @.str.80)
  %14348 = call ptr @__errno_location() #13
  %14349 = load i32, ptr %14348, align 4, !tbaa !5
  %14350 = call ptr @strerror(i32 noundef %14349) #12
  %14351 = call ptr @__errno_location() #13
  %14352 = load i32, ptr %14351, align 4, !tbaa !5
  %14353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14340, ptr noundef @.str.81, i32 noundef %14341, ptr noundef @.str.171, ptr noundef @.str.77, i32 noundef 537, ptr noundef %14344, ptr noundef %14347, ptr noundef %14350, i32 noundef %14352) #12
  br label %14354

14354:                                            ; preds = %14337, %14320
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #12
  br label %14355

14355:                                            ; preds = %14354
  br label %14356

14356:                                            ; preds = %14355
  call void @exit(i32 noundef 1) #14
  unreachable

14357:                                            ; No predecessors!
  br label %14358

14358:                                            ; preds = %14357
  br label %14359

14359:                                            ; preds = %14358, %14298
  br label %14360

14360:                                            ; preds = %14359
  br label %14361

14361:                                            ; preds = %14360
  br label %14362

14362:                                            ; preds = %14361
  %14363 = load i32, ptr @test_count, align 4, !tbaa !5
  %14364 = add nsw i32 %14363, 1
  store i32 %14364, ptr @test_count, align 4, !tbaa !5
  %14365 = load ptr, ptr %312, align 8, !tbaa !9
  %14366 = call i32 @s2n_connection_free(ptr noundef %14365)
  %14367 = icmp eq i32 %14366, -1
  br i1 %14367, label %14368, label %14421

14368:                                            ; preds = %14362
  br label %14369

14369:                                            ; preds = %14368
  br label %14370

14370:                                            ; preds = %14369
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #12
  %14371 = call ptr @__errno_location() #13
  %14372 = load i32, ptr %14371, align 4, !tbaa !5
  store i32 %14372, ptr %321, align 4, !tbaa !5
  %14373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14374 = call i32 @s2n_print_stacktrace(ptr noundef %14373)
  %14375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14376 = trunc i8 %14375 to i1
  br i1 %14376, label %14377, label %14399

14377:                                            ; preds = %14370
  %14378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14379 = call i32 @fileno(ptr noundef %14378) #12
  %14380 = call i32 @isatty(i32 noundef %14379) #12
  %14381 = icmp ne i32 %14380, 0
  br i1 %14381, label %14382, label %14399

14382:                                            ; preds = %14377
  %14383 = load i32, ptr %321, align 4, !tbaa !5
  %14384 = call ptr @__errno_location() #13
  store i32 %14383, ptr %14384, align 4, !tbaa !5
  %14385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14386 = load i32, ptr @test_count, align 4, !tbaa !5
  %14387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14388 = load i32, ptr %14387, align 4, !tbaa !5
  %14389 = call ptr @s2n_strerror(i32 noundef %14388, ptr noundef @.str.80)
  %14390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14391 = load i32, ptr %14390, align 4, !tbaa !5
  %14392 = call ptr @s2n_strerror_debug(i32 noundef %14391, ptr noundef @.str.80)
  %14393 = call ptr @__errno_location() #13
  %14394 = load i32, ptr %14393, align 4, !tbaa !5
  %14395 = call ptr @strerror(i32 noundef %14394) #12
  %14396 = call ptr @__errno_location() #13
  %14397 = load i32, ptr %14396, align 4, !tbaa !5
  %14398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14385, ptr noundef @.str.78, i32 noundef %14386, ptr noundef @.str.168, ptr noundef @.str.77, i32 noundef 539, ptr noundef %14389, ptr noundef %14392, ptr noundef %14395, i32 noundef %14397) #12
  br label %14416

14399:                                            ; preds = %14377, %14370
  %14400 = load i32, ptr %321, align 4, !tbaa !5
  %14401 = call ptr @__errno_location() #13
  store i32 %14400, ptr %14401, align 4, !tbaa !5
  %14402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14403 = load i32, ptr @test_count, align 4, !tbaa !5
  %14404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14405 = load i32, ptr %14404, align 4, !tbaa !5
  %14406 = call ptr @s2n_strerror(i32 noundef %14405, ptr noundef @.str.80)
  %14407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14408 = load i32, ptr %14407, align 4, !tbaa !5
  %14409 = call ptr @s2n_strerror_debug(i32 noundef %14408, ptr noundef @.str.80)
  %14410 = call ptr @__errno_location() #13
  %14411 = load i32, ptr %14410, align 4, !tbaa !5
  %14412 = call ptr @strerror(i32 noundef %14411) #12
  %14413 = call ptr @__errno_location() #13
  %14414 = load i32, ptr %14413, align 4, !tbaa !5
  %14415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14402, ptr noundef @.str.81, i32 noundef %14403, ptr noundef @.str.168, ptr noundef @.str.77, i32 noundef 539, ptr noundef %14406, ptr noundef %14409, ptr noundef %14412, i32 noundef %14414) #12
  br label %14416

14416:                                            ; preds = %14399, %14382
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #12
  br label %14417

14417:                                            ; preds = %14416
  br label %14418

14418:                                            ; preds = %14417
  call void @exit(i32 noundef 1) #14
  unreachable

14419:                                            ; No predecessors!
  br label %14420

14420:                                            ; preds = %14419
  br label %14421

14421:                                            ; preds = %14420, %14362
  br label %14422

14422:                                            ; preds = %14421
  br label %14423

14423:                                            ; preds = %14422
  call void @llvm.lifetime.end.p0(i64 32, ptr %315) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %314) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %312) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %246) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %228) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr %227) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr %225) #12
  call void @llvm.lifetime.end.p0(i64 20, ptr %224) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr %223) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %222) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %220) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr %322) #12
  %14424 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14424, ptr %322, align 8, !tbaa !9
  br label %14425

14425:                                            ; preds = %14423
  %14426 = load i32, ptr @test_count, align 4, !tbaa !5
  %14427 = add nsw i32 %14426, 1
  store i32 %14427, ptr @test_count, align 4, !tbaa !5
  %14428 = load ptr, ptr %322, align 8, !tbaa !9
  %14429 = icmp eq ptr %14428, null
  br i1 %14429, label %14430, label %14483

14430:                                            ; preds = %14425
  br label %14431

14431:                                            ; preds = %14430
  br label %14432

14432:                                            ; preds = %14431
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #12
  %14433 = call ptr @__errno_location() #13
  %14434 = load i32, ptr %14433, align 4, !tbaa !5
  store i32 %14434, ptr %323, align 4, !tbaa !5
  %14435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14436 = call i32 @s2n_print_stacktrace(ptr noundef %14435)
  %14437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14438 = trunc i8 %14437 to i1
  br i1 %14438, label %14439, label %14461

14439:                                            ; preds = %14432
  %14440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14441 = call i32 @fileno(ptr noundef %14440) #12
  %14442 = call i32 @isatty(i32 noundef %14441) #12
  %14443 = icmp ne i32 %14442, 0
  br i1 %14443, label %14444, label %14461

14444:                                            ; preds = %14439
  %14445 = load i32, ptr %323, align 4, !tbaa !5
  %14446 = call ptr @__errno_location() #13
  store i32 %14445, ptr %14446, align 4, !tbaa !5
  %14447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14448 = load i32, ptr @test_count, align 4, !tbaa !5
  %14449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14450 = load i32, ptr %14449, align 4, !tbaa !5
  %14451 = call ptr @s2n_strerror(i32 noundef %14450, ptr noundef @.str.80)
  %14452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14453 = load i32, ptr %14452, align 4, !tbaa !5
  %14454 = call ptr @s2n_strerror_debug(i32 noundef %14453, ptr noundef @.str.80)
  %14455 = call ptr @__errno_location() #13
  %14456 = load i32, ptr %14455, align 4, !tbaa !5
  %14457 = call ptr @strerror(i32 noundef %14456) #12
  %14458 = call ptr @__errno_location() #13
  %14459 = load i32, ptr %14458, align 4, !tbaa !5
  %14460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14447, ptr noundef @.str.78, i32 noundef %14448, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 546, ptr noundef %14451, ptr noundef %14454, ptr noundef %14457, i32 noundef %14459) #12
  br label %14478

14461:                                            ; preds = %14439, %14432
  %14462 = load i32, ptr %323, align 4, !tbaa !5
  %14463 = call ptr @__errno_location() #13
  store i32 %14462, ptr %14463, align 4, !tbaa !5
  %14464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14465 = load i32, ptr @test_count, align 4, !tbaa !5
  %14466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14467 = load i32, ptr %14466, align 4, !tbaa !5
  %14468 = call ptr @s2n_strerror(i32 noundef %14467, ptr noundef @.str.80)
  %14469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14470 = load i32, ptr %14469, align 4, !tbaa !5
  %14471 = call ptr @s2n_strerror_debug(i32 noundef %14470, ptr noundef @.str.80)
  %14472 = call ptr @__errno_location() #13
  %14473 = load i32, ptr %14472, align 4, !tbaa !5
  %14474 = call ptr @strerror(i32 noundef %14473) #12
  %14475 = call ptr @__errno_location() #13
  %14476 = load i32, ptr %14475, align 4, !tbaa !5
  %14477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14464, ptr noundef @.str.81, i32 noundef %14465, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 546, ptr noundef %14468, ptr noundef %14471, ptr noundef %14474, i32 noundef %14476) #12
  br label %14478

14478:                                            ; preds = %14461, %14444
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #12
  br label %14479

14479:                                            ; preds = %14478
  br label %14480

14480:                                            ; preds = %14479
  call void @exit(i32 noundef 1) #14
  unreachable

14481:                                            ; No predecessors!
  br label %14482

14482:                                            ; preds = %14481
  br label %14483

14483:                                            ; preds = %14482, %14425
  br label %14484

14484:                                            ; preds = %14483
  br label %14485

14485:                                            ; preds = %14484
  %14486 = load ptr, ptr %322, align 8, !tbaa !9
  %14487 = getelementptr inbounds %struct.s2n_connection, ptr %14486, i32 0, i32 33
  %14488 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %14487, i32 0, i32 0
  store i32 1, ptr %14488, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 7, ptr %324) #12
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %324, ptr align 1 @__const.main.test_secret, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %325) #12
  store ptr null, ptr %325, align 8, !tbaa !9
  br label %14489

14489:                                            ; preds = %14485
  %14490 = load i32, ptr @test_count, align 4, !tbaa !5
  %14491 = add nsw i32 %14490, 1
  store i32 %14491, ptr @test_count, align 4, !tbaa !5
  %14492 = load ptr, ptr %322, align 8, !tbaa !9
  %14493 = getelementptr inbounds %struct.s2n_connection, ptr %14492, i32 0, i32 33
  %14494 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %14493, i32 0, i32 1
  %14495 = call i32 @s2n_array_pushback(ptr noundef %14494, ptr noundef %325)
  %14496 = getelementptr inbounds %struct.s2n_result, ptr %326, i32 0, i32 0
  store i32 %14495, ptr %14496, align 4
  %14497 = getelementptr inbounds %struct.s2n_result, ptr %326, i32 0, i32 0
  %14498 = load i32, ptr %14497, align 4
  %14499 = call zeroext i1 @s2n_result_is_ok(i32 %14498)
  br i1 %14499, label %14553, label %14500

14500:                                            ; preds = %14489
  br label %14501

14501:                                            ; preds = %14500
  br label %14502

14502:                                            ; preds = %14501
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #12
  %14503 = call ptr @__errno_location() #13
  %14504 = load i32, ptr %14503, align 4, !tbaa !5
  store i32 %14504, ptr %327, align 4, !tbaa !5
  %14505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14506 = call i32 @s2n_print_stacktrace(ptr noundef %14505)
  %14507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14508 = trunc i8 %14507 to i1
  br i1 %14508, label %14509, label %14531

14509:                                            ; preds = %14502
  %14510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14511 = call i32 @fileno(ptr noundef %14510) #12
  %14512 = call i32 @isatty(i32 noundef %14511) #12
  %14513 = icmp ne i32 %14512, 0
  br i1 %14513, label %14514, label %14531

14514:                                            ; preds = %14509
  %14515 = load i32, ptr %327, align 4, !tbaa !5
  %14516 = call ptr @__errno_location() #13
  store i32 %14515, ptr %14516, align 4, !tbaa !5
  %14517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14518 = load i32, ptr @test_count, align 4, !tbaa !5
  %14519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14520 = load i32, ptr %14519, align 4, !tbaa !5
  %14521 = call ptr @s2n_strerror(i32 noundef %14520, ptr noundef @.str.80)
  %14522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14523 = load i32, ptr %14522, align 4, !tbaa !5
  %14524 = call ptr @s2n_strerror_debug(i32 noundef %14523, ptr noundef @.str.80)
  %14525 = call ptr @__errno_location() #13
  %14526 = load i32, ptr %14525, align 4, !tbaa !5
  %14527 = call ptr @strerror(i32 noundef %14526) #12
  %14528 = call ptr @__errno_location() #13
  %14529 = load i32, ptr %14528, align 4, !tbaa !5
  %14530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14517, ptr noundef @.str.78, i32 noundef %14518, ptr noundef @.str.173, ptr noundef @.str.77, i32 noundef 552, ptr noundef %14521, ptr noundef %14524, ptr noundef %14527, i32 noundef %14529) #12
  br label %14548

14531:                                            ; preds = %14509, %14502
  %14532 = load i32, ptr %327, align 4, !tbaa !5
  %14533 = call ptr @__errno_location() #13
  store i32 %14532, ptr %14533, align 4, !tbaa !5
  %14534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14535 = load i32, ptr @test_count, align 4, !tbaa !5
  %14536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14537 = load i32, ptr %14536, align 4, !tbaa !5
  %14538 = call ptr @s2n_strerror(i32 noundef %14537, ptr noundef @.str.80)
  %14539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14540 = load i32, ptr %14539, align 4, !tbaa !5
  %14541 = call ptr @s2n_strerror_debug(i32 noundef %14540, ptr noundef @.str.80)
  %14542 = call ptr @__errno_location() #13
  %14543 = load i32, ptr %14542, align 4, !tbaa !5
  %14544 = call ptr @strerror(i32 noundef %14543) #12
  %14545 = call ptr @__errno_location() #13
  %14546 = load i32, ptr %14545, align 4, !tbaa !5
  %14547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14534, ptr noundef @.str.81, i32 noundef %14535, ptr noundef @.str.173, ptr noundef @.str.77, i32 noundef 552, ptr noundef %14538, ptr noundef %14541, ptr noundef %14544, i32 noundef %14546) #12
  br label %14548

14548:                                            ; preds = %14531, %14514
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #12
  br label %14549

14549:                                            ; preds = %14548
  br label %14550

14550:                                            ; preds = %14549
  call void @exit(i32 noundef 1) #14
  unreachable

14551:                                            ; No predecessors!
  br label %14552

14552:                                            ; preds = %14551
  br label %14553

14553:                                            ; preds = %14552, %14489
  br label %14554

14554:                                            ; preds = %14553
  br label %14555

14555:                                            ; preds = %14554
  br label %14556

14556:                                            ; preds = %14555
  %14557 = load i32, ptr @test_count, align 4, !tbaa !5
  %14558 = add nsw i32 %14557, 1
  store i32 %14558, ptr @test_count, align 4, !tbaa !5
  %14559 = load ptr, ptr %325, align 8, !tbaa !9
  %14560 = call i32 @s2n_psk_init(ptr noundef %14559, i32 noundef 1)
  %14561 = getelementptr inbounds %struct.s2n_result, ptr %328, i32 0, i32 0
  store i32 %14560, ptr %14561, align 4
  %14562 = getelementptr inbounds %struct.s2n_result, ptr %328, i32 0, i32 0
  %14563 = load i32, ptr %14562, align 4
  %14564 = call zeroext i1 @s2n_result_is_ok(i32 %14563)
  br i1 %14564, label %14618, label %14565

14565:                                            ; preds = %14556
  br label %14566

14566:                                            ; preds = %14565
  br label %14567

14567:                                            ; preds = %14566
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #12
  %14568 = call ptr @__errno_location() #13
  %14569 = load i32, ptr %14568, align 4, !tbaa !5
  store i32 %14569, ptr %329, align 4, !tbaa !5
  %14570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14571 = call i32 @s2n_print_stacktrace(ptr noundef %14570)
  %14572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14573 = trunc i8 %14572 to i1
  br i1 %14573, label %14574, label %14596

14574:                                            ; preds = %14567
  %14575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14576 = call i32 @fileno(ptr noundef %14575) #12
  %14577 = call i32 @isatty(i32 noundef %14576) #12
  %14578 = icmp ne i32 %14577, 0
  br i1 %14578, label %14579, label %14596

14579:                                            ; preds = %14574
  %14580 = load i32, ptr %329, align 4, !tbaa !5
  %14581 = call ptr @__errno_location() #13
  store i32 %14580, ptr %14581, align 4, !tbaa !5
  %14582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14583 = load i32, ptr @test_count, align 4, !tbaa !5
  %14584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14585 = load i32, ptr %14584, align 4, !tbaa !5
  %14586 = call ptr @s2n_strerror(i32 noundef %14585, ptr noundef @.str.80)
  %14587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14588 = load i32, ptr %14587, align 4, !tbaa !5
  %14589 = call ptr @s2n_strerror_debug(i32 noundef %14588, ptr noundef @.str.80)
  %14590 = call ptr @__errno_location() #13
  %14591 = load i32, ptr %14590, align 4, !tbaa !5
  %14592 = call ptr @strerror(i32 noundef %14591) #12
  %14593 = call ptr @__errno_location() #13
  %14594 = load i32, ptr %14593, align 4, !tbaa !5
  %14595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14582, ptr noundef @.str.78, i32 noundef %14583, ptr noundef @.str.174, ptr noundef @.str.77, i32 noundef 553, ptr noundef %14586, ptr noundef %14589, ptr noundef %14592, i32 noundef %14594) #12
  br label %14613

14596:                                            ; preds = %14574, %14567
  %14597 = load i32, ptr %329, align 4, !tbaa !5
  %14598 = call ptr @__errno_location() #13
  store i32 %14597, ptr %14598, align 4, !tbaa !5
  %14599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14600 = load i32, ptr @test_count, align 4, !tbaa !5
  %14601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14602 = load i32, ptr %14601, align 4, !tbaa !5
  %14603 = call ptr @s2n_strerror(i32 noundef %14602, ptr noundef @.str.80)
  %14604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14605 = load i32, ptr %14604, align 4, !tbaa !5
  %14606 = call ptr @s2n_strerror_debug(i32 noundef %14605, ptr noundef @.str.80)
  %14607 = call ptr @__errno_location() #13
  %14608 = load i32, ptr %14607, align 4, !tbaa !5
  %14609 = call ptr @strerror(i32 noundef %14608) #12
  %14610 = call ptr @__errno_location() #13
  %14611 = load i32, ptr %14610, align 4, !tbaa !5
  %14612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14599, ptr noundef @.str.81, i32 noundef %14600, ptr noundef @.str.174, ptr noundef @.str.77, i32 noundef 553, ptr noundef %14603, ptr noundef %14606, ptr noundef %14609, i32 noundef %14611) #12
  br label %14613

14613:                                            ; preds = %14596, %14579
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #12
  br label %14614

14614:                                            ; preds = %14613
  br label %14615

14615:                                            ; preds = %14614
  call void @exit(i32 noundef 1) #14
  unreachable

14616:                                            ; No predecessors!
  br label %14617

14617:                                            ; preds = %14616
  br label %14618

14618:                                            ; preds = %14617, %14556
  br label %14619

14619:                                            ; preds = %14618
  br label %14620

14620:                                            ; preds = %14619
  br label %14621

14621:                                            ; preds = %14620
  %14622 = load i32, ptr @test_count, align 4, !tbaa !5
  %14623 = add nsw i32 %14622, 1
  store i32 %14623, ptr @test_count, align 4, !tbaa !5
  %14624 = load ptr, ptr %325, align 8, !tbaa !9
  %14625 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %14626 = call i32 @s2n_psk_set_identity(ptr noundef %14624, ptr noundef %14625, i16 noundef zeroext 4)
  %14627 = icmp eq i32 %14626, -1
  br i1 %14627, label %14628, label %14681

14628:                                            ; preds = %14621
  br label %14629

14629:                                            ; preds = %14628
  br label %14630

14630:                                            ; preds = %14629
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #12
  %14631 = call ptr @__errno_location() #13
  %14632 = load i32, ptr %14631, align 4, !tbaa !5
  store i32 %14632, ptr %330, align 4, !tbaa !5
  %14633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14634 = call i32 @s2n_print_stacktrace(ptr noundef %14633)
  %14635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14636 = trunc i8 %14635 to i1
  br i1 %14636, label %14637, label %14659

14637:                                            ; preds = %14630
  %14638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14639 = call i32 @fileno(ptr noundef %14638) #12
  %14640 = call i32 @isatty(i32 noundef %14639) #12
  %14641 = icmp ne i32 %14640, 0
  br i1 %14641, label %14642, label %14659

14642:                                            ; preds = %14637
  %14643 = load i32, ptr %330, align 4, !tbaa !5
  %14644 = call ptr @__errno_location() #13
  store i32 %14643, ptr %14644, align 4, !tbaa !5
  %14645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14646 = load i32, ptr @test_count, align 4, !tbaa !5
  %14647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14648 = load i32, ptr %14647, align 4, !tbaa !5
  %14649 = call ptr @s2n_strerror(i32 noundef %14648, ptr noundef @.str.80)
  %14650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14651 = load i32, ptr %14650, align 4, !tbaa !5
  %14652 = call ptr @s2n_strerror_debug(i32 noundef %14651, ptr noundef @.str.80)
  %14653 = call ptr @__errno_location() #13
  %14654 = load i32, ptr %14653, align 4, !tbaa !5
  %14655 = call ptr @strerror(i32 noundef %14654) #12
  %14656 = call ptr @__errno_location() #13
  %14657 = load i32, ptr %14656, align 4, !tbaa !5
  %14658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14645, ptr noundef @.str.78, i32 noundef %14646, ptr noundef @.str.175, ptr noundef @.str.77, i32 noundef 554, ptr noundef %14649, ptr noundef %14652, ptr noundef %14655, i32 noundef %14657) #12
  br label %14676

14659:                                            ; preds = %14637, %14630
  %14660 = load i32, ptr %330, align 4, !tbaa !5
  %14661 = call ptr @__errno_location() #13
  store i32 %14660, ptr %14661, align 4, !tbaa !5
  %14662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14663 = load i32, ptr @test_count, align 4, !tbaa !5
  %14664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14665 = load i32, ptr %14664, align 4, !tbaa !5
  %14666 = call ptr @s2n_strerror(i32 noundef %14665, ptr noundef @.str.80)
  %14667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14668 = load i32, ptr %14667, align 4, !tbaa !5
  %14669 = call ptr @s2n_strerror_debug(i32 noundef %14668, ptr noundef @.str.80)
  %14670 = call ptr @__errno_location() #13
  %14671 = load i32, ptr %14670, align 4, !tbaa !5
  %14672 = call ptr @strerror(i32 noundef %14671) #12
  %14673 = call ptr @__errno_location() #13
  %14674 = load i32, ptr %14673, align 4, !tbaa !5
  %14675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14662, ptr noundef @.str.81, i32 noundef %14663, ptr noundef @.str.175, ptr noundef @.str.77, i32 noundef 554, ptr noundef %14666, ptr noundef %14669, ptr noundef %14672, i32 noundef %14674) #12
  br label %14676

14676:                                            ; preds = %14659, %14642
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #12
  br label %14677

14677:                                            ; preds = %14676
  br label %14678

14678:                                            ; preds = %14677
  call void @exit(i32 noundef 1) #14
  unreachable

14679:                                            ; No predecessors!
  br label %14680

14680:                                            ; preds = %14679
  br label %14681

14681:                                            ; preds = %14680, %14621
  br label %14682

14682:                                            ; preds = %14681
  br label %14683

14683:                                            ; preds = %14682
  br label %14684

14684:                                            ; preds = %14683
  %14685 = load i32, ptr @test_count, align 4, !tbaa !5
  %14686 = add nsw i32 %14685, 1
  store i32 %14686, ptr @test_count, align 4, !tbaa !5
  %14687 = load ptr, ptr %325, align 8, !tbaa !9
  %14688 = getelementptr inbounds [7 x i8], ptr %324, i64 0, i64 0
  %14689 = call i32 @s2n_psk_set_secret(ptr noundef %14687, ptr noundef %14688, i16 noundef zeroext 7)
  %14690 = icmp eq i32 %14689, -1
  br i1 %14690, label %14691, label %14744

14691:                                            ; preds = %14684
  br label %14692

14692:                                            ; preds = %14691
  br label %14693

14693:                                            ; preds = %14692
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #12
  %14694 = call ptr @__errno_location() #13
  %14695 = load i32, ptr %14694, align 4, !tbaa !5
  store i32 %14695, ptr %331, align 4, !tbaa !5
  %14696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14697 = call i32 @s2n_print_stacktrace(ptr noundef %14696)
  %14698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14699 = trunc i8 %14698 to i1
  br i1 %14699, label %14700, label %14722

14700:                                            ; preds = %14693
  %14701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14702 = call i32 @fileno(ptr noundef %14701) #12
  %14703 = call i32 @isatty(i32 noundef %14702) #12
  %14704 = icmp ne i32 %14703, 0
  br i1 %14704, label %14705, label %14722

14705:                                            ; preds = %14700
  %14706 = load i32, ptr %331, align 4, !tbaa !5
  %14707 = call ptr @__errno_location() #13
  store i32 %14706, ptr %14707, align 4, !tbaa !5
  %14708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14709 = load i32, ptr @test_count, align 4, !tbaa !5
  %14710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14711 = load i32, ptr %14710, align 4, !tbaa !5
  %14712 = call ptr @s2n_strerror(i32 noundef %14711, ptr noundef @.str.80)
  %14713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14714 = load i32, ptr %14713, align 4, !tbaa !5
  %14715 = call ptr @s2n_strerror_debug(i32 noundef %14714, ptr noundef @.str.80)
  %14716 = call ptr @__errno_location() #13
  %14717 = load i32, ptr %14716, align 4, !tbaa !5
  %14718 = call ptr @strerror(i32 noundef %14717) #12
  %14719 = call ptr @__errno_location() #13
  %14720 = load i32, ptr %14719, align 4, !tbaa !5
  %14721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14708, ptr noundef @.str.78, i32 noundef %14709, ptr noundef @.str.176, ptr noundef @.str.77, i32 noundef 555, ptr noundef %14712, ptr noundef %14715, ptr noundef %14718, i32 noundef %14720) #12
  br label %14739

14722:                                            ; preds = %14700, %14693
  %14723 = load i32, ptr %331, align 4, !tbaa !5
  %14724 = call ptr @__errno_location() #13
  store i32 %14723, ptr %14724, align 4, !tbaa !5
  %14725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14726 = load i32, ptr @test_count, align 4, !tbaa !5
  %14727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14728 = load i32, ptr %14727, align 4, !tbaa !5
  %14729 = call ptr @s2n_strerror(i32 noundef %14728, ptr noundef @.str.80)
  %14730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14731 = load i32, ptr %14730, align 4, !tbaa !5
  %14732 = call ptr @s2n_strerror_debug(i32 noundef %14731, ptr noundef @.str.80)
  %14733 = call ptr @__errno_location() #13
  %14734 = load i32, ptr %14733, align 4, !tbaa !5
  %14735 = call ptr @strerror(i32 noundef %14734) #12
  %14736 = call ptr @__errno_location() #13
  %14737 = load i32, ptr %14736, align 4, !tbaa !5
  %14738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14725, ptr noundef @.str.81, i32 noundef %14726, ptr noundef @.str.176, ptr noundef @.str.77, i32 noundef 555, ptr noundef %14729, ptr noundef %14732, ptr noundef %14735, i32 noundef %14737) #12
  br label %14739

14739:                                            ; preds = %14722, %14705
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #12
  br label %14740

14740:                                            ; preds = %14739
  br label %14741

14741:                                            ; preds = %14740
  call void @exit(i32 noundef 1) #14
  unreachable

14742:                                            ; No predecessors!
  br label %14743

14743:                                            ; preds = %14742
  br label %14744

14744:                                            ; preds = %14743, %14684
  br label %14745

14745:                                            ; preds = %14744
  br label %14746

14746:                                            ; preds = %14745
  call void @llvm.lifetime.start.p0(i64 8, ptr %332) #12
  store ptr null, ptr %332, align 8, !tbaa !9
  br label %14747

14747:                                            ; preds = %14746
  %14748 = load i32, ptr @test_count, align 4, !tbaa !5
  %14749 = add nsw i32 %14748, 1
  store i32 %14749, ptr @test_count, align 4, !tbaa !5
  %14750 = load ptr, ptr %322, align 8, !tbaa !9
  %14751 = getelementptr inbounds %struct.s2n_connection, ptr %14750, i32 0, i32 33
  %14752 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %14751, i32 0, i32 1
  %14753 = call i32 @s2n_array_pushback(ptr noundef %14752, ptr noundef %332)
  %14754 = getelementptr inbounds %struct.s2n_result, ptr %333, i32 0, i32 0
  store i32 %14753, ptr %14754, align 4
  %14755 = getelementptr inbounds %struct.s2n_result, ptr %333, i32 0, i32 0
  %14756 = load i32, ptr %14755, align 4
  %14757 = call zeroext i1 @s2n_result_is_ok(i32 %14756)
  br i1 %14757, label %14811, label %14758

14758:                                            ; preds = %14747
  br label %14759

14759:                                            ; preds = %14758
  br label %14760

14760:                                            ; preds = %14759
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #12
  %14761 = call ptr @__errno_location() #13
  %14762 = load i32, ptr %14761, align 4, !tbaa !5
  store i32 %14762, ptr %334, align 4, !tbaa !5
  %14763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14764 = call i32 @s2n_print_stacktrace(ptr noundef %14763)
  %14765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14766 = trunc i8 %14765 to i1
  br i1 %14766, label %14767, label %14789

14767:                                            ; preds = %14760
  %14768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14769 = call i32 @fileno(ptr noundef %14768) #12
  %14770 = call i32 @isatty(i32 noundef %14769) #12
  %14771 = icmp ne i32 %14770, 0
  br i1 %14771, label %14772, label %14789

14772:                                            ; preds = %14767
  %14773 = load i32, ptr %334, align 4, !tbaa !5
  %14774 = call ptr @__errno_location() #13
  store i32 %14773, ptr %14774, align 4, !tbaa !5
  %14775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14776 = load i32, ptr @test_count, align 4, !tbaa !5
  %14777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14778 = load i32, ptr %14777, align 4, !tbaa !5
  %14779 = call ptr @s2n_strerror(i32 noundef %14778, ptr noundef @.str.80)
  %14780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14781 = load i32, ptr %14780, align 4, !tbaa !5
  %14782 = call ptr @s2n_strerror_debug(i32 noundef %14781, ptr noundef @.str.80)
  %14783 = call ptr @__errno_location() #13
  %14784 = load i32, ptr %14783, align 4, !tbaa !5
  %14785 = call ptr @strerror(i32 noundef %14784) #12
  %14786 = call ptr @__errno_location() #13
  %14787 = load i32, ptr %14786, align 4, !tbaa !5
  %14788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14775, ptr noundef @.str.78, i32 noundef %14776, ptr noundef @.str.177, ptr noundef @.str.77, i32 noundef 558, ptr noundef %14779, ptr noundef %14782, ptr noundef %14785, i32 noundef %14787) #12
  br label %14806

14789:                                            ; preds = %14767, %14760
  %14790 = load i32, ptr %334, align 4, !tbaa !5
  %14791 = call ptr @__errno_location() #13
  store i32 %14790, ptr %14791, align 4, !tbaa !5
  %14792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14793 = load i32, ptr @test_count, align 4, !tbaa !5
  %14794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14795 = load i32, ptr %14794, align 4, !tbaa !5
  %14796 = call ptr @s2n_strerror(i32 noundef %14795, ptr noundef @.str.80)
  %14797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14798 = load i32, ptr %14797, align 4, !tbaa !5
  %14799 = call ptr @s2n_strerror_debug(i32 noundef %14798, ptr noundef @.str.80)
  %14800 = call ptr @__errno_location() #13
  %14801 = load i32, ptr %14800, align 4, !tbaa !5
  %14802 = call ptr @strerror(i32 noundef %14801) #12
  %14803 = call ptr @__errno_location() #13
  %14804 = load i32, ptr %14803, align 4, !tbaa !5
  %14805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14792, ptr noundef @.str.81, i32 noundef %14793, ptr noundef @.str.177, ptr noundef @.str.77, i32 noundef 558, ptr noundef %14796, ptr noundef %14799, ptr noundef %14802, i32 noundef %14804) #12
  br label %14806

14806:                                            ; preds = %14789, %14772
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #12
  br label %14807

14807:                                            ; preds = %14806
  br label %14808

14808:                                            ; preds = %14807
  call void @exit(i32 noundef 1) #14
  unreachable

14809:                                            ; No predecessors!
  br label %14810

14810:                                            ; preds = %14809
  br label %14811

14811:                                            ; preds = %14810, %14747
  br label %14812

14812:                                            ; preds = %14811
  br label %14813

14813:                                            ; preds = %14812
  br label %14814

14814:                                            ; preds = %14813
  %14815 = load i32, ptr @test_count, align 4, !tbaa !5
  %14816 = add nsw i32 %14815, 1
  store i32 %14816, ptr @test_count, align 4, !tbaa !5
  %14817 = load ptr, ptr %332, align 8, !tbaa !9
  %14818 = call i32 @s2n_psk_init(ptr noundef %14817, i32 noundef 1)
  %14819 = getelementptr inbounds %struct.s2n_result, ptr %335, i32 0, i32 0
  store i32 %14818, ptr %14819, align 4
  %14820 = getelementptr inbounds %struct.s2n_result, ptr %335, i32 0, i32 0
  %14821 = load i32, ptr %14820, align 4
  %14822 = call zeroext i1 @s2n_result_is_ok(i32 %14821)
  br i1 %14822, label %14876, label %14823

14823:                                            ; preds = %14814
  br label %14824

14824:                                            ; preds = %14823
  br label %14825

14825:                                            ; preds = %14824
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #12
  %14826 = call ptr @__errno_location() #13
  %14827 = load i32, ptr %14826, align 4, !tbaa !5
  store i32 %14827, ptr %336, align 4, !tbaa !5
  %14828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14829 = call i32 @s2n_print_stacktrace(ptr noundef %14828)
  %14830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14831 = trunc i8 %14830 to i1
  br i1 %14831, label %14832, label %14854

14832:                                            ; preds = %14825
  %14833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14834 = call i32 @fileno(ptr noundef %14833) #12
  %14835 = call i32 @isatty(i32 noundef %14834) #12
  %14836 = icmp ne i32 %14835, 0
  br i1 %14836, label %14837, label %14854

14837:                                            ; preds = %14832
  %14838 = load i32, ptr %336, align 4, !tbaa !5
  %14839 = call ptr @__errno_location() #13
  store i32 %14838, ptr %14839, align 4, !tbaa !5
  %14840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14841 = load i32, ptr @test_count, align 4, !tbaa !5
  %14842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14843 = load i32, ptr %14842, align 4, !tbaa !5
  %14844 = call ptr @s2n_strerror(i32 noundef %14843, ptr noundef @.str.80)
  %14845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14846 = load i32, ptr %14845, align 4, !tbaa !5
  %14847 = call ptr @s2n_strerror_debug(i32 noundef %14846, ptr noundef @.str.80)
  %14848 = call ptr @__errno_location() #13
  %14849 = load i32, ptr %14848, align 4, !tbaa !5
  %14850 = call ptr @strerror(i32 noundef %14849) #12
  %14851 = call ptr @__errno_location() #13
  %14852 = load i32, ptr %14851, align 4, !tbaa !5
  %14853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14840, ptr noundef @.str.78, i32 noundef %14841, ptr noundef @.str.178, ptr noundef @.str.77, i32 noundef 559, ptr noundef %14844, ptr noundef %14847, ptr noundef %14850, i32 noundef %14852) #12
  br label %14871

14854:                                            ; preds = %14832, %14825
  %14855 = load i32, ptr %336, align 4, !tbaa !5
  %14856 = call ptr @__errno_location() #13
  store i32 %14855, ptr %14856, align 4, !tbaa !5
  %14857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14858 = load i32, ptr @test_count, align 4, !tbaa !5
  %14859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14860 = load i32, ptr %14859, align 4, !tbaa !5
  %14861 = call ptr @s2n_strerror(i32 noundef %14860, ptr noundef @.str.80)
  %14862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14863 = load i32, ptr %14862, align 4, !tbaa !5
  %14864 = call ptr @s2n_strerror_debug(i32 noundef %14863, ptr noundef @.str.80)
  %14865 = call ptr @__errno_location() #13
  %14866 = load i32, ptr %14865, align 4, !tbaa !5
  %14867 = call ptr @strerror(i32 noundef %14866) #12
  %14868 = call ptr @__errno_location() #13
  %14869 = load i32, ptr %14868, align 4, !tbaa !5
  %14870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14857, ptr noundef @.str.81, i32 noundef %14858, ptr noundef @.str.178, ptr noundef @.str.77, i32 noundef 559, ptr noundef %14861, ptr noundef %14864, ptr noundef %14867, i32 noundef %14869) #12
  br label %14871

14871:                                            ; preds = %14854, %14837
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #12
  br label %14872

14872:                                            ; preds = %14871
  br label %14873

14873:                                            ; preds = %14872
  call void @exit(i32 noundef 1) #14
  unreachable

14874:                                            ; No predecessors!
  br label %14875

14875:                                            ; preds = %14874
  br label %14876

14876:                                            ; preds = %14875, %14814
  br label %14877

14877:                                            ; preds = %14876
  br label %14878

14878:                                            ; preds = %14877
  br label %14879

14879:                                            ; preds = %14878
  %14880 = load i32, ptr @test_count, align 4, !tbaa !5
  %14881 = add nsw i32 %14880, 1
  store i32 %14881, ptr @test_count, align 4, !tbaa !5
  %14882 = load ptr, ptr %332, align 8, !tbaa !9
  %14883 = getelementptr inbounds [4 x i8], ptr %10, i64 0, i64 0
  %14884 = call i32 @s2n_psk_set_identity(ptr noundef %14882, ptr noundef %14883, i16 noundef zeroext 4)
  %14885 = icmp eq i32 %14884, -1
  br i1 %14885, label %14886, label %14939

14886:                                            ; preds = %14879
  br label %14887

14887:                                            ; preds = %14886
  br label %14888

14888:                                            ; preds = %14887
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #12
  %14889 = call ptr @__errno_location() #13
  %14890 = load i32, ptr %14889, align 4, !tbaa !5
  store i32 %14890, ptr %337, align 4, !tbaa !5
  %14891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14892 = call i32 @s2n_print_stacktrace(ptr noundef %14891)
  %14893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14894 = trunc i8 %14893 to i1
  br i1 %14894, label %14895, label %14917

14895:                                            ; preds = %14888
  %14896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14897 = call i32 @fileno(ptr noundef %14896) #12
  %14898 = call i32 @isatty(i32 noundef %14897) #12
  %14899 = icmp ne i32 %14898, 0
  br i1 %14899, label %14900, label %14917

14900:                                            ; preds = %14895
  %14901 = load i32, ptr %337, align 4, !tbaa !5
  %14902 = call ptr @__errno_location() #13
  store i32 %14901, ptr %14902, align 4, !tbaa !5
  %14903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14904 = load i32, ptr @test_count, align 4, !tbaa !5
  %14905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14906 = load i32, ptr %14905, align 4, !tbaa !5
  %14907 = call ptr @s2n_strerror(i32 noundef %14906, ptr noundef @.str.80)
  %14908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14909 = load i32, ptr %14908, align 4, !tbaa !5
  %14910 = call ptr @s2n_strerror_debug(i32 noundef %14909, ptr noundef @.str.80)
  %14911 = call ptr @__errno_location() #13
  %14912 = load i32, ptr %14911, align 4, !tbaa !5
  %14913 = call ptr @strerror(i32 noundef %14912) #12
  %14914 = call ptr @__errno_location() #13
  %14915 = load i32, ptr %14914, align 4, !tbaa !5
  %14916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14903, ptr noundef @.str.78, i32 noundef %14904, ptr noundef @.str.179, ptr noundef @.str.77, i32 noundef 560, ptr noundef %14907, ptr noundef %14910, ptr noundef %14913, i32 noundef %14915) #12
  br label %14934

14917:                                            ; preds = %14895, %14888
  %14918 = load i32, ptr %337, align 4, !tbaa !5
  %14919 = call ptr @__errno_location() #13
  store i32 %14918, ptr %14919, align 4, !tbaa !5
  %14920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14921 = load i32, ptr @test_count, align 4, !tbaa !5
  %14922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14923 = load i32, ptr %14922, align 4, !tbaa !5
  %14924 = call ptr @s2n_strerror(i32 noundef %14923, ptr noundef @.str.80)
  %14925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14926 = load i32, ptr %14925, align 4, !tbaa !5
  %14927 = call ptr @s2n_strerror_debug(i32 noundef %14926, ptr noundef @.str.80)
  %14928 = call ptr @__errno_location() #13
  %14929 = load i32, ptr %14928, align 4, !tbaa !5
  %14930 = call ptr @strerror(i32 noundef %14929) #12
  %14931 = call ptr @__errno_location() #13
  %14932 = load i32, ptr %14931, align 4, !tbaa !5
  %14933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14920, ptr noundef @.str.81, i32 noundef %14921, ptr noundef @.str.179, ptr noundef @.str.77, i32 noundef 560, ptr noundef %14924, ptr noundef %14927, ptr noundef %14930, i32 noundef %14932) #12
  br label %14934

14934:                                            ; preds = %14917, %14900
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #12
  br label %14935

14935:                                            ; preds = %14934
  br label %14936

14936:                                            ; preds = %14935
  call void @exit(i32 noundef 1) #14
  unreachable

14937:                                            ; No predecessors!
  br label %14938

14938:                                            ; preds = %14937
  br label %14939

14939:                                            ; preds = %14938, %14879
  br label %14940

14940:                                            ; preds = %14939
  br label %14941

14941:                                            ; preds = %14940
  br label %14942

14942:                                            ; preds = %14941
  %14943 = load i32, ptr @test_count, align 4, !tbaa !5
  %14944 = add nsw i32 %14943, 1
  store i32 %14944, ptr @test_count, align 4, !tbaa !5
  %14945 = load ptr, ptr %332, align 8, !tbaa !9
  %14946 = getelementptr inbounds [7 x i8], ptr %324, i64 0, i64 0
  %14947 = call i32 @s2n_psk_set_secret(ptr noundef %14945, ptr noundef %14946, i16 noundef zeroext 7)
  %14948 = icmp eq i32 %14947, -1
  br i1 %14948, label %14949, label %15002

14949:                                            ; preds = %14942
  br label %14950

14950:                                            ; preds = %14949
  br label %14951

14951:                                            ; preds = %14950
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #12
  %14952 = call ptr @__errno_location() #13
  %14953 = load i32, ptr %14952, align 4, !tbaa !5
  store i32 %14953, ptr %338, align 4, !tbaa !5
  %14954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14955 = call i32 @s2n_print_stacktrace(ptr noundef %14954)
  %14956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14957 = trunc i8 %14956 to i1
  br i1 %14957, label %14958, label %14980

14958:                                            ; preds = %14951
  %14959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14960 = call i32 @fileno(ptr noundef %14959) #12
  %14961 = call i32 @isatty(i32 noundef %14960) #12
  %14962 = icmp ne i32 %14961, 0
  br i1 %14962, label %14963, label %14980

14963:                                            ; preds = %14958
  %14964 = load i32, ptr %338, align 4, !tbaa !5
  %14965 = call ptr @__errno_location() #13
  store i32 %14964, ptr %14965, align 4, !tbaa !5
  %14966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14967 = load i32, ptr @test_count, align 4, !tbaa !5
  %14968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14969 = load i32, ptr %14968, align 4, !tbaa !5
  %14970 = call ptr @s2n_strerror(i32 noundef %14969, ptr noundef @.str.80)
  %14971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14972 = load i32, ptr %14971, align 4, !tbaa !5
  %14973 = call ptr @s2n_strerror_debug(i32 noundef %14972, ptr noundef @.str.80)
  %14974 = call ptr @__errno_location() #13
  %14975 = load i32, ptr %14974, align 4, !tbaa !5
  %14976 = call ptr @strerror(i32 noundef %14975) #12
  %14977 = call ptr @__errno_location() #13
  %14978 = load i32, ptr %14977, align 4, !tbaa !5
  %14979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14966, ptr noundef @.str.78, i32 noundef %14967, ptr noundef @.str.180, ptr noundef @.str.77, i32 noundef 561, ptr noundef %14970, ptr noundef %14973, ptr noundef %14976, i32 noundef %14978) #12
  br label %14997

14980:                                            ; preds = %14958, %14951
  %14981 = load i32, ptr %338, align 4, !tbaa !5
  %14982 = call ptr @__errno_location() #13
  store i32 %14981, ptr %14982, align 4, !tbaa !5
  %14983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14984 = load i32, ptr @test_count, align 4, !tbaa !5
  %14985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14986 = load i32, ptr %14985, align 4, !tbaa !5
  %14987 = call ptr @s2n_strerror(i32 noundef %14986, ptr noundef @.str.80)
  %14988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14989 = load i32, ptr %14988, align 4, !tbaa !5
  %14990 = call ptr @s2n_strerror_debug(i32 noundef %14989, ptr noundef @.str.80)
  %14991 = call ptr @__errno_location() #13
  %14992 = load i32, ptr %14991, align 4, !tbaa !5
  %14993 = call ptr @strerror(i32 noundef %14992) #12
  %14994 = call ptr @__errno_location() #13
  %14995 = load i32, ptr %14994, align 4, !tbaa !5
  %14996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14983, ptr noundef @.str.81, i32 noundef %14984, ptr noundef @.str.180, ptr noundef @.str.77, i32 noundef 561, ptr noundef %14987, ptr noundef %14990, ptr noundef %14993, i32 noundef %14995) #12
  br label %14997

14997:                                            ; preds = %14980, %14963
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #12
  br label %14998

14998:                                            ; preds = %14997
  br label %14999

14999:                                            ; preds = %14998
  call void @exit(i32 noundef 1) #14
  unreachable

15000:                                            ; No predecessors!
  br label %15001

15001:                                            ; preds = %15000
  br label %15002

15002:                                            ; preds = %15001, %14942
  br label %15003

15003:                                            ; preds = %15002
  br label %15004

15004:                                            ; preds = %15003
  br label %15005

15005:                                            ; preds = %15004
  %15006 = load i32, ptr @test_count, align 4, !tbaa !5
  %15007 = add nsw i32 %15006, 1
  store i32 %15007, ptr @test_count, align 4, !tbaa !5
  %15008 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 3), align 8, !tbaa !79
  %15009 = load ptr, ptr %322, align 8, !tbaa !9
  %15010 = load ptr, ptr %322, align 8, !tbaa !9
  %15011 = getelementptr inbounds %struct.s2n_connection, ptr %15010, i32 0, i32 52
  %15012 = getelementptr inbounds %struct.s2n_handshake, ptr %15011, i32 0, i32 0
  %15013 = call i32 %15008(ptr noundef %15009, ptr noundef %15012)
  %15014 = icmp eq i32 %15013, -1
  br i1 %15014, label %15015, label %15068

15015:                                            ; preds = %15005
  br label %15016

15016:                                            ; preds = %15015
  br label %15017

15017:                                            ; preds = %15016
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #12
  %15018 = call ptr @__errno_location() #13
  %15019 = load i32, ptr %15018, align 4, !tbaa !5
  store i32 %15019, ptr %339, align 4, !tbaa !5
  %15020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15021 = call i32 @s2n_print_stacktrace(ptr noundef %15020)
  %15022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15023 = trunc i8 %15022 to i1
  br i1 %15023, label %15024, label %15046

15024:                                            ; preds = %15017
  %15025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15026 = call i32 @fileno(ptr noundef %15025) #12
  %15027 = call i32 @isatty(i32 noundef %15026) #12
  %15028 = icmp ne i32 %15027, 0
  br i1 %15028, label %15029, label %15046

15029:                                            ; preds = %15024
  %15030 = load i32, ptr %339, align 4, !tbaa !5
  %15031 = call ptr @__errno_location() #13
  store i32 %15030, ptr %15031, align 4, !tbaa !5
  %15032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15033 = load i32, ptr @test_count, align 4, !tbaa !5
  %15034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15035 = load i32, ptr %15034, align 4, !tbaa !5
  %15036 = call ptr @s2n_strerror(i32 noundef %15035, ptr noundef @.str.80)
  %15037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15038 = load i32, ptr %15037, align 4, !tbaa !5
  %15039 = call ptr @s2n_strerror_debug(i32 noundef %15038, ptr noundef @.str.80)
  %15040 = call ptr @__errno_location() #13
  %15041 = load i32, ptr %15040, align 4, !tbaa !5
  %15042 = call ptr @strerror(i32 noundef %15041) #12
  %15043 = call ptr @__errno_location() #13
  %15044 = load i32, ptr %15043, align 4, !tbaa !5
  %15045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15032, ptr noundef @.str.78, i32 noundef %15033, ptr noundef @.str.181, ptr noundef @.str.77, i32 noundef 563, ptr noundef %15036, ptr noundef %15039, ptr noundef %15042, i32 noundef %15044) #12
  br label %15063

15046:                                            ; preds = %15024, %15017
  %15047 = load i32, ptr %339, align 4, !tbaa !5
  %15048 = call ptr @__errno_location() #13
  store i32 %15047, ptr %15048, align 4, !tbaa !5
  %15049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15050 = load i32, ptr @test_count, align 4, !tbaa !5
  %15051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15052 = load i32, ptr %15051, align 4, !tbaa !5
  %15053 = call ptr @s2n_strerror(i32 noundef %15052, ptr noundef @.str.80)
  %15054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15055 = load i32, ptr %15054, align 4, !tbaa !5
  %15056 = call ptr @s2n_strerror_debug(i32 noundef %15055, ptr noundef @.str.80)
  %15057 = call ptr @__errno_location() #13
  %15058 = load i32, ptr %15057, align 4, !tbaa !5
  %15059 = call ptr @strerror(i32 noundef %15058) #12
  %15060 = call ptr @__errno_location() #13
  %15061 = load i32, ptr %15060, align 4, !tbaa !5
  %15062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15049, ptr noundef @.str.81, i32 noundef %15050, ptr noundef @.str.181, ptr noundef @.str.77, i32 noundef 563, ptr noundef %15053, ptr noundef %15056, ptr noundef %15059, i32 noundef %15061) #12
  br label %15063

15063:                                            ; preds = %15046, %15029
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #12
  br label %15064

15064:                                            ; preds = %15063
  br label %15065

15065:                                            ; preds = %15064
  call void @exit(i32 noundef 1) #14
  unreachable

15066:                                            ; No predecessors!
  br label %15067

15067:                                            ; preds = %15066
  br label %15068

15068:                                            ; preds = %15067, %15005
  br label %15069

15069:                                            ; preds = %15068
  br label %15070

15070:                                            ; preds = %15069
  br label %15071

15071:                                            ; preds = %15070
  %15072 = load i32, ptr @test_count, align 4, !tbaa !5
  %15073 = add nsw i32 %15072, 1
  store i32 %15073, ptr @test_count, align 4, !tbaa !5
  %15074 = load ptr, ptr %322, align 8, !tbaa !9
  %15075 = getelementptr inbounds %struct.s2n_connection, ptr %15074, i32 0, i32 52
  %15076 = getelementptr inbounds %struct.s2n_handshake, ptr %15075, i32 0, i32 0
  %15077 = call i32 @s2n_stuffer_skip_read(ptr noundef %15076, i32 noundef 2)
  %15078 = icmp eq i32 %15077, -1
  br i1 %15078, label %15079, label %15132

15079:                                            ; preds = %15071
  br label %15080

15080:                                            ; preds = %15079
  br label %15081

15081:                                            ; preds = %15080
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #12
  %15082 = call ptr @__errno_location() #13
  %15083 = load i32, ptr %15082, align 4, !tbaa !5
  store i32 %15083, ptr %340, align 4, !tbaa !5
  %15084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15085 = call i32 @s2n_print_stacktrace(ptr noundef %15084)
  %15086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15087 = trunc i8 %15086 to i1
  br i1 %15087, label %15088, label %15110

15088:                                            ; preds = %15081
  %15089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15090 = call i32 @fileno(ptr noundef %15089) #12
  %15091 = call i32 @isatty(i32 noundef %15090) #12
  %15092 = icmp ne i32 %15091, 0
  br i1 %15092, label %15093, label %15110

15093:                                            ; preds = %15088
  %15094 = load i32, ptr %340, align 4, !tbaa !5
  %15095 = call ptr @__errno_location() #13
  store i32 %15094, ptr %15095, align 4, !tbaa !5
  %15096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15097 = load i32, ptr @test_count, align 4, !tbaa !5
  %15098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15099 = load i32, ptr %15098, align 4, !tbaa !5
  %15100 = call ptr @s2n_strerror(i32 noundef %15099, ptr noundef @.str.80)
  %15101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15102 = load i32, ptr %15101, align 4, !tbaa !5
  %15103 = call ptr @s2n_strerror_debug(i32 noundef %15102, ptr noundef @.str.80)
  %15104 = call ptr @__errno_location() #13
  %15105 = load i32, ptr %15104, align 4, !tbaa !5
  %15106 = call ptr @strerror(i32 noundef %15105) #12
  %15107 = call ptr @__errno_location() #13
  %15108 = load i32, ptr %15107, align 4, !tbaa !5
  %15109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15096, ptr noundef @.str.78, i32 noundef %15097, ptr noundef @.str.182, ptr noundef @.str.77, i32 noundef 566, ptr noundef %15100, ptr noundef %15103, ptr noundef %15106, i32 noundef %15108) #12
  br label %15127

15110:                                            ; preds = %15088, %15081
  %15111 = load i32, ptr %340, align 4, !tbaa !5
  %15112 = call ptr @__errno_location() #13
  store i32 %15111, ptr %15112, align 4, !tbaa !5
  %15113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15114 = load i32, ptr @test_count, align 4, !tbaa !5
  %15115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15116 = load i32, ptr %15115, align 4, !tbaa !5
  %15117 = call ptr @s2n_strerror(i32 noundef %15116, ptr noundef @.str.80)
  %15118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15119 = load i32, ptr %15118, align 4, !tbaa !5
  %15120 = call ptr @s2n_strerror_debug(i32 noundef %15119, ptr noundef @.str.80)
  %15121 = call ptr @__errno_location() #13
  %15122 = load i32, ptr %15121, align 4, !tbaa !5
  %15123 = call ptr @strerror(i32 noundef %15122) #12
  %15124 = call ptr @__errno_location() #13
  %15125 = load i32, ptr %15124, align 4, !tbaa !5
  %15126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15113, ptr noundef @.str.81, i32 noundef %15114, ptr noundef @.str.182, ptr noundef @.str.77, i32 noundef 566, ptr noundef %15117, ptr noundef %15120, ptr noundef %15123, i32 noundef %15125) #12
  br label %15127

15127:                                            ; preds = %15110, %15093
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #12
  br label %15128

15128:                                            ; preds = %15127
  br label %15129

15129:                                            ; preds = %15128
  call void @exit(i32 noundef 1) #14
  unreachable

15130:                                            ; No predecessors!
  br label %15131

15131:                                            ; preds = %15130
  br label %15132

15132:                                            ; preds = %15131, %15071
  br label %15133

15133:                                            ; preds = %15132
  br label %15134

15134:                                            ; preds = %15133
  call void @llvm.lifetime.start.p0(i64 56, ptr %341) #12
  call void @llvm.memset.p0.i64(ptr align 8 %341, i8 0, i64 56, i1 false)
  %15135 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %341, i32 0, i32 0
  %15136 = load ptr, ptr %322, align 8, !tbaa !9
  store ptr %15136, ptr %15135, align 8, !tbaa !20
  %15137 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %341, i32 0, i32 1
  %15138 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %341, i32 0, i32 2
  call void @llvm.lifetime.start.p0(i64 8, ptr %342) #12
  %15139 = load ptr, ptr %322, align 8, !tbaa !9
  %15140 = getelementptr inbounds %struct.s2n_connection, ptr %15139, i32 0, i32 52
  %15141 = getelementptr inbounds %struct.s2n_handshake, ptr %15140, i32 0, i32 0
  %15142 = getelementptr inbounds %struct.s2n_stuffer, ptr %15141, i32 0, i32 2
  %15143 = load i32, ptr %15142, align 4, !tbaa !81
  %15144 = load ptr, ptr %322, align 8, !tbaa !9
  %15145 = getelementptr inbounds %struct.s2n_connection, ptr %15144, i32 0, i32 52
  %15146 = getelementptr inbounds %struct.s2n_handshake, ptr %15145, i32 0, i32 0
  %15147 = getelementptr inbounds %struct.s2n_stuffer, ptr %15146, i32 0, i32 1
  %15148 = load i32, ptr %15147, align 8, !tbaa !82
  %15149 = sub i32 %15143, %15148
  %15150 = zext i32 %15149 to i64
  store i64 %15150, ptr %342, align 8, !tbaa !48
  br label %15151

15151:                                            ; preds = %15134
  %15152 = load i32, ptr @test_count, align 4, !tbaa !5
  %15153 = add nsw i32 %15152, 1
  store i32 %15153, ptr @test_count, align 4, !tbaa !5
  %15154 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %341, i32 0, i32 1
  %15155 = load i64, ptr %342, align 8, !tbaa !48
  %15156 = trunc i64 %15155 to i32
  %15157 = call i32 @s2n_stuffer_alloc(ptr noundef %15154, i32 noundef %15156)
  %15158 = icmp eq i32 %15157, -1
  br i1 %15158, label %15159, label %15212

15159:                                            ; preds = %15151
  br label %15160

15160:                                            ; preds = %15159
  br label %15161

15161:                                            ; preds = %15160
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #12
  %15162 = call ptr @__errno_location() #13
  %15163 = load i32, ptr %15162, align 4, !tbaa !5
  store i32 %15163, ptr %343, align 4, !tbaa !5
  %15164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15165 = call i32 @s2n_print_stacktrace(ptr noundef %15164)
  %15166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15167 = trunc i8 %15166 to i1
  br i1 %15167, label %15168, label %15190

15168:                                            ; preds = %15161
  %15169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15170 = call i32 @fileno(ptr noundef %15169) #12
  %15171 = call i32 @isatty(i32 noundef %15170) #12
  %15172 = icmp ne i32 %15171, 0
  br i1 %15172, label %15173, label %15190

15173:                                            ; preds = %15168
  %15174 = load i32, ptr %343, align 4, !tbaa !5
  %15175 = call ptr @__errno_location() #13
  store i32 %15174, ptr %15175, align 4, !tbaa !5
  %15176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15177 = load i32, ptr @test_count, align 4, !tbaa !5
  %15178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15179 = load i32, ptr %15178, align 4, !tbaa !5
  %15180 = call ptr @s2n_strerror(i32 noundef %15179, ptr noundef @.str.80)
  %15181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15182 = load i32, ptr %15181, align 4, !tbaa !5
  %15183 = call ptr @s2n_strerror_debug(i32 noundef %15182, ptr noundef @.str.80)
  %15184 = call ptr @__errno_location() #13
  %15185 = load i32, ptr %15184, align 4, !tbaa !5
  %15186 = call ptr @strerror(i32 noundef %15185) #12
  %15187 = call ptr @__errno_location() #13
  %15188 = load i32, ptr %15187, align 4, !tbaa !5
  %15189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15176, ptr noundef @.str.78, i32 noundef %15177, ptr noundef @.str.183, ptr noundef @.str.77, i32 noundef 570, ptr noundef %15180, ptr noundef %15183, ptr noundef %15186, i32 noundef %15188) #12
  br label %15207

15190:                                            ; preds = %15168, %15161
  %15191 = load i32, ptr %343, align 4, !tbaa !5
  %15192 = call ptr @__errno_location() #13
  store i32 %15191, ptr %15192, align 4, !tbaa !5
  %15193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15194 = load i32, ptr @test_count, align 4, !tbaa !5
  %15195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15196 = load i32, ptr %15195, align 4, !tbaa !5
  %15197 = call ptr @s2n_strerror(i32 noundef %15196, ptr noundef @.str.80)
  %15198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15199 = load i32, ptr %15198, align 4, !tbaa !5
  %15200 = call ptr @s2n_strerror_debug(i32 noundef %15199, ptr noundef @.str.80)
  %15201 = call ptr @__errno_location() #13
  %15202 = load i32, ptr %15201, align 4, !tbaa !5
  %15203 = call ptr @strerror(i32 noundef %15202) #12
  %15204 = call ptr @__errno_location() #13
  %15205 = load i32, ptr %15204, align 4, !tbaa !5
  %15206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15193, ptr noundef @.str.81, i32 noundef %15194, ptr noundef @.str.183, ptr noundef @.str.77, i32 noundef 570, ptr noundef %15197, ptr noundef %15200, ptr noundef %15203, i32 noundef %15205) #12
  br label %15207

15207:                                            ; preds = %15190, %15173
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #12
  br label %15208

15208:                                            ; preds = %15207
  br label %15209

15209:                                            ; preds = %15208
  call void @exit(i32 noundef 1) #14
  unreachable

15210:                                            ; No predecessors!
  br label %15211

15211:                                            ; preds = %15210
  br label %15212

15212:                                            ; preds = %15211, %15151
  br label %15213

15213:                                            ; preds = %15212
  br label %15214

15214:                                            ; preds = %15213
  br label %15215

15215:                                            ; preds = %15214
  %15216 = load i32, ptr @test_count, align 4, !tbaa !5
  %15217 = add nsw i32 %15216, 1
  store i32 %15217, ptr @test_count, align 4, !tbaa !5
  %15218 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %341, i32 0, i32 1
  %15219 = load ptr, ptr %322, align 8, !tbaa !9
  %15220 = getelementptr inbounds %struct.s2n_connection, ptr %15219, i32 0, i32 52
  %15221 = getelementptr inbounds %struct.s2n_handshake, ptr %15220, i32 0, i32 0
  %15222 = load i64, ptr %342, align 8, !tbaa !48
  %15223 = trunc i64 %15222 to i32
  %15224 = call ptr @s2n_stuffer_raw_read(ptr noundef %15221, i32 noundef %15223)
  %15225 = load i64, ptr %342, align 8, !tbaa !48
  %15226 = trunc i64 %15225 to i32
  %15227 = call i32 @s2n_stuffer_write_bytes(ptr noundef %15218, ptr noundef %15224, i32 noundef %15226)
  %15228 = icmp eq i32 %15227, -1
  br i1 %15228, label %15229, label %15282

15229:                                            ; preds = %15215
  br label %15230

15230:                                            ; preds = %15229
  br label %15231

15231:                                            ; preds = %15230
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #12
  %15232 = call ptr @__errno_location() #13
  %15233 = load i32, ptr %15232, align 4, !tbaa !5
  store i32 %15233, ptr %344, align 4, !tbaa !5
  %15234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15235 = call i32 @s2n_print_stacktrace(ptr noundef %15234)
  %15236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15237 = trunc i8 %15236 to i1
  br i1 %15237, label %15238, label %15260

15238:                                            ; preds = %15231
  %15239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15240 = call i32 @fileno(ptr noundef %15239) #12
  %15241 = call i32 @isatty(i32 noundef %15240) #12
  %15242 = icmp ne i32 %15241, 0
  br i1 %15242, label %15243, label %15260

15243:                                            ; preds = %15238
  %15244 = load i32, ptr %344, align 4, !tbaa !5
  %15245 = call ptr @__errno_location() #13
  store i32 %15244, ptr %15245, align 4, !tbaa !5
  %15246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15247 = load i32, ptr @test_count, align 4, !tbaa !5
  %15248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15249 = load i32, ptr %15248, align 4, !tbaa !5
  %15250 = call ptr @s2n_strerror(i32 noundef %15249, ptr noundef @.str.80)
  %15251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15252 = load i32, ptr %15251, align 4, !tbaa !5
  %15253 = call ptr @s2n_strerror_debug(i32 noundef %15252, ptr noundef @.str.80)
  %15254 = call ptr @__errno_location() #13
  %15255 = load i32, ptr %15254, align 4, !tbaa !5
  %15256 = call ptr @strerror(i32 noundef %15255) #12
  %15257 = call ptr @__errno_location() #13
  %15258 = load i32, ptr %15257, align 4, !tbaa !5
  %15259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15246, ptr noundef @.str.78, i32 noundef %15247, ptr noundef @.str.184, ptr noundef @.str.77, i32 noundef 572, ptr noundef %15250, ptr noundef %15253, ptr noundef %15256, i32 noundef %15258) #12
  br label %15277

15260:                                            ; preds = %15238, %15231
  %15261 = load i32, ptr %344, align 4, !tbaa !5
  %15262 = call ptr @__errno_location() #13
  store i32 %15261, ptr %15262, align 4, !tbaa !5
  %15263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15264 = load i32, ptr @test_count, align 4, !tbaa !5
  %15265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15266 = load i32, ptr %15265, align 4, !tbaa !5
  %15267 = call ptr @s2n_strerror(i32 noundef %15266, ptr noundef @.str.80)
  %15268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15269 = load i32, ptr %15268, align 4, !tbaa !5
  %15270 = call ptr @s2n_strerror_debug(i32 noundef %15269, ptr noundef @.str.80)
  %15271 = call ptr @__errno_location() #13
  %15272 = load i32, ptr %15271, align 4, !tbaa !5
  %15273 = call ptr @strerror(i32 noundef %15272) #12
  %15274 = call ptr @__errno_location() #13
  %15275 = load i32, ptr %15274, align 4, !tbaa !5
  %15276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15263, ptr noundef @.str.81, i32 noundef %15264, ptr noundef @.str.184, ptr noundef @.str.77, i32 noundef 572, ptr noundef %15267, ptr noundef %15270, ptr noundef %15273, i32 noundef %15275) #12
  br label %15277

15277:                                            ; preds = %15260, %15243
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #12
  br label %15278

15278:                                            ; preds = %15277
  br label %15279

15279:                                            ; preds = %15278
  call void @exit(i32 noundef 1) #14
  unreachable

15280:                                            ; No predecessors!
  br label %15281

15281:                                            ; preds = %15280
  br label %15282

15282:                                            ; preds = %15281, %15215
  br label %15283

15283:                                            ; preds = %15282
  br label %15284

15284:                                            ; preds = %15283
  call void @llvm.lifetime.start.p0(i64 8, ptr %345) #12
  store ptr null, ptr %345, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr %346) #12
  store i16 0, ptr %346, align 2, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 32, ptr %347) #12
  call void @llvm.memset.p0.i64(ptr align 8 %347, i8 0, i64 32, i1 false)
  br label %15285

15285:                                            ; preds = %15284
  %15286 = load i32, ptr @test_count, align 4, !tbaa !5
  %15287 = add nsw i32 %15286, 1
  store i32 %15287, ptr @test_count, align 4, !tbaa !5
  %15288 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef %341)
  br i1 %15288, label %15342, label %15289

15289:                                            ; preds = %15285
  br label %15290

15290:                                            ; preds = %15289
  br label %15291

15291:                                            ; preds = %15290
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #12
  %15292 = call ptr @__errno_location() #13
  %15293 = load i32, ptr %15292, align 4, !tbaa !5
  store i32 %15293, ptr %348, align 4, !tbaa !5
  %15294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15295 = call i32 @s2n_print_stacktrace(ptr noundef %15294)
  %15296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15297 = trunc i8 %15296 to i1
  br i1 %15297, label %15298, label %15320

15298:                                            ; preds = %15291
  %15299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15300 = call i32 @fileno(ptr noundef %15299) #12
  %15301 = call i32 @isatty(i32 noundef %15300) #12
  %15302 = icmp ne i32 %15301, 0
  br i1 %15302, label %15303, label %15320

15303:                                            ; preds = %15298
  %15304 = load i32, ptr %348, align 4, !tbaa !5
  %15305 = call ptr @__errno_location() #13
  store i32 %15304, ptr %15305, align 4, !tbaa !5
  %15306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15307 = load i32, ptr @test_count, align 4, !tbaa !5
  %15308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15309 = load i32, ptr %15308, align 4, !tbaa !5
  %15310 = call ptr @s2n_strerror(i32 noundef %15309, ptr noundef @.str.80)
  %15311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15312 = load i32, ptr %15311, align 4, !tbaa !5
  %15313 = call ptr @s2n_strerror_debug(i32 noundef %15312, ptr noundef @.str.80)
  %15314 = call ptr @__errno_location() #13
  %15315 = load i32, ptr %15314, align 4, !tbaa !5
  %15316 = call ptr @strerror(i32 noundef %15315) #12
  %15317 = call ptr @__errno_location() #13
  %15318 = load i32, ptr %15317, align 4, !tbaa !5
  %15319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15306, ptr noundef @.str.78, i32 noundef %15307, ptr noundef @.str.185, ptr noundef @.str.77, i32 noundef 578, ptr noundef %15310, ptr noundef %15313, ptr noundef %15316, i32 noundef %15318) #12
  br label %15337

15320:                                            ; preds = %15298, %15291
  %15321 = load i32, ptr %348, align 4, !tbaa !5
  %15322 = call ptr @__errno_location() #13
  store i32 %15321, ptr %15322, align 4, !tbaa !5
  %15323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15324 = load i32, ptr @test_count, align 4, !tbaa !5
  %15325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15326 = load i32, ptr %15325, align 4, !tbaa !5
  %15327 = call ptr @s2n_strerror(i32 noundef %15326, ptr noundef @.str.80)
  %15328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15329 = load i32, ptr %15328, align 4, !tbaa !5
  %15330 = call ptr @s2n_strerror_debug(i32 noundef %15329, ptr noundef @.str.80)
  %15331 = call ptr @__errno_location() #13
  %15332 = load i32, ptr %15331, align 4, !tbaa !5
  %15333 = call ptr @strerror(i32 noundef %15332) #12
  %15334 = call ptr @__errno_location() #13
  %15335 = load i32, ptr %15334, align 4, !tbaa !5
  %15336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15323, ptr noundef @.str.81, i32 noundef %15324, ptr noundef @.str.185, ptr noundef @.str.77, i32 noundef 578, ptr noundef %15327, ptr noundef %15330, ptr noundef %15333, i32 noundef %15335) #12
  br label %15337

15337:                                            ; preds = %15320, %15303
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #12
  br label %15338

15338:                                            ; preds = %15337
  br label %15339

15339:                                            ; preds = %15338
  call void @exit(i32 noundef 1) #14
  unreachable

15340:                                            ; No predecessors!
  br label %15341

15341:                                            ; preds = %15340
  br label %15342

15342:                                            ; preds = %15341, %15285
  br label %15343

15343:                                            ; preds = %15342
  br label %15344

15344:                                            ; preds = %15343
  br label %15345

15345:                                            ; preds = %15344
  %15346 = load i32, ptr @test_count, align 4, !tbaa !5
  %15347 = add nsw i32 %15346, 1
  store i32 %15347, ptr @test_count, align 4, !tbaa !5
  %15348 = call i32 @s2n_offered_psk_list_next(ptr noundef %341, ptr noundef %347)
  %15349 = icmp eq i32 %15348, -1
  br i1 %15349, label %15350, label %15403

15350:                                            ; preds = %15345
  br label %15351

15351:                                            ; preds = %15350
  br label %15352

15352:                                            ; preds = %15351
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #12
  %15353 = call ptr @__errno_location() #13
  %15354 = load i32, ptr %15353, align 4, !tbaa !5
  store i32 %15354, ptr %349, align 4, !tbaa !5
  %15355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15356 = call i32 @s2n_print_stacktrace(ptr noundef %15355)
  %15357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15358 = trunc i8 %15357 to i1
  br i1 %15358, label %15359, label %15381

15359:                                            ; preds = %15352
  %15360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15361 = call i32 @fileno(ptr noundef %15360) #12
  %15362 = call i32 @isatty(i32 noundef %15361) #12
  %15363 = icmp ne i32 %15362, 0
  br i1 %15363, label %15364, label %15381

15364:                                            ; preds = %15359
  %15365 = load i32, ptr %349, align 4, !tbaa !5
  %15366 = call ptr @__errno_location() #13
  store i32 %15365, ptr %15366, align 4, !tbaa !5
  %15367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15368 = load i32, ptr @test_count, align 4, !tbaa !5
  %15369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15370 = load i32, ptr %15369, align 4, !tbaa !5
  %15371 = call ptr @s2n_strerror(i32 noundef %15370, ptr noundef @.str.80)
  %15372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15373 = load i32, ptr %15372, align 4, !tbaa !5
  %15374 = call ptr @s2n_strerror_debug(i32 noundef %15373, ptr noundef @.str.80)
  %15375 = call ptr @__errno_location() #13
  %15376 = load i32, ptr %15375, align 4, !tbaa !5
  %15377 = call ptr @strerror(i32 noundef %15376) #12
  %15378 = call ptr @__errno_location() #13
  %15379 = load i32, ptr %15378, align 4, !tbaa !5
  %15380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15367, ptr noundef @.str.78, i32 noundef %15368, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 579, ptr noundef %15371, ptr noundef %15374, ptr noundef %15377, i32 noundef %15379) #12
  br label %15398

15381:                                            ; preds = %15359, %15352
  %15382 = load i32, ptr %349, align 4, !tbaa !5
  %15383 = call ptr @__errno_location() #13
  store i32 %15382, ptr %15383, align 4, !tbaa !5
  %15384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15385 = load i32, ptr @test_count, align 4, !tbaa !5
  %15386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15387 = load i32, ptr %15386, align 4, !tbaa !5
  %15388 = call ptr @s2n_strerror(i32 noundef %15387, ptr noundef @.str.80)
  %15389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15390 = load i32, ptr %15389, align 4, !tbaa !5
  %15391 = call ptr @s2n_strerror_debug(i32 noundef %15390, ptr noundef @.str.80)
  %15392 = call ptr @__errno_location() #13
  %15393 = load i32, ptr %15392, align 4, !tbaa !5
  %15394 = call ptr @strerror(i32 noundef %15393) #12
  %15395 = call ptr @__errno_location() #13
  %15396 = load i32, ptr %15395, align 4, !tbaa !5
  %15397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15384, ptr noundef @.str.81, i32 noundef %15385, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 579, ptr noundef %15388, ptr noundef %15391, ptr noundef %15394, i32 noundef %15396) #12
  br label %15398

15398:                                            ; preds = %15381, %15364
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #12
  br label %15399

15399:                                            ; preds = %15398
  br label %15400

15400:                                            ; preds = %15399
  call void @exit(i32 noundef 1) #14
  unreachable

15401:                                            ; No predecessors!
  br label %15402

15402:                                            ; preds = %15401
  br label %15403

15403:                                            ; preds = %15402, %15345
  br label %15404

15404:                                            ; preds = %15403
  br label %15405

15405:                                            ; preds = %15404
  br label %15406

15406:                                            ; preds = %15405
  %15407 = load i32, ptr @test_count, align 4, !tbaa !5
  %15408 = add nsw i32 %15407, 1
  store i32 %15408, ptr @test_count, align 4, !tbaa !5
  %15409 = call i32 @s2n_offered_psk_get_identity(ptr noundef %347, ptr noundef %345, ptr noundef %346)
  %15410 = icmp eq i32 %15409, -1
  br i1 %15410, label %15411, label %15464

15411:                                            ; preds = %15406
  br label %15412

15412:                                            ; preds = %15411
  br label %15413

15413:                                            ; preds = %15412
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #12
  %15414 = call ptr @__errno_location() #13
  %15415 = load i32, ptr %15414, align 4, !tbaa !5
  store i32 %15415, ptr %350, align 4, !tbaa !5
  %15416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15417 = call i32 @s2n_print_stacktrace(ptr noundef %15416)
  %15418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15419 = trunc i8 %15418 to i1
  br i1 %15419, label %15420, label %15442

15420:                                            ; preds = %15413
  %15421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15422 = call i32 @fileno(ptr noundef %15421) #12
  %15423 = call i32 @isatty(i32 noundef %15422) #12
  %15424 = icmp ne i32 %15423, 0
  br i1 %15424, label %15425, label %15442

15425:                                            ; preds = %15420
  %15426 = load i32, ptr %350, align 4, !tbaa !5
  %15427 = call ptr @__errno_location() #13
  store i32 %15426, ptr %15427, align 4, !tbaa !5
  %15428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15429 = load i32, ptr @test_count, align 4, !tbaa !5
  %15430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15431 = load i32, ptr %15430, align 4, !tbaa !5
  %15432 = call ptr @s2n_strerror(i32 noundef %15431, ptr noundef @.str.80)
  %15433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15434 = load i32, ptr %15433, align 4, !tbaa !5
  %15435 = call ptr @s2n_strerror_debug(i32 noundef %15434, ptr noundef @.str.80)
  %15436 = call ptr @__errno_location() #13
  %15437 = load i32, ptr %15436, align 4, !tbaa !5
  %15438 = call ptr @strerror(i32 noundef %15437) #12
  %15439 = call ptr @__errno_location() #13
  %15440 = load i32, ptr %15439, align 4, !tbaa !5
  %15441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15428, ptr noundef @.str.78, i32 noundef %15429, ptr noundef @.str.187, ptr noundef @.str.77, i32 noundef 580, ptr noundef %15432, ptr noundef %15435, ptr noundef %15438, i32 noundef %15440) #12
  br label %15459

15442:                                            ; preds = %15420, %15413
  %15443 = load i32, ptr %350, align 4, !tbaa !5
  %15444 = call ptr @__errno_location() #13
  store i32 %15443, ptr %15444, align 4, !tbaa !5
  %15445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15446 = load i32, ptr @test_count, align 4, !tbaa !5
  %15447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15448 = load i32, ptr %15447, align 4, !tbaa !5
  %15449 = call ptr @s2n_strerror(i32 noundef %15448, ptr noundef @.str.80)
  %15450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15451 = load i32, ptr %15450, align 4, !tbaa !5
  %15452 = call ptr @s2n_strerror_debug(i32 noundef %15451, ptr noundef @.str.80)
  %15453 = call ptr @__errno_location() #13
  %15454 = load i32, ptr %15453, align 4, !tbaa !5
  %15455 = call ptr @strerror(i32 noundef %15454) #12
  %15456 = call ptr @__errno_location() #13
  %15457 = load i32, ptr %15456, align 4, !tbaa !5
  %15458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15445, ptr noundef @.str.81, i32 noundef %15446, ptr noundef @.str.187, ptr noundef @.str.77, i32 noundef 580, ptr noundef %15449, ptr noundef %15452, ptr noundef %15455, i32 noundef %15457) #12
  br label %15459

15459:                                            ; preds = %15442, %15425
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #12
  br label %15460

15460:                                            ; preds = %15459
  br label %15461

15461:                                            ; preds = %15460
  call void @exit(i32 noundef 1) #14
  unreachable

15462:                                            ; No predecessors!
  br label %15463

15463:                                            ; preds = %15462
  br label %15464

15464:                                            ; preds = %15463, %15406
  br label %15465

15465:                                            ; preds = %15464
  br label %15466

15466:                                            ; preds = %15465
  br label %15467

15467:                                            ; preds = %15466
  %15468 = load i32, ptr @test_count, align 4, !tbaa !5
  %15469 = add nsw i32 %15468, 1
  store i32 %15469, ptr @test_count, align 4, !tbaa !5
  %15470 = load i16, ptr %346, align 2, !tbaa !52
  %15471 = zext i16 %15470 to i64
  %15472 = icmp eq i64 %15471, 4
  br i1 %15472, label %15526, label %15473

15473:                                            ; preds = %15467
  br label %15474

15474:                                            ; preds = %15473
  br label %15475

15475:                                            ; preds = %15474
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #12
  %15476 = call ptr @__errno_location() #13
  %15477 = load i32, ptr %15476, align 4, !tbaa !5
  store i32 %15477, ptr %351, align 4, !tbaa !5
  %15478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15479 = call i32 @s2n_print_stacktrace(ptr noundef %15478)
  %15480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15481 = trunc i8 %15480 to i1
  br i1 %15481, label %15482, label %15504

15482:                                            ; preds = %15475
  %15483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15484 = call i32 @fileno(ptr noundef %15483) #12
  %15485 = call i32 @isatty(i32 noundef %15484) #12
  %15486 = icmp ne i32 %15485, 0
  br i1 %15486, label %15487, label %15504

15487:                                            ; preds = %15482
  %15488 = load i32, ptr %351, align 4, !tbaa !5
  %15489 = call ptr @__errno_location() #13
  store i32 %15488, ptr %15489, align 4, !tbaa !5
  %15490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15491 = load i32, ptr @test_count, align 4, !tbaa !5
  %15492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15493 = load i32, ptr %15492, align 4, !tbaa !5
  %15494 = call ptr @s2n_strerror(i32 noundef %15493, ptr noundef @.str.80)
  %15495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15496 = load i32, ptr %15495, align 4, !tbaa !5
  %15497 = call ptr @s2n_strerror_debug(i32 noundef %15496, ptr noundef @.str.80)
  %15498 = call ptr @__errno_location() #13
  %15499 = load i32, ptr %15498, align 4, !tbaa !5
  %15500 = call ptr @strerror(i32 noundef %15499) #12
  %15501 = call ptr @__errno_location() #13
  %15502 = load i32, ptr %15501, align 4, !tbaa !5
  %15503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15490, ptr noundef @.str.78, i32 noundef %15491, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 581, ptr noundef %15494, ptr noundef %15497, ptr noundef %15500, i32 noundef %15502) #12
  br label %15521

15504:                                            ; preds = %15482, %15475
  %15505 = load i32, ptr %351, align 4, !tbaa !5
  %15506 = call ptr @__errno_location() #13
  store i32 %15505, ptr %15506, align 4, !tbaa !5
  %15507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15508 = load i32, ptr @test_count, align 4, !tbaa !5
  %15509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15510 = load i32, ptr %15509, align 4, !tbaa !5
  %15511 = call ptr @s2n_strerror(i32 noundef %15510, ptr noundef @.str.80)
  %15512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15513 = load i32, ptr %15512, align 4, !tbaa !5
  %15514 = call ptr @s2n_strerror_debug(i32 noundef %15513, ptr noundef @.str.80)
  %15515 = call ptr @__errno_location() #13
  %15516 = load i32, ptr %15515, align 4, !tbaa !5
  %15517 = call ptr @strerror(i32 noundef %15516) #12
  %15518 = call ptr @__errno_location() #13
  %15519 = load i32, ptr %15518, align 4, !tbaa !5
  %15520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15507, ptr noundef @.str.81, i32 noundef %15508, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 581, ptr noundef %15511, ptr noundef %15514, ptr noundef %15517, i32 noundef %15519) #12
  br label %15521

15521:                                            ; preds = %15504, %15487
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #12
  br label %15522

15522:                                            ; preds = %15521
  br label %15523

15523:                                            ; preds = %15522
  call void @exit(i32 noundef 1) #14
  unreachable

15524:                                            ; No predecessors!
  br label %15525

15525:                                            ; preds = %15524
  br label %15526

15526:                                            ; preds = %15525, %15467
  br label %15527

15527:                                            ; preds = %15526
  br label %15528

15528:                                            ; preds = %15527
  br label %15529

15529:                                            ; preds = %15528
  br label %15530

15530:                                            ; preds = %15529
  %15531 = load i32, ptr @test_count, align 4, !tbaa !5
  %15532 = add nsw i32 %15531, 1
  store i32 %15532, ptr @test_count, align 4, !tbaa !5
  %15533 = load ptr, ptr %345, align 8, !tbaa !9
  %15534 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %15535 = call i32 @memcmp(ptr noundef %15533, ptr noundef %15534, i64 noundef 4) #15
  %15536 = icmp eq i32 %15535, 0
  br i1 %15536, label %15590, label %15537

15537:                                            ; preds = %15530
  br label %15538

15538:                                            ; preds = %15537
  br label %15539

15539:                                            ; preds = %15538
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #12
  %15540 = call ptr @__errno_location() #13
  %15541 = load i32, ptr %15540, align 4, !tbaa !5
  store i32 %15541, ptr %352, align 4, !tbaa !5
  %15542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15543 = call i32 @s2n_print_stacktrace(ptr noundef %15542)
  %15544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15545 = trunc i8 %15544 to i1
  br i1 %15545, label %15546, label %15568

15546:                                            ; preds = %15539
  %15547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15548 = call i32 @fileno(ptr noundef %15547) #12
  %15549 = call i32 @isatty(i32 noundef %15548) #12
  %15550 = icmp ne i32 %15549, 0
  br i1 %15550, label %15551, label %15568

15551:                                            ; preds = %15546
  %15552 = load i32, ptr %352, align 4, !tbaa !5
  %15553 = call ptr @__errno_location() #13
  store i32 %15552, ptr %15553, align 4, !tbaa !5
  %15554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15555 = load i32, ptr @test_count, align 4, !tbaa !5
  %15556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15557 = load i32, ptr %15556, align 4, !tbaa !5
  %15558 = call ptr @s2n_strerror(i32 noundef %15557, ptr noundef @.str.80)
  %15559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15560 = load i32, ptr %15559, align 4, !tbaa !5
  %15561 = call ptr @s2n_strerror_debug(i32 noundef %15560, ptr noundef @.str.80)
  %15562 = call ptr @__errno_location() #13
  %15563 = load i32, ptr %15562, align 4, !tbaa !5
  %15564 = call ptr @strerror(i32 noundef %15563) #12
  %15565 = call ptr @__errno_location() #13
  %15566 = load i32, ptr %15565, align 4, !tbaa !5
  %15567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15554, ptr noundef @.str.78, i32 noundef %15555, ptr noundef @.str.189, ptr noundef @.str.77, i32 noundef 582, ptr noundef %15558, ptr noundef %15561, ptr noundef %15564, i32 noundef %15566) #12
  br label %15585

15568:                                            ; preds = %15546, %15539
  %15569 = load i32, ptr %352, align 4, !tbaa !5
  %15570 = call ptr @__errno_location() #13
  store i32 %15569, ptr %15570, align 4, !tbaa !5
  %15571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15572 = load i32, ptr @test_count, align 4, !tbaa !5
  %15573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15574 = load i32, ptr %15573, align 4, !tbaa !5
  %15575 = call ptr @s2n_strerror(i32 noundef %15574, ptr noundef @.str.80)
  %15576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15577 = load i32, ptr %15576, align 4, !tbaa !5
  %15578 = call ptr @s2n_strerror_debug(i32 noundef %15577, ptr noundef @.str.80)
  %15579 = call ptr @__errno_location() #13
  %15580 = load i32, ptr %15579, align 4, !tbaa !5
  %15581 = call ptr @strerror(i32 noundef %15580) #12
  %15582 = call ptr @__errno_location() #13
  %15583 = load i32, ptr %15582, align 4, !tbaa !5
  %15584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15571, ptr noundef @.str.81, i32 noundef %15572, ptr noundef @.str.189, ptr noundef @.str.77, i32 noundef 582, ptr noundef %15575, ptr noundef %15578, ptr noundef %15581, i32 noundef %15583) #12
  br label %15585

15585:                                            ; preds = %15568, %15551
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #12
  br label %15586

15586:                                            ; preds = %15585
  br label %15587

15587:                                            ; preds = %15586
  call void @exit(i32 noundef 1) #14
  unreachable

15588:                                            ; No predecessors!
  br label %15589

15589:                                            ; preds = %15588
  br label %15590

15590:                                            ; preds = %15589, %15530
  br label %15591

15591:                                            ; preds = %15590
  br label %15592

15592:                                            ; preds = %15591
  br label %15593

15593:                                            ; preds = %15592
  br label %15594

15594:                                            ; preds = %15593
  br label %15595

15595:                                            ; preds = %15594
  %15596 = load i32, ptr @test_count, align 4, !tbaa !5
  %15597 = add nsw i32 %15596, 1
  store i32 %15597, ptr @test_count, align 4, !tbaa !5
  %15598 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef %341)
  br i1 %15598, label %15652, label %15599

15599:                                            ; preds = %15595
  br label %15600

15600:                                            ; preds = %15599
  br label %15601

15601:                                            ; preds = %15600
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #12
  %15602 = call ptr @__errno_location() #13
  %15603 = load i32, ptr %15602, align 4, !tbaa !5
  store i32 %15603, ptr %353, align 4, !tbaa !5
  %15604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15605 = call i32 @s2n_print_stacktrace(ptr noundef %15604)
  %15606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15607 = trunc i8 %15606 to i1
  br i1 %15607, label %15608, label %15630

15608:                                            ; preds = %15601
  %15609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15610 = call i32 @fileno(ptr noundef %15609) #12
  %15611 = call i32 @isatty(i32 noundef %15610) #12
  %15612 = icmp ne i32 %15611, 0
  br i1 %15612, label %15613, label %15630

15613:                                            ; preds = %15608
  %15614 = load i32, ptr %353, align 4, !tbaa !5
  %15615 = call ptr @__errno_location() #13
  store i32 %15614, ptr %15615, align 4, !tbaa !5
  %15616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15617 = load i32, ptr @test_count, align 4, !tbaa !5
  %15618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15619 = load i32, ptr %15618, align 4, !tbaa !5
  %15620 = call ptr @s2n_strerror(i32 noundef %15619, ptr noundef @.str.80)
  %15621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15622 = load i32, ptr %15621, align 4, !tbaa !5
  %15623 = call ptr @s2n_strerror_debug(i32 noundef %15622, ptr noundef @.str.80)
  %15624 = call ptr @__errno_location() #13
  %15625 = load i32, ptr %15624, align 4, !tbaa !5
  %15626 = call ptr @strerror(i32 noundef %15625) #12
  %15627 = call ptr @__errno_location() #13
  %15628 = load i32, ptr %15627, align 4, !tbaa !5
  %15629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15616, ptr noundef @.str.78, i32 noundef %15617, ptr noundef @.str.185, ptr noundef @.str.77, i32 noundef 584, ptr noundef %15620, ptr noundef %15623, ptr noundef %15626, i32 noundef %15628) #12
  br label %15647

15630:                                            ; preds = %15608, %15601
  %15631 = load i32, ptr %353, align 4, !tbaa !5
  %15632 = call ptr @__errno_location() #13
  store i32 %15631, ptr %15632, align 4, !tbaa !5
  %15633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15634 = load i32, ptr @test_count, align 4, !tbaa !5
  %15635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15636 = load i32, ptr %15635, align 4, !tbaa !5
  %15637 = call ptr @s2n_strerror(i32 noundef %15636, ptr noundef @.str.80)
  %15638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15639 = load i32, ptr %15638, align 4, !tbaa !5
  %15640 = call ptr @s2n_strerror_debug(i32 noundef %15639, ptr noundef @.str.80)
  %15641 = call ptr @__errno_location() #13
  %15642 = load i32, ptr %15641, align 4, !tbaa !5
  %15643 = call ptr @strerror(i32 noundef %15642) #12
  %15644 = call ptr @__errno_location() #13
  %15645 = load i32, ptr %15644, align 4, !tbaa !5
  %15646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15633, ptr noundef @.str.81, i32 noundef %15634, ptr noundef @.str.185, ptr noundef @.str.77, i32 noundef 584, ptr noundef %15637, ptr noundef %15640, ptr noundef %15643, i32 noundef %15645) #12
  br label %15647

15647:                                            ; preds = %15630, %15613
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #12
  br label %15648

15648:                                            ; preds = %15647
  br label %15649

15649:                                            ; preds = %15648
  call void @exit(i32 noundef 1) #14
  unreachable

15650:                                            ; No predecessors!
  br label %15651

15651:                                            ; preds = %15650
  br label %15652

15652:                                            ; preds = %15651, %15595
  br label %15653

15653:                                            ; preds = %15652
  br label %15654

15654:                                            ; preds = %15653
  br label %15655

15655:                                            ; preds = %15654
  %15656 = load i32, ptr @test_count, align 4, !tbaa !5
  %15657 = add nsw i32 %15656, 1
  store i32 %15657, ptr @test_count, align 4, !tbaa !5
  %15658 = call i32 @s2n_offered_psk_list_next(ptr noundef %341, ptr noundef %347)
  %15659 = icmp eq i32 %15658, -1
  br i1 %15659, label %15660, label %15713

15660:                                            ; preds = %15655
  br label %15661

15661:                                            ; preds = %15660
  br label %15662

15662:                                            ; preds = %15661
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #12
  %15663 = call ptr @__errno_location() #13
  %15664 = load i32, ptr %15663, align 4, !tbaa !5
  store i32 %15664, ptr %354, align 4, !tbaa !5
  %15665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15666 = call i32 @s2n_print_stacktrace(ptr noundef %15665)
  %15667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15668 = trunc i8 %15667 to i1
  br i1 %15668, label %15669, label %15691

15669:                                            ; preds = %15662
  %15670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15671 = call i32 @fileno(ptr noundef %15670) #12
  %15672 = call i32 @isatty(i32 noundef %15671) #12
  %15673 = icmp ne i32 %15672, 0
  br i1 %15673, label %15674, label %15691

15674:                                            ; preds = %15669
  %15675 = load i32, ptr %354, align 4, !tbaa !5
  %15676 = call ptr @__errno_location() #13
  store i32 %15675, ptr %15676, align 4, !tbaa !5
  %15677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15678 = load i32, ptr @test_count, align 4, !tbaa !5
  %15679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15680 = load i32, ptr %15679, align 4, !tbaa !5
  %15681 = call ptr @s2n_strerror(i32 noundef %15680, ptr noundef @.str.80)
  %15682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15683 = load i32, ptr %15682, align 4, !tbaa !5
  %15684 = call ptr @s2n_strerror_debug(i32 noundef %15683, ptr noundef @.str.80)
  %15685 = call ptr @__errno_location() #13
  %15686 = load i32, ptr %15685, align 4, !tbaa !5
  %15687 = call ptr @strerror(i32 noundef %15686) #12
  %15688 = call ptr @__errno_location() #13
  %15689 = load i32, ptr %15688, align 4, !tbaa !5
  %15690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15677, ptr noundef @.str.78, i32 noundef %15678, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 585, ptr noundef %15681, ptr noundef %15684, ptr noundef %15687, i32 noundef %15689) #12
  br label %15708

15691:                                            ; preds = %15669, %15662
  %15692 = load i32, ptr %354, align 4, !tbaa !5
  %15693 = call ptr @__errno_location() #13
  store i32 %15692, ptr %15693, align 4, !tbaa !5
  %15694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15695 = load i32, ptr @test_count, align 4, !tbaa !5
  %15696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15697 = load i32, ptr %15696, align 4, !tbaa !5
  %15698 = call ptr @s2n_strerror(i32 noundef %15697, ptr noundef @.str.80)
  %15699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15700 = load i32, ptr %15699, align 4, !tbaa !5
  %15701 = call ptr @s2n_strerror_debug(i32 noundef %15700, ptr noundef @.str.80)
  %15702 = call ptr @__errno_location() #13
  %15703 = load i32, ptr %15702, align 4, !tbaa !5
  %15704 = call ptr @strerror(i32 noundef %15703) #12
  %15705 = call ptr @__errno_location() #13
  %15706 = load i32, ptr %15705, align 4, !tbaa !5
  %15707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15694, ptr noundef @.str.81, i32 noundef %15695, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 585, ptr noundef %15698, ptr noundef %15701, ptr noundef %15704, i32 noundef %15706) #12
  br label %15708

15708:                                            ; preds = %15691, %15674
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #12
  br label %15709

15709:                                            ; preds = %15708
  br label %15710

15710:                                            ; preds = %15709
  call void @exit(i32 noundef 1) #14
  unreachable

15711:                                            ; No predecessors!
  br label %15712

15712:                                            ; preds = %15711
  br label %15713

15713:                                            ; preds = %15712, %15655
  br label %15714

15714:                                            ; preds = %15713
  br label %15715

15715:                                            ; preds = %15714
  br label %15716

15716:                                            ; preds = %15715
  %15717 = load i32, ptr @test_count, align 4, !tbaa !5
  %15718 = add nsw i32 %15717, 1
  store i32 %15718, ptr @test_count, align 4, !tbaa !5
  %15719 = call i32 @s2n_offered_psk_get_identity(ptr noundef %347, ptr noundef %345, ptr noundef %346)
  %15720 = icmp eq i32 %15719, -1
  br i1 %15720, label %15721, label %15774

15721:                                            ; preds = %15716
  br label %15722

15722:                                            ; preds = %15721
  br label %15723

15723:                                            ; preds = %15722
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #12
  %15724 = call ptr @__errno_location() #13
  %15725 = load i32, ptr %15724, align 4, !tbaa !5
  store i32 %15725, ptr %355, align 4, !tbaa !5
  %15726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15727 = call i32 @s2n_print_stacktrace(ptr noundef %15726)
  %15728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15729 = trunc i8 %15728 to i1
  br i1 %15729, label %15730, label %15752

15730:                                            ; preds = %15723
  %15731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15732 = call i32 @fileno(ptr noundef %15731) #12
  %15733 = call i32 @isatty(i32 noundef %15732) #12
  %15734 = icmp ne i32 %15733, 0
  br i1 %15734, label %15735, label %15752

15735:                                            ; preds = %15730
  %15736 = load i32, ptr %355, align 4, !tbaa !5
  %15737 = call ptr @__errno_location() #13
  store i32 %15736, ptr %15737, align 4, !tbaa !5
  %15738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15739 = load i32, ptr @test_count, align 4, !tbaa !5
  %15740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15741 = load i32, ptr %15740, align 4, !tbaa !5
  %15742 = call ptr @s2n_strerror(i32 noundef %15741, ptr noundef @.str.80)
  %15743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15744 = load i32, ptr %15743, align 4, !tbaa !5
  %15745 = call ptr @s2n_strerror_debug(i32 noundef %15744, ptr noundef @.str.80)
  %15746 = call ptr @__errno_location() #13
  %15747 = load i32, ptr %15746, align 4, !tbaa !5
  %15748 = call ptr @strerror(i32 noundef %15747) #12
  %15749 = call ptr @__errno_location() #13
  %15750 = load i32, ptr %15749, align 4, !tbaa !5
  %15751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15738, ptr noundef @.str.78, i32 noundef %15739, ptr noundef @.str.187, ptr noundef @.str.77, i32 noundef 586, ptr noundef %15742, ptr noundef %15745, ptr noundef %15748, i32 noundef %15750) #12
  br label %15769

15752:                                            ; preds = %15730, %15723
  %15753 = load i32, ptr %355, align 4, !tbaa !5
  %15754 = call ptr @__errno_location() #13
  store i32 %15753, ptr %15754, align 4, !tbaa !5
  %15755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15756 = load i32, ptr @test_count, align 4, !tbaa !5
  %15757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15758 = load i32, ptr %15757, align 4, !tbaa !5
  %15759 = call ptr @s2n_strerror(i32 noundef %15758, ptr noundef @.str.80)
  %15760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15761 = load i32, ptr %15760, align 4, !tbaa !5
  %15762 = call ptr @s2n_strerror_debug(i32 noundef %15761, ptr noundef @.str.80)
  %15763 = call ptr @__errno_location() #13
  %15764 = load i32, ptr %15763, align 4, !tbaa !5
  %15765 = call ptr @strerror(i32 noundef %15764) #12
  %15766 = call ptr @__errno_location() #13
  %15767 = load i32, ptr %15766, align 4, !tbaa !5
  %15768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15755, ptr noundef @.str.81, i32 noundef %15756, ptr noundef @.str.187, ptr noundef @.str.77, i32 noundef 586, ptr noundef %15759, ptr noundef %15762, ptr noundef %15765, i32 noundef %15767) #12
  br label %15769

15769:                                            ; preds = %15752, %15735
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #12
  br label %15770

15770:                                            ; preds = %15769
  br label %15771

15771:                                            ; preds = %15770
  call void @exit(i32 noundef 1) #14
  unreachable

15772:                                            ; No predecessors!
  br label %15773

15773:                                            ; preds = %15772
  br label %15774

15774:                                            ; preds = %15773, %15716
  br label %15775

15775:                                            ; preds = %15774
  br label %15776

15776:                                            ; preds = %15775
  br label %15777

15777:                                            ; preds = %15776
  %15778 = load i32, ptr @test_count, align 4, !tbaa !5
  %15779 = add nsw i32 %15778, 1
  store i32 %15779, ptr @test_count, align 4, !tbaa !5
  %15780 = load i16, ptr %346, align 2, !tbaa !52
  %15781 = zext i16 %15780 to i64
  %15782 = icmp eq i64 %15781, 4
  br i1 %15782, label %15836, label %15783

15783:                                            ; preds = %15777
  br label %15784

15784:                                            ; preds = %15783
  br label %15785

15785:                                            ; preds = %15784
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #12
  %15786 = call ptr @__errno_location() #13
  %15787 = load i32, ptr %15786, align 4, !tbaa !5
  store i32 %15787, ptr %356, align 4, !tbaa !5
  %15788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15789 = call i32 @s2n_print_stacktrace(ptr noundef %15788)
  %15790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15791 = trunc i8 %15790 to i1
  br i1 %15791, label %15792, label %15814

15792:                                            ; preds = %15785
  %15793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15794 = call i32 @fileno(ptr noundef %15793) #12
  %15795 = call i32 @isatty(i32 noundef %15794) #12
  %15796 = icmp ne i32 %15795, 0
  br i1 %15796, label %15797, label %15814

15797:                                            ; preds = %15792
  %15798 = load i32, ptr %356, align 4, !tbaa !5
  %15799 = call ptr @__errno_location() #13
  store i32 %15798, ptr %15799, align 4, !tbaa !5
  %15800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15801 = load i32, ptr @test_count, align 4, !tbaa !5
  %15802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15803 = load i32, ptr %15802, align 4, !tbaa !5
  %15804 = call ptr @s2n_strerror(i32 noundef %15803, ptr noundef @.str.80)
  %15805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15806 = load i32, ptr %15805, align 4, !tbaa !5
  %15807 = call ptr @s2n_strerror_debug(i32 noundef %15806, ptr noundef @.str.80)
  %15808 = call ptr @__errno_location() #13
  %15809 = load i32, ptr %15808, align 4, !tbaa !5
  %15810 = call ptr @strerror(i32 noundef %15809) #12
  %15811 = call ptr @__errno_location() #13
  %15812 = load i32, ptr %15811, align 4, !tbaa !5
  %15813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15800, ptr noundef @.str.78, i32 noundef %15801, ptr noundef @.str.190, ptr noundef @.str.77, i32 noundef 587, ptr noundef %15804, ptr noundef %15807, ptr noundef %15810, i32 noundef %15812) #12
  br label %15831

15814:                                            ; preds = %15792, %15785
  %15815 = load i32, ptr %356, align 4, !tbaa !5
  %15816 = call ptr @__errno_location() #13
  store i32 %15815, ptr %15816, align 4, !tbaa !5
  %15817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15818 = load i32, ptr @test_count, align 4, !tbaa !5
  %15819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15820 = load i32, ptr %15819, align 4, !tbaa !5
  %15821 = call ptr @s2n_strerror(i32 noundef %15820, ptr noundef @.str.80)
  %15822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15823 = load i32, ptr %15822, align 4, !tbaa !5
  %15824 = call ptr @s2n_strerror_debug(i32 noundef %15823, ptr noundef @.str.80)
  %15825 = call ptr @__errno_location() #13
  %15826 = load i32, ptr %15825, align 4, !tbaa !5
  %15827 = call ptr @strerror(i32 noundef %15826) #12
  %15828 = call ptr @__errno_location() #13
  %15829 = load i32, ptr %15828, align 4, !tbaa !5
  %15830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15817, ptr noundef @.str.81, i32 noundef %15818, ptr noundef @.str.190, ptr noundef @.str.77, i32 noundef 587, ptr noundef %15821, ptr noundef %15824, ptr noundef %15827, i32 noundef %15829) #12
  br label %15831

15831:                                            ; preds = %15814, %15797
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #12
  br label %15832

15832:                                            ; preds = %15831
  br label %15833

15833:                                            ; preds = %15832
  call void @exit(i32 noundef 1) #14
  unreachable

15834:                                            ; No predecessors!
  br label %15835

15835:                                            ; preds = %15834
  br label %15836

15836:                                            ; preds = %15835, %15777
  br label %15837

15837:                                            ; preds = %15836
  br label %15838

15838:                                            ; preds = %15837
  br label %15839

15839:                                            ; preds = %15838
  br label %15840

15840:                                            ; preds = %15839
  %15841 = load i32, ptr @test_count, align 4, !tbaa !5
  %15842 = add nsw i32 %15841, 1
  store i32 %15842, ptr @test_count, align 4, !tbaa !5
  %15843 = load ptr, ptr %345, align 8, !tbaa !9
  %15844 = getelementptr inbounds [4 x i8], ptr %10, i64 0, i64 0
  %15845 = call i32 @memcmp(ptr noundef %15843, ptr noundef %15844, i64 noundef 4) #15
  %15846 = icmp eq i32 %15845, 0
  br i1 %15846, label %15900, label %15847

15847:                                            ; preds = %15840
  br label %15848

15848:                                            ; preds = %15847
  br label %15849

15849:                                            ; preds = %15848
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #12
  %15850 = call ptr @__errno_location() #13
  %15851 = load i32, ptr %15850, align 4, !tbaa !5
  store i32 %15851, ptr %357, align 4, !tbaa !5
  %15852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15853 = call i32 @s2n_print_stacktrace(ptr noundef %15852)
  %15854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15855 = trunc i8 %15854 to i1
  br i1 %15855, label %15856, label %15878

15856:                                            ; preds = %15849
  %15857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15858 = call i32 @fileno(ptr noundef %15857) #12
  %15859 = call i32 @isatty(i32 noundef %15858) #12
  %15860 = icmp ne i32 %15859, 0
  br i1 %15860, label %15861, label %15878

15861:                                            ; preds = %15856
  %15862 = load i32, ptr %357, align 4, !tbaa !5
  %15863 = call ptr @__errno_location() #13
  store i32 %15862, ptr %15863, align 4, !tbaa !5
  %15864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15865 = load i32, ptr @test_count, align 4, !tbaa !5
  %15866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15867 = load i32, ptr %15866, align 4, !tbaa !5
  %15868 = call ptr @s2n_strerror(i32 noundef %15867, ptr noundef @.str.80)
  %15869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15870 = load i32, ptr %15869, align 4, !tbaa !5
  %15871 = call ptr @s2n_strerror_debug(i32 noundef %15870, ptr noundef @.str.80)
  %15872 = call ptr @__errno_location() #13
  %15873 = load i32, ptr %15872, align 4, !tbaa !5
  %15874 = call ptr @strerror(i32 noundef %15873) #12
  %15875 = call ptr @__errno_location() #13
  %15876 = load i32, ptr %15875, align 4, !tbaa !5
  %15877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15864, ptr noundef @.str.78, i32 noundef %15865, ptr noundef @.str.191, ptr noundef @.str.77, i32 noundef 588, ptr noundef %15868, ptr noundef %15871, ptr noundef %15874, i32 noundef %15876) #12
  br label %15895

15878:                                            ; preds = %15856, %15849
  %15879 = load i32, ptr %357, align 4, !tbaa !5
  %15880 = call ptr @__errno_location() #13
  store i32 %15879, ptr %15880, align 4, !tbaa !5
  %15881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15882 = load i32, ptr @test_count, align 4, !tbaa !5
  %15883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15884 = load i32, ptr %15883, align 4, !tbaa !5
  %15885 = call ptr @s2n_strerror(i32 noundef %15884, ptr noundef @.str.80)
  %15886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15887 = load i32, ptr %15886, align 4, !tbaa !5
  %15888 = call ptr @s2n_strerror_debug(i32 noundef %15887, ptr noundef @.str.80)
  %15889 = call ptr @__errno_location() #13
  %15890 = load i32, ptr %15889, align 4, !tbaa !5
  %15891 = call ptr @strerror(i32 noundef %15890) #12
  %15892 = call ptr @__errno_location() #13
  %15893 = load i32, ptr %15892, align 4, !tbaa !5
  %15894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15881, ptr noundef @.str.81, i32 noundef %15882, ptr noundef @.str.191, ptr noundef @.str.77, i32 noundef 588, ptr noundef %15885, ptr noundef %15888, ptr noundef %15891, i32 noundef %15893) #12
  br label %15895

15895:                                            ; preds = %15878, %15861
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #12
  br label %15896

15896:                                            ; preds = %15895
  br label %15897

15897:                                            ; preds = %15896
  call void @exit(i32 noundef 1) #14
  unreachable

15898:                                            ; No predecessors!
  br label %15899

15899:                                            ; preds = %15898
  br label %15900

15900:                                            ; preds = %15899, %15840
  br label %15901

15901:                                            ; preds = %15900
  br label %15902

15902:                                            ; preds = %15901
  br label %15903

15903:                                            ; preds = %15902
  br label %15904

15904:                                            ; preds = %15903
  br label %15905

15905:                                            ; preds = %15904
  %15906 = load i32, ptr @test_count, align 4, !tbaa !5
  %15907 = add nsw i32 %15906, 1
  store i32 %15907, ptr @test_count, align 4, !tbaa !5
  %15908 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %341, ptr noundef %347)
  %15909 = icmp eq i32 %15908, -1
  br i1 %15909, label %15910, label %15963

15910:                                            ; preds = %15905
  br label %15911

15911:                                            ; preds = %15910
  br label %15912

15912:                                            ; preds = %15911
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #12
  %15913 = call ptr @__errno_location() #13
  %15914 = load i32, ptr %15913, align 4, !tbaa !5
  store i32 %15914, ptr %358, align 4, !tbaa !5
  %15915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15916 = call i32 @s2n_print_stacktrace(ptr noundef %15915)
  %15917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15918 = trunc i8 %15917 to i1
  br i1 %15918, label %15919, label %15941

15919:                                            ; preds = %15912
  %15920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15921 = call i32 @fileno(ptr noundef %15920) #12
  %15922 = call i32 @isatty(i32 noundef %15921) #12
  %15923 = icmp ne i32 %15922, 0
  br i1 %15923, label %15924, label %15941

15924:                                            ; preds = %15919
  %15925 = load i32, ptr %358, align 4, !tbaa !5
  %15926 = call ptr @__errno_location() #13
  store i32 %15925, ptr %15926, align 4, !tbaa !5
  %15927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15928 = load i32, ptr @test_count, align 4, !tbaa !5
  %15929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15930 = load i32, ptr %15929, align 4, !tbaa !5
  %15931 = call ptr @s2n_strerror(i32 noundef %15930, ptr noundef @.str.80)
  %15932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15933 = load i32, ptr %15932, align 4, !tbaa !5
  %15934 = call ptr @s2n_strerror_debug(i32 noundef %15933, ptr noundef @.str.80)
  %15935 = call ptr @__errno_location() #13
  %15936 = load i32, ptr %15935, align 4, !tbaa !5
  %15937 = call ptr @strerror(i32 noundef %15936) #12
  %15938 = call ptr @__errno_location() #13
  %15939 = load i32, ptr %15938, align 4, !tbaa !5
  %15940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15927, ptr noundef @.str.78, i32 noundef %15928, ptr noundef @.str.192, ptr noundef @.str.77, i32 noundef 590, ptr noundef %15931, ptr noundef %15934, ptr noundef %15937, i32 noundef %15939) #12
  br label %15958

15941:                                            ; preds = %15919, %15912
  %15942 = load i32, ptr %358, align 4, !tbaa !5
  %15943 = call ptr @__errno_location() #13
  store i32 %15942, ptr %15943, align 4, !tbaa !5
  %15944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15945 = load i32, ptr @test_count, align 4, !tbaa !5
  %15946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15947 = load i32, ptr %15946, align 4, !tbaa !5
  %15948 = call ptr @s2n_strerror(i32 noundef %15947, ptr noundef @.str.80)
  %15949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15950 = load i32, ptr %15949, align 4, !tbaa !5
  %15951 = call ptr @s2n_strerror_debug(i32 noundef %15950, ptr noundef @.str.80)
  %15952 = call ptr @__errno_location() #13
  %15953 = load i32, ptr %15952, align 4, !tbaa !5
  %15954 = call ptr @strerror(i32 noundef %15953) #12
  %15955 = call ptr @__errno_location() #13
  %15956 = load i32, ptr %15955, align 4, !tbaa !5
  %15957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15944, ptr noundef @.str.81, i32 noundef %15945, ptr noundef @.str.192, ptr noundef @.str.77, i32 noundef 590, ptr noundef %15948, ptr noundef %15951, ptr noundef %15954, i32 noundef %15956) #12
  br label %15958

15958:                                            ; preds = %15941, %15924
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #12
  br label %15959

15959:                                            ; preds = %15958
  br label %15960

15960:                                            ; preds = %15959
  call void @exit(i32 noundef 1) #14
  unreachable

15961:                                            ; No predecessors!
  br label %15962

15962:                                            ; preds = %15961
  br label %15963

15963:                                            ; preds = %15962, %15905
  br label %15964

15964:                                            ; preds = %15963
  br label %15965

15965:                                            ; preds = %15964
  br label %15966

15966:                                            ; preds = %15965
  %15967 = load i32, ptr @test_count, align 4, !tbaa !5
  %15968 = add nsw i32 %15967, 1
  store i32 %15968, ptr @test_count, align 4, !tbaa !5
  %15969 = load ptr, ptr %322, align 8, !tbaa !9
  %15970 = getelementptr inbounds %struct.s2n_connection, ptr %15969, i32 0, i32 33
  %15971 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %15970, i32 0, i32 4
  %15972 = load ptr, ptr %15971, align 8, !tbaa !61
  %15973 = load ptr, ptr %332, align 8, !tbaa !9
  %15974 = icmp eq ptr %15972, %15973
  br i1 %15974, label %16028, label %15975

15975:                                            ; preds = %15966
  br label %15976

15976:                                            ; preds = %15975
  br label %15977

15977:                                            ; preds = %15976
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #12
  %15978 = call ptr @__errno_location() #13
  %15979 = load i32, ptr %15978, align 4, !tbaa !5
  store i32 %15979, ptr %359, align 4, !tbaa !5
  %15980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15981 = call i32 @s2n_print_stacktrace(ptr noundef %15980)
  %15982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15983 = trunc i8 %15982 to i1
  br i1 %15983, label %15984, label %16006

15984:                                            ; preds = %15977
  %15985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15986 = call i32 @fileno(ptr noundef %15985) #12
  %15987 = call i32 @isatty(i32 noundef %15986) #12
  %15988 = icmp ne i32 %15987, 0
  br i1 %15988, label %15989, label %16006

15989:                                            ; preds = %15984
  %15990 = load i32, ptr %359, align 4, !tbaa !5
  %15991 = call ptr @__errno_location() #13
  store i32 %15990, ptr %15991, align 4, !tbaa !5
  %15992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15993 = load i32, ptr @test_count, align 4, !tbaa !5
  %15994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15995 = load i32, ptr %15994, align 4, !tbaa !5
  %15996 = call ptr @s2n_strerror(i32 noundef %15995, ptr noundef @.str.80)
  %15997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15998 = load i32, ptr %15997, align 4, !tbaa !5
  %15999 = call ptr @s2n_strerror_debug(i32 noundef %15998, ptr noundef @.str.80)
  %16000 = call ptr @__errno_location() #13
  %16001 = load i32, ptr %16000, align 4, !tbaa !5
  %16002 = call ptr @strerror(i32 noundef %16001) #12
  %16003 = call ptr @__errno_location() #13
  %16004 = load i32, ptr %16003, align 4, !tbaa !5
  %16005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15992, ptr noundef @.str.78, i32 noundef %15993, ptr noundef @.str.193, ptr noundef @.str.77, i32 noundef 591, ptr noundef %15996, ptr noundef %15999, ptr noundef %16002, i32 noundef %16004) #12
  br label %16023

16006:                                            ; preds = %15984, %15977
  %16007 = load i32, ptr %359, align 4, !tbaa !5
  %16008 = call ptr @__errno_location() #13
  store i32 %16007, ptr %16008, align 4, !tbaa !5
  %16009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16010 = load i32, ptr @test_count, align 4, !tbaa !5
  %16011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16012 = load i32, ptr %16011, align 4, !tbaa !5
  %16013 = call ptr @s2n_strerror(i32 noundef %16012, ptr noundef @.str.80)
  %16014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16015 = load i32, ptr %16014, align 4, !tbaa !5
  %16016 = call ptr @s2n_strerror_debug(i32 noundef %16015, ptr noundef @.str.80)
  %16017 = call ptr @__errno_location() #13
  %16018 = load i32, ptr %16017, align 4, !tbaa !5
  %16019 = call ptr @strerror(i32 noundef %16018) #12
  %16020 = call ptr @__errno_location() #13
  %16021 = load i32, ptr %16020, align 4, !tbaa !5
  %16022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16009, ptr noundef @.str.81, i32 noundef %16010, ptr noundef @.str.193, ptr noundef @.str.77, i32 noundef 591, ptr noundef %16013, ptr noundef %16016, ptr noundef %16019, i32 noundef %16021) #12
  br label %16023

16023:                                            ; preds = %16006, %15989
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #12
  br label %16024

16024:                                            ; preds = %16023
  br label %16025

16025:                                            ; preds = %16024
  call void @exit(i32 noundef 1) #14
  unreachable

16026:                                            ; No predecessors!
  br label %16027

16027:                                            ; preds = %16026
  br label %16028

16028:                                            ; preds = %16027, %15966
  br label %16029

16029:                                            ; preds = %16028
  br label %16030

16030:                                            ; preds = %16029
  br label %16031

16031:                                            ; preds = %16030
  %16032 = load i32, ptr @test_count, align 4, !tbaa !5
  %16033 = add nsw i32 %16032, 1
  store i32 %16033, ptr @test_count, align 4, !tbaa !5
  %16034 = load ptr, ptr %322, align 8, !tbaa !9
  %16035 = getelementptr inbounds %struct.s2n_connection, ptr %16034, i32 0, i32 33
  %16036 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16035, i32 0, i32 3
  %16037 = load i16, ptr %16036, align 2, !tbaa !62
  %16038 = zext i16 %16037 to i32
  %16039 = icmp eq i32 %16038, 1
  br i1 %16039, label %16093, label %16040

16040:                                            ; preds = %16031
  br label %16041

16041:                                            ; preds = %16040
  br label %16042

16042:                                            ; preds = %16041
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #12
  %16043 = call ptr @__errno_location() #13
  %16044 = load i32, ptr %16043, align 4, !tbaa !5
  store i32 %16044, ptr %360, align 4, !tbaa !5
  %16045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16046 = call i32 @s2n_print_stacktrace(ptr noundef %16045)
  %16047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16048 = trunc i8 %16047 to i1
  br i1 %16048, label %16049, label %16071

16049:                                            ; preds = %16042
  %16050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16051 = call i32 @fileno(ptr noundef %16050) #12
  %16052 = call i32 @isatty(i32 noundef %16051) #12
  %16053 = icmp ne i32 %16052, 0
  br i1 %16053, label %16054, label %16071

16054:                                            ; preds = %16049
  %16055 = load i32, ptr %360, align 4, !tbaa !5
  %16056 = call ptr @__errno_location() #13
  store i32 %16055, ptr %16056, align 4, !tbaa !5
  %16057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16058 = load i32, ptr @test_count, align 4, !tbaa !5
  %16059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16060 = load i32, ptr %16059, align 4, !tbaa !5
  %16061 = call ptr @s2n_strerror(i32 noundef %16060, ptr noundef @.str.80)
  %16062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16063 = load i32, ptr %16062, align 4, !tbaa !5
  %16064 = call ptr @s2n_strerror_debug(i32 noundef %16063, ptr noundef @.str.80)
  %16065 = call ptr @__errno_location() #13
  %16066 = load i32, ptr %16065, align 4, !tbaa !5
  %16067 = call ptr @strerror(i32 noundef %16066) #12
  %16068 = call ptr @__errno_location() #13
  %16069 = load i32, ptr %16068, align 4, !tbaa !5
  %16070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16057, ptr noundef @.str.78, i32 noundef %16058, ptr noundef @.str.194, ptr noundef @.str.77, i32 noundef 592, ptr noundef %16061, ptr noundef %16064, ptr noundef %16067, i32 noundef %16069) #12
  br label %16088

16071:                                            ; preds = %16049, %16042
  %16072 = load i32, ptr %360, align 4, !tbaa !5
  %16073 = call ptr @__errno_location() #13
  store i32 %16072, ptr %16073, align 4, !tbaa !5
  %16074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16075 = load i32, ptr @test_count, align 4, !tbaa !5
  %16076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16077 = load i32, ptr %16076, align 4, !tbaa !5
  %16078 = call ptr @s2n_strerror(i32 noundef %16077, ptr noundef @.str.80)
  %16079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16080 = load i32, ptr %16079, align 4, !tbaa !5
  %16081 = call ptr @s2n_strerror_debug(i32 noundef %16080, ptr noundef @.str.80)
  %16082 = call ptr @__errno_location() #13
  %16083 = load i32, ptr %16082, align 4, !tbaa !5
  %16084 = call ptr @strerror(i32 noundef %16083) #12
  %16085 = call ptr @__errno_location() #13
  %16086 = load i32, ptr %16085, align 4, !tbaa !5
  %16087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16074, ptr noundef @.str.81, i32 noundef %16075, ptr noundef @.str.194, ptr noundef @.str.77, i32 noundef 592, ptr noundef %16078, ptr noundef %16081, ptr noundef %16084, i32 noundef %16086) #12
  br label %16088

16088:                                            ; preds = %16071, %16054
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #12
  br label %16089

16089:                                            ; preds = %16088
  br label %16090

16090:                                            ; preds = %16089
  call void @exit(i32 noundef 1) #14
  unreachable

16091:                                            ; No predecessors!
  br label %16092

16092:                                            ; preds = %16091
  br label %16093

16093:                                            ; preds = %16092, %16031
  br label %16094

16094:                                            ; preds = %16093
  br label %16095

16095:                                            ; preds = %16094
  br label %16096

16096:                                            ; preds = %16095
  %16097 = load i32, ptr @test_count, align 4, !tbaa !5
  %16098 = add nsw i32 %16097, 1
  store i32 %16098, ptr @test_count, align 4, !tbaa !5
  %16099 = call i32 @s2n_offered_psk_list_reread(ptr noundef %341)
  %16100 = icmp eq i32 %16099, -1
  br i1 %16100, label %16101, label %16154

16101:                                            ; preds = %16096
  br label %16102

16102:                                            ; preds = %16101
  br label %16103

16103:                                            ; preds = %16102
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #12
  %16104 = call ptr @__errno_location() #13
  %16105 = load i32, ptr %16104, align 4, !tbaa !5
  store i32 %16105, ptr %361, align 4, !tbaa !5
  %16106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16107 = call i32 @s2n_print_stacktrace(ptr noundef %16106)
  %16108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16109 = trunc i8 %16108 to i1
  br i1 %16109, label %16110, label %16132

16110:                                            ; preds = %16103
  %16111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16112 = call i32 @fileno(ptr noundef %16111) #12
  %16113 = call i32 @isatty(i32 noundef %16112) #12
  %16114 = icmp ne i32 %16113, 0
  br i1 %16114, label %16115, label %16132

16115:                                            ; preds = %16110
  %16116 = load i32, ptr %361, align 4, !tbaa !5
  %16117 = call ptr @__errno_location() #13
  store i32 %16116, ptr %16117, align 4, !tbaa !5
  %16118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16119 = load i32, ptr @test_count, align 4, !tbaa !5
  %16120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16121 = load i32, ptr %16120, align 4, !tbaa !5
  %16122 = call ptr @s2n_strerror(i32 noundef %16121, ptr noundef @.str.80)
  %16123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16124 = load i32, ptr %16123, align 4, !tbaa !5
  %16125 = call ptr @s2n_strerror_debug(i32 noundef %16124, ptr noundef @.str.80)
  %16126 = call ptr @__errno_location() #13
  %16127 = load i32, ptr %16126, align 4, !tbaa !5
  %16128 = call ptr @strerror(i32 noundef %16127) #12
  %16129 = call ptr @__errno_location() #13
  %16130 = load i32, ptr %16129, align 4, !tbaa !5
  %16131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16118, ptr noundef @.str.78, i32 noundef %16119, ptr noundef @.str.195, ptr noundef @.str.77, i32 noundef 594, ptr noundef %16122, ptr noundef %16125, ptr noundef %16128, i32 noundef %16130) #12
  br label %16149

16132:                                            ; preds = %16110, %16103
  %16133 = load i32, ptr %361, align 4, !tbaa !5
  %16134 = call ptr @__errno_location() #13
  store i32 %16133, ptr %16134, align 4, !tbaa !5
  %16135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16136 = load i32, ptr @test_count, align 4, !tbaa !5
  %16137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16138 = load i32, ptr %16137, align 4, !tbaa !5
  %16139 = call ptr @s2n_strerror(i32 noundef %16138, ptr noundef @.str.80)
  %16140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16141 = load i32, ptr %16140, align 4, !tbaa !5
  %16142 = call ptr @s2n_strerror_debug(i32 noundef %16141, ptr noundef @.str.80)
  %16143 = call ptr @__errno_location() #13
  %16144 = load i32, ptr %16143, align 4, !tbaa !5
  %16145 = call ptr @strerror(i32 noundef %16144) #12
  %16146 = call ptr @__errno_location() #13
  %16147 = load i32, ptr %16146, align 4, !tbaa !5
  %16148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16135, ptr noundef @.str.81, i32 noundef %16136, ptr noundef @.str.195, ptr noundef @.str.77, i32 noundef 594, ptr noundef %16139, ptr noundef %16142, ptr noundef %16145, i32 noundef %16147) #12
  br label %16149

16149:                                            ; preds = %16132, %16115
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #12
  br label %16150

16150:                                            ; preds = %16149
  br label %16151

16151:                                            ; preds = %16150
  call void @exit(i32 noundef 1) #14
  unreachable

16152:                                            ; No predecessors!
  br label %16153

16153:                                            ; preds = %16152
  br label %16154

16154:                                            ; preds = %16153, %16096
  br label %16155

16155:                                            ; preds = %16154
  br label %16156

16156:                                            ; preds = %16155
  br label %16157

16157:                                            ; preds = %16156
  %16158 = load i32, ptr @test_count, align 4, !tbaa !5
  %16159 = add nsw i32 %16158, 1
  store i32 %16159, ptr @test_count, align 4, !tbaa !5
  %16160 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef %341)
  br i1 %16160, label %16214, label %16161

16161:                                            ; preds = %16157
  br label %16162

16162:                                            ; preds = %16161
  br label %16163

16163:                                            ; preds = %16162
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #12
  %16164 = call ptr @__errno_location() #13
  %16165 = load i32, ptr %16164, align 4, !tbaa !5
  store i32 %16165, ptr %362, align 4, !tbaa !5
  %16166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16167 = call i32 @s2n_print_stacktrace(ptr noundef %16166)
  %16168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16169 = trunc i8 %16168 to i1
  br i1 %16169, label %16170, label %16192

16170:                                            ; preds = %16163
  %16171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16172 = call i32 @fileno(ptr noundef %16171) #12
  %16173 = call i32 @isatty(i32 noundef %16172) #12
  %16174 = icmp ne i32 %16173, 0
  br i1 %16174, label %16175, label %16192

16175:                                            ; preds = %16170
  %16176 = load i32, ptr %362, align 4, !tbaa !5
  %16177 = call ptr @__errno_location() #13
  store i32 %16176, ptr %16177, align 4, !tbaa !5
  %16178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16179 = load i32, ptr @test_count, align 4, !tbaa !5
  %16180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16181 = load i32, ptr %16180, align 4, !tbaa !5
  %16182 = call ptr @s2n_strerror(i32 noundef %16181, ptr noundef @.str.80)
  %16183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16184 = load i32, ptr %16183, align 4, !tbaa !5
  %16185 = call ptr @s2n_strerror_debug(i32 noundef %16184, ptr noundef @.str.80)
  %16186 = call ptr @__errno_location() #13
  %16187 = load i32, ptr %16186, align 4, !tbaa !5
  %16188 = call ptr @strerror(i32 noundef %16187) #12
  %16189 = call ptr @__errno_location() #13
  %16190 = load i32, ptr %16189, align 4, !tbaa !5
  %16191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16178, ptr noundef @.str.78, i32 noundef %16179, ptr noundef @.str.185, ptr noundef @.str.77, i32 noundef 596, ptr noundef %16182, ptr noundef %16185, ptr noundef %16188, i32 noundef %16190) #12
  br label %16209

16192:                                            ; preds = %16170, %16163
  %16193 = load i32, ptr %362, align 4, !tbaa !5
  %16194 = call ptr @__errno_location() #13
  store i32 %16193, ptr %16194, align 4, !tbaa !5
  %16195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16196 = load i32, ptr @test_count, align 4, !tbaa !5
  %16197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16198 = load i32, ptr %16197, align 4, !tbaa !5
  %16199 = call ptr @s2n_strerror(i32 noundef %16198, ptr noundef @.str.80)
  %16200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16201 = load i32, ptr %16200, align 4, !tbaa !5
  %16202 = call ptr @s2n_strerror_debug(i32 noundef %16201, ptr noundef @.str.80)
  %16203 = call ptr @__errno_location() #13
  %16204 = load i32, ptr %16203, align 4, !tbaa !5
  %16205 = call ptr @strerror(i32 noundef %16204) #12
  %16206 = call ptr @__errno_location() #13
  %16207 = load i32, ptr %16206, align 4, !tbaa !5
  %16208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16195, ptr noundef @.str.81, i32 noundef %16196, ptr noundef @.str.185, ptr noundef @.str.77, i32 noundef 596, ptr noundef %16199, ptr noundef %16202, ptr noundef %16205, i32 noundef %16207) #12
  br label %16209

16209:                                            ; preds = %16192, %16175
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #12
  br label %16210

16210:                                            ; preds = %16209
  br label %16211

16211:                                            ; preds = %16210
  call void @exit(i32 noundef 1) #14
  unreachable

16212:                                            ; No predecessors!
  br label %16213

16213:                                            ; preds = %16212
  br label %16214

16214:                                            ; preds = %16213, %16157
  br label %16215

16215:                                            ; preds = %16214
  br label %16216

16216:                                            ; preds = %16215
  br label %16217

16217:                                            ; preds = %16216
  %16218 = load i32, ptr @test_count, align 4, !tbaa !5
  %16219 = add nsw i32 %16218, 1
  store i32 %16219, ptr @test_count, align 4, !tbaa !5
  %16220 = call i32 @s2n_offered_psk_list_next(ptr noundef %341, ptr noundef %347)
  %16221 = icmp eq i32 %16220, -1
  br i1 %16221, label %16222, label %16275

16222:                                            ; preds = %16217
  br label %16223

16223:                                            ; preds = %16222
  br label %16224

16224:                                            ; preds = %16223
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #12
  %16225 = call ptr @__errno_location() #13
  %16226 = load i32, ptr %16225, align 4, !tbaa !5
  store i32 %16226, ptr %363, align 4, !tbaa !5
  %16227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16228 = call i32 @s2n_print_stacktrace(ptr noundef %16227)
  %16229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16230 = trunc i8 %16229 to i1
  br i1 %16230, label %16231, label %16253

16231:                                            ; preds = %16224
  %16232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16233 = call i32 @fileno(ptr noundef %16232) #12
  %16234 = call i32 @isatty(i32 noundef %16233) #12
  %16235 = icmp ne i32 %16234, 0
  br i1 %16235, label %16236, label %16253

16236:                                            ; preds = %16231
  %16237 = load i32, ptr %363, align 4, !tbaa !5
  %16238 = call ptr @__errno_location() #13
  store i32 %16237, ptr %16238, align 4, !tbaa !5
  %16239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16240 = load i32, ptr @test_count, align 4, !tbaa !5
  %16241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16242 = load i32, ptr %16241, align 4, !tbaa !5
  %16243 = call ptr @s2n_strerror(i32 noundef %16242, ptr noundef @.str.80)
  %16244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16245 = load i32, ptr %16244, align 4, !tbaa !5
  %16246 = call ptr @s2n_strerror_debug(i32 noundef %16245, ptr noundef @.str.80)
  %16247 = call ptr @__errno_location() #13
  %16248 = load i32, ptr %16247, align 4, !tbaa !5
  %16249 = call ptr @strerror(i32 noundef %16248) #12
  %16250 = call ptr @__errno_location() #13
  %16251 = load i32, ptr %16250, align 4, !tbaa !5
  %16252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16239, ptr noundef @.str.78, i32 noundef %16240, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 597, ptr noundef %16243, ptr noundef %16246, ptr noundef %16249, i32 noundef %16251) #12
  br label %16270

16253:                                            ; preds = %16231, %16224
  %16254 = load i32, ptr %363, align 4, !tbaa !5
  %16255 = call ptr @__errno_location() #13
  store i32 %16254, ptr %16255, align 4, !tbaa !5
  %16256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16257 = load i32, ptr @test_count, align 4, !tbaa !5
  %16258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16259 = load i32, ptr %16258, align 4, !tbaa !5
  %16260 = call ptr @s2n_strerror(i32 noundef %16259, ptr noundef @.str.80)
  %16261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16262 = load i32, ptr %16261, align 4, !tbaa !5
  %16263 = call ptr @s2n_strerror_debug(i32 noundef %16262, ptr noundef @.str.80)
  %16264 = call ptr @__errno_location() #13
  %16265 = load i32, ptr %16264, align 4, !tbaa !5
  %16266 = call ptr @strerror(i32 noundef %16265) #12
  %16267 = call ptr @__errno_location() #13
  %16268 = load i32, ptr %16267, align 4, !tbaa !5
  %16269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16256, ptr noundef @.str.81, i32 noundef %16257, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 597, ptr noundef %16260, ptr noundef %16263, ptr noundef %16266, i32 noundef %16268) #12
  br label %16270

16270:                                            ; preds = %16253, %16236
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #12
  br label %16271

16271:                                            ; preds = %16270
  br label %16272

16272:                                            ; preds = %16271
  call void @exit(i32 noundef 1) #14
  unreachable

16273:                                            ; No predecessors!
  br label %16274

16274:                                            ; preds = %16273
  br label %16275

16275:                                            ; preds = %16274, %16217
  br label %16276

16276:                                            ; preds = %16275
  br label %16277

16277:                                            ; preds = %16276
  br label %16278

16278:                                            ; preds = %16277
  %16279 = load i32, ptr @test_count, align 4, !tbaa !5
  %16280 = add nsw i32 %16279, 1
  store i32 %16280, ptr @test_count, align 4, !tbaa !5
  %16281 = call i32 @s2n_offered_psk_get_identity(ptr noundef %347, ptr noundef %345, ptr noundef %346)
  %16282 = icmp eq i32 %16281, -1
  br i1 %16282, label %16283, label %16336

16283:                                            ; preds = %16278
  br label %16284

16284:                                            ; preds = %16283
  br label %16285

16285:                                            ; preds = %16284
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #12
  %16286 = call ptr @__errno_location() #13
  %16287 = load i32, ptr %16286, align 4, !tbaa !5
  store i32 %16287, ptr %364, align 4, !tbaa !5
  %16288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16289 = call i32 @s2n_print_stacktrace(ptr noundef %16288)
  %16290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16291 = trunc i8 %16290 to i1
  br i1 %16291, label %16292, label %16314

16292:                                            ; preds = %16285
  %16293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16294 = call i32 @fileno(ptr noundef %16293) #12
  %16295 = call i32 @isatty(i32 noundef %16294) #12
  %16296 = icmp ne i32 %16295, 0
  br i1 %16296, label %16297, label %16314

16297:                                            ; preds = %16292
  %16298 = load i32, ptr %364, align 4, !tbaa !5
  %16299 = call ptr @__errno_location() #13
  store i32 %16298, ptr %16299, align 4, !tbaa !5
  %16300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16301 = load i32, ptr @test_count, align 4, !tbaa !5
  %16302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16303 = load i32, ptr %16302, align 4, !tbaa !5
  %16304 = call ptr @s2n_strerror(i32 noundef %16303, ptr noundef @.str.80)
  %16305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16306 = load i32, ptr %16305, align 4, !tbaa !5
  %16307 = call ptr @s2n_strerror_debug(i32 noundef %16306, ptr noundef @.str.80)
  %16308 = call ptr @__errno_location() #13
  %16309 = load i32, ptr %16308, align 4, !tbaa !5
  %16310 = call ptr @strerror(i32 noundef %16309) #12
  %16311 = call ptr @__errno_location() #13
  %16312 = load i32, ptr %16311, align 4, !tbaa !5
  %16313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16300, ptr noundef @.str.78, i32 noundef %16301, ptr noundef @.str.187, ptr noundef @.str.77, i32 noundef 598, ptr noundef %16304, ptr noundef %16307, ptr noundef %16310, i32 noundef %16312) #12
  br label %16331

16314:                                            ; preds = %16292, %16285
  %16315 = load i32, ptr %364, align 4, !tbaa !5
  %16316 = call ptr @__errno_location() #13
  store i32 %16315, ptr %16316, align 4, !tbaa !5
  %16317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16318 = load i32, ptr @test_count, align 4, !tbaa !5
  %16319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16320 = load i32, ptr %16319, align 4, !tbaa !5
  %16321 = call ptr @s2n_strerror(i32 noundef %16320, ptr noundef @.str.80)
  %16322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16323 = load i32, ptr %16322, align 4, !tbaa !5
  %16324 = call ptr @s2n_strerror_debug(i32 noundef %16323, ptr noundef @.str.80)
  %16325 = call ptr @__errno_location() #13
  %16326 = load i32, ptr %16325, align 4, !tbaa !5
  %16327 = call ptr @strerror(i32 noundef %16326) #12
  %16328 = call ptr @__errno_location() #13
  %16329 = load i32, ptr %16328, align 4, !tbaa !5
  %16330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16317, ptr noundef @.str.81, i32 noundef %16318, ptr noundef @.str.187, ptr noundef @.str.77, i32 noundef 598, ptr noundef %16321, ptr noundef %16324, ptr noundef %16327, i32 noundef %16329) #12
  br label %16331

16331:                                            ; preds = %16314, %16297
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #12
  br label %16332

16332:                                            ; preds = %16331
  br label %16333

16333:                                            ; preds = %16332
  call void @exit(i32 noundef 1) #14
  unreachable

16334:                                            ; No predecessors!
  br label %16335

16335:                                            ; preds = %16334
  br label %16336

16336:                                            ; preds = %16335, %16278
  br label %16337

16337:                                            ; preds = %16336
  br label %16338

16338:                                            ; preds = %16337
  br label %16339

16339:                                            ; preds = %16338
  %16340 = load i32, ptr @test_count, align 4, !tbaa !5
  %16341 = add nsw i32 %16340, 1
  store i32 %16341, ptr @test_count, align 4, !tbaa !5
  %16342 = load i16, ptr %346, align 2, !tbaa !52
  %16343 = zext i16 %16342 to i64
  %16344 = icmp eq i64 %16343, 4
  br i1 %16344, label %16398, label %16345

16345:                                            ; preds = %16339
  br label %16346

16346:                                            ; preds = %16345
  br label %16347

16347:                                            ; preds = %16346
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #12
  %16348 = call ptr @__errno_location() #13
  %16349 = load i32, ptr %16348, align 4, !tbaa !5
  store i32 %16349, ptr %365, align 4, !tbaa !5
  %16350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16351 = call i32 @s2n_print_stacktrace(ptr noundef %16350)
  %16352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16353 = trunc i8 %16352 to i1
  br i1 %16353, label %16354, label %16376

16354:                                            ; preds = %16347
  %16355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16356 = call i32 @fileno(ptr noundef %16355) #12
  %16357 = call i32 @isatty(i32 noundef %16356) #12
  %16358 = icmp ne i32 %16357, 0
  br i1 %16358, label %16359, label %16376

16359:                                            ; preds = %16354
  %16360 = load i32, ptr %365, align 4, !tbaa !5
  %16361 = call ptr @__errno_location() #13
  store i32 %16360, ptr %16361, align 4, !tbaa !5
  %16362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16363 = load i32, ptr @test_count, align 4, !tbaa !5
  %16364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16365 = load i32, ptr %16364, align 4, !tbaa !5
  %16366 = call ptr @s2n_strerror(i32 noundef %16365, ptr noundef @.str.80)
  %16367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16368 = load i32, ptr %16367, align 4, !tbaa !5
  %16369 = call ptr @s2n_strerror_debug(i32 noundef %16368, ptr noundef @.str.80)
  %16370 = call ptr @__errno_location() #13
  %16371 = load i32, ptr %16370, align 4, !tbaa !5
  %16372 = call ptr @strerror(i32 noundef %16371) #12
  %16373 = call ptr @__errno_location() #13
  %16374 = load i32, ptr %16373, align 4, !tbaa !5
  %16375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16362, ptr noundef @.str.78, i32 noundef %16363, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 599, ptr noundef %16366, ptr noundef %16369, ptr noundef %16372, i32 noundef %16374) #12
  br label %16393

16376:                                            ; preds = %16354, %16347
  %16377 = load i32, ptr %365, align 4, !tbaa !5
  %16378 = call ptr @__errno_location() #13
  store i32 %16377, ptr %16378, align 4, !tbaa !5
  %16379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16380 = load i32, ptr @test_count, align 4, !tbaa !5
  %16381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16382 = load i32, ptr %16381, align 4, !tbaa !5
  %16383 = call ptr @s2n_strerror(i32 noundef %16382, ptr noundef @.str.80)
  %16384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16385 = load i32, ptr %16384, align 4, !tbaa !5
  %16386 = call ptr @s2n_strerror_debug(i32 noundef %16385, ptr noundef @.str.80)
  %16387 = call ptr @__errno_location() #13
  %16388 = load i32, ptr %16387, align 4, !tbaa !5
  %16389 = call ptr @strerror(i32 noundef %16388) #12
  %16390 = call ptr @__errno_location() #13
  %16391 = load i32, ptr %16390, align 4, !tbaa !5
  %16392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16379, ptr noundef @.str.81, i32 noundef %16380, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 599, ptr noundef %16383, ptr noundef %16386, ptr noundef %16389, i32 noundef %16391) #12
  br label %16393

16393:                                            ; preds = %16376, %16359
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #12
  br label %16394

16394:                                            ; preds = %16393
  br label %16395

16395:                                            ; preds = %16394
  call void @exit(i32 noundef 1) #14
  unreachable

16396:                                            ; No predecessors!
  br label %16397

16397:                                            ; preds = %16396
  br label %16398

16398:                                            ; preds = %16397, %16339
  br label %16399

16399:                                            ; preds = %16398
  br label %16400

16400:                                            ; preds = %16399
  br label %16401

16401:                                            ; preds = %16400
  br label %16402

16402:                                            ; preds = %16401
  %16403 = load i32, ptr @test_count, align 4, !tbaa !5
  %16404 = add nsw i32 %16403, 1
  store i32 %16404, ptr @test_count, align 4, !tbaa !5
  %16405 = load ptr, ptr %345, align 8, !tbaa !9
  %16406 = getelementptr inbounds [4 x i8], ptr %9, i64 0, i64 0
  %16407 = call i32 @memcmp(ptr noundef %16405, ptr noundef %16406, i64 noundef 4) #15
  %16408 = icmp eq i32 %16407, 0
  br i1 %16408, label %16462, label %16409

16409:                                            ; preds = %16402
  br label %16410

16410:                                            ; preds = %16409
  br label %16411

16411:                                            ; preds = %16410
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #12
  %16412 = call ptr @__errno_location() #13
  %16413 = load i32, ptr %16412, align 4, !tbaa !5
  store i32 %16413, ptr %366, align 4, !tbaa !5
  %16414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16415 = call i32 @s2n_print_stacktrace(ptr noundef %16414)
  %16416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16417 = trunc i8 %16416 to i1
  br i1 %16417, label %16418, label %16440

16418:                                            ; preds = %16411
  %16419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16420 = call i32 @fileno(ptr noundef %16419) #12
  %16421 = call i32 @isatty(i32 noundef %16420) #12
  %16422 = icmp ne i32 %16421, 0
  br i1 %16422, label %16423, label %16440

16423:                                            ; preds = %16418
  %16424 = load i32, ptr %366, align 4, !tbaa !5
  %16425 = call ptr @__errno_location() #13
  store i32 %16424, ptr %16425, align 4, !tbaa !5
  %16426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16427 = load i32, ptr @test_count, align 4, !tbaa !5
  %16428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16429 = load i32, ptr %16428, align 4, !tbaa !5
  %16430 = call ptr @s2n_strerror(i32 noundef %16429, ptr noundef @.str.80)
  %16431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16432 = load i32, ptr %16431, align 4, !tbaa !5
  %16433 = call ptr @s2n_strerror_debug(i32 noundef %16432, ptr noundef @.str.80)
  %16434 = call ptr @__errno_location() #13
  %16435 = load i32, ptr %16434, align 4, !tbaa !5
  %16436 = call ptr @strerror(i32 noundef %16435) #12
  %16437 = call ptr @__errno_location() #13
  %16438 = load i32, ptr %16437, align 4, !tbaa !5
  %16439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16426, ptr noundef @.str.78, i32 noundef %16427, ptr noundef @.str.189, ptr noundef @.str.77, i32 noundef 600, ptr noundef %16430, ptr noundef %16433, ptr noundef %16436, i32 noundef %16438) #12
  br label %16457

16440:                                            ; preds = %16418, %16411
  %16441 = load i32, ptr %366, align 4, !tbaa !5
  %16442 = call ptr @__errno_location() #13
  store i32 %16441, ptr %16442, align 4, !tbaa !5
  %16443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16444 = load i32, ptr @test_count, align 4, !tbaa !5
  %16445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16446 = load i32, ptr %16445, align 4, !tbaa !5
  %16447 = call ptr @s2n_strerror(i32 noundef %16446, ptr noundef @.str.80)
  %16448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16449 = load i32, ptr %16448, align 4, !tbaa !5
  %16450 = call ptr @s2n_strerror_debug(i32 noundef %16449, ptr noundef @.str.80)
  %16451 = call ptr @__errno_location() #13
  %16452 = load i32, ptr %16451, align 4, !tbaa !5
  %16453 = call ptr @strerror(i32 noundef %16452) #12
  %16454 = call ptr @__errno_location() #13
  %16455 = load i32, ptr %16454, align 4, !tbaa !5
  %16456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16443, ptr noundef @.str.81, i32 noundef %16444, ptr noundef @.str.189, ptr noundef @.str.77, i32 noundef 600, ptr noundef %16447, ptr noundef %16450, ptr noundef %16453, i32 noundef %16455) #12
  br label %16457

16457:                                            ; preds = %16440, %16423
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #12
  br label %16458

16458:                                            ; preds = %16457
  br label %16459

16459:                                            ; preds = %16458
  call void @exit(i32 noundef 1) #14
  unreachable

16460:                                            ; No predecessors!
  br label %16461

16461:                                            ; preds = %16460
  br label %16462

16462:                                            ; preds = %16461, %16402
  br label %16463

16463:                                            ; preds = %16462
  br label %16464

16464:                                            ; preds = %16463
  br label %16465

16465:                                            ; preds = %16464
  br label %16466

16466:                                            ; preds = %16465
  br label %16467

16467:                                            ; preds = %16466
  %16468 = load i32, ptr @test_count, align 4, !tbaa !5
  %16469 = add nsw i32 %16468, 1
  store i32 %16469, ptr @test_count, align 4, !tbaa !5
  %16470 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef %341, ptr noundef %347)
  %16471 = icmp eq i32 %16470, -1
  br i1 %16471, label %16472, label %16525

16472:                                            ; preds = %16467
  br label %16473

16473:                                            ; preds = %16472
  br label %16474

16474:                                            ; preds = %16473
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #12
  %16475 = call ptr @__errno_location() #13
  %16476 = load i32, ptr %16475, align 4, !tbaa !5
  store i32 %16476, ptr %367, align 4, !tbaa !5
  %16477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16478 = call i32 @s2n_print_stacktrace(ptr noundef %16477)
  %16479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16480 = trunc i8 %16479 to i1
  br i1 %16480, label %16481, label %16503

16481:                                            ; preds = %16474
  %16482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16483 = call i32 @fileno(ptr noundef %16482) #12
  %16484 = call i32 @isatty(i32 noundef %16483) #12
  %16485 = icmp ne i32 %16484, 0
  br i1 %16485, label %16486, label %16503

16486:                                            ; preds = %16481
  %16487 = load i32, ptr %367, align 4, !tbaa !5
  %16488 = call ptr @__errno_location() #13
  store i32 %16487, ptr %16488, align 4, !tbaa !5
  %16489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16490 = load i32, ptr @test_count, align 4, !tbaa !5
  %16491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16492 = load i32, ptr %16491, align 4, !tbaa !5
  %16493 = call ptr @s2n_strerror(i32 noundef %16492, ptr noundef @.str.80)
  %16494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16495 = load i32, ptr %16494, align 4, !tbaa !5
  %16496 = call ptr @s2n_strerror_debug(i32 noundef %16495, ptr noundef @.str.80)
  %16497 = call ptr @__errno_location() #13
  %16498 = load i32, ptr %16497, align 4, !tbaa !5
  %16499 = call ptr @strerror(i32 noundef %16498) #12
  %16500 = call ptr @__errno_location() #13
  %16501 = load i32, ptr %16500, align 4, !tbaa !5
  %16502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16489, ptr noundef @.str.78, i32 noundef %16490, ptr noundef @.str.192, ptr noundef @.str.77, i32 noundef 602, ptr noundef %16493, ptr noundef %16496, ptr noundef %16499, i32 noundef %16501) #12
  br label %16520

16503:                                            ; preds = %16481, %16474
  %16504 = load i32, ptr %367, align 4, !tbaa !5
  %16505 = call ptr @__errno_location() #13
  store i32 %16504, ptr %16505, align 4, !tbaa !5
  %16506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16507 = load i32, ptr @test_count, align 4, !tbaa !5
  %16508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16509 = load i32, ptr %16508, align 4, !tbaa !5
  %16510 = call ptr @s2n_strerror(i32 noundef %16509, ptr noundef @.str.80)
  %16511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16512 = load i32, ptr %16511, align 4, !tbaa !5
  %16513 = call ptr @s2n_strerror_debug(i32 noundef %16512, ptr noundef @.str.80)
  %16514 = call ptr @__errno_location() #13
  %16515 = load i32, ptr %16514, align 4, !tbaa !5
  %16516 = call ptr @strerror(i32 noundef %16515) #12
  %16517 = call ptr @__errno_location() #13
  %16518 = load i32, ptr %16517, align 4, !tbaa !5
  %16519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16506, ptr noundef @.str.81, i32 noundef %16507, ptr noundef @.str.192, ptr noundef @.str.77, i32 noundef 602, ptr noundef %16510, ptr noundef %16513, ptr noundef %16516, i32 noundef %16518) #12
  br label %16520

16520:                                            ; preds = %16503, %16486
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #12
  br label %16521

16521:                                            ; preds = %16520
  br label %16522

16522:                                            ; preds = %16521
  call void @exit(i32 noundef 1) #14
  unreachable

16523:                                            ; No predecessors!
  br label %16524

16524:                                            ; preds = %16523
  br label %16525

16525:                                            ; preds = %16524, %16467
  br label %16526

16526:                                            ; preds = %16525
  br label %16527

16527:                                            ; preds = %16526
  br label %16528

16528:                                            ; preds = %16527
  %16529 = load i32, ptr @test_count, align 4, !tbaa !5
  %16530 = add nsw i32 %16529, 1
  store i32 %16530, ptr @test_count, align 4, !tbaa !5
  %16531 = load ptr, ptr %322, align 8, !tbaa !9
  %16532 = getelementptr inbounds %struct.s2n_connection, ptr %16531, i32 0, i32 33
  %16533 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16532, i32 0, i32 4
  %16534 = load ptr, ptr %16533, align 8, !tbaa !61
  %16535 = load ptr, ptr %325, align 8, !tbaa !9
  %16536 = icmp eq ptr %16534, %16535
  br i1 %16536, label %16590, label %16537

16537:                                            ; preds = %16528
  br label %16538

16538:                                            ; preds = %16537
  br label %16539

16539:                                            ; preds = %16538
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #12
  %16540 = call ptr @__errno_location() #13
  %16541 = load i32, ptr %16540, align 4, !tbaa !5
  store i32 %16541, ptr %368, align 4, !tbaa !5
  %16542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16543 = call i32 @s2n_print_stacktrace(ptr noundef %16542)
  %16544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16545 = trunc i8 %16544 to i1
  br i1 %16545, label %16546, label %16568

16546:                                            ; preds = %16539
  %16547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16548 = call i32 @fileno(ptr noundef %16547) #12
  %16549 = call i32 @isatty(i32 noundef %16548) #12
  %16550 = icmp ne i32 %16549, 0
  br i1 %16550, label %16551, label %16568

16551:                                            ; preds = %16546
  %16552 = load i32, ptr %368, align 4, !tbaa !5
  %16553 = call ptr @__errno_location() #13
  store i32 %16552, ptr %16553, align 4, !tbaa !5
  %16554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16555 = load i32, ptr @test_count, align 4, !tbaa !5
  %16556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16557 = load i32, ptr %16556, align 4, !tbaa !5
  %16558 = call ptr @s2n_strerror(i32 noundef %16557, ptr noundef @.str.80)
  %16559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16560 = load i32, ptr %16559, align 4, !tbaa !5
  %16561 = call ptr @s2n_strerror_debug(i32 noundef %16560, ptr noundef @.str.80)
  %16562 = call ptr @__errno_location() #13
  %16563 = load i32, ptr %16562, align 4, !tbaa !5
  %16564 = call ptr @strerror(i32 noundef %16563) #12
  %16565 = call ptr @__errno_location() #13
  %16566 = load i32, ptr %16565, align 4, !tbaa !5
  %16567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16554, ptr noundef @.str.78, i32 noundef %16555, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 603, ptr noundef %16558, ptr noundef %16561, ptr noundef %16564, i32 noundef %16566) #12
  br label %16585

16568:                                            ; preds = %16546, %16539
  %16569 = load i32, ptr %368, align 4, !tbaa !5
  %16570 = call ptr @__errno_location() #13
  store i32 %16569, ptr %16570, align 4, !tbaa !5
  %16571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16572 = load i32, ptr @test_count, align 4, !tbaa !5
  %16573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16574 = load i32, ptr %16573, align 4, !tbaa !5
  %16575 = call ptr @s2n_strerror(i32 noundef %16574, ptr noundef @.str.80)
  %16576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16577 = load i32, ptr %16576, align 4, !tbaa !5
  %16578 = call ptr @s2n_strerror_debug(i32 noundef %16577, ptr noundef @.str.80)
  %16579 = call ptr @__errno_location() #13
  %16580 = load i32, ptr %16579, align 4, !tbaa !5
  %16581 = call ptr @strerror(i32 noundef %16580) #12
  %16582 = call ptr @__errno_location() #13
  %16583 = load i32, ptr %16582, align 4, !tbaa !5
  %16584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16571, ptr noundef @.str.81, i32 noundef %16572, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 603, ptr noundef %16575, ptr noundef %16578, ptr noundef %16581, i32 noundef %16583) #12
  br label %16585

16585:                                            ; preds = %16568, %16551
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #12
  br label %16586

16586:                                            ; preds = %16585
  br label %16587

16587:                                            ; preds = %16586
  call void @exit(i32 noundef 1) #14
  unreachable

16588:                                            ; No predecessors!
  br label %16589

16589:                                            ; preds = %16588
  br label %16590

16590:                                            ; preds = %16589, %16528
  br label %16591

16591:                                            ; preds = %16590
  br label %16592

16592:                                            ; preds = %16591
  br label %16593

16593:                                            ; preds = %16592
  %16594 = load i32, ptr @test_count, align 4, !tbaa !5
  %16595 = add nsw i32 %16594, 1
  store i32 %16595, ptr @test_count, align 4, !tbaa !5
  %16596 = load ptr, ptr %322, align 8, !tbaa !9
  %16597 = getelementptr inbounds %struct.s2n_connection, ptr %16596, i32 0, i32 33
  %16598 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16597, i32 0, i32 3
  %16599 = load i16, ptr %16598, align 2, !tbaa !62
  %16600 = zext i16 %16599 to i32
  %16601 = icmp eq i32 %16600, 0
  br i1 %16601, label %16655, label %16602

16602:                                            ; preds = %16593
  br label %16603

16603:                                            ; preds = %16602
  br label %16604

16604:                                            ; preds = %16603
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #12
  %16605 = call ptr @__errno_location() #13
  %16606 = load i32, ptr %16605, align 4, !tbaa !5
  store i32 %16606, ptr %369, align 4, !tbaa !5
  %16607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16608 = call i32 @s2n_print_stacktrace(ptr noundef %16607)
  %16609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16610 = trunc i8 %16609 to i1
  br i1 %16610, label %16611, label %16633

16611:                                            ; preds = %16604
  %16612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16613 = call i32 @fileno(ptr noundef %16612) #12
  %16614 = call i32 @isatty(i32 noundef %16613) #12
  %16615 = icmp ne i32 %16614, 0
  br i1 %16615, label %16616, label %16633

16616:                                            ; preds = %16611
  %16617 = load i32, ptr %369, align 4, !tbaa !5
  %16618 = call ptr @__errno_location() #13
  store i32 %16617, ptr %16618, align 4, !tbaa !5
  %16619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16620 = load i32, ptr @test_count, align 4, !tbaa !5
  %16621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16622 = load i32, ptr %16621, align 4, !tbaa !5
  %16623 = call ptr @s2n_strerror(i32 noundef %16622, ptr noundef @.str.80)
  %16624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16625 = load i32, ptr %16624, align 4, !tbaa !5
  %16626 = call ptr @s2n_strerror_debug(i32 noundef %16625, ptr noundef @.str.80)
  %16627 = call ptr @__errno_location() #13
  %16628 = load i32, ptr %16627, align 4, !tbaa !5
  %16629 = call ptr @strerror(i32 noundef %16628) #12
  %16630 = call ptr @__errno_location() #13
  %16631 = load i32, ptr %16630, align 4, !tbaa !5
  %16632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16619, ptr noundef @.str.78, i32 noundef %16620, ptr noundef @.str.197, ptr noundef @.str.77, i32 noundef 604, ptr noundef %16623, ptr noundef %16626, ptr noundef %16629, i32 noundef %16631) #12
  br label %16650

16633:                                            ; preds = %16611, %16604
  %16634 = load i32, ptr %369, align 4, !tbaa !5
  %16635 = call ptr @__errno_location() #13
  store i32 %16634, ptr %16635, align 4, !tbaa !5
  %16636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16637 = load i32, ptr @test_count, align 4, !tbaa !5
  %16638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16639 = load i32, ptr %16638, align 4, !tbaa !5
  %16640 = call ptr @s2n_strerror(i32 noundef %16639, ptr noundef @.str.80)
  %16641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16642 = load i32, ptr %16641, align 4, !tbaa !5
  %16643 = call ptr @s2n_strerror_debug(i32 noundef %16642, ptr noundef @.str.80)
  %16644 = call ptr @__errno_location() #13
  %16645 = load i32, ptr %16644, align 4, !tbaa !5
  %16646 = call ptr @strerror(i32 noundef %16645) #12
  %16647 = call ptr @__errno_location() #13
  %16648 = load i32, ptr %16647, align 4, !tbaa !5
  %16649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16636, ptr noundef @.str.81, i32 noundef %16637, ptr noundef @.str.197, ptr noundef @.str.77, i32 noundef 604, ptr noundef %16640, ptr noundef %16643, ptr noundef %16646, i32 noundef %16648) #12
  br label %16650

16650:                                            ; preds = %16633, %16616
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #12
  br label %16651

16651:                                            ; preds = %16650
  br label %16652

16652:                                            ; preds = %16651
  call void @exit(i32 noundef 1) #14
  unreachable

16653:                                            ; No predecessors!
  br label %16654

16654:                                            ; preds = %16653
  br label %16655

16655:                                            ; preds = %16654, %16593
  br label %16656

16656:                                            ; preds = %16655
  br label %16657

16657:                                            ; preds = %16656
  br label %16658

16658:                                            ; preds = %16657
  %16659 = load i32, ptr @test_count, align 4, !tbaa !5
  %16660 = add nsw i32 %16659, 1
  store i32 %16660, ptr @test_count, align 4, !tbaa !5
  %16661 = load ptr, ptr %322, align 8, !tbaa !9
  %16662 = call i32 @s2n_connection_free(ptr noundef %16661)
  %16663 = icmp eq i32 %16662, -1
  br i1 %16663, label %16664, label %16717

16664:                                            ; preds = %16658
  br label %16665

16665:                                            ; preds = %16664
  br label %16666

16666:                                            ; preds = %16665
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #12
  %16667 = call ptr @__errno_location() #13
  %16668 = load i32, ptr %16667, align 4, !tbaa !5
  store i32 %16668, ptr %370, align 4, !tbaa !5
  %16669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16670 = call i32 @s2n_print_stacktrace(ptr noundef %16669)
  %16671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16672 = trunc i8 %16671 to i1
  br i1 %16672, label %16673, label %16695

16673:                                            ; preds = %16666
  %16674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16675 = call i32 @fileno(ptr noundef %16674) #12
  %16676 = call i32 @isatty(i32 noundef %16675) #12
  %16677 = icmp ne i32 %16676, 0
  br i1 %16677, label %16678, label %16695

16678:                                            ; preds = %16673
  %16679 = load i32, ptr %370, align 4, !tbaa !5
  %16680 = call ptr @__errno_location() #13
  store i32 %16679, ptr %16680, align 4, !tbaa !5
  %16681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16682 = load i32, ptr @test_count, align 4, !tbaa !5
  %16683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16684 = load i32, ptr %16683, align 4, !tbaa !5
  %16685 = call ptr @s2n_strerror(i32 noundef %16684, ptr noundef @.str.80)
  %16686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16687 = load i32, ptr %16686, align 4, !tbaa !5
  %16688 = call ptr @s2n_strerror_debug(i32 noundef %16687, ptr noundef @.str.80)
  %16689 = call ptr @__errno_location() #13
  %16690 = load i32, ptr %16689, align 4, !tbaa !5
  %16691 = call ptr @strerror(i32 noundef %16690) #12
  %16692 = call ptr @__errno_location() #13
  %16693 = load i32, ptr %16692, align 4, !tbaa !5
  %16694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16681, ptr noundef @.str.78, i32 noundef %16682, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 606, ptr noundef %16685, ptr noundef %16688, ptr noundef %16691, i32 noundef %16693) #12
  br label %16712

16695:                                            ; preds = %16673, %16666
  %16696 = load i32, ptr %370, align 4, !tbaa !5
  %16697 = call ptr @__errno_location() #13
  store i32 %16696, ptr %16697, align 4, !tbaa !5
  %16698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16699 = load i32, ptr @test_count, align 4, !tbaa !5
  %16700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16701 = load i32, ptr %16700, align 4, !tbaa !5
  %16702 = call ptr @s2n_strerror(i32 noundef %16701, ptr noundef @.str.80)
  %16703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16704 = load i32, ptr %16703, align 4, !tbaa !5
  %16705 = call ptr @s2n_strerror_debug(i32 noundef %16704, ptr noundef @.str.80)
  %16706 = call ptr @__errno_location() #13
  %16707 = load i32, ptr %16706, align 4, !tbaa !5
  %16708 = call ptr @strerror(i32 noundef %16707) #12
  %16709 = call ptr @__errno_location() #13
  %16710 = load i32, ptr %16709, align 4, !tbaa !5
  %16711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16698, ptr noundef @.str.81, i32 noundef %16699, ptr noundef @.str.104, ptr noundef @.str.77, i32 noundef 606, ptr noundef %16702, ptr noundef %16705, ptr noundef %16708, i32 noundef %16710) #12
  br label %16712

16712:                                            ; preds = %16695, %16678
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #12
  br label %16713

16713:                                            ; preds = %16712
  br label %16714

16714:                                            ; preds = %16713
  call void @exit(i32 noundef 1) #14
  unreachable

16715:                                            ; No predecessors!
  br label %16716

16716:                                            ; preds = %16715
  br label %16717

16717:                                            ; preds = %16716, %16658
  br label %16718

16718:                                            ; preds = %16717
  br label %16719

16719:                                            ; preds = %16718
  br label %16720

16720:                                            ; preds = %16719
  %16721 = load i32, ptr @test_count, align 4, !tbaa !5
  %16722 = add nsw i32 %16721, 1
  store i32 %16722, ptr @test_count, align 4, !tbaa !5
  %16723 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %341, i32 0, i32 1
  %16724 = call i32 @s2n_stuffer_free(ptr noundef %16723)
  %16725 = icmp eq i32 %16724, -1
  br i1 %16725, label %16726, label %16779

16726:                                            ; preds = %16720
  br label %16727

16727:                                            ; preds = %16726
  br label %16728

16728:                                            ; preds = %16727
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #12
  %16729 = call ptr @__errno_location() #13
  %16730 = load i32, ptr %16729, align 4, !tbaa !5
  store i32 %16730, ptr %371, align 4, !tbaa !5
  %16731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16732 = call i32 @s2n_print_stacktrace(ptr noundef %16731)
  %16733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16734 = trunc i8 %16733 to i1
  br i1 %16734, label %16735, label %16757

16735:                                            ; preds = %16728
  %16736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16737 = call i32 @fileno(ptr noundef %16736) #12
  %16738 = call i32 @isatty(i32 noundef %16737) #12
  %16739 = icmp ne i32 %16738, 0
  br i1 %16739, label %16740, label %16757

16740:                                            ; preds = %16735
  %16741 = load i32, ptr %371, align 4, !tbaa !5
  %16742 = call ptr @__errno_location() #13
  store i32 %16741, ptr %16742, align 4, !tbaa !5
  %16743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16744 = load i32, ptr @test_count, align 4, !tbaa !5
  %16745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16746 = load i32, ptr %16745, align 4, !tbaa !5
  %16747 = call ptr @s2n_strerror(i32 noundef %16746, ptr noundef @.str.80)
  %16748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16749 = load i32, ptr %16748, align 4, !tbaa !5
  %16750 = call ptr @s2n_strerror_debug(i32 noundef %16749, ptr noundef @.str.80)
  %16751 = call ptr @__errno_location() #13
  %16752 = load i32, ptr %16751, align 4, !tbaa !5
  %16753 = call ptr @strerror(i32 noundef %16752) #12
  %16754 = call ptr @__errno_location() #13
  %16755 = load i32, ptr %16754, align 4, !tbaa !5
  %16756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16743, ptr noundef @.str.78, i32 noundef %16744, ptr noundef @.str.198, ptr noundef @.str.77, i32 noundef 607, ptr noundef %16747, ptr noundef %16750, ptr noundef %16753, i32 noundef %16755) #12
  br label %16774

16757:                                            ; preds = %16735, %16728
  %16758 = load i32, ptr %371, align 4, !tbaa !5
  %16759 = call ptr @__errno_location() #13
  store i32 %16758, ptr %16759, align 4, !tbaa !5
  %16760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16761 = load i32, ptr @test_count, align 4, !tbaa !5
  %16762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16763 = load i32, ptr %16762, align 4, !tbaa !5
  %16764 = call ptr @s2n_strerror(i32 noundef %16763, ptr noundef @.str.80)
  %16765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16766 = load i32, ptr %16765, align 4, !tbaa !5
  %16767 = call ptr @s2n_strerror_debug(i32 noundef %16766, ptr noundef @.str.80)
  %16768 = call ptr @__errno_location() #13
  %16769 = load i32, ptr %16768, align 4, !tbaa !5
  %16770 = call ptr @strerror(i32 noundef %16769) #12
  %16771 = call ptr @__errno_location() #13
  %16772 = load i32, ptr %16771, align 4, !tbaa !5
  %16773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16760, ptr noundef @.str.81, i32 noundef %16761, ptr noundef @.str.198, ptr noundef @.str.77, i32 noundef 607, ptr noundef %16764, ptr noundef %16767, ptr noundef %16770, i32 noundef %16772) #12
  br label %16774

16774:                                            ; preds = %16757, %16740
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #12
  br label %16775

16775:                                            ; preds = %16774
  br label %16776

16776:                                            ; preds = %16775
  call void @exit(i32 noundef 1) #14
  unreachable

16777:                                            ; No predecessors!
  br label %16778

16778:                                            ; preds = %16777
  br label %16779

16779:                                            ; preds = %16778, %16720
  br label %16780

16780:                                            ; preds = %16779
  br label %16781

16781:                                            ; preds = %16780
  call void @llvm.lifetime.end.p0(i64 32, ptr %347) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr %346) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %345) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %342) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr %341) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %325) #12
  call void @llvm.lifetime.end.p0(i64 7, ptr %324) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr %322) #12
  br label %16782

16782:                                            ; preds = %16781
  br label %16783

16783:                                            ; preds = %16782
  %16784 = call i32 @s2n_cleanup()
  %16785 = icmp eq i32 %16784, -1
  br i1 %16785, label %16786, label %16839

16786:                                            ; preds = %16783
  br label %16787

16787:                                            ; preds = %16786
  br label %16788

16788:                                            ; preds = %16787
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #12
  %16789 = call ptr @__errno_location() #13
  %16790 = load i32, ptr %16789, align 4, !tbaa !5
  store i32 %16790, ptr %372, align 4, !tbaa !5
  %16791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16792 = call i32 @s2n_print_stacktrace(ptr noundef %16791)
  %16793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16794 = trunc i8 %16793 to i1
  br i1 %16794, label %16795, label %16817

16795:                                            ; preds = %16788
  %16796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16797 = call i32 @fileno(ptr noundef %16796) #12
  %16798 = call i32 @isatty(i32 noundef %16797) #12
  %16799 = icmp ne i32 %16798, 0
  br i1 %16799, label %16800, label %16817

16800:                                            ; preds = %16795
  %16801 = load i32, ptr %372, align 4, !tbaa !5
  %16802 = call ptr @__errno_location() #13
  store i32 %16801, ptr %16802, align 4, !tbaa !5
  %16803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16804 = load i32, ptr @test_count, align 4, !tbaa !5
  %16805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16806 = load i32, ptr %16805, align 4, !tbaa !5
  %16807 = call ptr @s2n_strerror(i32 noundef %16806, ptr noundef @.str.80)
  %16808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16809 = load i32, ptr %16808, align 4, !tbaa !5
  %16810 = call ptr @s2n_strerror_debug(i32 noundef %16809, ptr noundef @.str.80)
  %16811 = call ptr @__errno_location() #13
  %16812 = load i32, ptr %16811, align 4, !tbaa !5
  %16813 = call ptr @strerror(i32 noundef %16812) #12
  %16814 = call ptr @__errno_location() #13
  %16815 = load i32, ptr %16814, align 4, !tbaa !5
  %16816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16803, ptr noundef @.str.78, i32 noundef %16804, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 610, ptr noundef %16807, ptr noundef %16810, ptr noundef %16813, i32 noundef %16815) #12
  br label %16834

16817:                                            ; preds = %16795, %16788
  %16818 = load i32, ptr %372, align 4, !tbaa !5
  %16819 = call ptr @__errno_location() #13
  store i32 %16818, ptr %16819, align 4, !tbaa !5
  %16820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16821 = load i32, ptr @test_count, align 4, !tbaa !5
  %16822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16823 = load i32, ptr %16822, align 4, !tbaa !5
  %16824 = call ptr @s2n_strerror(i32 noundef %16823, ptr noundef @.str.80)
  %16825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16826 = load i32, ptr %16825, align 4, !tbaa !5
  %16827 = call ptr @s2n_strerror_debug(i32 noundef %16826, ptr noundef @.str.80)
  %16828 = call ptr @__errno_location() #13
  %16829 = load i32, ptr %16828, align 4, !tbaa !5
  %16830 = call ptr @strerror(i32 noundef %16829) #12
  %16831 = call ptr @__errno_location() #13
  %16832 = load i32, ptr %16831, align 4, !tbaa !5
  %16833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16820, ptr noundef @.str.81, i32 noundef %16821, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 610, ptr noundef %16824, ptr noundef %16827, ptr noundef %16830, i32 noundef %16832) #12
  br label %16834

16834:                                            ; preds = %16817, %16800
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #12
  br label %16835

16835:                                            ; preds = %16834
  br label %16836

16836:                                            ; preds = %16835
  call void @exit(i32 noundef 1) #14
  unreachable

16837:                                            ; No predecessors!
  br label %16838

16838:                                            ; preds = %16837
  br label %16839

16839:                                            ; preds = %16838, %16783
  br label %16840

16840:                                            ; preds = %16839
  br label %16841

16841:                                            ; preds = %16840
  br label %16842

16842:                                            ; preds = %16841
  br label %16843

16843:                                            ; preds = %16842
  %16844 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %16845 = icmp eq i32 %16844, -1
  br i1 %16845, label %16846, label %16899

16846:                                            ; preds = %16843
  br label %16847

16847:                                            ; preds = %16846
  br label %16848

16848:                                            ; preds = %16847
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #12
  %16849 = call ptr @__errno_location() #13
  %16850 = load i32, ptr %16849, align 4, !tbaa !5
  store i32 %16850, ptr %373, align 4, !tbaa !5
  %16851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16852 = call i32 @s2n_print_stacktrace(ptr noundef %16851)
  %16853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16854 = trunc i8 %16853 to i1
  br i1 %16854, label %16855, label %16877

16855:                                            ; preds = %16848
  %16856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16857 = call i32 @fileno(ptr noundef %16856) #12
  %16858 = call i32 @isatty(i32 noundef %16857) #12
  %16859 = icmp ne i32 %16858, 0
  br i1 %16859, label %16860, label %16877

16860:                                            ; preds = %16855
  %16861 = load i32, ptr %373, align 4, !tbaa !5
  %16862 = call ptr @__errno_location() #13
  store i32 %16861, ptr %16862, align 4, !tbaa !5
  %16863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16864 = load i32, ptr @test_count, align 4, !tbaa !5
  %16865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16866 = load i32, ptr %16865, align 4, !tbaa !5
  %16867 = call ptr @s2n_strerror(i32 noundef %16866, ptr noundef @.str.80)
  %16868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16869 = load i32, ptr %16868, align 4, !tbaa !5
  %16870 = call ptr @s2n_strerror_debug(i32 noundef %16869, ptr noundef @.str.80)
  %16871 = call ptr @__errno_location() #13
  %16872 = load i32, ptr %16871, align 4, !tbaa !5
  %16873 = call ptr @strerror(i32 noundef %16872) #12
  %16874 = call ptr @__errno_location() #13
  %16875 = load i32, ptr %16874, align 4, !tbaa !5
  %16876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16863, ptr noundef @.str.78, i32 noundef %16864, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 610, ptr noundef %16867, ptr noundef %16870, ptr noundef %16873, i32 noundef %16875) #12
  br label %16894

16877:                                            ; preds = %16855, %16848
  %16878 = load i32, ptr %373, align 4, !tbaa !5
  %16879 = call ptr @__errno_location() #13
  store i32 %16878, ptr %16879, align 4, !tbaa !5
  %16880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16881 = load i32, ptr @test_count, align 4, !tbaa !5
  %16882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16883 = load i32, ptr %16882, align 4, !tbaa !5
  %16884 = call ptr @s2n_strerror(i32 noundef %16883, ptr noundef @.str.80)
  %16885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16886 = load i32, ptr %16885, align 4, !tbaa !5
  %16887 = call ptr @s2n_strerror_debug(i32 noundef %16886, ptr noundef @.str.80)
  %16888 = call ptr @__errno_location() #13
  %16889 = load i32, ptr %16888, align 4, !tbaa !5
  %16890 = call ptr @strerror(i32 noundef %16889) #12
  %16891 = call ptr @__errno_location() #13
  %16892 = load i32, ptr %16891, align 4, !tbaa !5
  %16893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16880, ptr noundef @.str.81, i32 noundef %16881, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 610, ptr noundef %16884, ptr noundef %16887, ptr noundef %16890, i32 noundef %16892) #12
  br label %16894

16894:                                            ; preds = %16877, %16860
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #12
  br label %16895

16895:                                            ; preds = %16894
  br label %16896

16896:                                            ; preds = %16895
  call void @exit(i32 noundef 1) #14
  unreachable

16897:                                            ; No predecessors!
  br label %16898

16898:                                            ; preds = %16897
  br label %16899

16899:                                            ; preds = %16898, %16843
  br label %16900

16900:                                            ; preds = %16899
  br label %16901

16901:                                            ; preds = %16900
  %16902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16903 = trunc i8 %16902 to i1
  br i1 %16903, label %16904, label %16920

16904:                                            ; preds = %16901
  %16905 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16906 = call i32 @fileno(ptr noundef %16905) #12
  %16907 = call i32 @isatty(i32 noundef %16906) #12
  %16908 = icmp ne i32 %16907, 0
  br i1 %16908, label %16909, label %16920

16909:                                            ; preds = %16904
  %16910 = load i32, ptr @test_count, align 4, !tbaa !5
  %16911 = icmp ne i32 %16910, 0
  br i1 %16911, label %16912, label %16916

16912:                                            ; preds = %16909
  %16913 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16914 = load i32, ptr @test_count, align 4, !tbaa !5
  %16915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16913, ptr noundef @.str.201, i32 noundef %16914) #12
  br label %16919

16916:                                            ; preds = %16909
  %16917 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16917, ptr noundef @.str.202) #12
  br label %16919

16919:                                            ; preds = %16916, %16912
  br label %16931

16920:                                            ; preds = %16904, %16901
  %16921 = load i32, ptr @test_count, align 4, !tbaa !5
  %16922 = icmp ne i32 %16921, 0
  br i1 %16922, label %16923, label %16927

16923:                                            ; preds = %16920
  %16924 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16925 = load i32, ptr @test_count, align 4, !tbaa !5
  %16926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16924, ptr noundef @.str.203, i32 noundef %16925) #12
  br label %16930

16927:                                            ; preds = %16920
  %16928 = load ptr, ptr @stdout, align 8, !tbaa !9
  %16929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16928, ptr noundef @.str.204) #12
  br label %16930

16930:                                            ; preds = %16927, %16923
  br label %16931

16931:                                            ; preds = %16930, %16919
  store i32 0, ptr %3, align 4
  store i32 1, ptr %172, align 4
  br label %16936

16932:                                            ; No predecessors!
  br label %16933

16933:                                            ; preds = %16932
  br label %16934

16934:                                            ; preds = %16933
  br label %16935

16935:                                            ; preds = %16934
  store i32 0, ptr %172, align 4
  br label %16936

16936:                                            ; preds = %16935, %16931, %8290
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #12
  %16937 = load i32, ptr %172, align 4
  switch i32 %16937, label %16940 [
    i32 0, label %16938
    i32 1, label %16938
  ]

16938:                                            ; preds = %16936, %16936
  %16939 = load i32, ptr %3, align 4
  ret i32 %16939

16940:                                            ; preds = %16936
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #9

declare i32 @fflush(ptr noundef) #3

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #3

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

declare i32 @s2n_print_stacktrace(ptr noundef) #3

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #9

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #9

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

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

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #9

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #11

declare i32 @s2n_enable_atexit() #3

declare i32 @s2n_init() #3

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

declare i32 @s2n_stuffer_free(ptr noundef) #3

declare void @s2n_debug_info_reset() #3

declare ptr @s2n_connection_new(i32 noundef) #3

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_write_test_identity(ptr noundef, ptr noundef, i16 noundef zeroext) #0

declare i32 @s2n_connection_free(ptr noundef) #3

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

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) #3

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

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

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

declare ptr @s2n_config_new() #3

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) #3

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

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

declare i32 @s2n_config_free(ptr noundef) #3

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

declare i32 @s2n_cleanup() #3

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 speculatable willreturn memory(none) }
attributes #2 = { 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 #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { nocallback nofree nosync nounwind willreturn memory(none) }
attributes #6 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #7 = { 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 #8 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
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 = { 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 #11 = { 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 #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { noreturn nounwind }
attributes #15 = { 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 8}
!16 = !{!"s2n_offered_psk", !17, i64 0, !18, i64 24, !6, i64 28}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!"short", !7, i64 0}
!19 = !{!16, !10, i64 0}
!20 = !{!21, !10, i64 0}
!21 = !{!"s2n_offered_psk_list", !10, i64 0, !22, i64 8, !18, i64 48}
!22 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!23 = !{!24, !6, i64 1688}
!24 = !{!"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, !25, i64 160, !26, i64 168, !26, 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, !27, i64 240, !10, i64 632, !10, i64 640, !28, i64 648, !33, i64 1144, !36, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !22, i64 1776, !22, i64 1816, !22, i64 1856, !22, i64 1896, !6, i64 1936, !26, i64 1944, !7, i64 1952, !22, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !38, i64 2004, !38, i64 2008, !39, i64 2016, !18, i64 2208, !6, i64 2212, !18, i64 2216, !26, i64 2224, !7, i64 2232, !26, i64 2240, !26, i64 2248, !26, i64 2256, !38, i64 2264, !38, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !17, i64 2792, !6, i64 2816, !17, i64 2824, !17, i64 2848, !17, i64 2872, !41, i64 2896, !43, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !17, i64 3784, !6, i64 3808, !45, i64 3816, !7, i64 3848, !22, i64 3992, !17, i64 4032, !17, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !18, i64 4084, !18, i64 4086, !6, i64 4088, !6, i64 4092, !17, i64 4096, !6, i64 4120, !46, i64 4128, !38, i64 4176, !7, i64 4180, !7, i64 4181}
!25 = !{!"s2n_timer", !26, i64 0}
!26 = !{!"long", !7, i64 0}
!27 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!28 = !{!"s2n_kex_parameters", !29, i64 0, !30, i64 8, !7, i64 24, !30, i64 56, !31, i64 72, !31, i64 184, !7, i64 296, !32, i64 360, !17, i64 448, !17, i64 472}
!29 = !{!"s2n_dh_params", !10, i64 0}
!30 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!31 = !{!"s2n_kem_group_params", !10, i64 0, !32, i64 8, !30, i64 96}
!32 = !{!"s2n_kem_params", !10, i64 0, !17, i64 8, !17, i64 32, !17, i64 56, !12, i64 80}
!33 = !{!"s2n_handshake_parameters", !34, i64 0, !34, i64 48, !17, i64 96, !6, i64 120, !35, 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}
!34 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!35 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!36 = !{!"s2n_psk_parameters", !6, i64 0, !37, i64 8, !18, i64 40, !18, i64 42, !10, i64 48, !6, i64 56}
!37 = !{!"s2n_array", !17, i64 0, !6, i64 24, !6, i64 28}
!38 = !{!"", !6, i64 0}
!39 = !{!"s2n_handshake", !22, 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, !40, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!40 = !{!"s2n_offered_early_data", !10, i64 0}
!41 = !{!"s2n_client_hello", !17, i64 0, !42, i64 24, !17, i64 728, !17, i64 752, !17, 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}
!42 = !{!"", !7, i64 0, !17, i64 672, !18, i64 696}
!43 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !18, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !44, i64 48, !12, i64 52}
!44 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!45 = !{!"s2n_ticket_fields", !17, i64 0, !6, i64 24}
!46 = !{!"s2n_post_handshake", !22, i64 0, !7, i64 40}
!47 = !{!16, !6, i64 28}
!48 = !{!26, !26, i64 0}
!49 = !{!50, !10, i64 0}
!50 = !{!"s2n_debug_info", !10, i64 0, !10, i64 8}
!51 = !{!50, !10, i64 8}
!52 = !{!18, !18, i64 0}
!53 = !{!24, !10, i64 8}
!54 = !{!55, !26, i64 144}
!55 = !{!"s2n_config", !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, !10, i64 8, !10, i64 16, !56, i64 24, !17, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !26, i64 144, !10, i64 152, !26, i64 160, !26, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !57, i64 304, !18, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !17, i64 448}
!56 = !{!"certs_by_type", !7, i64 0}
!57 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!58 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 1, !59}
!59 = !{!7, !7, i64 0}
!60 = !{!16, !18, i64 24}
!61 = !{!24, !10, i64 1736}
!62 = !{!24, !18, i64 1730}
!63 = !{!24, !7, i64 220}
!64 = !{!24, !10, i64 232}
!65 = !{!66, !10, i64 0}
!66 = !{!"s2n_crypto_parameters", !10, i64 0, !67, i64 8, !67, i64 16, !68, i64 24, !68, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!67 = !{!"s2n_session_key", !10, i64 0}
!68 = !{!"s2n_hmac_state", !6, i64 0, !18, i64 4, !6, i64 8, !18, i64 12, !7, i64 14, !69, i64 16, !69, i64 72, !69, i64 128, !69, i64 184, !7, i64 240, !7, i64 368}
!69 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !26, i64 16, !7, i64 24}
!70 = !{!22, !10, i64 0}
!71 = !{!22, !6, i64 8}
!72 = !{!22, !6, i64 28}
!73 = !{!22, !6, i64 24}
!74 = !{!75, !6, i64 56}
!75 = !{!"s2n_psk", !6, i64 0, !17, i64 8, !17, i64 32, !6, i64 56, !6, i64 60, !26, i64 64, !17, i64 72, !76, i64 96, !26, i64 160}
!76 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !17, i64 16, !17, i64 40}
!77 = !{!78, !6, i64 96}
!78 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!79 = !{!80, !10, i64 8}
!80 = !{!"", !18, i64 0, !6, i64 2, !18, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!81 = !{!24, !6, i64 2044}
!82 = !{!24, !6, i64 2040}


; 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_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_offered_psk_list = type { ptr, %struct.s2n_stuffer, i16 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_offered_psk = type { %struct.s2n_blob, i16, 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
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str.76 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [79 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.78 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [39 x i8], align 1
@__const.main.wire_identity_1 = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.wire_identity_2 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [73 x i8], align 1
@__const.main.wire_identity = external hidden unnamed_addr constant [9 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [61 x i8], align 1
@__const.main.wire_identity_bytes = external hidden unnamed_addr constant [20 x i8], align 16
@.str.138 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [75 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.159 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [35 x i8], align 1
@__const.main.test_secret = external hidden unnamed_addr constant [7 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [87 x i8], align 1
@s2n_client_psk_extension = external local_unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.181 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [133 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [25 x i8], align 1

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #0

; 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) #5

; Function Attrs: nounwind uwtable
declare dso_local zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef) local_unnamed_addr #0

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

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) local_unnamed_addr #6

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) local_unnamed_addr #6

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #6

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

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

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

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) local_unnamed_addr #6

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

; Function Attrs: nounwind uwtable
declare dso_local ptr @s2n_offered_psk_new() local_unnamed_addr #0

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

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

declare i32 @s2n_stuffer_wipe_n(ptr noundef, i32 noundef) local_unnamed_addr #6

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [4 x i8], align 4
  %4 = alloca [4 x i8], align 4
  %5 = alloca %struct.s2n_offered_psk_list, align 8
  %6 = alloca %struct.s2n_offered_psk_list, align 8
  %7 = alloca %struct.s2n_offered_psk, align 8
  %8 = alloca %struct.s2n_offered_psk_list, align 8
  %9 = alloca %struct.s2n_offered_psk, align 8
  %10 = alloca %struct.s2n_offered_psk, align 8
  %11 = alloca %struct.s2n_offered_psk_list, align 8
  %12 = alloca %struct.s2n_offered_psk, align 8
  %13 = alloca %struct.s2n_offered_psk_list, align 8
  %14 = alloca %struct.s2n_offered_psk, align 8
  %15 = alloca %struct.s2n_offered_psk_list, align 8
  %16 = alloca %struct.s2n_offered_psk, align 8
  %17 = alloca %struct.s2n_offered_psk_list, align 8
  %18 = alloca %struct.s2n_offered_psk, align 8
  %19 = alloca %struct.s2n_offered_psk_list, align 8
  %20 = alloca %struct.s2n_offered_psk, align 8
  %21 = alloca %struct.s2n_offered_psk_list, align 8
  %22 = alloca %struct.s2n_offered_psk, align 8
  %23 = alloca %struct.s2n_offered_psk_list, align 8
  %24 = alloca %struct.s2n_offered_psk, align 8
  %25 = alloca %struct.s2n_offered_psk_list, align 8
  %26 = alloca %struct.s2n_offered_psk, align 8
  %27 = alloca %struct.s2n_offered_psk_list, align 8
  %28 = alloca %struct.s2n_offered_psk, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca %struct.s2n_offered_psk, align 8
  %32 = alloca ptr, align 8
  %33 = alloca i16, align 2
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca i16, align 2
  %37 = alloca [9 x i8], align 1
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca i16, align 2
  %41 = alloca [20 x i8], align 16
  %42 = alloca %struct.s2n_blob, align 8
  %43 = alloca %struct.s2n_offered_psk, align 8
  %44 = alloca %struct.s2n_offered_psk_list, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca %struct.s2n_stuffer, align 8
  %49 = alloca %struct.s2n_offered_psk_list, align 8
  %50 = alloca %struct.s2n_stuffer, align 8
  %51 = alloca %struct.s2n_offered_psk, align 8
  %52 = alloca %struct.s2n_stuffer, align 8
  %53 = alloca %struct.s2n_offered_psk_list, align 8
  %54 = alloca %struct.s2n_stuffer, align 8
  %55 = alloca %struct.s2n_offered_psk, align 8
  %56 = alloca %struct.s2n_offered_psk_list, align 8
  %57 = alloca %struct.s2n_offered_psk, align 8
  %58 = alloca [7 x i8], align 1
  %59 = alloca ptr, align 8
  %60 = alloca ptr, align 8
  %61 = alloca %struct.s2n_offered_psk_list, align 8
  %62 = alloca ptr, align 8
  %63 = alloca i16, align 2
  %64 = alloca %struct.s2n_offered_psk, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %65 = load ptr, ptr @stdout, align 8, !tbaa !9
  %66 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %65, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.77) #12
  %67 = load ptr, ptr @stdout, align 8, !tbaa !9
  %68 = tail call i32 @fflush(ptr noundef %67)
  %69 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %70 = icmp eq i32 %69, -1
  br i1 %70, label %71, label %95

71:                                               ; preds = %2
  %72 = tail call ptr @__errno_location() #13
  %73 = load i32, ptr %72, align 4, !tbaa !5
  %74 = load ptr, ptr @stderr, align 8, !tbaa !9
  %75 = tail call i32 @s2n_print_stacktrace(ptr noundef %74) #12
  %76 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %77 = trunc nuw i8 %76 to i1
  br i1 %77, label %78, label %82

78:                                               ; preds = %71
  %79 = load ptr, ptr @stderr, align 8, !tbaa !9
  %80 = tail call i32 @fileno(ptr noundef %79) #12
  %81 = tail call i32 @isatty(i32 noundef %80) #12
  %.not938 = icmp eq i32 %81, 0
  br i1 %.not938, label %82, label %83

82:                                               ; preds = %78, %71
  br label %83

83:                                               ; preds = %78, %82
  %.str.81.sink = phi ptr [ @.str.81, %82 ], [ @.str.78, %78 ]
  store i32 %73, ptr %72, align 4, !tbaa !5
  %84 = load ptr, ptr @stderr, align 8, !tbaa !9
  %85 = load i32, ptr @test_count, align 4, !tbaa !5
  %86 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %87 = load i32, ptr %86, align 4, !tbaa !5
  %88 = tail call ptr @s2n_strerror(i32 noundef %87, ptr noundef nonnull @.str.80) #12
  %89 = load i32, ptr %86, align 4, !tbaa !5
  %90 = tail call ptr @s2n_strerror_debug(i32 noundef %89, ptr noundef nonnull @.str.80) #12
  %91 = load i32, ptr %72, align 4, !tbaa !5
  %92 = tail call ptr @strerror(i32 noundef %91) #12
  %93 = load i32, ptr %72, align 4, !tbaa !5
  %94 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %84, ptr noundef nonnull %.str.81.sink, i32 noundef %85, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.77, i32 noundef 52, ptr noundef %88, ptr noundef %90, ptr noundef %92, i32 noundef %93) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

95:                                               ; preds = %2
  %96 = load i32, ptr @test_count, align 4, !tbaa !5
  %97 = add nsw i32 %96, 1
  store i32 %97, ptr @test_count, align 4, !tbaa !5
  %98 = tail call i32 @s2n_enable_atexit() #12
  %99 = icmp eq i32 %98, -1
  br i1 %99, label %100, label %124

100:                                              ; preds = %95
  %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
  %.not937 = icmp eq i32 %110, 0
  br i1 %.not937, label %111, label %112

111:                                              ; preds = %107, %100
  br label %112

112:                                              ; preds = %107, %111
  %.str.81.sink949 = phi ptr [ @.str.81, %111 ], [ @.str.78, %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.80) #12
  %118 = load i32, ptr %115, align 4, !tbaa !5
  %119 = tail call ptr @s2n_strerror_debug(i32 noundef %118, ptr noundef nonnull @.str.80) #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.81.sink949, i32 noundef %114, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.77, i32 noundef 52, ptr noundef %117, ptr noundef %119, ptr noundef %121, i32 noundef %122) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

124:                                              ; preds = %95
  %125 = tail call i32 @s2n_init() #12
  %126 = icmp eq i32 %125, -1
  br i1 %126, label %127, label %151

127:                                              ; preds = %124
  %128 = tail call ptr @__errno_location() #13
  %129 = load i32, ptr %128, align 4, !tbaa !5
  %130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %131 = tail call i32 @s2n_print_stacktrace(ptr noundef %130) #12
  %132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %133 = trunc nuw i8 %132 to i1
  br i1 %133, label %134, label %138

134:                                              ; preds = %127
  %135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %136 = tail call i32 @fileno(ptr noundef %135) #12
  %137 = tail call i32 @isatty(i32 noundef %136) #12
  %.not936 = icmp eq i32 %137, 0
  br i1 %.not936, label %138, label %139

138:                                              ; preds = %134, %127
  br label %139

139:                                              ; preds = %134, %138
  %.str.81.sink960 = phi ptr [ @.str.81, %138 ], [ @.str.78, %134 ]
  store i32 %129, ptr %128, align 4, !tbaa !5
  %140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %141 = load i32, ptr @test_count, align 4, !tbaa !5
  %142 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %143 = load i32, ptr %142, align 4, !tbaa !5
  %144 = tail call ptr @s2n_strerror(i32 noundef %143, ptr noundef nonnull @.str.80) #12
  %145 = load i32, ptr %142, align 4, !tbaa !5
  %146 = tail call ptr @s2n_strerror_debug(i32 noundef %145, ptr noundef nonnull @.str.80) #12
  %147 = load i32, ptr %128, align 4, !tbaa !5
  %148 = tail call ptr @strerror(i32 noundef %147) #12
  %149 = load i32, ptr %128, align 4, !tbaa !5
  %150 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %140, ptr noundef nonnull %.str.81.sink960, i32 noundef %141, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.77, i32 noundef 52, ptr noundef %144, ptr noundef %146, ptr noundef %148, i32 noundef %149) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

151:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #12
  %152 = load i32, ptr @__const.main.wire_identity_1, align 1
  store i32 %152, ptr %3, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #12
  %153 = load i32, ptr @__const.main.wire_identity_2, align 1
  store i32 %153, ptr %4, align 4
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %5) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %5, i8 0, i64 56, i1 false)
  %154 = load i32, ptr @test_count, align 4, !tbaa !5
  %155 = add nsw i32 %154, 1
  store i32 %155, ptr @test_count, align 4, !tbaa !5
  %156 = tail call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef null)
  br i1 %156, label %157, label %181

157:                                              ; preds = %151
  %158 = tail call ptr @__errno_location() #13
  %159 = load i32, ptr %158, align 4, !tbaa !5
  %160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %161 = tail call i32 @s2n_print_stacktrace(ptr noundef %160) #12
  %162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %163 = trunc nuw i8 %162 to i1
  br i1 %163, label %164, label %168

164:                                              ; preds = %157
  %165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %166 = tail call i32 @fileno(ptr noundef %165) #12
  %167 = tail call i32 @isatty(i32 noundef %166) #12
  %.not935 = icmp eq i32 %167, 0
  br i1 %.not935, label %168, label %169

168:                                              ; preds = %164, %157
  br label %169

169:                                              ; preds = %164, %168
  %.str.81.sink971 = phi ptr [ @.str.81, %168 ], [ @.str.78, %164 ]
  store i32 %159, ptr %158, align 4, !tbaa !5
  %170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %171 = load i32, ptr @test_count, align 4, !tbaa !5
  %172 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %173 = load i32, ptr %172, align 4, !tbaa !5
  %174 = tail call ptr @s2n_strerror(i32 noundef %173, ptr noundef nonnull @.str.80) #12
  %175 = load i32, ptr %172, align 4, !tbaa !5
  %176 = tail call ptr @s2n_strerror_debug(i32 noundef %175, ptr noundef nonnull @.str.80) #12
  %177 = load i32, ptr %158, align 4, !tbaa !5
  %178 = tail call ptr @strerror(i32 noundef %177) #12
  %179 = load i32, ptr %158, align 4, !tbaa !5
  %180 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %170, ptr noundef nonnull %.str.81.sink971, i32 noundef %171, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.77, i32 noundef 62, ptr noundef %174, ptr noundef %176, ptr noundef %178, i32 noundef %179) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

181:                                              ; preds = %151
  %182 = load i32, ptr @test_count, align 4, !tbaa !5
  %183 = add nsw i32 %182, 1
  store i32 %183, ptr @test_count, align 4, !tbaa !5
  %184 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef nonnull %5)
  br i1 %184, label %185, label %209

185:                                              ; preds = %181
  %186 = tail call ptr @__errno_location() #13
  %187 = load i32, ptr %186, align 4, !tbaa !5
  %188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %189 = call i32 @s2n_print_stacktrace(ptr noundef %188) #12
  %190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %191 = trunc nuw i8 %190 to i1
  br i1 %191, label %192, label %196

192:                                              ; preds = %185
  %193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %194 = call i32 @fileno(ptr noundef %193) #12
  %195 = call i32 @isatty(i32 noundef %194) #12
  %.not934 = icmp eq i32 %195, 0
  br i1 %.not934, label %196, label %197

196:                                              ; preds = %192, %185
  br label %197

197:                                              ; preds = %192, %196
  %.str.81.sink982 = phi ptr [ @.str.81, %196 ], [ @.str.78, %192 ]
  store i32 %187, ptr %186, align 4, !tbaa !5
  %198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %199 = load i32, ptr @test_count, align 4, !tbaa !5
  %200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %201 = load i32, ptr %200, align 4, !tbaa !5
  %202 = call ptr @s2n_strerror(i32 noundef %201, ptr noundef nonnull @.str.80) #12
  %203 = load i32, ptr %200, align 4, !tbaa !5
  %204 = call ptr @s2n_strerror_debug(i32 noundef %203, ptr noundef nonnull @.str.80) #12
  %205 = load i32, ptr %186, align 4, !tbaa !5
  %206 = call ptr @strerror(i32 noundef %205) #12
  %207 = load i32, ptr %186, align 4, !tbaa !5
  %208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %198, ptr noundef nonnull %.str.81.sink982, i32 noundef %199, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 65, ptr noundef %202, ptr noundef %204, ptr noundef %206, i32 noundef %207) #14
  call void @exit(i32 noundef 1) #15
  unreachable

209:                                              ; preds = %181
  %210 = load i32, ptr @test_count, align 4, !tbaa !5
  %211 = add nsw i32 %210, 1
  store i32 %211, ptr @test_count, align 4, !tbaa !5
  %212 = getelementptr inbounds i8, ptr %5, i64 8
  %213 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %212, i32 noundef 0) #12
  %214 = icmp eq i32 %213, -1
  br i1 %214, label %215, label %239

215:                                              ; preds = %209
  %216 = tail call ptr @__errno_location() #13
  %217 = load i32, ptr %216, align 4, !tbaa !5
  %218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %219 = call i32 @s2n_print_stacktrace(ptr noundef %218) #12
  %220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %221 = trunc nuw i8 %220 to i1
  br i1 %221, label %222, label %226

222:                                              ; preds = %215
  %223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %224 = call i32 @fileno(ptr noundef %223) #12
  %225 = call i32 @isatty(i32 noundef %224) #12
  %.not933 = icmp eq i32 %225, 0
  br i1 %.not933, label %226, label %227

226:                                              ; preds = %222, %215
  br label %227

227:                                              ; preds = %222, %226
  %.str.81.sink993 = phi ptr [ @.str.81, %226 ], [ @.str.78, %222 ]
  store i32 %217, ptr %216, align 4, !tbaa !5
  %228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %229 = load i32, ptr @test_count, align 4, !tbaa !5
  %230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %231 = load i32, ptr %230, align 4, !tbaa !5
  %232 = call ptr @s2n_strerror(i32 noundef %231, ptr noundef nonnull @.str.80) #12
  %233 = load i32, ptr %230, align 4, !tbaa !5
  %234 = call ptr @s2n_strerror_debug(i32 noundef %233, ptr noundef nonnull @.str.80) #12
  %235 = load i32, ptr %216, align 4, !tbaa !5
  %236 = call ptr @strerror(i32 noundef %235) #12
  %237 = load i32, ptr %216, align 4, !tbaa !5
  %238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %228, ptr noundef nonnull %.str.81.sink993, i32 noundef %229, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 68, ptr noundef %232, ptr noundef %234, ptr noundef %236, i32 noundef %237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

239:                                              ; preds = %209
  %240 = load i32, ptr @test_count, align 4, !tbaa !5
  %241 = add nsw i32 %240, 1
  store i32 %241, ptr @test_count, align 4, !tbaa !5
  %242 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %212, i32 noundef 1) #12
  %243 = icmp eq i32 %242, -1
  br i1 %243, label %244, label %268

244:                                              ; preds = %239
  %245 = tail call ptr @__errno_location() #13
  %246 = load i32, ptr %245, align 4, !tbaa !5
  %247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %248 = call i32 @s2n_print_stacktrace(ptr noundef %247) #12
  %249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %250 = trunc nuw i8 %249 to i1
  br i1 %250, label %251, label %255

251:                                              ; preds = %244
  %252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %253 = call i32 @fileno(ptr noundef %252) #12
  %254 = call i32 @isatty(i32 noundef %253) #12
  %.not932 = icmp eq i32 %254, 0
  br i1 %.not932, label %255, label %256

255:                                              ; preds = %251, %244
  br label %256

256:                                              ; preds = %251, %255
  %.str.81.sink1004 = phi ptr [ @.str.81, %255 ], [ @.str.78, %251 ]
  store i32 %246, ptr %245, align 4, !tbaa !5
  %257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %258 = load i32, ptr @test_count, align 4, !tbaa !5
  %259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %260 = load i32, ptr %259, align 4, !tbaa !5
  %261 = call ptr @s2n_strerror(i32 noundef %260, ptr noundef nonnull @.str.80) #12
  %262 = load i32, ptr %259, align 4, !tbaa !5
  %263 = call ptr @s2n_strerror_debug(i32 noundef %262, ptr noundef nonnull @.str.80) #12
  %264 = load i32, ptr %245, align 4, !tbaa !5
  %265 = call ptr @strerror(i32 noundef %264) #12
  %266 = load i32, ptr %245, align 4, !tbaa !5
  %267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %257, ptr noundef nonnull %.str.81.sink1004, i32 noundef %258, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.77, i32 noundef 69, ptr noundef %261, ptr noundef %263, ptr noundef %265, i32 noundef %266) #14
  call void @exit(i32 noundef 1) #15
  unreachable

268:                                              ; preds = %239
  %269 = load i32, ptr @test_count, align 4, !tbaa !5
  %270 = add nsw i32 %269, 1
  store i32 %270, ptr @test_count, align 4, !tbaa !5
  %271 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef nonnull %5)
  br i1 %271, label %296, label %272

272:                                              ; preds = %268
  %273 = tail call ptr @__errno_location() #13
  %274 = load i32, ptr %273, align 4, !tbaa !5
  %275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %276 = call i32 @s2n_print_stacktrace(ptr noundef %275) #12
  %277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %278 = trunc nuw i8 %277 to i1
  br i1 %278, label %279, label %283

279:                                              ; preds = %272
  %280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %281 = call i32 @fileno(ptr noundef %280) #12
  %282 = call i32 @isatty(i32 noundef %281) #12
  %.not = icmp eq i32 %282, 0
  br i1 %.not, label %283, label %284

283:                                              ; preds = %279, %272
  br label %284

284:                                              ; preds = %279, %283
  %.str.81.sink1015 = phi ptr [ @.str.81, %283 ], [ @.str.78, %279 ]
  store i32 %274, ptr %273, align 4, !tbaa !5
  %285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %286 = load i32, ptr @test_count, align 4, !tbaa !5
  %287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %288 = load i32, ptr %287, align 4, !tbaa !5
  %289 = call ptr @s2n_strerror(i32 noundef %288, ptr noundef nonnull @.str.80) #12
  %290 = load i32, ptr %287, align 4, !tbaa !5
  %291 = call ptr @s2n_strerror_debug(i32 noundef %290, ptr noundef nonnull @.str.80) #12
  %292 = load i32, ptr %273, align 4, !tbaa !5
  %293 = call ptr @strerror(i32 noundef %292) #12
  %294 = load i32, ptr %273, align 4, !tbaa !5
  %295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %285, ptr noundef nonnull %.str.81.sink1015, i32 noundef %286, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.77, i32 noundef 70, ptr noundef %289, ptr noundef %291, ptr noundef %293, i32 noundef %294) #14
  call void @exit(i32 noundef 1) #15
  unreachable

296:                                              ; preds = %268
  %297 = load i32, ptr @test_count, align 4, !tbaa !5
  %298 = add nsw i32 %297, 1
  store i32 %298, ptr @test_count, align 4, !tbaa !5
  %299 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %212, i32 noundef 1) #12
  %300 = icmp eq i32 %299, -1
  br i1 %300, label %301, label %325

301:                                              ; preds = %296
  %302 = tail call ptr @__errno_location() #13
  %303 = load i32, ptr %302, align 4, !tbaa !5
  %304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %305 = call i32 @s2n_print_stacktrace(ptr noundef %304) #12
  %306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %307 = trunc nuw i8 %306 to i1
  br i1 %307, label %308, label %312

308:                                              ; preds = %301
  %309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %310 = call i32 @fileno(ptr noundef %309) #12
  %311 = call i32 @isatty(i32 noundef %310) #12
  %.not931 = icmp eq i32 %311, 0
  br i1 %.not931, label %312, label %313

312:                                              ; preds = %308, %301
  br label %313

313:                                              ; preds = %308, %312
  %.str.81.sink1026 = phi ptr [ @.str.81, %312 ], [ @.str.78, %308 ]
  store i32 %303, ptr %302, align 4, !tbaa !5
  %314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %315 = load i32, ptr @test_count, align 4, !tbaa !5
  %316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %317 = load i32, ptr %316, align 4, !tbaa !5
  %318 = call ptr @s2n_strerror(i32 noundef %317, ptr noundef nonnull @.str.80) #12
  %319 = load i32, ptr %316, align 4, !tbaa !5
  %320 = call ptr @s2n_strerror_debug(i32 noundef %319, ptr noundef nonnull @.str.80) #12
  %321 = load i32, ptr %302, align 4, !tbaa !5
  %322 = call ptr @strerror(i32 noundef %321) #12
  %323 = load i32, ptr %302, align 4, !tbaa !5
  %324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %314, ptr noundef nonnull %.str.81.sink1026, i32 noundef %315, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.77, i32 noundef 73, ptr noundef %318, ptr noundef %320, ptr noundef %322, i32 noundef %323) #14
  call void @exit(i32 noundef 1) #15
  unreachable

325:                                              ; preds = %296
  %326 = load i32, ptr @test_count, align 4, !tbaa !5
  %327 = add nsw i32 %326, 1
  store i32 %327, ptr @test_count, align 4, !tbaa !5
  %328 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef nonnull %5)
  br i1 %328, label %329, label %353

329:                                              ; preds = %325
  %330 = tail call ptr @__errno_location() #13
  %331 = load i32, ptr %330, align 4, !tbaa !5
  %332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %333 = call i32 @s2n_print_stacktrace(ptr noundef %332) #12
  %334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %335 = trunc nuw i8 %334 to i1
  br i1 %335, label %336, label %340

336:                                              ; preds = %329
  %337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %338 = call i32 @fileno(ptr noundef %337) #12
  %339 = call i32 @isatty(i32 noundef %338) #12
  %.not930 = icmp eq i32 %339, 0
  br i1 %.not930, label %340, label %341

340:                                              ; preds = %336, %329
  br label %341

341:                                              ; preds = %336, %340
  %.str.81.sink1037 = phi ptr [ @.str.81, %340 ], [ @.str.78, %336 ]
  store i32 %331, ptr %330, align 4, !tbaa !5
  %342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %343 = load i32, ptr @test_count, align 4, !tbaa !5
  %344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %345 = load i32, ptr %344, align 4, !tbaa !5
  %346 = call ptr @s2n_strerror(i32 noundef %345, ptr noundef nonnull @.str.80) #12
  %347 = load i32, ptr %344, align 4, !tbaa !5
  %348 = call ptr @s2n_strerror_debug(i32 noundef %347, ptr noundef nonnull @.str.80) #12
  %349 = load i32, ptr %330, align 4, !tbaa !5
  %350 = call ptr @strerror(i32 noundef %349) #12
  %351 = load i32, ptr %330, align 4, !tbaa !5
  %352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %342, ptr noundef nonnull %.str.81.sink1037, i32 noundef %343, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 74, ptr noundef %346, ptr noundef %348, ptr noundef %350, i32 noundef %351) #14
  call void @exit(i32 noundef 1) #15
  unreachable

353:                                              ; preds = %325
  %354 = load i32, ptr @test_count, align 4, !tbaa !5
  %355 = add nsw i32 %354, 1
  store i32 %355, ptr @test_count, align 4, !tbaa !5
  %356 = call i32 @s2n_stuffer_free(ptr noundef nonnull %212) #12
  %357 = icmp eq i32 %356, -1
  br i1 %357, label %358, label %382

358:                                              ; preds = %353
  %359 = tail call ptr @__errno_location() #13
  %360 = load i32, ptr %359, align 4, !tbaa !5
  %361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %362 = call i32 @s2n_print_stacktrace(ptr noundef %361) #12
  %363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %364 = trunc nuw i8 %363 to i1
  br i1 %364, label %365, label %369

365:                                              ; preds = %358
  %366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %367 = call i32 @fileno(ptr noundef %366) #12
  %368 = call i32 @isatty(i32 noundef %367) #12
  %.not929 = icmp eq i32 %368, 0
  br i1 %.not929, label %369, label %370

369:                                              ; preds = %365, %358
  br label %370

370:                                              ; preds = %365, %369
  %.str.81.sink1048 = phi ptr [ @.str.81, %369 ], [ @.str.78, %365 ]
  store i32 %360, ptr %359, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = load i32, ptr @test_count, align 4, !tbaa !5
  %373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %374 = load i32, ptr %373, align 4, !tbaa !5
  %375 = call ptr @s2n_strerror(i32 noundef %374, ptr noundef nonnull @.str.80) #12
  %376 = load i32, ptr %373, align 4, !tbaa !5
  %377 = call ptr @s2n_strerror_debug(i32 noundef %376, ptr noundef nonnull @.str.80) #12
  %378 = load i32, ptr %359, align 4, !tbaa !5
  %379 = call ptr @strerror(i32 noundef %378) #12
  %380 = load i32, ptr %359, align 4, !tbaa !5
  %381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %371, ptr noundef nonnull %.str.81.sink1048, i32 noundef %372, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 76, ptr noundef %375, ptr noundef %377, ptr noundef %379, i32 noundef %380) #14
  call void @exit(i32 noundef 1) #15
  unreachable

382:                                              ; preds = %353
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %5) #12
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %6) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %6, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %7, i8 0, i64 32, i1 false)
  %383 = load i32, ptr @test_count, align 4, !tbaa !5
  %384 = add nsw i32 %383, 1
  store i32 %384, ptr @test_count, align 4, !tbaa !5
  %385 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %6, ptr noundef null)
  %386 = icmp eq i32 %385, -1
  br i1 %386, label %411, label %387

387:                                              ; preds = %382
  %388 = tail call ptr @__errno_location() #13
  %389 = load i32, ptr %388, align 4, !tbaa !5
  %390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %391 = call i32 @s2n_print_stacktrace(ptr noundef %390) #12
  %392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %393 = trunc nuw i8 %392 to i1
  br i1 %393, label %394, label %398

394:                                              ; preds = %387
  %395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %396 = call i32 @fileno(ptr noundef %395) #12
  %397 = call i32 @isatty(i32 noundef %396) #12
  %.not672 = icmp eq i32 %397, 0
  br i1 %.not672, label %398, label %399

398:                                              ; preds = %394, %387
  br label %399

399:                                              ; preds = %394, %398
  %.str.81.sink1059 = phi ptr [ @.str.81, %398 ], [ @.str.78, %394 ]
  store i32 %389, ptr %388, align 4, !tbaa !5
  %400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %401 = load i32, ptr @test_count, align 4, !tbaa !5
  %402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %403 = load i32, ptr %402, align 4, !tbaa !5
  %404 = call ptr @s2n_strerror(i32 noundef %403, ptr noundef nonnull @.str.80) #12
  %405 = load i32, ptr %402, align 4, !tbaa !5
  %406 = call ptr @s2n_strerror_debug(i32 noundef %405, ptr noundef nonnull @.str.80) #12
  %407 = load i32, ptr %388, align 4, !tbaa !5
  %408 = call ptr @strerror(i32 noundef %407) #12
  %409 = load i32, ptr %388, align 4, !tbaa !5
  %410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %400, ptr noundef nonnull %.str.81.sink1059, i32 noundef %401, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.77, i32 noundef 85, ptr noundef %404, ptr noundef %406, ptr noundef %408, i32 noundef %409) #14
  call void @exit(i32 noundef 1) #15
  unreachable

411:                                              ; preds = %382
  %412 = load i32, ptr @test_count, align 4, !tbaa !5
  %413 = add nsw i32 %412, 1
  store i32 %413, ptr @test_count, align 4, !tbaa !5
  %414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %415 = load i32, ptr %414, align 4, !tbaa !5
  %416 = icmp eq i32 %415, 402653193
  br i1 %416, label %440, label %417

417:                                              ; preds = %411
  %418 = tail call ptr @__errno_location() #13
  %419 = load i32, ptr %418, align 4, !tbaa !5
  %420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %421 = call i32 @s2n_print_stacktrace(ptr noundef %420) #12
  %422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %423 = trunc nuw i8 %422 to i1
  br i1 %423, label %424, label %428

424:                                              ; preds = %417
  %425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %426 = call i32 @fileno(ptr noundef %425) #12
  %427 = call i32 @isatty(i32 noundef %426) #12
  %.not673 = icmp eq i32 %427, 0
  br i1 %.not673, label %428, label %429

428:                                              ; preds = %424, %417
  br label %429

429:                                              ; preds = %424, %428
  %.str.81.sink1070 = phi ptr [ @.str.81, %428 ], [ @.str.78, %424 ]
  store i32 %419, ptr %418, align 4, !tbaa !5
  %430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %431 = load i32, ptr @test_count, align 4, !tbaa !5
  %432 = load i32, ptr %414, align 4, !tbaa !5
  %433 = call ptr @s2n_strerror(i32 noundef %432, ptr noundef nonnull @.str.80) #12
  %434 = load i32, ptr %414, align 4, !tbaa !5
  %435 = call ptr @s2n_strerror_debug(i32 noundef %434, ptr noundef nonnull @.str.80) #12
  %436 = load i32, ptr %418, align 4, !tbaa !5
  %437 = call ptr @strerror(i32 noundef %436) #12
  %438 = load i32, ptr %418, align 4, !tbaa !5
  %439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %430, ptr noundef nonnull %.str.81.sink1070, i32 noundef %431, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 85, ptr noundef %433, ptr noundef %435, ptr noundef %437, i32 noundef %438) #14
  call void @exit(i32 noundef 1) #15
  unreachable

440:                                              ; preds = %411
  %441 = add nsw i32 %412, 2
  store i32 %441, ptr @test_count, align 4, !tbaa !5
  %442 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %443 = icmp eq ptr %442, null
  br i1 %443, label %444, label %467

444:                                              ; preds = %440
  %445 = tail call ptr @__errno_location() #13
  %446 = load i32, ptr %445, align 4, !tbaa !5
  %447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %448 = call i32 @s2n_print_stacktrace(ptr noundef %447) #12
  %449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %450 = trunc nuw i8 %449 to i1
  br i1 %450, label %451, label %455

451:                                              ; preds = %444
  %452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %453 = call i32 @fileno(ptr noundef %452) #12
  %454 = call i32 @isatty(i32 noundef %453) #12
  %.not928 = icmp eq i32 %454, 0
  br i1 %.not928, label %455, label %456

455:                                              ; preds = %451, %444
  br label %456

456:                                              ; preds = %451, %455
  %.str.81.sink1079 = phi ptr [ @.str.81, %455 ], [ @.str.78, %451 ]
  store i32 %446, ptr %445, align 4, !tbaa !5
  %457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %458 = load i32, ptr @test_count, align 4, !tbaa !5
  %459 = load i32, ptr %414, align 4, !tbaa !5
  %460 = call ptr @s2n_strerror(i32 noundef %459, ptr noundef nonnull @.str.80) #12
  %461 = load i32, ptr %414, align 4, !tbaa !5
  %462 = call ptr @s2n_strerror_debug(i32 noundef %461, ptr noundef nonnull @.str.80) #12
  %463 = load i32, ptr %445, align 4, !tbaa !5
  %464 = call ptr @strerror(i32 noundef %463) #12
  %465 = load i32, ptr %445, align 4, !tbaa !5
  %466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %457, ptr noundef nonnull %.str.81.sink1079, i32 noundef %458, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 85, ptr noundef %460, ptr noundef %462, ptr noundef %464, i32 noundef %465) #14
  call void @exit(i32 noundef 1) #15
  unreachable

467:                                              ; preds = %440
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %468 = tail call ptr @__errno_location() #13
  store i32 0, ptr %468, align 4, !tbaa !5
  %469 = load i32, ptr @test_count, align 4, !tbaa !5
  %470 = add nsw i32 %469, 1
  store i32 %470, ptr @test_count, align 4, !tbaa !5
  %471 = call i32 @s2n_offered_psk_list_next(ptr noundef null, ptr noundef nonnull %7)
  %472 = icmp eq i32 %471, -1
  br i1 %472, label %495, label %473

473:                                              ; preds = %467
  %474 = load i32, ptr %468, align 4, !tbaa !5
  %475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %476 = call i32 @s2n_print_stacktrace(ptr noundef %475) #12
  %477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %478 = trunc nuw i8 %477 to i1
  br i1 %478, label %479, label %483

479:                                              ; preds = %473
  %480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %481 = call i32 @fileno(ptr noundef %480) #12
  %482 = call i32 @isatty(i32 noundef %481) #12
  %.not674 = icmp eq i32 %482, 0
  br i1 %.not674, label %483, label %484

483:                                              ; preds = %479, %473
  br label %484

484:                                              ; preds = %479, %483
  %.str.81.sink1088 = phi ptr [ @.str.81, %483 ], [ @.str.78, %479 ]
  store i32 %474, ptr %468, align 4, !tbaa !5
  %485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %486 = load i32, ptr @test_count, align 4, !tbaa !5
  %487 = load i32, ptr %414, align 4, !tbaa !5
  %488 = call ptr @s2n_strerror(i32 noundef %487, ptr noundef nonnull @.str.80) #12
  %489 = load i32, ptr %414, align 4, !tbaa !5
  %490 = call ptr @s2n_strerror_debug(i32 noundef %489, ptr noundef nonnull @.str.80) #12
  %491 = load i32, ptr %468, align 4, !tbaa !5
  %492 = call ptr @strerror(i32 noundef %491) #12
  %493 = load i32, ptr %468, align 4, !tbaa !5
  %494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %485, ptr noundef nonnull %.str.81.sink1088, i32 noundef %486, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.77, i32 noundef 86, ptr noundef %488, ptr noundef %490, ptr noundef %492, i32 noundef %493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

495:                                              ; preds = %467
  %496 = load i32, ptr @test_count, align 4, !tbaa !5
  %497 = add nsw i32 %496, 1
  store i32 %497, ptr @test_count, align 4, !tbaa !5
  %498 = load i32, ptr %414, align 4, !tbaa !5
  %499 = icmp eq i32 %498, 402653193
  br i1 %499, label %522, label %500

500:                                              ; preds = %495
  %501 = load i32, ptr %468, align 4, !tbaa !5
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = call i32 @s2n_print_stacktrace(ptr noundef %502) #12
  %504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %505 = trunc nuw i8 %504 to i1
  br i1 %505, label %506, label %510

506:                                              ; preds = %500
  %507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %508 = call i32 @fileno(ptr noundef %507) #12
  %509 = call i32 @isatty(i32 noundef %508) #12
  %.not675 = icmp eq i32 %509, 0
  br i1 %.not675, label %510, label %511

510:                                              ; preds = %506, %500
  br label %511

511:                                              ; preds = %506, %510
  %.str.81.sink1097 = phi ptr [ @.str.81, %510 ], [ @.str.78, %506 ]
  store i32 %501, ptr %468, align 4, !tbaa !5
  %512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %513 = load i32, ptr @test_count, align 4, !tbaa !5
  %514 = load i32, ptr %414, align 4, !tbaa !5
  %515 = call ptr @s2n_strerror(i32 noundef %514, ptr noundef nonnull @.str.80) #12
  %516 = load i32, ptr %414, align 4, !tbaa !5
  %517 = call ptr @s2n_strerror_debug(i32 noundef %516, ptr noundef nonnull @.str.80) #12
  %518 = load i32, ptr %468, align 4, !tbaa !5
  %519 = call ptr @strerror(i32 noundef %518) #12
  %520 = load i32, ptr %468, align 4, !tbaa !5
  %521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %512, ptr noundef nonnull %.str.81.sink1097, i32 noundef %513, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 86, ptr noundef %515, ptr noundef %517, ptr noundef %519, i32 noundef %520) #14
  call void @exit(i32 noundef 1) #15
  unreachable

522:                                              ; preds = %495
  %523 = add nsw i32 %496, 2
  store i32 %523, ptr @test_count, align 4, !tbaa !5
  %524 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %525 = icmp eq ptr %524, null
  br i1 %525, label %526, label %548

526:                                              ; preds = %522
  %527 = load i32, ptr %468, align 4, !tbaa !5
  %528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %529 = call i32 @s2n_print_stacktrace(ptr noundef %528) #12
  %530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %531 = trunc nuw i8 %530 to i1
  br i1 %531, label %532, label %536

532:                                              ; preds = %526
  %533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %534 = call i32 @fileno(ptr noundef %533) #12
  %535 = call i32 @isatty(i32 noundef %534) #12
  %.not927 = icmp eq i32 %535, 0
  br i1 %.not927, label %536, label %537

536:                                              ; preds = %532, %526
  br label %537

537:                                              ; preds = %532, %536
  %.str.81.sink1106 = phi ptr [ @.str.81, %536 ], [ @.str.78, %532 ]
  store i32 %527, ptr %468, align 4, !tbaa !5
  %538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %539 = load i32, ptr @test_count, align 4, !tbaa !5
  %540 = load i32, ptr %414, align 4, !tbaa !5
  %541 = call ptr @s2n_strerror(i32 noundef %540, ptr noundef nonnull @.str.80) #12
  %542 = load i32, ptr %414, align 4, !tbaa !5
  %543 = call ptr @s2n_strerror_debug(i32 noundef %542, ptr noundef nonnull @.str.80) #12
  %544 = load i32, ptr %468, align 4, !tbaa !5
  %545 = call ptr @strerror(i32 noundef %544) #12
  %546 = load i32, ptr %468, align 4, !tbaa !5
  %547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %538, ptr noundef nonnull %.str.81.sink1106, i32 noundef %539, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 86, ptr noundef %541, ptr noundef %543, ptr noundef %545, i32 noundef %546) #14
  call void @exit(i32 noundef 1) #15
  unreachable

548:                                              ; preds = %522
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %6) #12
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %8) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %8, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %9, i8 0, i64 32, i1 false)
  %549 = load i32, ptr @test_count, align 4, !tbaa !5
  %550 = add nsw i32 %549, 1
  store i32 %550, ptr @test_count, align 4, !tbaa !5
  %551 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %8, ptr noundef nonnull %9)
  %552 = icmp eq i32 %551, -1
  br i1 %552, label %575, label %553

553:                                              ; preds = %548
  %554 = load i32, ptr %468, align 4, !tbaa !5
  %555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %556 = call i32 @s2n_print_stacktrace(ptr noundef %555) #12
  %557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %558 = trunc nuw i8 %557 to i1
  br i1 %558, label %559, label %563

559:                                              ; preds = %553
  %560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %561 = call i32 @fileno(ptr noundef %560) #12
  %562 = call i32 @isatty(i32 noundef %561) #12
  %.not676 = icmp eq i32 %562, 0
  br i1 %.not676, label %563, label %564

563:                                              ; preds = %559, %553
  br label %564

564:                                              ; preds = %559, %563
  %.str.81.sink1115 = phi ptr [ @.str.81, %563 ], [ @.str.78, %559 ]
  store i32 %554, ptr %468, align 4, !tbaa !5
  %565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %566 = load i32, ptr @test_count, align 4, !tbaa !5
  %567 = load i32, ptr %414, align 4, !tbaa !5
  %568 = call ptr @s2n_strerror(i32 noundef %567, ptr noundef nonnull @.str.80) #12
  %569 = load i32, ptr %414, align 4, !tbaa !5
  %570 = call ptr @s2n_strerror_debug(i32 noundef %569, ptr noundef nonnull @.str.80) #12
  %571 = load i32, ptr %468, align 4, !tbaa !5
  %572 = call ptr @strerror(i32 noundef %571) #12
  %573 = load i32, ptr %468, align 4, !tbaa !5
  %574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %565, ptr noundef nonnull %.str.81.sink1115, i32 noundef %566, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.77, i32 noundef 94, ptr noundef %568, ptr noundef %570, ptr noundef %572, i32 noundef %573) #14
  call void @exit(i32 noundef 1) #15
  unreachable

575:                                              ; preds = %548
  %576 = load i32, ptr @test_count, align 4, !tbaa !5
  %577 = add nsw i32 %576, 1
  store i32 %577, ptr @test_count, align 4, !tbaa !5
  %578 = load i32, ptr %414, align 4, !tbaa !5
  %579 = icmp eq i32 %578, 402653201
  br i1 %579, label %602, label %580

580:                                              ; preds = %575
  %581 = load i32, ptr %468, align 4, !tbaa !5
  %582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %583 = call i32 @s2n_print_stacktrace(ptr noundef %582) #12
  %584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %585 = trunc nuw i8 %584 to i1
  br i1 %585, label %586, label %590

586:                                              ; preds = %580
  %587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %588 = call i32 @fileno(ptr noundef %587) #12
  %589 = call i32 @isatty(i32 noundef %588) #12
  %.not677 = icmp eq i32 %589, 0
  br i1 %.not677, label %590, label %591

590:                                              ; preds = %586, %580
  br label %591

591:                                              ; preds = %586, %590
  %.str.81.sink1124 = phi ptr [ @.str.81, %590 ], [ @.str.78, %586 ]
  store i32 %581, ptr %468, align 4, !tbaa !5
  %592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %593 = load i32, ptr @test_count, align 4, !tbaa !5
  %594 = load i32, ptr %414, align 4, !tbaa !5
  %595 = call ptr @s2n_strerror(i32 noundef %594, ptr noundef nonnull @.str.80) #12
  %596 = load i32, ptr %414, align 4, !tbaa !5
  %597 = call ptr @s2n_strerror_debug(i32 noundef %596, ptr noundef nonnull @.str.80) #12
  %598 = load i32, ptr %468, align 4, !tbaa !5
  %599 = call ptr @strerror(i32 noundef %598) #12
  %600 = load i32, ptr %468, align 4, !tbaa !5
  %601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %592, ptr noundef nonnull %.str.81.sink1124, i32 noundef %593, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.77, i32 noundef 94, ptr noundef %595, ptr noundef %597, ptr noundef %599, i32 noundef %600) #14
  call void @exit(i32 noundef 1) #15
  unreachable

602:                                              ; preds = %575
  %603 = add nsw i32 %576, 2
  store i32 %603, ptr @test_count, align 4, !tbaa !5
  %604 = call ptr @s2n_strerror_debug(i32 noundef 402653201, ptr noundef nonnull @.str.80) #12
  %605 = icmp eq ptr %604, null
  br i1 %605, label %606, label %628

606:                                              ; preds = %602
  %607 = load i32, ptr %468, align 4, !tbaa !5
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = call i32 @s2n_print_stacktrace(ptr noundef %608) #12
  %610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %611 = trunc nuw i8 %610 to i1
  br i1 %611, label %612, label %616

612:                                              ; preds = %606
  %613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %614 = call i32 @fileno(ptr noundef %613) #12
  %615 = call i32 @isatty(i32 noundef %614) #12
  %.not926 = icmp eq i32 %615, 0
  br i1 %.not926, label %616, label %617

616:                                              ; preds = %612, %606
  br label %617

617:                                              ; preds = %612, %616
  %.str.81.sink1133 = phi ptr [ @.str.81, %616 ], [ @.str.78, %612 ]
  store i32 %607, ptr %468, align 4, !tbaa !5
  %618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %619 = load i32, ptr @test_count, align 4, !tbaa !5
  %620 = load i32, ptr %414, align 4, !tbaa !5
  %621 = call ptr @s2n_strerror(i32 noundef %620, ptr noundef nonnull @.str.80) #12
  %622 = load i32, ptr %414, align 4, !tbaa !5
  %623 = call ptr @s2n_strerror_debug(i32 noundef %622, ptr noundef nonnull @.str.80) #12
  %624 = load i32, ptr %468, align 4, !tbaa !5
  %625 = call ptr @strerror(i32 noundef %624) #12
  %626 = load i32, ptr %468, align 4, !tbaa !5
  %627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %618, ptr noundef nonnull %.str.81.sink1133, i32 noundef %619, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 94, ptr noundef %621, ptr noundef %623, ptr noundef %625, i32 noundef %626) #14
  call void @exit(i32 noundef 1) #15
  unreachable

628:                                              ; preds = %602
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %629 = load i32, ptr @test_count, align 4, !tbaa !5
  %630 = add nsw i32 %629, 1
  store i32 %630, ptr @test_count, align 4, !tbaa !5
  %631 = getelementptr inbounds i8, ptr %9, i64 8
  %632 = load i32, ptr %631, align 8, !tbaa !15
  %633 = icmp eq i32 %632, 0
  br i1 %633, label %656, label %634

634:                                              ; preds = %628
  %635 = load i32, ptr %468, align 4, !tbaa !5
  %636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %637 = call i32 @s2n_print_stacktrace(ptr noundef %636) #12
  %638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %639 = trunc nuw i8 %638 to i1
  br i1 %639, label %640, label %644

640:                                              ; preds = %634
  %641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %642 = call i32 @fileno(ptr noundef %641) #12
  %643 = call i32 @isatty(i32 noundef %642) #12
  %.not678 = icmp eq i32 %643, 0
  br i1 %.not678, label %644, label %645

644:                                              ; preds = %640, %634
  br label %645

645:                                              ; preds = %640, %644
  %.str.81.sink1142 = phi ptr [ @.str.81, %644 ], [ @.str.78, %640 ]
  store i32 %635, ptr %468, align 4, !tbaa !5
  %646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %647 = load i32, ptr @test_count, align 4, !tbaa !5
  %648 = load i32, ptr %414, align 4, !tbaa !5
  %649 = call ptr @s2n_strerror(i32 noundef %648, ptr noundef nonnull @.str.80) #12
  %650 = load i32, ptr %414, align 4, !tbaa !5
  %651 = call ptr @s2n_strerror_debug(i32 noundef %650, ptr noundef nonnull @.str.80) #12
  %652 = load i32, ptr %468, align 4, !tbaa !5
  %653 = call ptr @strerror(i32 noundef %652) #12
  %654 = load i32, ptr %468, align 4, !tbaa !5
  %655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %646, ptr noundef nonnull %.str.81.sink1142, i32 noundef %647, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.77, i32 noundef 95, ptr noundef %649, ptr noundef %651, ptr noundef %653, i32 noundef %654) #14
  call void @exit(i32 noundef 1) #15
  unreachable

656:                                              ; preds = %628
  %657 = add nsw i32 %629, 2
  store i32 %657, ptr @test_count, align 4, !tbaa !5
  %658 = load ptr, ptr %9, align 8, !tbaa !19
  %659 = icmp eq ptr %658, null
  br i1 %659, label %682, label %660

660:                                              ; preds = %656
  %661 = load i32, ptr %468, align 4, !tbaa !5
  %662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %663 = call i32 @s2n_print_stacktrace(ptr noundef %662) #12
  %664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %665 = trunc nuw i8 %664 to i1
  br i1 %665, label %666, label %670

666:                                              ; preds = %660
  %667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %668 = call i32 @fileno(ptr noundef %667) #12
  %669 = call i32 @isatty(i32 noundef %668) #12
  %.not679 = icmp eq i32 %669, 0
  br i1 %.not679, label %670, label %671

670:                                              ; preds = %666, %660
  br label %671

671:                                              ; preds = %666, %670
  %.str.81.sink1151 = phi ptr [ @.str.81, %670 ], [ @.str.78, %666 ]
  store i32 %661, ptr %468, align 4, !tbaa !5
  %672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %673 = load i32, ptr @test_count, align 4, !tbaa !5
  %674 = load i32, ptr %414, align 4, !tbaa !5
  %675 = call ptr @s2n_strerror(i32 noundef %674, ptr noundef nonnull @.str.80) #12
  %676 = load i32, ptr %414, align 4, !tbaa !5
  %677 = call ptr @s2n_strerror_debug(i32 noundef %676, ptr noundef nonnull @.str.80) #12
  %678 = load i32, ptr %468, align 4, !tbaa !5
  %679 = call ptr @strerror(i32 noundef %678) #12
  %680 = load i32, ptr %468, align 4, !tbaa !5
  %681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %672, ptr noundef nonnull %.str.81.sink1151, i32 noundef %673, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.77, i32 noundef 96, ptr noundef %675, ptr noundef %677, ptr noundef %679, i32 noundef %680) #14
  call void @exit(i32 noundef 1) #15
  unreachable

682:                                              ; preds = %656
  %683 = add nsw i32 %629, 3
  store i32 %683, ptr @test_count, align 4, !tbaa !5
  %684 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %8, ptr noundef nonnull %9)
  %685 = icmp eq i32 %684, -1
  br i1 %685, label %708, label %686

686:                                              ; preds = %682
  %687 = load i32, ptr %468, align 4, !tbaa !5
  %688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %689 = call i32 @s2n_print_stacktrace(ptr noundef %688) #12
  %690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %691 = trunc nuw i8 %690 to i1
  br i1 %691, label %692, label %696

692:                                              ; preds = %686
  %693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %694 = call i32 @fileno(ptr noundef %693) #12
  %695 = call i32 @isatty(i32 noundef %694) #12
  %.not680 = icmp eq i32 %695, 0
  br i1 %.not680, label %696, label %697

696:                                              ; preds = %692, %686
  br label %697

697:                                              ; preds = %692, %696
  %.str.81.sink1160 = phi ptr [ @.str.81, %696 ], [ @.str.78, %692 ]
  store i32 %687, ptr %468, align 4, !tbaa !5
  %698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %699 = load i32, ptr @test_count, align 4, !tbaa !5
  %700 = load i32, ptr %414, align 4, !tbaa !5
  %701 = call ptr @s2n_strerror(i32 noundef %700, ptr noundef nonnull @.str.80) #12
  %702 = load i32, ptr %414, align 4, !tbaa !5
  %703 = call ptr @s2n_strerror_debug(i32 noundef %702, ptr noundef nonnull @.str.80) #12
  %704 = load i32, ptr %468, align 4, !tbaa !5
  %705 = call ptr @strerror(i32 noundef %704) #12
  %706 = load i32, ptr %468, align 4, !tbaa !5
  %707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %698, ptr noundef nonnull %.str.81.sink1160, i32 noundef %699, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.77, i32 noundef 99, ptr noundef %701, ptr noundef %703, ptr noundef %705, i32 noundef %706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

708:                                              ; preds = %682
  %709 = load i32, ptr @test_count, align 4, !tbaa !5
  %710 = add nsw i32 %709, 1
  store i32 %710, ptr @test_count, align 4, !tbaa !5
  %711 = load i32, ptr %414, align 4, !tbaa !5
  %712 = icmp eq i32 %711, 402653201
  br i1 %712, label %735, label %713

713:                                              ; preds = %708
  %714 = load i32, ptr %468, align 4, !tbaa !5
  %715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %716 = call i32 @s2n_print_stacktrace(ptr noundef %715) #12
  %717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %718 = trunc nuw i8 %717 to i1
  br i1 %718, label %719, label %723

719:                                              ; preds = %713
  %720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %721 = call i32 @fileno(ptr noundef %720) #12
  %722 = call i32 @isatty(i32 noundef %721) #12
  %.not681 = icmp eq i32 %722, 0
  br i1 %.not681, label %723, label %724

723:                                              ; preds = %719, %713
  br label %724

724:                                              ; preds = %719, %723
  %.str.81.sink1169 = phi ptr [ @.str.81, %723 ], [ @.str.78, %719 ]
  store i32 %714, ptr %468, align 4, !tbaa !5
  %725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %726 = load i32, ptr @test_count, align 4, !tbaa !5
  %727 = load i32, ptr %414, align 4, !tbaa !5
  %728 = call ptr @s2n_strerror(i32 noundef %727, ptr noundef nonnull @.str.80) #12
  %729 = load i32, ptr %414, align 4, !tbaa !5
  %730 = call ptr @s2n_strerror_debug(i32 noundef %729, ptr noundef nonnull @.str.80) #12
  %731 = load i32, ptr %468, align 4, !tbaa !5
  %732 = call ptr @strerror(i32 noundef %731) #12
  %733 = load i32, ptr %468, align 4, !tbaa !5
  %734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %725, ptr noundef nonnull %.str.81.sink1169, i32 noundef %726, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.77, i32 noundef 99, ptr noundef %728, ptr noundef %730, ptr noundef %732, i32 noundef %733) #14
  call void @exit(i32 noundef 1) #15
  unreachable

735:                                              ; preds = %708
  %736 = add nsw i32 %709, 2
  store i32 %736, ptr @test_count, align 4, !tbaa !5
  %737 = call ptr @s2n_strerror_debug(i32 noundef 402653201, ptr noundef nonnull @.str.80) #12
  %738 = icmp eq ptr %737, null
  br i1 %738, label %739, label %761

739:                                              ; preds = %735
  %740 = load i32, ptr %468, align 4, !tbaa !5
  %741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %742 = call i32 @s2n_print_stacktrace(ptr noundef %741) #12
  %743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %744 = trunc nuw i8 %743 to i1
  br i1 %744, label %745, label %749

745:                                              ; preds = %739
  %746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %747 = call i32 @fileno(ptr noundef %746) #12
  %748 = call i32 @isatty(i32 noundef %747) #12
  %.not925 = icmp eq i32 %748, 0
  br i1 %.not925, label %749, label %750

749:                                              ; preds = %745, %739
  br label %750

750:                                              ; preds = %745, %749
  %.str.81.sink1178 = phi ptr [ @.str.81, %749 ], [ @.str.78, %745 ]
  store i32 %740, ptr %468, align 4, !tbaa !5
  %751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %752 = load i32, ptr @test_count, align 4, !tbaa !5
  %753 = load i32, ptr %414, align 4, !tbaa !5
  %754 = call ptr @s2n_strerror(i32 noundef %753, ptr noundef nonnull @.str.80) #12
  %755 = load i32, ptr %414, align 4, !tbaa !5
  %756 = call ptr @s2n_strerror_debug(i32 noundef %755, ptr noundef nonnull @.str.80) #12
  %757 = load i32, ptr %468, align 4, !tbaa !5
  %758 = call ptr @strerror(i32 noundef %757) #12
  %759 = load i32, ptr %468, align 4, !tbaa !5
  %760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %751, ptr noundef nonnull %.str.81.sink1178, i32 noundef %752, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 99, ptr noundef %754, ptr noundef %756, ptr noundef %758, i32 noundef %759) #14
  call void @exit(i32 noundef 1) #15
  unreachable

761:                                              ; preds = %735
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %762 = load i32, ptr @test_count, align 4, !tbaa !5
  %763 = add nsw i32 %762, 1
  store i32 %763, ptr @test_count, align 4, !tbaa !5
  %764 = load i32, ptr %631, align 8, !tbaa !15
  %765 = icmp eq i32 %764, 0
  br i1 %765, label %788, label %766

766:                                              ; preds = %761
  %767 = load i32, ptr %468, align 4, !tbaa !5
  %768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %769 = call i32 @s2n_print_stacktrace(ptr noundef %768) #12
  %770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %771 = trunc nuw i8 %770 to i1
  br i1 %771, label %772, label %776

772:                                              ; preds = %766
  %773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %774 = call i32 @fileno(ptr noundef %773) #12
  %775 = call i32 @isatty(i32 noundef %774) #12
  %.not682 = icmp eq i32 %775, 0
  br i1 %.not682, label %776, label %777

776:                                              ; preds = %772, %766
  br label %777

777:                                              ; preds = %772, %776
  %.str.81.sink1187 = phi ptr [ @.str.81, %776 ], [ @.str.78, %772 ]
  store i32 %767, ptr %468, align 4, !tbaa !5
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = load i32, ptr @test_count, align 4, !tbaa !5
  %780 = load i32, ptr %414, align 4, !tbaa !5
  %781 = call ptr @s2n_strerror(i32 noundef %780, ptr noundef nonnull @.str.80) #12
  %782 = load i32, ptr %414, align 4, !tbaa !5
  %783 = call ptr @s2n_strerror_debug(i32 noundef %782, ptr noundef nonnull @.str.80) #12
  %784 = load i32, ptr %468, align 4, !tbaa !5
  %785 = call ptr @strerror(i32 noundef %784) #12
  %786 = load i32, ptr %468, align 4, !tbaa !5
  %787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %778, ptr noundef nonnull %.str.81.sink1187, i32 noundef %779, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.77, i32 noundef 100, ptr noundef %781, ptr noundef %783, ptr noundef %785, i32 noundef %786) #14
  call void @exit(i32 noundef 1) #15
  unreachable

788:                                              ; preds = %761
  %789 = add nsw i32 %762, 2
  store i32 %789, ptr @test_count, align 4, !tbaa !5
  %790 = load ptr, ptr %9, align 8, !tbaa !19
  %791 = icmp eq ptr %790, null
  br i1 %791, label %814, label %792

792:                                              ; preds = %788
  %793 = load i32, ptr %468, align 4, !tbaa !5
  %794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %795 = call i32 @s2n_print_stacktrace(ptr noundef %794) #12
  %796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %797 = trunc nuw i8 %796 to i1
  br i1 %797, label %798, label %802

798:                                              ; preds = %792
  %799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %800 = call i32 @fileno(ptr noundef %799) #12
  %801 = call i32 @isatty(i32 noundef %800) #12
  %.not683 = icmp eq i32 %801, 0
  br i1 %.not683, label %802, label %803

802:                                              ; preds = %798, %792
  br label %803

803:                                              ; preds = %798, %802
  %.str.81.sink1196 = phi ptr [ @.str.81, %802 ], [ @.str.78, %798 ]
  store i32 %793, ptr %468, align 4, !tbaa !5
  %804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %805 = load i32, ptr @test_count, align 4, !tbaa !5
  %806 = load i32, ptr %414, align 4, !tbaa !5
  %807 = call ptr @s2n_strerror(i32 noundef %806, ptr noundef nonnull @.str.80) #12
  %808 = load i32, ptr %414, align 4, !tbaa !5
  %809 = call ptr @s2n_strerror_debug(i32 noundef %808, ptr noundef nonnull @.str.80) #12
  %810 = load i32, ptr %468, align 4, !tbaa !5
  %811 = call ptr @strerror(i32 noundef %810) #12
  %812 = load i32, ptr %468, align 4, !tbaa !5
  %813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %804, ptr noundef nonnull %.str.81.sink1196, i32 noundef %805, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.77, i32 noundef 101, ptr noundef %807, ptr noundef %809, ptr noundef %811, i32 noundef %812) #14
  call void @exit(i32 noundef 1) #15
  unreachable

814:                                              ; preds = %788
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %8) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %10, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %11) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %11, i8 0, i64 56, i1 false)
  %815 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %816 = load i32, ptr @test_count, align 4, !tbaa !5
  %817 = add nsw i32 %816, 1
  store i32 %817, ptr @test_count, align 4, !tbaa !5
  %818 = icmp eq ptr %815, null
  br i1 %818, label %819, label %841

819:                                              ; preds = %814
  %820 = load i32, ptr %468, align 4, !tbaa !5
  %821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %822 = call i32 @s2n_print_stacktrace(ptr noundef %821) #12
  %823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %824 = trunc nuw i8 %823 to i1
  br i1 %824, label %825, label %829

825:                                              ; preds = %819
  %826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %827 = call i32 @fileno(ptr noundef %826) #12
  %828 = call i32 @isatty(i32 noundef %827) #12
  %.not924 = icmp eq i32 %828, 0
  br i1 %.not924, label %829, label %830

829:                                              ; preds = %825, %819
  br label %830

830:                                              ; preds = %825, %829
  %.str.81.sink1205 = phi ptr [ @.str.81, %829 ], [ @.str.78, %825 ]
  store i32 %820, ptr %468, align 4, !tbaa !5
  %831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %832 = load i32, ptr @test_count, align 4, !tbaa !5
  %833 = load i32, ptr %414, align 4, !tbaa !5
  %834 = call ptr @s2n_strerror(i32 noundef %833, ptr noundef nonnull @.str.80) #12
  %835 = load i32, ptr %414, align 4, !tbaa !5
  %836 = call ptr @s2n_strerror_debug(i32 noundef %835, ptr noundef nonnull @.str.80) #12
  %837 = load i32, ptr %468, align 4, !tbaa !5
  %838 = call ptr @strerror(i32 noundef %837) #12
  %839 = load i32, ptr %468, align 4, !tbaa !5
  %840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %831, ptr noundef nonnull %.str.81.sink1205, i32 noundef %832, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.77, i32 noundef 109, ptr noundef %834, ptr noundef %836, ptr noundef %838, i32 noundef %839) #14
  call void @exit(i32 noundef 1) #15
  unreachable

841:                                              ; preds = %814
  store ptr %815, ptr %11, align 8, !tbaa !20
  %842 = add nsw i32 %816, 2
  store i32 %842, ptr @test_count, align 4, !tbaa !5
  %843 = getelementptr inbounds i8, ptr %11, i64 8
  %844 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %843, i32 noundef 0) #12
  %845 = icmp eq i32 %844, -1
  br i1 %845, label %846, label %868

846:                                              ; preds = %841
  %847 = load i32, ptr %468, align 4, !tbaa !5
  %848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %849 = call i32 @s2n_print_stacktrace(ptr noundef %848) #12
  %850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %851 = trunc nuw i8 %850 to i1
  br i1 %851, label %852, label %856

852:                                              ; preds = %846
  %853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %854 = call i32 @fileno(ptr noundef %853) #12
  %855 = call i32 @isatty(i32 noundef %854) #12
  %.not923 = icmp eq i32 %855, 0
  br i1 %.not923, label %856, label %857

856:                                              ; preds = %852, %846
  br label %857

857:                                              ; preds = %852, %856
  %.str.81.sink1214 = phi ptr [ @.str.81, %856 ], [ @.str.78, %852 ]
  store i32 %847, ptr %468, align 4, !tbaa !5
  %858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %859 = load i32, ptr @test_count, align 4, !tbaa !5
  %860 = load i32, ptr %414, align 4, !tbaa !5
  %861 = call ptr @s2n_strerror(i32 noundef %860, ptr noundef nonnull @.str.80) #12
  %862 = load i32, ptr %414, align 4, !tbaa !5
  %863 = call ptr @s2n_strerror_debug(i32 noundef %862, ptr noundef nonnull @.str.80) #12
  %864 = load i32, ptr %468, align 4, !tbaa !5
  %865 = call ptr @strerror(i32 noundef %864) #12
  %866 = load i32, ptr %468, align 4, !tbaa !5
  %867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %858, ptr noundef nonnull %.str.81.sink1214, i32 noundef %859, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 112, ptr noundef %861, ptr noundef %863, ptr noundef %865, i32 noundef %866) #14
  call void @exit(i32 noundef 1) #15
  unreachable

868:                                              ; preds = %841
  %869 = load i32, ptr @test_count, align 4, !tbaa !5
  %870 = add nsw i32 %869, 1
  store i32 %870, ptr @test_count, align 4, !tbaa !5
  %871 = call i32 @s2n_write_test_identity(ptr noundef nonnull %843, ptr noundef nonnull %3, i16 noundef zeroext 4)
  %872 = call zeroext i1 @s2n_result_is_ok(i32 %871)
  br i1 %872, label %895, label %873

873:                                              ; preds = %868
  %874 = load i32, ptr %468, align 4, !tbaa !5
  %875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %876 = call i32 @s2n_print_stacktrace(ptr noundef %875) #12
  %877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %878 = trunc nuw i8 %877 to i1
  br i1 %878, label %879, label %883

879:                                              ; preds = %873
  %880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %881 = call i32 @fileno(ptr noundef %880) #12
  %882 = call i32 @isatty(i32 noundef %881) #12
  %.not684 = icmp eq i32 %882, 0
  br i1 %.not684, label %883, label %884

883:                                              ; preds = %879, %873
  br label %884

884:                                              ; preds = %879, %883
  %.str.81.sink1223 = phi ptr [ @.str.81, %883 ], [ @.str.78, %879 ]
  store i32 %874, ptr %468, align 4, !tbaa !5
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = load i32, ptr @test_count, align 4, !tbaa !5
  %887 = load i32, ptr %414, align 4, !tbaa !5
  %888 = call ptr @s2n_strerror(i32 noundef %887, ptr noundef nonnull @.str.80) #12
  %889 = load i32, ptr %414, align 4, !tbaa !5
  %890 = call ptr @s2n_strerror_debug(i32 noundef %889, ptr noundef nonnull @.str.80) #12
  %891 = load i32, ptr %468, align 4, !tbaa !5
  %892 = call ptr @strerror(i32 noundef %891) #12
  %893 = load i32, ptr %468, align 4, !tbaa !5
  %894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %885, ptr noundef nonnull %.str.81.sink1223, i32 noundef %886, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.77, i32 noundef 113, ptr noundef %888, ptr noundef %890, ptr noundef %892, i32 noundef %893) #14
  call void @exit(i32 noundef 1) #15
  unreachable

895:                                              ; preds = %868
  %896 = load i32, ptr @test_count, align 4, !tbaa !5
  %897 = add nsw i32 %896, 1
  store i32 %897, ptr @test_count, align 4, !tbaa !5
  %898 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %11, ptr noundef nonnull %10)
  %899 = icmp eq i32 %898, -1
  br i1 %899, label %900, label %922

900:                                              ; preds = %895
  %901 = load i32, ptr %468, align 4, !tbaa !5
  %902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %903 = call i32 @s2n_print_stacktrace(ptr noundef %902) #12
  %904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %905 = trunc nuw i8 %904 to i1
  br i1 %905, label %906, label %910

906:                                              ; preds = %900
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = call i32 @fileno(ptr noundef %907) #12
  %909 = call i32 @isatty(i32 noundef %908) #12
  %.not922 = icmp eq i32 %909, 0
  br i1 %.not922, label %910, label %911

910:                                              ; preds = %906, %900
  br label %911

911:                                              ; preds = %906, %910
  %.str.81.sink1232 = phi ptr [ @.str.81, %910 ], [ @.str.78, %906 ]
  store i32 %901, ptr %468, align 4, !tbaa !5
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = load i32, ptr @test_count, align 4, !tbaa !5
  %914 = load i32, ptr %414, align 4, !tbaa !5
  %915 = call ptr @s2n_strerror(i32 noundef %914, ptr noundef nonnull @.str.80) #12
  %916 = load i32, ptr %414, align 4, !tbaa !5
  %917 = call ptr @s2n_strerror_debug(i32 noundef %916, ptr noundef nonnull @.str.80) #12
  %918 = load i32, ptr %468, align 4, !tbaa !5
  %919 = call ptr @strerror(i32 noundef %918) #12
  %920 = load i32, ptr %468, align 4, !tbaa !5
  %921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %912, ptr noundef nonnull %.str.81.sink1232, i32 noundef %913, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 115, ptr noundef %915, ptr noundef %917, ptr noundef %919, i32 noundef %920) #14
  call void @exit(i32 noundef 1) #15
  unreachable

922:                                              ; preds = %895
  %923 = load i32, ptr @test_count, align 4, !tbaa !5
  %924 = add nsw i32 %923, 1
  store i32 %924, ptr @test_count, align 4, !tbaa !5
  %925 = getelementptr inbounds i8, ptr %10, i64 8
  %926 = load i32, ptr %925, align 8, !tbaa !15
  %927 = icmp eq i32 %926, 4
  br i1 %927, label %950, label %928

928:                                              ; preds = %922
  %929 = load i32, ptr %468, align 4, !tbaa !5
  %930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %931 = call i32 @s2n_print_stacktrace(ptr noundef %930) #12
  %932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %933 = trunc nuw i8 %932 to i1
  br i1 %933, label %934, label %938

934:                                              ; preds = %928
  %935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %936 = call i32 @fileno(ptr noundef %935) #12
  %937 = call i32 @isatty(i32 noundef %936) #12
  %.not685 = icmp eq i32 %937, 0
  br i1 %.not685, label %938, label %939

938:                                              ; preds = %934, %928
  br label %939

939:                                              ; preds = %934, %938
  %.str.81.sink1241 = phi ptr [ @.str.81, %938 ], [ @.str.78, %934 ]
  store i32 %929, ptr %468, align 4, !tbaa !5
  %940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %941 = load i32, ptr @test_count, align 4, !tbaa !5
  %942 = load i32, ptr %414, align 4, !tbaa !5
  %943 = call ptr @s2n_strerror(i32 noundef %942, ptr noundef nonnull @.str.80) #12
  %944 = load i32, ptr %414, align 4, !tbaa !5
  %945 = call ptr @s2n_strerror_debug(i32 noundef %944, ptr noundef nonnull @.str.80) #12
  %946 = load i32, ptr %468, align 4, !tbaa !5
  %947 = call ptr @strerror(i32 noundef %946) #12
  %948 = load i32, ptr %468, align 4, !tbaa !5
  %949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %940, ptr noundef nonnull %.str.81.sink1241, i32 noundef %941, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.77, i32 noundef 116, ptr noundef %943, ptr noundef %945, ptr noundef %947, i32 noundef %948) #14
  call void @exit(i32 noundef 1) #15
  unreachable

950:                                              ; preds = %922
  %951 = add nsw i32 %923, 2
  store i32 %951, ptr @test_count, align 4, !tbaa !5
  %952 = load ptr, ptr %10, align 8, !tbaa !19
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %952, ptr noundef nonnull dereferenceable(4) %3, i64 4)
  %953 = icmp eq i32 %bcmp, 0
  br i1 %953, label %976, label %954

954:                                              ; preds = %950
  %955 = load i32, ptr %468, align 4, !tbaa !5
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = call i32 @s2n_print_stacktrace(ptr noundef %956) #12
  %958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %959 = trunc nuw i8 %958 to i1
  br i1 %959, label %960, label %964

960:                                              ; preds = %954
  %961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %962 = call i32 @fileno(ptr noundef %961) #12
  %963 = call i32 @isatty(i32 noundef %962) #12
  %.not686 = icmp eq i32 %963, 0
  br i1 %.not686, label %964, label %965

964:                                              ; preds = %960, %954
  br label %965

965:                                              ; preds = %960, %964
  %.str.81.sink1250 = phi ptr [ @.str.81, %964 ], [ @.str.78, %960 ]
  store i32 %955, ptr %468, align 4, !tbaa !5
  %966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %967 = load i32, ptr @test_count, align 4, !tbaa !5
  %968 = load i32, ptr %414, align 4, !tbaa !5
  %969 = call ptr @s2n_strerror(i32 noundef %968, ptr noundef nonnull @.str.80) #12
  %970 = load i32, ptr %414, align 4, !tbaa !5
  %971 = call ptr @s2n_strerror_debug(i32 noundef %970, ptr noundef nonnull @.str.80) #12
  %972 = load i32, ptr %468, align 4, !tbaa !5
  %973 = call ptr @strerror(i32 noundef %972) #12
  %974 = load i32, ptr %468, align 4, !tbaa !5
  %975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %966, ptr noundef nonnull %.str.81.sink1250, i32 noundef %967, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.77, i32 noundef 117, ptr noundef %969, ptr noundef %971, ptr noundef %973, i32 noundef %974) #14
  call void @exit(i32 noundef 1) #15
  unreachable

976:                                              ; preds = %950
  %977 = add nsw i32 %923, 3
  store i32 %977, ptr @test_count, align 4, !tbaa !5
  %978 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %11, ptr noundef nonnull %10)
  %979 = icmp eq i32 %978, -1
  br i1 %979, label %1002, label %980

980:                                              ; preds = %976
  %981 = load i32, ptr %468, align 4, !tbaa !5
  %982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %983 = call i32 @s2n_print_stacktrace(ptr noundef %982) #12
  %984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %985 = trunc nuw i8 %984 to i1
  br i1 %985, label %986, label %990

986:                                              ; preds = %980
  %987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %988 = call i32 @fileno(ptr noundef %987) #12
  %989 = call i32 @isatty(i32 noundef %988) #12
  %.not687 = icmp eq i32 %989, 0
  br i1 %.not687, label %990, label %991

990:                                              ; preds = %986, %980
  br label %991

991:                                              ; preds = %986, %990
  %.str.81.sink1259 = phi ptr [ @.str.81, %990 ], [ @.str.78, %986 ]
  store i32 %981, ptr %468, align 4, !tbaa !5
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = load i32, ptr @test_count, align 4, !tbaa !5
  %994 = load i32, ptr %414, align 4, !tbaa !5
  %995 = call ptr @s2n_strerror(i32 noundef %994, ptr noundef nonnull @.str.80) #12
  %996 = load i32, ptr %414, align 4, !tbaa !5
  %997 = call ptr @s2n_strerror_debug(i32 noundef %996, ptr noundef nonnull @.str.80) #12
  %998 = load i32, ptr %468, align 4, !tbaa !5
  %999 = call ptr @strerror(i32 noundef %998) #12
  %1000 = load i32, ptr %468, align 4, !tbaa !5
  %1001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %992, ptr noundef nonnull %.str.81.sink1259, i32 noundef %993, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.77, i32 noundef 120, ptr noundef %995, ptr noundef %997, ptr noundef %999, i32 noundef %1000) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1002:                                             ; preds = %976
  %1003 = load i32, ptr @test_count, align 4, !tbaa !5
  %1004 = add nsw i32 %1003, 1
  store i32 %1004, ptr @test_count, align 4, !tbaa !5
  %1005 = load i32, ptr %414, align 4, !tbaa !5
  %1006 = icmp eq i32 %1005, 402653201
  br i1 %1006, label %1029, label %1007

1007:                                             ; preds = %1002
  %1008 = load i32, ptr %468, align 4, !tbaa !5
  %1009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1010 = call i32 @s2n_print_stacktrace(ptr noundef %1009) #12
  %1011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1012 = trunc nuw i8 %1011 to i1
  br i1 %1012, label %1013, label %1017

1013:                                             ; preds = %1007
  %1014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1015 = call i32 @fileno(ptr noundef %1014) #12
  %1016 = call i32 @isatty(i32 noundef %1015) #12
  %.not688 = icmp eq i32 %1016, 0
  br i1 %.not688, label %1017, label %1018

1017:                                             ; preds = %1013, %1007
  br label %1018

1018:                                             ; preds = %1013, %1017
  %.str.81.sink1268 = phi ptr [ @.str.81, %1017 ], [ @.str.78, %1013 ]
  store i32 %1008, ptr %468, align 4, !tbaa !5
  %1019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1020 = load i32, ptr @test_count, align 4, !tbaa !5
  %1021 = load i32, ptr %414, align 4, !tbaa !5
  %1022 = call ptr @s2n_strerror(i32 noundef %1021, ptr noundef nonnull @.str.80) #12
  %1023 = load i32, ptr %414, align 4, !tbaa !5
  %1024 = call ptr @s2n_strerror_debug(i32 noundef %1023, ptr noundef nonnull @.str.80) #12
  %1025 = load i32, ptr %468, align 4, !tbaa !5
  %1026 = call ptr @strerror(i32 noundef %1025) #12
  %1027 = load i32, ptr %468, align 4, !tbaa !5
  %1028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1019, ptr noundef nonnull %.str.81.sink1268, i32 noundef %1020, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.77, i32 noundef 120, ptr noundef %1022, ptr noundef %1024, ptr noundef %1026, i32 noundef %1027) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1029:                                             ; preds = %1002
  %1030 = add nsw i32 %1003, 2
  store i32 %1030, ptr @test_count, align 4, !tbaa !5
  %1031 = call ptr @s2n_strerror_debug(i32 noundef 402653201, ptr noundef nonnull @.str.80) #12
  %1032 = icmp eq ptr %1031, null
  br i1 %1032, label %1033, label %1055

1033:                                             ; preds = %1029
  %1034 = load i32, ptr %468, align 4, !tbaa !5
  %1035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1036 = call i32 @s2n_print_stacktrace(ptr noundef %1035) #12
  %1037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1038 = trunc nuw i8 %1037 to i1
  br i1 %1038, label %1039, label %1043

1039:                                             ; preds = %1033
  %1040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1041 = call i32 @fileno(ptr noundef %1040) #12
  %1042 = call i32 @isatty(i32 noundef %1041) #12
  %.not921 = icmp eq i32 %1042, 0
  br i1 %.not921, label %1043, label %1044

1043:                                             ; preds = %1039, %1033
  br label %1044

1044:                                             ; preds = %1039, %1043
  %.str.81.sink1277 = phi ptr [ @.str.81, %1043 ], [ @.str.78, %1039 ]
  store i32 %1034, ptr %468, align 4, !tbaa !5
  %1045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1046 = load i32, ptr @test_count, align 4, !tbaa !5
  %1047 = load i32, ptr %414, align 4, !tbaa !5
  %1048 = call ptr @s2n_strerror(i32 noundef %1047, ptr noundef nonnull @.str.80) #12
  %1049 = load i32, ptr %414, align 4, !tbaa !5
  %1050 = call ptr @s2n_strerror_debug(i32 noundef %1049, ptr noundef nonnull @.str.80) #12
  %1051 = load i32, ptr %468, align 4, !tbaa !5
  %1052 = call ptr @strerror(i32 noundef %1051) #12
  %1053 = load i32, ptr %468, align 4, !tbaa !5
  %1054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1045, ptr noundef nonnull %.str.81.sink1277, i32 noundef %1046, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 120, ptr noundef %1048, ptr noundef %1050, ptr noundef %1052, i32 noundef %1053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1055:                                             ; preds = %1029
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %1056 = load i32, ptr @test_count, align 4, !tbaa !5
  %1057 = add nsw i32 %1056, 1
  store i32 %1057, ptr @test_count, align 4, !tbaa !5
  %1058 = load i32, ptr %925, align 8, !tbaa !15
  %1059 = icmp eq i32 %1058, 0
  br i1 %1059, label %1082, label %1060

1060:                                             ; preds = %1055
  %1061 = load i32, ptr %468, align 4, !tbaa !5
  %1062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1063 = call i32 @s2n_print_stacktrace(ptr noundef %1062) #12
  %1064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1065 = trunc nuw i8 %1064 to i1
  br i1 %1065, label %1066, label %1070

1066:                                             ; preds = %1060
  %1067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1068 = call i32 @fileno(ptr noundef %1067) #12
  %1069 = call i32 @isatty(i32 noundef %1068) #12
  %.not689 = icmp eq i32 %1069, 0
  br i1 %.not689, label %1070, label %1071

1070:                                             ; preds = %1066, %1060
  br label %1071

1071:                                             ; preds = %1066, %1070
  %.str.81.sink1286 = phi ptr [ @.str.81, %1070 ], [ @.str.78, %1066 ]
  store i32 %1061, ptr %468, align 4, !tbaa !5
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = load i32, ptr @test_count, align 4, !tbaa !5
  %1074 = load i32, ptr %414, align 4, !tbaa !5
  %1075 = call ptr @s2n_strerror(i32 noundef %1074, ptr noundef nonnull @.str.80) #12
  %1076 = load i32, ptr %414, align 4, !tbaa !5
  %1077 = call ptr @s2n_strerror_debug(i32 noundef %1076, ptr noundef nonnull @.str.80) #12
  %1078 = load i32, ptr %468, align 4, !tbaa !5
  %1079 = call ptr @strerror(i32 noundef %1078) #12
  %1080 = load i32, ptr %468, align 4, !tbaa !5
  %1081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1072, ptr noundef nonnull %.str.81.sink1286, i32 noundef %1073, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.77, i32 noundef 121, ptr noundef %1075, ptr noundef %1077, ptr noundef %1079, i32 noundef %1080) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1082:                                             ; preds = %1055
  %1083 = add nsw i32 %1056, 2
  store i32 %1083, ptr @test_count, align 4, !tbaa !5
  %1084 = load ptr, ptr %10, align 8, !tbaa !19
  %1085 = icmp eq ptr %1084, null
  br i1 %1085, label %1108, label %1086

1086:                                             ; preds = %1082
  %1087 = load i32, ptr %468, align 4, !tbaa !5
  %1088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1089 = call i32 @s2n_print_stacktrace(ptr noundef %1088) #12
  %1090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1091 = trunc nuw i8 %1090 to i1
  br i1 %1091, label %1092, label %1096

1092:                                             ; preds = %1086
  %1093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1094 = call i32 @fileno(ptr noundef %1093) #12
  %1095 = call i32 @isatty(i32 noundef %1094) #12
  %.not690 = icmp eq i32 %1095, 0
  br i1 %.not690, label %1096, label %1097

1096:                                             ; preds = %1092, %1086
  br label %1097

1097:                                             ; preds = %1092, %1096
  %.str.81.sink1295 = phi ptr [ @.str.81, %1096 ], [ @.str.78, %1092 ]
  store i32 %1087, ptr %468, align 4, !tbaa !5
  %1098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1099 = load i32, ptr @test_count, align 4, !tbaa !5
  %1100 = load i32, ptr %414, align 4, !tbaa !5
  %1101 = call ptr @s2n_strerror(i32 noundef %1100, ptr noundef nonnull @.str.80) #12
  %1102 = load i32, ptr %414, align 4, !tbaa !5
  %1103 = call ptr @s2n_strerror_debug(i32 noundef %1102, ptr noundef nonnull @.str.80) #12
  %1104 = load i32, ptr %468, align 4, !tbaa !5
  %1105 = call ptr @strerror(i32 noundef %1104) #12
  %1106 = load i32, ptr %468, align 4, !tbaa !5
  %1107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1098, ptr noundef nonnull %.str.81.sink1295, i32 noundef %1099, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.77, i32 noundef 122, ptr noundef %1101, ptr noundef %1103, ptr noundef %1105, i32 noundef %1106) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1108:                                             ; preds = %1082
  %1109 = add nsw i32 %1056, 3
  store i32 %1109, ptr @test_count, align 4, !tbaa !5
  %1110 = call i32 @s2n_stuffer_free(ptr noundef nonnull %843) #12
  %1111 = icmp eq i32 %1110, -1
  br i1 %1111, label %1112, label %1134

1112:                                             ; preds = %1108
  %1113 = load i32, ptr %468, align 4, !tbaa !5
  %1114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1115 = call i32 @s2n_print_stacktrace(ptr noundef %1114) #12
  %1116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1117 = trunc nuw i8 %1116 to i1
  br i1 %1117, label %1118, label %1122

1118:                                             ; preds = %1112
  %1119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1120 = call i32 @fileno(ptr noundef %1119) #12
  %1121 = call i32 @isatty(i32 noundef %1120) #12
  %.not920 = icmp eq i32 %1121, 0
  br i1 %.not920, label %1122, label %1123

1122:                                             ; preds = %1118, %1112
  br label %1123

1123:                                             ; preds = %1118, %1122
  %.str.81.sink1304 = phi ptr [ @.str.81, %1122 ], [ @.str.78, %1118 ]
  store i32 %1113, ptr %468, align 4, !tbaa !5
  %1124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1125 = load i32, ptr @test_count, align 4, !tbaa !5
  %1126 = load i32, ptr %414, align 4, !tbaa !5
  %1127 = call ptr @s2n_strerror(i32 noundef %1126, ptr noundef nonnull @.str.80) #12
  %1128 = load i32, ptr %414, align 4, !tbaa !5
  %1129 = call ptr @s2n_strerror_debug(i32 noundef %1128, ptr noundef nonnull @.str.80) #12
  %1130 = load i32, ptr %468, align 4, !tbaa !5
  %1131 = call ptr @strerror(i32 noundef %1130) #12
  %1132 = load i32, ptr %468, align 4, !tbaa !5
  %1133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1124, ptr noundef nonnull %.str.81.sink1304, i32 noundef %1125, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 124, ptr noundef %1127, ptr noundef %1129, ptr noundef %1131, i32 noundef %1132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1134:                                             ; preds = %1108
  %1135 = load i32, ptr @test_count, align 4, !tbaa !5
  %1136 = add nsw i32 %1135, 1
  store i32 %1136, ptr @test_count, align 4, !tbaa !5
  %1137 = call i32 @s2n_connection_free(ptr noundef nonnull %815) #12
  %1138 = icmp eq i32 %1137, -1
  br i1 %1138, label %1139, label %1161

1139:                                             ; preds = %1134
  %1140 = load i32, ptr %468, align 4, !tbaa !5
  %1141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1142 = call i32 @s2n_print_stacktrace(ptr noundef %1141) #12
  %1143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1144 = trunc nuw i8 %1143 to i1
  br i1 %1144, label %1145, label %1149

1145:                                             ; preds = %1139
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = call i32 @fileno(ptr noundef %1146) #12
  %1148 = call i32 @isatty(i32 noundef %1147) #12
  %.not919 = icmp eq i32 %1148, 0
  br i1 %.not919, label %1149, label %1150

1149:                                             ; preds = %1145, %1139
  br label %1150

1150:                                             ; preds = %1145, %1149
  %.str.81.sink1313 = phi ptr [ @.str.81, %1149 ], [ @.str.78, %1145 ]
  store i32 %1140, ptr %468, align 4, !tbaa !5
  %1151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1152 = load i32, ptr @test_count, align 4, !tbaa !5
  %1153 = load i32, ptr %414, align 4, !tbaa !5
  %1154 = call ptr @s2n_strerror(i32 noundef %1153, ptr noundef nonnull @.str.80) #12
  %1155 = load i32, ptr %414, align 4, !tbaa !5
  %1156 = call ptr @s2n_strerror_debug(i32 noundef %1155, ptr noundef nonnull @.str.80) #12
  %1157 = load i32, ptr %468, align 4, !tbaa !5
  %1158 = call ptr @strerror(i32 noundef %1157) #12
  %1159 = load i32, ptr %468, align 4, !tbaa !5
  %1160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1151, ptr noundef nonnull %.str.81.sink1313, i32 noundef %1152, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.77, i32 noundef 125, ptr noundef %1154, ptr noundef %1156, ptr noundef %1158, i32 noundef %1159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1161:                                             ; preds = %1134
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %12, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %13) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %13, i8 0, i64 56, i1 false)
  %1162 = load i32, ptr @test_count, align 4, !tbaa !5
  %1163 = add nsw i32 %1162, 1
  store i32 %1163, ptr @test_count, align 4, !tbaa !5
  %1164 = getelementptr inbounds i8, ptr %13, i64 8
  %1165 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %1164, i32 noundef 0) #12
  %1166 = icmp eq i32 %1165, -1
  br i1 %1166, label %1167, label %1189

1167:                                             ; preds = %1161
  %1168 = load i32, ptr %468, align 4, !tbaa !5
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = call i32 @s2n_print_stacktrace(ptr noundef %1169) #12
  %1171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1172 = trunc nuw i8 %1171 to i1
  br i1 %1172, label %1173, label %1177

1173:                                             ; preds = %1167
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = call i32 @fileno(ptr noundef %1174) #12
  %1176 = call i32 @isatty(i32 noundef %1175) #12
  %.not918 = icmp eq i32 %1176, 0
  br i1 %.not918, label %1177, label %1178

1177:                                             ; preds = %1173, %1167
  br label %1178

1178:                                             ; preds = %1173, %1177
  %.str.81.sink1322 = phi ptr [ @.str.81, %1177 ], [ @.str.78, %1173 ]
  store i32 %1168, ptr %468, align 4, !tbaa !5
  %1179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1180 = load i32, ptr @test_count, align 4, !tbaa !5
  %1181 = load i32, ptr %414, align 4, !tbaa !5
  %1182 = call ptr @s2n_strerror(i32 noundef %1181, ptr noundef nonnull @.str.80) #12
  %1183 = load i32, ptr %414, align 4, !tbaa !5
  %1184 = call ptr @s2n_strerror_debug(i32 noundef %1183, ptr noundef nonnull @.str.80) #12
  %1185 = load i32, ptr %468, align 4, !tbaa !5
  %1186 = call ptr @strerror(i32 noundef %1185) #12
  %1187 = load i32, ptr %468, align 4, !tbaa !5
  %1188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1179, ptr noundef nonnull %.str.81.sink1322, i32 noundef %1180, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 133, ptr noundef %1182, ptr noundef %1184, ptr noundef %1186, i32 noundef %1187) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1189:                                             ; preds = %1161
  %1190 = load i32, ptr @test_count, align 4, !tbaa !5
  %1191 = add nsw i32 %1190, 1
  store i32 %1191, ptr @test_count, align 4, !tbaa !5
  %1192 = call i32 @s2n_write_test_identity(ptr noundef nonnull %1164, ptr noundef nonnull %3, i16 noundef zeroext 0)
  %1193 = call zeroext i1 @s2n_result_is_ok(i32 %1192)
  br i1 %1193, label %1216, label %1194

1194:                                             ; preds = %1189
  %1195 = load i32, ptr %468, align 4, !tbaa !5
  %1196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1197 = call i32 @s2n_print_stacktrace(ptr noundef %1196) #12
  %1198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1199 = trunc nuw i8 %1198 to i1
  br i1 %1199, label %1200, label %1204

1200:                                             ; preds = %1194
  %1201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1202 = call i32 @fileno(ptr noundef %1201) #12
  %1203 = call i32 @isatty(i32 noundef %1202) #12
  %.not691 = icmp eq i32 %1203, 0
  br i1 %.not691, label %1204, label %1205

1204:                                             ; preds = %1200, %1194
  br label %1205

1205:                                             ; preds = %1200, %1204
  %.str.81.sink1331 = phi ptr [ @.str.81, %1204 ], [ @.str.78, %1200 ]
  store i32 %1195, ptr %468, align 4, !tbaa !5
  %1206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1207 = load i32, ptr @test_count, align 4, !tbaa !5
  %1208 = load i32, ptr %414, align 4, !tbaa !5
  %1209 = call ptr @s2n_strerror(i32 noundef %1208, ptr noundef nonnull @.str.80) #12
  %1210 = load i32, ptr %414, align 4, !tbaa !5
  %1211 = call ptr @s2n_strerror_debug(i32 noundef %1210, ptr noundef nonnull @.str.80) #12
  %1212 = load i32, ptr %468, align 4, !tbaa !5
  %1213 = call ptr @strerror(i32 noundef %1212) #12
  %1214 = load i32, ptr %468, align 4, !tbaa !5
  %1215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1206, ptr noundef nonnull %.str.81.sink1331, i32 noundef %1207, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.77, i32 noundef 134, ptr noundef %1209, ptr noundef %1211, ptr noundef %1213, i32 noundef %1214) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1216:                                             ; preds = %1189
  %1217 = load i32, ptr @test_count, align 4, !tbaa !5
  %1218 = add nsw i32 %1217, 1
  store i32 %1218, ptr @test_count, align 4, !tbaa !5
  %1219 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %13, ptr noundef nonnull %12)
  %1220 = icmp eq i32 %1219, -1
  br i1 %1220, label %1243, label %1221

1221:                                             ; preds = %1216
  %1222 = load i32, ptr %468, align 4, !tbaa !5
  %1223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1224 = call i32 @s2n_print_stacktrace(ptr noundef %1223) #12
  %1225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1226 = trunc nuw i8 %1225 to i1
  br i1 %1226, label %1227, label %1231

1227:                                             ; preds = %1221
  %1228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1229 = call i32 @fileno(ptr noundef %1228) #12
  %1230 = call i32 @isatty(i32 noundef %1229) #12
  %.not692 = icmp eq i32 %1230, 0
  br i1 %.not692, label %1231, label %1232

1231:                                             ; preds = %1227, %1221
  br label %1232

1232:                                             ; preds = %1227, %1231
  %.str.81.sink1340 = phi ptr [ @.str.81, %1231 ], [ @.str.78, %1227 ]
  store i32 %1222, ptr %468, align 4, !tbaa !5
  %1233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1234 = load i32, ptr @test_count, align 4, !tbaa !5
  %1235 = load i32, ptr %414, align 4, !tbaa !5
  %1236 = call ptr @s2n_strerror(i32 noundef %1235, ptr noundef nonnull @.str.80) #12
  %1237 = load i32, ptr %414, align 4, !tbaa !5
  %1238 = call ptr @s2n_strerror_debug(i32 noundef %1237, ptr noundef nonnull @.str.80) #12
  %1239 = load i32, ptr %468, align 4, !tbaa !5
  %1240 = call ptr @strerror(i32 noundef %1239) #12
  %1241 = load i32, ptr %468, align 4, !tbaa !5
  %1242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1233, ptr noundef nonnull %.str.81.sink1340, i32 noundef %1234, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.77, i32 noundef 136, ptr noundef %1236, ptr noundef %1238, ptr noundef %1240, i32 noundef %1241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1243:                                             ; preds = %1216
  %1244 = load i32, ptr @test_count, align 4, !tbaa !5
  %1245 = add nsw i32 %1244, 1
  store i32 %1245, ptr @test_count, align 4, !tbaa !5
  %1246 = load i32, ptr %414, align 4, !tbaa !5
  %1247 = icmp eq i32 %1246, 335544322
  br i1 %1247, label %1270, label %1248

1248:                                             ; preds = %1243
  %1249 = load i32, ptr %468, align 4, !tbaa !5
  %1250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1251 = call i32 @s2n_print_stacktrace(ptr noundef %1250) #12
  %1252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1253 = trunc nuw i8 %1252 to i1
  br i1 %1253, label %1254, label %1258

1254:                                             ; preds = %1248
  %1255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1256 = call i32 @fileno(ptr noundef %1255) #12
  %1257 = call i32 @isatty(i32 noundef %1256) #12
  %.not693 = icmp eq i32 %1257, 0
  br i1 %.not693, label %1258, label %1259

1258:                                             ; preds = %1254, %1248
  br label %1259

1259:                                             ; preds = %1254, %1258
  %.str.81.sink1349 = phi ptr [ @.str.81, %1258 ], [ @.str.78, %1254 ]
  store i32 %1249, ptr %468, align 4, !tbaa !5
  %1260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1261 = load i32, ptr @test_count, align 4, !tbaa !5
  %1262 = load i32, ptr %414, align 4, !tbaa !5
  %1263 = call ptr @s2n_strerror(i32 noundef %1262, ptr noundef nonnull @.str.80) #12
  %1264 = load i32, ptr %414, align 4, !tbaa !5
  %1265 = call ptr @s2n_strerror_debug(i32 noundef %1264, ptr noundef nonnull @.str.80) #12
  %1266 = load i32, ptr %468, align 4, !tbaa !5
  %1267 = call ptr @strerror(i32 noundef %1266) #12
  %1268 = load i32, ptr %468, align 4, !tbaa !5
  %1269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1260, ptr noundef nonnull %.str.81.sink1349, i32 noundef %1261, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.77, i32 noundef 136, ptr noundef %1263, ptr noundef %1265, ptr noundef %1267, i32 noundef %1268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1270:                                             ; preds = %1243
  %1271 = add nsw i32 %1244, 2
  store i32 %1271, ptr @test_count, align 4, !tbaa !5
  %1272 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.80) #12
  %1273 = icmp eq ptr %1272, null
  br i1 %1273, label %1274, label %1296

1274:                                             ; preds = %1270
  %1275 = load i32, ptr %468, align 4, !tbaa !5
  %1276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1277 = call i32 @s2n_print_stacktrace(ptr noundef %1276) #12
  %1278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1279 = trunc nuw i8 %1278 to i1
  br i1 %1279, label %1280, label %1284

1280:                                             ; preds = %1274
  %1281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1282 = call i32 @fileno(ptr noundef %1281) #12
  %1283 = call i32 @isatty(i32 noundef %1282) #12
  %.not917 = icmp eq i32 %1283, 0
  br i1 %.not917, label %1284, label %1285

1284:                                             ; preds = %1280, %1274
  br label %1285

1285:                                             ; preds = %1280, %1284
  %.str.81.sink1358 = phi ptr [ @.str.81, %1284 ], [ @.str.78, %1280 ]
  store i32 %1275, ptr %468, align 4, !tbaa !5
  %1286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1287 = load i32, ptr @test_count, align 4, !tbaa !5
  %1288 = load i32, ptr %414, align 4, !tbaa !5
  %1289 = call ptr @s2n_strerror(i32 noundef %1288, ptr noundef nonnull @.str.80) #12
  %1290 = load i32, ptr %414, align 4, !tbaa !5
  %1291 = call ptr @s2n_strerror_debug(i32 noundef %1290, ptr noundef nonnull @.str.80) #12
  %1292 = load i32, ptr %468, align 4, !tbaa !5
  %1293 = call ptr @strerror(i32 noundef %1292) #12
  %1294 = load i32, ptr %468, align 4, !tbaa !5
  %1295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1286, ptr noundef nonnull %.str.81.sink1358, i32 noundef %1287, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 136, ptr noundef %1289, ptr noundef %1291, ptr noundef %1293, i32 noundef %1294) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1296:                                             ; preds = %1270
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %1297 = load i32, ptr @test_count, align 4, !tbaa !5
  %1298 = add nsw i32 %1297, 1
  store i32 %1298, ptr @test_count, align 4, !tbaa !5
  %1299 = getelementptr inbounds i8, ptr %12, i64 8
  %1300 = load i32, ptr %1299, align 8, !tbaa !15
  %1301 = icmp eq i32 %1300, 0
  br i1 %1301, label %1324, label %1302

1302:                                             ; preds = %1296
  %1303 = load i32, ptr %468, align 4, !tbaa !5
  %1304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1305 = call i32 @s2n_print_stacktrace(ptr noundef %1304) #12
  %1306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1307 = trunc nuw i8 %1306 to i1
  br i1 %1307, label %1308, label %1312

1308:                                             ; preds = %1302
  %1309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1310 = call i32 @fileno(ptr noundef %1309) #12
  %1311 = call i32 @isatty(i32 noundef %1310) #12
  %.not694 = icmp eq i32 %1311, 0
  br i1 %.not694, label %1312, label %1313

1312:                                             ; preds = %1308, %1302
  br label %1313

1313:                                             ; preds = %1308, %1312
  %.str.81.sink1367 = phi ptr [ @.str.81, %1312 ], [ @.str.78, %1308 ]
  store i32 %1303, ptr %468, align 4, !tbaa !5
  %1314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1315 = load i32, ptr @test_count, align 4, !tbaa !5
  %1316 = load i32, ptr %414, align 4, !tbaa !5
  %1317 = call ptr @s2n_strerror(i32 noundef %1316, ptr noundef nonnull @.str.80) #12
  %1318 = load i32, ptr %414, align 4, !tbaa !5
  %1319 = call ptr @s2n_strerror_debug(i32 noundef %1318, ptr noundef nonnull @.str.80) #12
  %1320 = load i32, ptr %468, align 4, !tbaa !5
  %1321 = call ptr @strerror(i32 noundef %1320) #12
  %1322 = load i32, ptr %468, align 4, !tbaa !5
  %1323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1314, ptr noundef nonnull %.str.81.sink1367, i32 noundef %1315, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.77, i32 noundef 137, ptr noundef %1317, ptr noundef %1319, ptr noundef %1321, i32 noundef %1322) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1324:                                             ; preds = %1296
  %1325 = add nsw i32 %1297, 2
  store i32 %1325, ptr @test_count, align 4, !tbaa !5
  %1326 = load ptr, ptr %12, align 8, !tbaa !19
  %1327 = icmp eq ptr %1326, null
  br i1 %1327, label %1350, label %1328

1328:                                             ; preds = %1324
  %1329 = load i32, ptr %468, align 4, !tbaa !5
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = call i32 @s2n_print_stacktrace(ptr noundef %1330) #12
  %1332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1333 = trunc nuw i8 %1332 to i1
  br i1 %1333, label %1334, label %1338

1334:                                             ; preds = %1328
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = call i32 @fileno(ptr noundef %1335) #12
  %1337 = call i32 @isatty(i32 noundef %1336) #12
  %.not695 = icmp eq i32 %1337, 0
  br i1 %.not695, label %1338, label %1339

1338:                                             ; preds = %1334, %1328
  br label %1339

1339:                                             ; preds = %1334, %1338
  %.str.81.sink1376 = phi ptr [ @.str.81, %1338 ], [ @.str.78, %1334 ]
  store i32 %1329, ptr %468, align 4, !tbaa !5
  %1340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1341 = load i32, ptr @test_count, align 4, !tbaa !5
  %1342 = load i32, ptr %414, align 4, !tbaa !5
  %1343 = call ptr @s2n_strerror(i32 noundef %1342, ptr noundef nonnull @.str.80) #12
  %1344 = load i32, ptr %414, align 4, !tbaa !5
  %1345 = call ptr @s2n_strerror_debug(i32 noundef %1344, ptr noundef nonnull @.str.80) #12
  %1346 = load i32, ptr %468, align 4, !tbaa !5
  %1347 = call ptr @strerror(i32 noundef %1346) #12
  %1348 = load i32, ptr %468, align 4, !tbaa !5
  %1349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1340, ptr noundef nonnull %.str.81.sink1376, i32 noundef %1341, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.77, i32 noundef 138, ptr noundef %1343, ptr noundef %1345, ptr noundef %1347, i32 noundef %1348) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1350:                                             ; preds = %1324
  %1351 = add nsw i32 %1297, 3
  store i32 %1351, ptr @test_count, align 4, !tbaa !5
  %1352 = call i32 @s2n_stuffer_free(ptr noundef nonnull %1164) #12
  %1353 = icmp eq i32 %1352, -1
  br i1 %1353, label %1354, label %1376

1354:                                             ; preds = %1350
  %1355 = load i32, ptr %468, align 4, !tbaa !5
  %1356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1357 = call i32 @s2n_print_stacktrace(ptr noundef %1356) #12
  %1358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1359 = trunc nuw i8 %1358 to i1
  br i1 %1359, label %1360, label %1364

1360:                                             ; preds = %1354
  %1361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1362 = call i32 @fileno(ptr noundef %1361) #12
  %1363 = call i32 @isatty(i32 noundef %1362) #12
  %.not916 = icmp eq i32 %1363, 0
  br i1 %.not916, label %1364, label %1365

1364:                                             ; preds = %1360, %1354
  br label %1365

1365:                                             ; preds = %1360, %1364
  %.str.81.sink1385 = phi ptr [ @.str.81, %1364 ], [ @.str.78, %1360 ]
  store i32 %1355, ptr %468, align 4, !tbaa !5
  %1366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1367 = load i32, ptr @test_count, align 4, !tbaa !5
  %1368 = load i32, ptr %414, align 4, !tbaa !5
  %1369 = call ptr @s2n_strerror(i32 noundef %1368, ptr noundef nonnull @.str.80) #12
  %1370 = load i32, ptr %414, align 4, !tbaa !5
  %1371 = call ptr @s2n_strerror_debug(i32 noundef %1370, ptr noundef nonnull @.str.80) #12
  %1372 = load i32, ptr %468, align 4, !tbaa !5
  %1373 = call ptr @strerror(i32 noundef %1372) #12
  %1374 = load i32, ptr %468, align 4, !tbaa !5
  %1375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1366, ptr noundef nonnull %.str.81.sink1385, i32 noundef %1367, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 140, ptr noundef %1369, ptr noundef %1371, ptr noundef %1373, i32 noundef %1374) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1376:                                             ; preds = %1350
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %14, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %15) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %15, i8 0, i64 56, i1 false)
  %1377 = load i32, ptr @test_count, align 4, !tbaa !5
  %1378 = add nsw i32 %1377, 1
  store i32 %1378, ptr @test_count, align 4, !tbaa !5
  %1379 = getelementptr inbounds i8, ptr %15, i64 8
  %1380 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %1379, i32 noundef 0) #12
  %1381 = icmp eq i32 %1380, -1
  br i1 %1381, label %1382, label %1404

1382:                                             ; preds = %1376
  %1383 = load i32, ptr %468, align 4, !tbaa !5
  %1384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1385 = call i32 @s2n_print_stacktrace(ptr noundef %1384) #12
  %1386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1387 = trunc nuw i8 %1386 to i1
  br i1 %1387, label %1388, label %1392

1388:                                             ; preds = %1382
  %1389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1390 = call i32 @fileno(ptr noundef %1389) #12
  %1391 = call i32 @isatty(i32 noundef %1390) #12
  %.not915 = icmp eq i32 %1391, 0
  br i1 %.not915, label %1392, label %1393

1392:                                             ; preds = %1388, %1382
  br label %1393

1393:                                             ; preds = %1388, %1392
  %.str.81.sink1394 = phi ptr [ @.str.81, %1392 ], [ @.str.78, %1388 ]
  store i32 %1383, ptr %468, align 4, !tbaa !5
  %1394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1395 = load i32, ptr @test_count, align 4, !tbaa !5
  %1396 = load i32, ptr %414, align 4, !tbaa !5
  %1397 = call ptr @s2n_strerror(i32 noundef %1396, ptr noundef nonnull @.str.80) #12
  %1398 = load i32, ptr %414, align 4, !tbaa !5
  %1399 = call ptr @s2n_strerror_debug(i32 noundef %1398, ptr noundef nonnull @.str.80) #12
  %1400 = load i32, ptr %468, align 4, !tbaa !5
  %1401 = call ptr @strerror(i32 noundef %1400) #12
  %1402 = load i32, ptr %468, align 4, !tbaa !5
  %1403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1394, ptr noundef nonnull %.str.81.sink1394, i32 noundef %1395, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 148, ptr noundef %1397, ptr noundef %1399, ptr noundef %1401, i32 noundef %1402) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1404:                                             ; preds = %1376
  %1405 = load i32, ptr @test_count, align 4, !tbaa !5
  %1406 = add nsw i32 %1405, 1
  store i32 %1406, ptr @test_count, align 4, !tbaa !5
  %1407 = call i32 @s2n_write_test_identity(ptr noundef nonnull %1379, ptr noundef nonnull %3, i16 noundef zeroext 0)
  %1408 = call zeroext i1 @s2n_result_is_ok(i32 %1407)
  br i1 %1408, label %1431, label %1409

1409:                                             ; preds = %1404
  %1410 = load i32, ptr %468, align 4, !tbaa !5
  %1411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1412 = call i32 @s2n_print_stacktrace(ptr noundef %1411) #12
  %1413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1414 = trunc nuw i8 %1413 to i1
  br i1 %1414, label %1415, label %1419

1415:                                             ; preds = %1409
  %1416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1417 = call i32 @fileno(ptr noundef %1416) #12
  %1418 = call i32 @isatty(i32 noundef %1417) #12
  %.not696 = icmp eq i32 %1418, 0
  br i1 %.not696, label %1419, label %1420

1419:                                             ; preds = %1415, %1409
  br label %1420

1420:                                             ; preds = %1415, %1419
  %.str.81.sink1403 = phi ptr [ @.str.81, %1419 ], [ @.str.78, %1415 ]
  store i32 %1410, ptr %468, align 4, !tbaa !5
  %1421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1422 = load i32, ptr @test_count, align 4, !tbaa !5
  %1423 = load i32, ptr %414, align 4, !tbaa !5
  %1424 = call ptr @s2n_strerror(i32 noundef %1423, ptr noundef nonnull @.str.80) #12
  %1425 = load i32, ptr %414, align 4, !tbaa !5
  %1426 = call ptr @s2n_strerror_debug(i32 noundef %1425, ptr noundef nonnull @.str.80) #12
  %1427 = load i32, ptr %468, align 4, !tbaa !5
  %1428 = call ptr @strerror(i32 noundef %1427) #12
  %1429 = load i32, ptr %468, align 4, !tbaa !5
  %1430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1421, ptr noundef nonnull %.str.81.sink1403, i32 noundef %1422, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.77, i32 noundef 149, ptr noundef %1424, ptr noundef %1426, ptr noundef %1428, i32 noundef %1429) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1431:                                             ; preds = %1404
  %1432 = load i32, ptr @test_count, align 4, !tbaa !5
  %1433 = add nsw i32 %1432, 1
  store i32 %1433, ptr @test_count, align 4, !tbaa !5
  %1434 = call i32 @s2n_stuffer_wipe_n(ptr noundef nonnull %1379, i32 noundef 1) #12
  %1435 = icmp eq i32 %1434, -1
  br i1 %1435, label %1436, label %1458

1436:                                             ; preds = %1431
  %1437 = load i32, ptr %468, align 4, !tbaa !5
  %1438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1439 = call i32 @s2n_print_stacktrace(ptr noundef %1438) #12
  %1440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1441 = trunc nuw i8 %1440 to i1
  br i1 %1441, label %1442, label %1446

1442:                                             ; preds = %1436
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1444 = call i32 @fileno(ptr noundef %1443) #12
  %1445 = call i32 @isatty(i32 noundef %1444) #12
  %.not914 = icmp eq i32 %1445, 0
  br i1 %.not914, label %1446, label %1447

1446:                                             ; preds = %1442, %1436
  br label %1447

1447:                                             ; preds = %1442, %1446
  %.str.81.sink1412 = phi ptr [ @.str.81, %1446 ], [ @.str.78, %1442 ]
  store i32 %1437, ptr %468, align 4, !tbaa !5
  %1448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1449 = load i32, ptr @test_count, align 4, !tbaa !5
  %1450 = load i32, ptr %414, align 4, !tbaa !5
  %1451 = call ptr @s2n_strerror(i32 noundef %1450, ptr noundef nonnull @.str.80) #12
  %1452 = load i32, ptr %414, align 4, !tbaa !5
  %1453 = call ptr @s2n_strerror_debug(i32 noundef %1452, ptr noundef nonnull @.str.80) #12
  %1454 = load i32, ptr %468, align 4, !tbaa !5
  %1455 = call ptr @strerror(i32 noundef %1454) #12
  %1456 = load i32, ptr %468, align 4, !tbaa !5
  %1457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1448, ptr noundef nonnull %.str.81.sink1412, i32 noundef %1449, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.77, i32 noundef 150, ptr noundef %1451, ptr noundef %1453, ptr noundef %1455, i32 noundef %1456) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1458:                                             ; preds = %1431
  %1459 = load i32, ptr @test_count, align 4, !tbaa !5
  %1460 = add nsw i32 %1459, 1
  store i32 %1460, ptr @test_count, align 4, !tbaa !5
  %1461 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %15, ptr noundef nonnull %14)
  %1462 = icmp eq i32 %1461, -1
  br i1 %1462, label %1485, label %1463

1463:                                             ; preds = %1458
  %1464 = load i32, ptr %468, align 4, !tbaa !5
  %1465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1466 = call i32 @s2n_print_stacktrace(ptr noundef %1465) #12
  %1467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1468 = trunc nuw i8 %1467 to i1
  br i1 %1468, label %1469, label %1473

1469:                                             ; preds = %1463
  %1470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1471 = call i32 @fileno(ptr noundef %1470) #12
  %1472 = call i32 @isatty(i32 noundef %1471) #12
  %.not697 = icmp eq i32 %1472, 0
  br i1 %.not697, label %1473, label %1474

1473:                                             ; preds = %1469, %1463
  br label %1474

1474:                                             ; preds = %1469, %1473
  %.str.81.sink1421 = phi ptr [ @.str.81, %1473 ], [ @.str.78, %1469 ]
  store i32 %1464, ptr %468, align 4, !tbaa !5
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = load i32, ptr @test_count, align 4, !tbaa !5
  %1477 = load i32, ptr %414, align 4, !tbaa !5
  %1478 = call ptr @s2n_strerror(i32 noundef %1477, ptr noundef nonnull @.str.80) #12
  %1479 = load i32, ptr %414, align 4, !tbaa !5
  %1480 = call ptr @s2n_strerror_debug(i32 noundef %1479, ptr noundef nonnull @.str.80) #12
  %1481 = load i32, ptr %468, align 4, !tbaa !5
  %1482 = call ptr @strerror(i32 noundef %1481) #12
  %1483 = load i32, ptr %468, align 4, !tbaa !5
  %1484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1475, ptr noundef nonnull %.str.81.sink1421, i32 noundef %1476, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.77, i32 noundef 152, ptr noundef %1478, ptr noundef %1480, ptr noundef %1482, i32 noundef %1483) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1485:                                             ; preds = %1458
  %1486 = load i32, ptr @test_count, align 4, !tbaa !5
  %1487 = add nsw i32 %1486, 1
  store i32 %1487, ptr @test_count, align 4, !tbaa !5
  %1488 = load i32, ptr %414, align 4, !tbaa !5
  %1489 = icmp eq i32 %1488, 335544322
  br i1 %1489, label %1512, label %1490

1490:                                             ; preds = %1485
  %1491 = load i32, ptr %468, align 4, !tbaa !5
  %1492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1493 = call i32 @s2n_print_stacktrace(ptr noundef %1492) #12
  %1494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1495 = trunc nuw i8 %1494 to i1
  br i1 %1495, label %1496, label %1500

1496:                                             ; preds = %1490
  %1497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1498 = call i32 @fileno(ptr noundef %1497) #12
  %1499 = call i32 @isatty(i32 noundef %1498) #12
  %.not698 = icmp eq i32 %1499, 0
  br i1 %.not698, label %1500, label %1501

1500:                                             ; preds = %1496, %1490
  br label %1501

1501:                                             ; preds = %1496, %1500
  %.str.81.sink1430 = phi ptr [ @.str.81, %1500 ], [ @.str.78, %1496 ]
  store i32 %1491, ptr %468, align 4, !tbaa !5
  %1502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1503 = load i32, ptr @test_count, align 4, !tbaa !5
  %1504 = load i32, ptr %414, align 4, !tbaa !5
  %1505 = call ptr @s2n_strerror(i32 noundef %1504, ptr noundef nonnull @.str.80) #12
  %1506 = load i32, ptr %414, align 4, !tbaa !5
  %1507 = call ptr @s2n_strerror_debug(i32 noundef %1506, ptr noundef nonnull @.str.80) #12
  %1508 = load i32, ptr %468, align 4, !tbaa !5
  %1509 = call ptr @strerror(i32 noundef %1508) #12
  %1510 = load i32, ptr %468, align 4, !tbaa !5
  %1511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1502, ptr noundef nonnull %.str.81.sink1430, i32 noundef %1503, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.77, i32 noundef 152, ptr noundef %1505, ptr noundef %1507, ptr noundef %1509, i32 noundef %1510) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1512:                                             ; preds = %1485
  %1513 = add nsw i32 %1486, 2
  store i32 %1513, ptr @test_count, align 4, !tbaa !5
  %1514 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.80) #12
  %1515 = icmp eq ptr %1514, null
  br i1 %1515, label %1516, label %1538

1516:                                             ; preds = %1512
  %1517 = load i32, ptr %468, align 4, !tbaa !5
  %1518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1519 = call i32 @s2n_print_stacktrace(ptr noundef %1518) #12
  %1520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1521 = trunc nuw i8 %1520 to i1
  br i1 %1521, label %1522, label %1526

1522:                                             ; preds = %1516
  %1523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1524 = call i32 @fileno(ptr noundef %1523) #12
  %1525 = call i32 @isatty(i32 noundef %1524) #12
  %.not913 = icmp eq i32 %1525, 0
  br i1 %.not913, label %1526, label %1527

1526:                                             ; preds = %1522, %1516
  br label %1527

1527:                                             ; preds = %1522, %1526
  %.str.81.sink1439 = phi ptr [ @.str.81, %1526 ], [ @.str.78, %1522 ]
  store i32 %1517, ptr %468, align 4, !tbaa !5
  %1528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1529 = load i32, ptr @test_count, align 4, !tbaa !5
  %1530 = load i32, ptr %414, align 4, !tbaa !5
  %1531 = call ptr @s2n_strerror(i32 noundef %1530, ptr noundef nonnull @.str.80) #12
  %1532 = load i32, ptr %414, align 4, !tbaa !5
  %1533 = call ptr @s2n_strerror_debug(i32 noundef %1532, ptr noundef nonnull @.str.80) #12
  %1534 = load i32, ptr %468, align 4, !tbaa !5
  %1535 = call ptr @strerror(i32 noundef %1534) #12
  %1536 = load i32, ptr %468, align 4, !tbaa !5
  %1537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1528, ptr noundef nonnull %.str.81.sink1439, i32 noundef %1529, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 152, ptr noundef %1531, ptr noundef %1533, ptr noundef %1535, i32 noundef %1536) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1538:                                             ; preds = %1512
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %1539 = load i32, ptr @test_count, align 4, !tbaa !5
  %1540 = add nsw i32 %1539, 1
  store i32 %1540, ptr @test_count, align 4, !tbaa !5
  %1541 = getelementptr inbounds i8, ptr %14, i64 8
  %1542 = load i32, ptr %1541, align 8, !tbaa !15
  %1543 = icmp eq i32 %1542, 0
  br i1 %1543, label %1566, label %1544

1544:                                             ; preds = %1538
  %1545 = load i32, ptr %468, align 4, !tbaa !5
  %1546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1547 = call i32 @s2n_print_stacktrace(ptr noundef %1546) #12
  %1548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1549 = trunc nuw i8 %1548 to i1
  br i1 %1549, label %1550, label %1554

1550:                                             ; preds = %1544
  %1551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1552 = call i32 @fileno(ptr noundef %1551) #12
  %1553 = call i32 @isatty(i32 noundef %1552) #12
  %.not699 = icmp eq i32 %1553, 0
  br i1 %.not699, label %1554, label %1555

1554:                                             ; preds = %1550, %1544
  br label %1555

1555:                                             ; preds = %1550, %1554
  %.str.81.sink1448 = phi ptr [ @.str.81, %1554 ], [ @.str.78, %1550 ]
  store i32 %1545, ptr %468, align 4, !tbaa !5
  %1556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1557 = load i32, ptr @test_count, align 4, !tbaa !5
  %1558 = load i32, ptr %414, align 4, !tbaa !5
  %1559 = call ptr @s2n_strerror(i32 noundef %1558, ptr noundef nonnull @.str.80) #12
  %1560 = load i32, ptr %414, align 4, !tbaa !5
  %1561 = call ptr @s2n_strerror_debug(i32 noundef %1560, ptr noundef nonnull @.str.80) #12
  %1562 = load i32, ptr %468, align 4, !tbaa !5
  %1563 = call ptr @strerror(i32 noundef %1562) #12
  %1564 = load i32, ptr %468, align 4, !tbaa !5
  %1565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1556, ptr noundef nonnull %.str.81.sink1448, i32 noundef %1557, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.77, i32 noundef 153, ptr noundef %1559, ptr noundef %1561, ptr noundef %1563, i32 noundef %1564) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1566:                                             ; preds = %1538
  %1567 = add nsw i32 %1539, 2
  store i32 %1567, ptr @test_count, align 4, !tbaa !5
  %1568 = load ptr, ptr %14, align 8, !tbaa !19
  %1569 = icmp eq ptr %1568, null
  br i1 %1569, label %1592, label %1570

1570:                                             ; preds = %1566
  %1571 = load i32, ptr %468, align 4, !tbaa !5
  %1572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1573 = call i32 @s2n_print_stacktrace(ptr noundef %1572) #12
  %1574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1575 = trunc nuw i8 %1574 to i1
  br i1 %1575, label %1576, label %1580

1576:                                             ; preds = %1570
  %1577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1578 = call i32 @fileno(ptr noundef %1577) #12
  %1579 = call i32 @isatty(i32 noundef %1578) #12
  %.not700 = icmp eq i32 %1579, 0
  br i1 %.not700, label %1580, label %1581

1580:                                             ; preds = %1576, %1570
  br label %1581

1581:                                             ; preds = %1576, %1580
  %.str.81.sink1457 = phi ptr [ @.str.81, %1580 ], [ @.str.78, %1576 ]
  store i32 %1571, ptr %468, align 4, !tbaa !5
  %1582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1583 = load i32, ptr @test_count, align 4, !tbaa !5
  %1584 = load i32, ptr %414, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror(i32 noundef %1584, ptr noundef nonnull @.str.80) #12
  %1586 = load i32, ptr %414, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror_debug(i32 noundef %1586, ptr noundef nonnull @.str.80) #12
  %1588 = load i32, ptr %468, align 4, !tbaa !5
  %1589 = call ptr @strerror(i32 noundef %1588) #12
  %1590 = load i32, ptr %468, align 4, !tbaa !5
  %1591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1582, ptr noundef nonnull %.str.81.sink1457, i32 noundef %1583, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.77, i32 noundef 154, ptr noundef %1585, ptr noundef %1587, ptr noundef %1589, i32 noundef %1590) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1592:                                             ; preds = %1566
  %1593 = add nsw i32 %1539, 3
  store i32 %1593, ptr @test_count, align 4, !tbaa !5
  %1594 = call i32 @s2n_stuffer_free(ptr noundef nonnull %1379) #12
  %1595 = icmp eq i32 %1594, -1
  br i1 %1595, label %1596, label %1618

1596:                                             ; preds = %1592
  %1597 = load i32, ptr %468, align 4, !tbaa !5
  %1598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1599 = call i32 @s2n_print_stacktrace(ptr noundef %1598) #12
  %1600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1601 = trunc nuw i8 %1600 to i1
  br i1 %1601, label %1602, label %1606

1602:                                             ; preds = %1596
  %1603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1604 = call i32 @fileno(ptr noundef %1603) #12
  %1605 = call i32 @isatty(i32 noundef %1604) #12
  %.not912 = icmp eq i32 %1605, 0
  br i1 %.not912, label %1606, label %1607

1606:                                             ; preds = %1602, %1596
  br label %1607

1607:                                             ; preds = %1602, %1606
  %.str.81.sink1466 = phi ptr [ @.str.81, %1606 ], [ @.str.78, %1602 ]
  store i32 %1597, ptr %468, align 4, !tbaa !5
  %1608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1609 = load i32, ptr @test_count, align 4, !tbaa !5
  %1610 = load i32, ptr %414, align 4, !tbaa !5
  %1611 = call ptr @s2n_strerror(i32 noundef %1610, ptr noundef nonnull @.str.80) #12
  %1612 = load i32, ptr %414, align 4, !tbaa !5
  %1613 = call ptr @s2n_strerror_debug(i32 noundef %1612, ptr noundef nonnull @.str.80) #12
  %1614 = load i32, ptr %468, align 4, !tbaa !5
  %1615 = call ptr @strerror(i32 noundef %1614) #12
  %1616 = load i32, ptr %468, align 4, !tbaa !5
  %1617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1608, ptr noundef nonnull %.str.81.sink1466, i32 noundef %1609, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 156, ptr noundef %1611, ptr noundef %1613, ptr noundef %1615, i32 noundef %1616) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1618:                                             ; preds = %1592
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %16, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %17) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %17, i8 0, i64 56, i1 false)
  %1619 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %1620 = load i32, ptr @test_count, align 4, !tbaa !5
  %1621 = add nsw i32 %1620, 1
  store i32 %1621, ptr @test_count, align 4, !tbaa !5
  %1622 = icmp eq ptr %1619, null
  br i1 %1622, label %1623, label %1645

1623:                                             ; preds = %1618
  %1624 = load i32, ptr %468, align 4, !tbaa !5
  %1625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1626 = call i32 @s2n_print_stacktrace(ptr noundef %1625) #12
  %1627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1628 = trunc nuw i8 %1627 to i1
  br i1 %1628, label %1629, label %1633

1629:                                             ; preds = %1623
  %1630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1631 = call i32 @fileno(ptr noundef %1630) #12
  %1632 = call i32 @isatty(i32 noundef %1631) #12
  %.not911 = icmp eq i32 %1632, 0
  br i1 %.not911, label %1633, label %1634

1633:                                             ; preds = %1629, %1623
  br label %1634

1634:                                             ; preds = %1629, %1633
  %.str.81.sink1475 = phi ptr [ @.str.81, %1633 ], [ @.str.78, %1629 ]
  store i32 %1624, ptr %468, align 4, !tbaa !5
  %1635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1636 = load i32, ptr @test_count, align 4, !tbaa !5
  %1637 = load i32, ptr %414, align 4, !tbaa !5
  %1638 = call ptr @s2n_strerror(i32 noundef %1637, ptr noundef nonnull @.str.80) #12
  %1639 = load i32, ptr %414, align 4, !tbaa !5
  %1640 = call ptr @s2n_strerror_debug(i32 noundef %1639, ptr noundef nonnull @.str.80) #12
  %1641 = load i32, ptr %468, align 4, !tbaa !5
  %1642 = call ptr @strerror(i32 noundef %1641) #12
  %1643 = load i32, ptr %468, align 4, !tbaa !5
  %1644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1635, ptr noundef nonnull %.str.81.sink1475, i32 noundef %1636, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.77, i32 noundef 164, ptr noundef %1638, ptr noundef %1640, ptr noundef %1642, i32 noundef %1643) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1645:                                             ; preds = %1618
  store ptr %1619, ptr %17, align 8, !tbaa !20
  %1646 = add nsw i32 %1620, 2
  store i32 %1646, ptr @test_count, align 4, !tbaa !5
  %1647 = getelementptr inbounds i8, ptr %17, i64 8
  %1648 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %1647, i32 noundef 0) #12
  %1649 = icmp eq i32 %1648, -1
  br i1 %1649, label %1650, label %1672

1650:                                             ; preds = %1645
  %1651 = load i32, ptr %468, align 4, !tbaa !5
  %1652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1653 = call i32 @s2n_print_stacktrace(ptr noundef %1652) #12
  %1654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1655 = trunc nuw i8 %1654 to i1
  br i1 %1655, label %1656, label %1660

1656:                                             ; preds = %1650
  %1657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1658 = call i32 @fileno(ptr noundef %1657) #12
  %1659 = call i32 @isatty(i32 noundef %1658) #12
  %.not910 = icmp eq i32 %1659, 0
  br i1 %.not910, label %1660, label %1661

1660:                                             ; preds = %1656, %1650
  br label %1661

1661:                                             ; preds = %1656, %1660
  %.str.81.sink1484 = phi ptr [ @.str.81, %1660 ], [ @.str.78, %1656 ]
  store i32 %1651, ptr %468, align 4, !tbaa !5
  %1662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1663 = load i32, ptr @test_count, align 4, !tbaa !5
  %1664 = load i32, ptr %414, align 4, !tbaa !5
  %1665 = call ptr @s2n_strerror(i32 noundef %1664, ptr noundef nonnull @.str.80) #12
  %1666 = load i32, ptr %414, align 4, !tbaa !5
  %1667 = call ptr @s2n_strerror_debug(i32 noundef %1666, ptr noundef nonnull @.str.80) #12
  %1668 = load i32, ptr %468, align 4, !tbaa !5
  %1669 = call ptr @strerror(i32 noundef %1668) #12
  %1670 = load i32, ptr %468, align 4, !tbaa !5
  %1671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1662, ptr noundef nonnull %.str.81.sink1484, i32 noundef %1663, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 167, ptr noundef %1665, ptr noundef %1667, ptr noundef %1669, i32 noundef %1670) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1672:                                             ; preds = %1645
  %1673 = load i32, ptr @test_count, align 4, !tbaa !5
  %1674 = add nsw i32 %1673, 1
  store i32 %1674, ptr @test_count, align 4, !tbaa !5
  %1675 = call i32 @s2n_write_test_identity(ptr noundef nonnull %1647, ptr noundef nonnull %3, i16 noundef zeroext 4)
  %1676 = call zeroext i1 @s2n_result_is_ok(i32 %1675)
  br i1 %1676, label %1699, label %1677

1677:                                             ; preds = %1672
  %1678 = load i32, ptr %468, align 4, !tbaa !5
  %1679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1680 = call i32 @s2n_print_stacktrace(ptr noundef %1679) #12
  %1681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1682 = trunc nuw i8 %1681 to i1
  br i1 %1682, label %1683, label %1687

1683:                                             ; preds = %1677
  %1684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1685 = call i32 @fileno(ptr noundef %1684) #12
  %1686 = call i32 @isatty(i32 noundef %1685) #12
  %.not701 = icmp eq i32 %1686, 0
  br i1 %.not701, label %1687, label %1688

1687:                                             ; preds = %1683, %1677
  br label %1688

1688:                                             ; preds = %1683, %1687
  %.str.81.sink1493 = phi ptr [ @.str.81, %1687 ], [ @.str.78, %1683 ]
  store i32 %1678, ptr %468, align 4, !tbaa !5
  %1689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1690 = load i32, ptr @test_count, align 4, !tbaa !5
  %1691 = load i32, ptr %414, align 4, !tbaa !5
  %1692 = call ptr @s2n_strerror(i32 noundef %1691, ptr noundef nonnull @.str.80) #12
  %1693 = load i32, ptr %414, align 4, !tbaa !5
  %1694 = call ptr @s2n_strerror_debug(i32 noundef %1693, ptr noundef nonnull @.str.80) #12
  %1695 = load i32, ptr %468, align 4, !tbaa !5
  %1696 = call ptr @strerror(i32 noundef %1695) #12
  %1697 = load i32, ptr %468, align 4, !tbaa !5
  %1698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1689, ptr noundef nonnull %.str.81.sink1493, i32 noundef %1690, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.77, i32 noundef 168, ptr noundef %1692, ptr noundef %1694, ptr noundef %1696, i32 noundef %1697) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1699:                                             ; preds = %1672
  %1700 = load i32, ptr @test_count, align 4, !tbaa !5
  %1701 = add nsw i32 %1700, 1
  store i32 %1701, ptr @test_count, align 4, !tbaa !5
  %1702 = call i32 @s2n_write_test_identity(ptr noundef nonnull %1647, ptr noundef nonnull %4, i16 noundef zeroext 4)
  %1703 = call zeroext i1 @s2n_result_is_ok(i32 %1702)
  br i1 %1703, label %1726, label %1704

1704:                                             ; preds = %1699
  %1705 = load i32, ptr %468, align 4, !tbaa !5
  %1706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1707 = call i32 @s2n_print_stacktrace(ptr noundef %1706) #12
  %1708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1709 = trunc nuw i8 %1708 to i1
  br i1 %1709, label %1710, label %1714

1710:                                             ; preds = %1704
  %1711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1712 = call i32 @fileno(ptr noundef %1711) #12
  %1713 = call i32 @isatty(i32 noundef %1712) #12
  %.not702 = icmp eq i32 %1713, 0
  br i1 %.not702, label %1714, label %1715

1714:                                             ; preds = %1710, %1704
  br label %1715

1715:                                             ; preds = %1710, %1714
  %.str.81.sink1502 = phi ptr [ @.str.81, %1714 ], [ @.str.78, %1710 ]
  store i32 %1705, ptr %468, align 4, !tbaa !5
  %1716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1717 = load i32, ptr @test_count, align 4, !tbaa !5
  %1718 = load i32, ptr %414, align 4, !tbaa !5
  %1719 = call ptr @s2n_strerror(i32 noundef %1718, ptr noundef nonnull @.str.80) #12
  %1720 = load i32, ptr %414, align 4, !tbaa !5
  %1721 = call ptr @s2n_strerror_debug(i32 noundef %1720, ptr noundef nonnull @.str.80) #12
  %1722 = load i32, ptr %468, align 4, !tbaa !5
  %1723 = call ptr @strerror(i32 noundef %1722) #12
  %1724 = load i32, ptr %468, align 4, !tbaa !5
  %1725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1716, ptr noundef nonnull %.str.81.sink1502, i32 noundef %1717, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.77, i32 noundef 169, ptr noundef %1719, ptr noundef %1721, ptr noundef %1723, i32 noundef %1724) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1726:                                             ; preds = %1699
  %1727 = load i32, ptr @test_count, align 4, !tbaa !5
  %1728 = add nsw i32 %1727, 1
  store i32 %1728, ptr @test_count, align 4, !tbaa !5
  %1729 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %17, ptr noundef nonnull %16)
  %1730 = icmp eq i32 %1729, -1
  br i1 %1730, label %1731, label %1753

1731:                                             ; preds = %1726
  %1732 = load i32, ptr %468, align 4, !tbaa !5
  %1733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1734 = call i32 @s2n_print_stacktrace(ptr noundef %1733) #12
  %1735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1736 = trunc nuw i8 %1735 to i1
  br i1 %1736, label %1737, label %1741

1737:                                             ; preds = %1731
  %1738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1739 = call i32 @fileno(ptr noundef %1738) #12
  %1740 = call i32 @isatty(i32 noundef %1739) #12
  %.not909 = icmp eq i32 %1740, 0
  br i1 %.not909, label %1741, label %1742

1741:                                             ; preds = %1737, %1731
  br label %1742

1742:                                             ; preds = %1737, %1741
  %.str.81.sink1511 = phi ptr [ @.str.81, %1741 ], [ @.str.78, %1737 ]
  store i32 %1732, ptr %468, align 4, !tbaa !5
  %1743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1744 = load i32, ptr @test_count, align 4, !tbaa !5
  %1745 = load i32, ptr %414, align 4, !tbaa !5
  %1746 = call ptr @s2n_strerror(i32 noundef %1745, ptr noundef nonnull @.str.80) #12
  %1747 = load i32, ptr %414, align 4, !tbaa !5
  %1748 = call ptr @s2n_strerror_debug(i32 noundef %1747, ptr noundef nonnull @.str.80) #12
  %1749 = load i32, ptr %468, align 4, !tbaa !5
  %1750 = call ptr @strerror(i32 noundef %1749) #12
  %1751 = load i32, ptr %468, align 4, !tbaa !5
  %1752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1743, ptr noundef nonnull %.str.81.sink1511, i32 noundef %1744, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 171, ptr noundef %1746, ptr noundef %1748, ptr noundef %1750, i32 noundef %1751) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1753:                                             ; preds = %1726
  %1754 = load i32, ptr @test_count, align 4, !tbaa !5
  %1755 = add nsw i32 %1754, 1
  store i32 %1755, ptr @test_count, align 4, !tbaa !5
  %1756 = getelementptr inbounds i8, ptr %16, i64 8
  %1757 = load i32, ptr %1756, align 8, !tbaa !15
  %1758 = icmp eq i32 %1757, 4
  br i1 %1758, label %1781, label %1759

1759:                                             ; preds = %1753
  %1760 = load i32, ptr %468, align 4, !tbaa !5
  %1761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1762 = call i32 @s2n_print_stacktrace(ptr noundef %1761) #12
  %1763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1764 = trunc nuw i8 %1763 to i1
  br i1 %1764, label %1765, label %1769

1765:                                             ; preds = %1759
  %1766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1767 = call i32 @fileno(ptr noundef %1766) #12
  %1768 = call i32 @isatty(i32 noundef %1767) #12
  %.not703 = icmp eq i32 %1768, 0
  br i1 %.not703, label %1769, label %1770

1769:                                             ; preds = %1765, %1759
  br label %1770

1770:                                             ; preds = %1765, %1769
  %.str.81.sink1520 = phi ptr [ @.str.81, %1769 ], [ @.str.78, %1765 ]
  store i32 %1760, ptr %468, align 4, !tbaa !5
  %1771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1772 = load i32, ptr @test_count, align 4, !tbaa !5
  %1773 = load i32, ptr %414, align 4, !tbaa !5
  %1774 = call ptr @s2n_strerror(i32 noundef %1773, ptr noundef nonnull @.str.80) #12
  %1775 = load i32, ptr %414, align 4, !tbaa !5
  %1776 = call ptr @s2n_strerror_debug(i32 noundef %1775, ptr noundef nonnull @.str.80) #12
  %1777 = load i32, ptr %468, align 4, !tbaa !5
  %1778 = call ptr @strerror(i32 noundef %1777) #12
  %1779 = load i32, ptr %468, align 4, !tbaa !5
  %1780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1771, ptr noundef nonnull %.str.81.sink1520, i32 noundef %1772, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.77, i32 noundef 172, ptr noundef %1774, ptr noundef %1776, ptr noundef %1778, i32 noundef %1779) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1781:                                             ; preds = %1753
  %1782 = add nsw i32 %1754, 2
  store i32 %1782, ptr @test_count, align 4, !tbaa !5
  %1783 = load ptr, ptr %16, align 8, !tbaa !19
  %bcmp704 = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %1783, ptr noundef nonnull dereferenceable(4) %3, i64 4)
  %1784 = icmp eq i32 %bcmp704, 0
  br i1 %1784, label %1807, label %1785

1785:                                             ; preds = %1781
  %1786 = load i32, ptr %468, align 4, !tbaa !5
  %1787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1788 = call i32 @s2n_print_stacktrace(ptr noundef %1787) #12
  %1789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1790 = trunc nuw i8 %1789 to i1
  br i1 %1790, label %1791, label %1795

1791:                                             ; preds = %1785
  %1792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1793 = call i32 @fileno(ptr noundef %1792) #12
  %1794 = call i32 @isatty(i32 noundef %1793) #12
  %.not705 = icmp eq i32 %1794, 0
  br i1 %.not705, label %1795, label %1796

1795:                                             ; preds = %1791, %1785
  br label %1796

1796:                                             ; preds = %1791, %1795
  %.str.81.sink1529 = phi ptr [ @.str.81, %1795 ], [ @.str.78, %1791 ]
  store i32 %1786, ptr %468, align 4, !tbaa !5
  %1797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1798 = load i32, ptr @test_count, align 4, !tbaa !5
  %1799 = load i32, ptr %414, align 4, !tbaa !5
  %1800 = call ptr @s2n_strerror(i32 noundef %1799, ptr noundef nonnull @.str.80) #12
  %1801 = load i32, ptr %414, align 4, !tbaa !5
  %1802 = call ptr @s2n_strerror_debug(i32 noundef %1801, ptr noundef nonnull @.str.80) #12
  %1803 = load i32, ptr %468, align 4, !tbaa !5
  %1804 = call ptr @strerror(i32 noundef %1803) #12
  %1805 = load i32, ptr %468, align 4, !tbaa !5
  %1806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1797, ptr noundef nonnull %.str.81.sink1529, i32 noundef %1798, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.77, i32 noundef 173, ptr noundef %1800, ptr noundef %1802, ptr noundef %1804, i32 noundef %1805) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1807:                                             ; preds = %1781
  %1808 = add nsw i32 %1754, 3
  store i32 %1808, ptr @test_count, align 4, !tbaa !5
  %1809 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %17, ptr noundef nonnull %16)
  %1810 = icmp eq i32 %1809, -1
  br i1 %1810, label %1811, label %1833

1811:                                             ; preds = %1807
  %1812 = load i32, ptr %468, align 4, !tbaa !5
  %1813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1814 = call i32 @s2n_print_stacktrace(ptr noundef %1813) #12
  %1815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1816 = trunc nuw i8 %1815 to i1
  br i1 %1816, label %1817, label %1821

1817:                                             ; preds = %1811
  %1818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1819 = call i32 @fileno(ptr noundef %1818) #12
  %1820 = call i32 @isatty(i32 noundef %1819) #12
  %.not908 = icmp eq i32 %1820, 0
  br i1 %.not908, label %1821, label %1822

1821:                                             ; preds = %1817, %1811
  br label %1822

1822:                                             ; preds = %1817, %1821
  %.str.81.sink1538 = phi ptr [ @.str.81, %1821 ], [ @.str.78, %1817 ]
  store i32 %1812, ptr %468, align 4, !tbaa !5
  %1823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1824 = load i32, ptr @test_count, align 4, !tbaa !5
  %1825 = load i32, ptr %414, align 4, !tbaa !5
  %1826 = call ptr @s2n_strerror(i32 noundef %1825, ptr noundef nonnull @.str.80) #12
  %1827 = load i32, ptr %414, align 4, !tbaa !5
  %1828 = call ptr @s2n_strerror_debug(i32 noundef %1827, ptr noundef nonnull @.str.80) #12
  %1829 = load i32, ptr %468, align 4, !tbaa !5
  %1830 = call ptr @strerror(i32 noundef %1829) #12
  %1831 = load i32, ptr %468, align 4, !tbaa !5
  %1832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1823, ptr noundef nonnull %.str.81.sink1538, i32 noundef %1824, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 175, ptr noundef %1826, ptr noundef %1828, ptr noundef %1830, i32 noundef %1831) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1833:                                             ; preds = %1807
  %1834 = load i32, ptr @test_count, align 4, !tbaa !5
  %1835 = add nsw i32 %1834, 1
  store i32 %1835, ptr @test_count, align 4, !tbaa !5
  %1836 = load i32, ptr %1756, align 8, !tbaa !15
  %1837 = icmp eq i32 %1836, 4
  br i1 %1837, label %1860, label %1838

1838:                                             ; preds = %1833
  %1839 = load i32, ptr %468, align 4, !tbaa !5
  %1840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1841 = call i32 @s2n_print_stacktrace(ptr noundef %1840) #12
  %1842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1843 = trunc nuw i8 %1842 to i1
  br i1 %1843, label %1844, label %1848

1844:                                             ; preds = %1838
  %1845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1846 = call i32 @fileno(ptr noundef %1845) #12
  %1847 = call i32 @isatty(i32 noundef %1846) #12
  %.not706 = icmp eq i32 %1847, 0
  br i1 %.not706, label %1848, label %1849

1848:                                             ; preds = %1844, %1838
  br label %1849

1849:                                             ; preds = %1844, %1848
  %.str.81.sink1547 = phi ptr [ @.str.81, %1848 ], [ @.str.78, %1844 ]
  store i32 %1839, ptr %468, align 4, !tbaa !5
  %1850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1851 = load i32, ptr @test_count, align 4, !tbaa !5
  %1852 = load i32, ptr %414, align 4, !tbaa !5
  %1853 = call ptr @s2n_strerror(i32 noundef %1852, ptr noundef nonnull @.str.80) #12
  %1854 = load i32, ptr %414, align 4, !tbaa !5
  %1855 = call ptr @s2n_strerror_debug(i32 noundef %1854, ptr noundef nonnull @.str.80) #12
  %1856 = load i32, ptr %468, align 4, !tbaa !5
  %1857 = call ptr @strerror(i32 noundef %1856) #12
  %1858 = load i32, ptr %468, align 4, !tbaa !5
  %1859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1850, ptr noundef nonnull %.str.81.sink1547, i32 noundef %1851, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.77, i32 noundef 176, ptr noundef %1853, ptr noundef %1855, ptr noundef %1857, i32 noundef %1858) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1860:                                             ; preds = %1833
  %1861 = add nsw i32 %1834, 2
  store i32 %1861, ptr @test_count, align 4, !tbaa !5
  %1862 = load ptr, ptr %16, align 8, !tbaa !19
  %bcmp707 = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %1862, ptr noundef nonnull dereferenceable(4) %4, i64 4)
  %1863 = icmp eq i32 %bcmp707, 0
  br i1 %1863, label %1886, label %1864

1864:                                             ; preds = %1860
  %1865 = load i32, ptr %468, 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
  %.not708 = icmp eq i32 %1873, 0
  br i1 %.not708, label %1874, label %1875

1874:                                             ; preds = %1870, %1864
  br label %1875

1875:                                             ; preds = %1870, %1874
  %.str.81.sink1556 = phi ptr [ @.str.81, %1874 ], [ @.str.78, %1870 ]
  store i32 %1865, ptr %468, 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 %414, align 4, !tbaa !5
  %1879 = call ptr @s2n_strerror(i32 noundef %1878, ptr noundef nonnull @.str.80) #12
  %1880 = load i32, ptr %414, align 4, !tbaa !5
  %1881 = call ptr @s2n_strerror_debug(i32 noundef %1880, ptr noundef nonnull @.str.80) #12
  %1882 = load i32, ptr %468, align 4, !tbaa !5
  %1883 = call ptr @strerror(i32 noundef %1882) #12
  %1884 = load i32, ptr %468, align 4, !tbaa !5
  %1885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1876, ptr noundef nonnull %.str.81.sink1556, i32 noundef %1877, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.77, i32 noundef 177, ptr noundef %1879, ptr noundef %1881, ptr noundef %1883, i32 noundef %1884) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1886:                                             ; preds = %1860
  %1887 = add nsw i32 %1834, 3
  store i32 %1887, ptr @test_count, align 4, !tbaa !5
  %1888 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %17, ptr noundef nonnull %16)
  %1889 = icmp eq i32 %1888, -1
  br i1 %1889, label %1912, label %1890

1890:                                             ; preds = %1886
  %1891 = load i32, ptr %468, align 4, !tbaa !5
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = call i32 @s2n_print_stacktrace(ptr noundef %1892) #12
  %1894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1895 = trunc nuw i8 %1894 to i1
  br i1 %1895, label %1896, label %1900

1896:                                             ; preds = %1890
  %1897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1898 = call i32 @fileno(ptr noundef %1897) #12
  %1899 = call i32 @isatty(i32 noundef %1898) #12
  %.not709 = icmp eq i32 %1899, 0
  br i1 %.not709, label %1900, label %1901

1900:                                             ; preds = %1896, %1890
  br label %1901

1901:                                             ; preds = %1896, %1900
  %.str.81.sink1565 = phi ptr [ @.str.81, %1900 ], [ @.str.78, %1896 ]
  store i32 %1891, ptr %468, align 4, !tbaa !5
  %1902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1903 = load i32, ptr @test_count, align 4, !tbaa !5
  %1904 = load i32, ptr %414, align 4, !tbaa !5
  %1905 = call ptr @s2n_strerror(i32 noundef %1904, ptr noundef nonnull @.str.80) #12
  %1906 = load i32, ptr %414, align 4, !tbaa !5
  %1907 = call ptr @s2n_strerror_debug(i32 noundef %1906, ptr noundef nonnull @.str.80) #12
  %1908 = load i32, ptr %468, align 4, !tbaa !5
  %1909 = call ptr @strerror(i32 noundef %1908) #12
  %1910 = load i32, ptr %468, align 4, !tbaa !5
  %1911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1902, ptr noundef nonnull %.str.81.sink1565, i32 noundef %1903, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.77, i32 noundef 179, ptr noundef %1905, ptr noundef %1907, ptr noundef %1909, i32 noundef %1910) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1912:                                             ; preds = %1886
  %1913 = load i32, ptr @test_count, align 4, !tbaa !5
  %1914 = add nsw i32 %1913, 1
  store i32 %1914, ptr @test_count, align 4, !tbaa !5
  %1915 = load i32, ptr %414, align 4, !tbaa !5
  %1916 = icmp eq i32 %1915, 402653201
  br i1 %1916, label %1939, label %1917

1917:                                             ; preds = %1912
  %1918 = load i32, ptr %468, align 4, !tbaa !5
  %1919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1920 = call i32 @s2n_print_stacktrace(ptr noundef %1919) #12
  %1921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1922 = trunc nuw i8 %1921 to i1
  br i1 %1922, label %1923, label %1927

1923:                                             ; preds = %1917
  %1924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1925 = call i32 @fileno(ptr noundef %1924) #12
  %1926 = call i32 @isatty(i32 noundef %1925) #12
  %.not710 = icmp eq i32 %1926, 0
  br i1 %.not710, label %1927, label %1928

1927:                                             ; preds = %1923, %1917
  br label %1928

1928:                                             ; preds = %1923, %1927
  %.str.81.sink1574 = phi ptr [ @.str.81, %1927 ], [ @.str.78, %1923 ]
  store i32 %1918, ptr %468, align 4, !tbaa !5
  %1929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1930 = load i32, ptr @test_count, align 4, !tbaa !5
  %1931 = load i32, ptr %414, align 4, !tbaa !5
  %1932 = call ptr @s2n_strerror(i32 noundef %1931, ptr noundef nonnull @.str.80) #12
  %1933 = load i32, ptr %414, align 4, !tbaa !5
  %1934 = call ptr @s2n_strerror_debug(i32 noundef %1933, ptr noundef nonnull @.str.80) #12
  %1935 = load i32, ptr %468, align 4, !tbaa !5
  %1936 = call ptr @strerror(i32 noundef %1935) #12
  %1937 = load i32, ptr %468, align 4, !tbaa !5
  %1938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1929, ptr noundef nonnull %.str.81.sink1574, i32 noundef %1930, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.77, i32 noundef 179, ptr noundef %1932, ptr noundef %1934, ptr noundef %1936, i32 noundef %1937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1939:                                             ; preds = %1912
  %1940 = add nsw i32 %1913, 2
  store i32 %1940, ptr @test_count, align 4, !tbaa !5
  %1941 = call ptr @s2n_strerror_debug(i32 noundef 402653201, ptr noundef nonnull @.str.80) #12
  %1942 = icmp eq ptr %1941, null
  br i1 %1942, label %1943, label %1965

1943:                                             ; preds = %1939
  %1944 = load i32, ptr %468, align 4, !tbaa !5
  %1945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1946 = call i32 @s2n_print_stacktrace(ptr noundef %1945) #12
  %1947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1948 = trunc nuw i8 %1947 to i1
  br i1 %1948, label %1949, label %1953

1949:                                             ; preds = %1943
  %1950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1951 = call i32 @fileno(ptr noundef %1950) #12
  %1952 = call i32 @isatty(i32 noundef %1951) #12
  %.not907 = icmp eq i32 %1952, 0
  br i1 %.not907, label %1953, label %1954

1953:                                             ; preds = %1949, %1943
  br label %1954

1954:                                             ; preds = %1949, %1953
  %.str.81.sink1583 = phi ptr [ @.str.81, %1953 ], [ @.str.78, %1949 ]
  store i32 %1944, ptr %468, align 4, !tbaa !5
  %1955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1956 = load i32, ptr @test_count, align 4, !tbaa !5
  %1957 = load i32, ptr %414, align 4, !tbaa !5
  %1958 = call ptr @s2n_strerror(i32 noundef %1957, ptr noundef nonnull @.str.80) #12
  %1959 = load i32, ptr %414, align 4, !tbaa !5
  %1960 = call ptr @s2n_strerror_debug(i32 noundef %1959, ptr noundef nonnull @.str.80) #12
  %1961 = load i32, ptr %468, align 4, !tbaa !5
  %1962 = call ptr @strerror(i32 noundef %1961) #12
  %1963 = load i32, ptr %468, align 4, !tbaa !5
  %1964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1955, ptr noundef nonnull %.str.81.sink1583, i32 noundef %1956, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 179, ptr noundef %1958, ptr noundef %1960, ptr noundef %1962, i32 noundef %1963) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1965:                                             ; preds = %1939
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %1966 = load i32, ptr @test_count, align 4, !tbaa !5
  %1967 = add nsw i32 %1966, 1
  store i32 %1967, ptr @test_count, align 4, !tbaa !5
  %1968 = load i32, ptr %1756, align 8, !tbaa !15
  %1969 = icmp eq i32 %1968, 0
  br i1 %1969, label %1992, label %1970

1970:                                             ; preds = %1965
  %1971 = load i32, ptr %468, align 4, !tbaa !5
  %1972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1973 = call i32 @s2n_print_stacktrace(ptr noundef %1972) #12
  %1974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1975 = trunc nuw i8 %1974 to i1
  br i1 %1975, label %1976, label %1980

1976:                                             ; preds = %1970
  %1977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1978 = call i32 @fileno(ptr noundef %1977) #12
  %1979 = call i32 @isatty(i32 noundef %1978) #12
  %.not711 = icmp eq i32 %1979, 0
  br i1 %.not711, label %1980, label %1981

1980:                                             ; preds = %1976, %1970
  br label %1981

1981:                                             ; preds = %1976, %1980
  %.str.81.sink1592 = phi ptr [ @.str.81, %1980 ], [ @.str.78, %1976 ]
  store i32 %1971, ptr %468, align 4, !tbaa !5
  %1982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1983 = load i32, ptr @test_count, align 4, !tbaa !5
  %1984 = load i32, ptr %414, align 4, !tbaa !5
  %1985 = call ptr @s2n_strerror(i32 noundef %1984, ptr noundef nonnull @.str.80) #12
  %1986 = load i32, ptr %414, align 4, !tbaa !5
  %1987 = call ptr @s2n_strerror_debug(i32 noundef %1986, ptr noundef nonnull @.str.80) #12
  %1988 = load i32, ptr %468, align 4, !tbaa !5
  %1989 = call ptr @strerror(i32 noundef %1988) #12
  %1990 = load i32, ptr %468, align 4, !tbaa !5
  %1991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1982, ptr noundef nonnull %.str.81.sink1592, i32 noundef %1983, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.77, i32 noundef 180, ptr noundef %1985, ptr noundef %1987, ptr noundef %1989, i32 noundef %1990) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1992:                                             ; preds = %1965
  %1993 = add nsw i32 %1966, 2
  store i32 %1993, ptr @test_count, align 4, !tbaa !5
  %1994 = load ptr, ptr %16, align 8, !tbaa !19
  %1995 = icmp eq ptr %1994, null
  br i1 %1995, label %2018, label %1996

1996:                                             ; preds = %1992
  %1997 = load i32, ptr %468, align 4, !tbaa !5
  %1998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1999 = call i32 @s2n_print_stacktrace(ptr noundef %1998) #12
  %2000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2001 = trunc nuw i8 %2000 to i1
  br i1 %2001, label %2002, label %2006

2002:                                             ; preds = %1996
  %2003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2004 = call i32 @fileno(ptr noundef %2003) #12
  %2005 = call i32 @isatty(i32 noundef %2004) #12
  %.not712 = icmp eq i32 %2005, 0
  br i1 %.not712, label %2006, label %2007

2006:                                             ; preds = %2002, %1996
  br label %2007

2007:                                             ; preds = %2002, %2006
  %.str.81.sink1601 = phi ptr [ @.str.81, %2006 ], [ @.str.78, %2002 ]
  store i32 %1997, ptr %468, align 4, !tbaa !5
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = load i32, ptr @test_count, align 4, !tbaa !5
  %2010 = load i32, ptr %414, align 4, !tbaa !5
  %2011 = call ptr @s2n_strerror(i32 noundef %2010, ptr noundef nonnull @.str.80) #12
  %2012 = load i32, ptr %414, align 4, !tbaa !5
  %2013 = call ptr @s2n_strerror_debug(i32 noundef %2012, ptr noundef nonnull @.str.80) #12
  %2014 = load i32, ptr %468, align 4, !tbaa !5
  %2015 = call ptr @strerror(i32 noundef %2014) #12
  %2016 = load i32, ptr %468, align 4, !tbaa !5
  %2017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2008, ptr noundef nonnull %.str.81.sink1601, i32 noundef %2009, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.77, i32 noundef 181, ptr noundef %2011, ptr noundef %2013, ptr noundef %2015, i32 noundef %2016) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2018:                                             ; preds = %1992
  %2019 = add nsw i32 %1966, 3
  store i32 %2019, ptr @test_count, align 4, !tbaa !5
  %2020 = call i32 @s2n_stuffer_free(ptr noundef nonnull %1647) #12
  %2021 = icmp eq i32 %2020, -1
  br i1 %2021, label %2022, label %2044

2022:                                             ; preds = %2018
  %2023 = load i32, ptr %468, align 4, !tbaa !5
  %2024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2025 = call i32 @s2n_print_stacktrace(ptr noundef %2024) #12
  %2026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2027 = trunc nuw i8 %2026 to i1
  br i1 %2027, label %2028, label %2032

2028:                                             ; preds = %2022
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = call i32 @fileno(ptr noundef %2029) #12
  %2031 = call i32 @isatty(i32 noundef %2030) #12
  %.not906 = icmp eq i32 %2031, 0
  br i1 %.not906, label %2032, label %2033

2032:                                             ; preds = %2028, %2022
  br label %2033

2033:                                             ; preds = %2028, %2032
  %.str.81.sink1610 = phi ptr [ @.str.81, %2032 ], [ @.str.78, %2028 ]
  store i32 %2023, ptr %468, align 4, !tbaa !5
  %2034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2035 = load i32, ptr @test_count, align 4, !tbaa !5
  %2036 = load i32, ptr %414, align 4, !tbaa !5
  %2037 = call ptr @s2n_strerror(i32 noundef %2036, ptr noundef nonnull @.str.80) #12
  %2038 = load i32, ptr %414, align 4, !tbaa !5
  %2039 = call ptr @s2n_strerror_debug(i32 noundef %2038, ptr noundef nonnull @.str.80) #12
  %2040 = load i32, ptr %468, align 4, !tbaa !5
  %2041 = call ptr @strerror(i32 noundef %2040) #12
  %2042 = load i32, ptr %468, align 4, !tbaa !5
  %2043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2034, ptr noundef nonnull %.str.81.sink1610, i32 noundef %2035, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 183, ptr noundef %2037, ptr noundef %2039, ptr noundef %2041, i32 noundef %2042) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2044:                                             ; preds = %2018
  %2045 = load i32, ptr @test_count, align 4, !tbaa !5
  %2046 = add nsw i32 %2045, 1
  store i32 %2046, ptr @test_count, align 4, !tbaa !5
  %2047 = call i32 @s2n_connection_free(ptr noundef nonnull %1619) #12
  %2048 = icmp eq i32 %2047, -1
  br i1 %2048, label %2049, label %2071

2049:                                             ; preds = %2044
  %2050 = load i32, ptr %468, align 4, !tbaa !5
  %2051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2052 = call i32 @s2n_print_stacktrace(ptr noundef %2051) #12
  %2053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2054 = trunc nuw i8 %2053 to i1
  br i1 %2054, label %2055, label %2059

2055:                                             ; preds = %2049
  %2056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2057 = call i32 @fileno(ptr noundef %2056) #12
  %2058 = call i32 @isatty(i32 noundef %2057) #12
  %.not905 = icmp eq i32 %2058, 0
  br i1 %.not905, label %2059, label %2060

2059:                                             ; preds = %2055, %2049
  br label %2060

2060:                                             ; preds = %2055, %2059
  %.str.81.sink1619 = phi ptr [ @.str.81, %2059 ], [ @.str.78, %2055 ]
  store i32 %2050, ptr %468, align 4, !tbaa !5
  %2061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2062 = load i32, ptr @test_count, align 4, !tbaa !5
  %2063 = load i32, ptr %414, align 4, !tbaa !5
  %2064 = call ptr @s2n_strerror(i32 noundef %2063, ptr noundef nonnull @.str.80) #12
  %2065 = load i32, ptr %414, align 4, !tbaa !5
  %2066 = call ptr @s2n_strerror_debug(i32 noundef %2065, ptr noundef nonnull @.str.80) #12
  %2067 = load i32, ptr %468, align 4, !tbaa !5
  %2068 = call ptr @strerror(i32 noundef %2067) #12
  %2069 = load i32, ptr %468, align 4, !tbaa !5
  %2070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2061, ptr noundef nonnull %.str.81.sink1619, i32 noundef %2062, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.77, i32 noundef 184, ptr noundef %2064, ptr noundef %2066, ptr noundef %2068, i32 noundef %2069) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2071:                                             ; preds = %2044
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %18, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %19) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %19, i8 0, i64 56, i1 false)
  %2072 = load i32, ptr @test_count, align 4, !tbaa !5
  %2073 = add nsw i32 %2072, 1
  store i32 %2073, ptr @test_count, align 4, !tbaa !5
  %2074 = call i32 @s2n_offered_psk_list_read_next(ptr noundef nonnull %19, ptr noundef null)
  %2075 = call zeroext i1 @s2n_result_is_error(i32 %2074)
  br i1 %2075, label %2098, label %2076

2076:                                             ; preds = %2071
  %2077 = load i32, ptr %468, align 4, !tbaa !5
  %2078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2079 = call i32 @s2n_print_stacktrace(ptr noundef %2078) #12
  %2080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2081 = trunc nuw i8 %2080 to i1
  br i1 %2081, label %2082, label %2086

2082:                                             ; preds = %2076
  %2083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2084 = call i32 @fileno(ptr noundef %2083) #12
  %2085 = call i32 @isatty(i32 noundef %2084) #12
  %.not713 = icmp eq i32 %2085, 0
  br i1 %.not713, label %2086, label %2087

2086:                                             ; preds = %2082, %2076
  br label %2087

2087:                                             ; preds = %2082, %2086
  %.str.81.sink1628 = phi ptr [ @.str.81, %2086 ], [ @.str.78, %2082 ]
  store i32 %2077, ptr %468, align 4, !tbaa !5
  %2088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2089 = load i32, ptr @test_count, align 4, !tbaa !5
  %2090 = load i32, ptr %414, align 4, !tbaa !5
  %2091 = call ptr @s2n_strerror(i32 noundef %2090, ptr noundef nonnull @.str.80) #12
  %2092 = load i32, ptr %414, align 4, !tbaa !5
  %2093 = call ptr @s2n_strerror_debug(i32 noundef %2092, ptr noundef nonnull @.str.80) #12
  %2094 = load i32, ptr %468, align 4, !tbaa !5
  %2095 = call ptr @strerror(i32 noundef %2094) #12
  %2096 = load i32, ptr %468, align 4, !tbaa !5
  %2097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2088, ptr noundef nonnull %.str.81.sink1628, i32 noundef %2089, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.77, i32 noundef 194, ptr noundef %2091, ptr noundef %2093, ptr noundef %2095, i32 noundef %2096) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2098:                                             ; preds = %2071
  %2099 = load i32, ptr @test_count, align 4, !tbaa !5
  %2100 = add nsw i32 %2099, 1
  store i32 %2100, ptr @test_count, align 4, !tbaa !5
  %2101 = load i32, ptr %414, align 4, !tbaa !5
  %2102 = icmp eq i32 %2101, 402653193
  br i1 %2102, label %2125, label %2103

2103:                                             ; preds = %2098
  %2104 = load i32, ptr %468, align 4, !tbaa !5
  %2105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2106 = call i32 @s2n_print_stacktrace(ptr noundef %2105) #12
  %2107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2108 = trunc nuw i8 %2107 to i1
  br i1 %2108, label %2109, label %2113

2109:                                             ; preds = %2103
  %2110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2111 = call i32 @fileno(ptr noundef %2110) #12
  %2112 = call i32 @isatty(i32 noundef %2111) #12
  %.not714 = icmp eq i32 %2112, 0
  br i1 %.not714, label %2113, label %2114

2113:                                             ; preds = %2109, %2103
  br label %2114

2114:                                             ; preds = %2109, %2113
  %.str.81.sink1637 = phi ptr [ @.str.81, %2113 ], [ @.str.78, %2109 ]
  store i32 %2104, ptr %468, align 4, !tbaa !5
  %2115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2116 = load i32, ptr @test_count, align 4, !tbaa !5
  %2117 = load i32, ptr %414, align 4, !tbaa !5
  %2118 = call ptr @s2n_strerror(i32 noundef %2117, ptr noundef nonnull @.str.80) #12
  %2119 = load i32, ptr %414, align 4, !tbaa !5
  %2120 = call ptr @s2n_strerror_debug(i32 noundef %2119, ptr noundef nonnull @.str.80) #12
  %2121 = load i32, ptr %468, align 4, !tbaa !5
  %2122 = call ptr @strerror(i32 noundef %2121) #12
  %2123 = load i32, ptr %468, align 4, !tbaa !5
  %2124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2115, ptr noundef nonnull %.str.81.sink1637, i32 noundef %2116, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 194, ptr noundef %2118, ptr noundef %2120, ptr noundef %2122, i32 noundef %2123) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2125:                                             ; preds = %2098
  %2126 = add nsw i32 %2099, 2
  store i32 %2126, ptr @test_count, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %2128 = icmp eq ptr %2127, null
  br i1 %2128, label %2129, label %2151

2129:                                             ; preds = %2125
  %2130 = load i32, ptr %468, align 4, !tbaa !5
  %2131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2132 = call i32 @s2n_print_stacktrace(ptr noundef %2131) #12
  %2133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2134 = trunc nuw i8 %2133 to i1
  br i1 %2134, label %2135, label %2139

2135:                                             ; preds = %2129
  %2136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2137 = call i32 @fileno(ptr noundef %2136) #12
  %2138 = call i32 @isatty(i32 noundef %2137) #12
  %.not904 = icmp eq i32 %2138, 0
  br i1 %.not904, label %2139, label %2140

2139:                                             ; preds = %2135, %2129
  br label %2140

2140:                                             ; preds = %2135, %2139
  %.str.81.sink1646 = phi ptr [ @.str.81, %2139 ], [ @.str.78, %2135 ]
  store i32 %2130, ptr %468, align 4, !tbaa !5
  %2141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2142 = load i32, ptr @test_count, align 4, !tbaa !5
  %2143 = load i32, ptr %414, align 4, !tbaa !5
  %2144 = call ptr @s2n_strerror(i32 noundef %2143, ptr noundef nonnull @.str.80) #12
  %2145 = load i32, ptr %414, align 4, !tbaa !5
  %2146 = call ptr @s2n_strerror_debug(i32 noundef %2145, ptr noundef nonnull @.str.80) #12
  %2147 = load i32, ptr %468, align 4, !tbaa !5
  %2148 = call ptr @strerror(i32 noundef %2147) #12
  %2149 = load i32, ptr %468, align 4, !tbaa !5
  %2150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2141, ptr noundef nonnull %.str.81.sink1646, i32 noundef %2142, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 194, ptr noundef %2144, ptr noundef %2146, ptr noundef %2148, i32 noundef %2149) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2151:                                             ; preds = %2125
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %2152 = load i32, ptr @test_count, align 4, !tbaa !5
  %2153 = add nsw i32 %2152, 1
  store i32 %2153, ptr @test_count, align 4, !tbaa !5
  %2154 = call i32 @s2n_offered_psk_list_read_next(ptr noundef null, ptr noundef nonnull %18)
  %2155 = call zeroext i1 @s2n_result_is_error(i32 %2154)
  br i1 %2155, label %2178, label %2156

2156:                                             ; preds = %2151
  %2157 = load i32, ptr %468, align 4, !tbaa !5
  %2158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2159 = call i32 @s2n_print_stacktrace(ptr noundef %2158) #12
  %2160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2161 = trunc nuw i8 %2160 to i1
  br i1 %2161, label %2162, label %2166

2162:                                             ; preds = %2156
  %2163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2164 = call i32 @fileno(ptr noundef %2163) #12
  %2165 = call i32 @isatty(i32 noundef %2164) #12
  %.not715 = icmp eq i32 %2165, 0
  br i1 %.not715, label %2166, label %2167

2166:                                             ; preds = %2162, %2156
  br label %2167

2167:                                             ; preds = %2162, %2166
  %.str.81.sink1655 = phi ptr [ @.str.81, %2166 ], [ @.str.78, %2162 ]
  store i32 %2157, ptr %468, align 4, !tbaa !5
  %2168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2169 = load i32, ptr @test_count, align 4, !tbaa !5
  %2170 = load i32, ptr %414, align 4, !tbaa !5
  %2171 = call ptr @s2n_strerror(i32 noundef %2170, ptr noundef nonnull @.str.80) #12
  %2172 = load i32, ptr %414, align 4, !tbaa !5
  %2173 = call ptr @s2n_strerror_debug(i32 noundef %2172, ptr noundef nonnull @.str.80) #12
  %2174 = load i32, ptr %468, align 4, !tbaa !5
  %2175 = call ptr @strerror(i32 noundef %2174) #12
  %2176 = load i32, ptr %468, align 4, !tbaa !5
  %2177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2168, ptr noundef nonnull %.str.81.sink1655, i32 noundef %2169, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.77, i32 noundef 195, ptr noundef %2171, ptr noundef %2173, ptr noundef %2175, i32 noundef %2176) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2178:                                             ; preds = %2151
  %2179 = load i32, ptr @test_count, align 4, !tbaa !5
  %2180 = add nsw i32 %2179, 1
  store i32 %2180, ptr @test_count, align 4, !tbaa !5
  %2181 = load i32, ptr %414, align 4, !tbaa !5
  %2182 = icmp eq i32 %2181, 402653193
  br i1 %2182, label %2205, label %2183

2183:                                             ; preds = %2178
  %2184 = load i32, ptr %468, align 4, !tbaa !5
  %2185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2186 = call i32 @s2n_print_stacktrace(ptr noundef %2185) #12
  %2187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2188 = trunc nuw i8 %2187 to i1
  br i1 %2188, label %2189, label %2193

2189:                                             ; preds = %2183
  %2190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2191 = call i32 @fileno(ptr noundef %2190) #12
  %2192 = call i32 @isatty(i32 noundef %2191) #12
  %.not716 = icmp eq i32 %2192, 0
  br i1 %.not716, label %2193, label %2194

2193:                                             ; preds = %2189, %2183
  br label %2194

2194:                                             ; preds = %2189, %2193
  %.str.81.sink1664 = phi ptr [ @.str.81, %2193 ], [ @.str.78, %2189 ]
  store i32 %2184, ptr %468, align 4, !tbaa !5
  %2195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2196 = load i32, ptr @test_count, align 4, !tbaa !5
  %2197 = load i32, ptr %414, align 4, !tbaa !5
  %2198 = call ptr @s2n_strerror(i32 noundef %2197, ptr noundef nonnull @.str.80) #12
  %2199 = load i32, ptr %414, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror_debug(i32 noundef %2199, ptr noundef nonnull @.str.80) #12
  %2201 = load i32, ptr %468, align 4, !tbaa !5
  %2202 = call ptr @strerror(i32 noundef %2201) #12
  %2203 = load i32, ptr %468, align 4, !tbaa !5
  %2204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2195, ptr noundef nonnull %.str.81.sink1664, i32 noundef %2196, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 195, ptr noundef %2198, ptr noundef %2200, ptr noundef %2202, i32 noundef %2203) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2205:                                             ; preds = %2178
  %2206 = add nsw i32 %2179, 2
  store i32 %2206, ptr @test_count, align 4, !tbaa !5
  %2207 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %2208 = icmp eq ptr %2207, null
  br i1 %2208, label %2209, label %2231

2209:                                             ; preds = %2205
  %2210 = load i32, ptr %468, 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
  %.not903 = icmp eq i32 %2218, 0
  br i1 %.not903, label %2219, label %2220

2219:                                             ; preds = %2215, %2209
  br label %2220

2220:                                             ; preds = %2215, %2219
  %.str.81.sink1673 = phi ptr [ @.str.81, %2219 ], [ @.str.78, %2215 ]
  store i32 %2210, ptr %468, 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 %414, align 4, !tbaa !5
  %2224 = call ptr @s2n_strerror(i32 noundef %2223, ptr noundef nonnull @.str.80) #12
  %2225 = load i32, ptr %414, align 4, !tbaa !5
  %2226 = call ptr @s2n_strerror_debug(i32 noundef %2225, ptr noundef nonnull @.str.80) #12
  %2227 = load i32, ptr %468, align 4, !tbaa !5
  %2228 = call ptr @strerror(i32 noundef %2227) #12
  %2229 = load i32, ptr %468, align 4, !tbaa !5
  %2230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2221, ptr noundef nonnull %.str.81.sink1673, i32 noundef %2222, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 195, ptr noundef %2224, ptr noundef %2226, ptr noundef %2228, i32 noundef %2229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2231:                                             ; preds = %2205
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %20, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %21) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %21, i8 0, i64 56, i1 false)
  %2232 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %2233 = load i32, ptr @test_count, align 4, !tbaa !5
  %2234 = add nsw i32 %2233, 1
  store i32 %2234, ptr @test_count, align 4, !tbaa !5
  %2235 = icmp eq ptr %2232, null
  br i1 %2235, label %2236, label %2258

2236:                                             ; preds = %2231
  %2237 = load i32, ptr %468, 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
  %.not902 = icmp eq i32 %2245, 0
  br i1 %.not902, label %2246, label %2247

2246:                                             ; preds = %2242, %2236
  br label %2247

2247:                                             ; preds = %2242, %2246
  %.str.81.sink1682 = phi ptr [ @.str.81, %2246 ], [ @.str.78, %2242 ]
  store i32 %2237, ptr %468, 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 %414, align 4, !tbaa !5
  %2251 = call ptr @s2n_strerror(i32 noundef %2250, ptr noundef nonnull @.str.80) #12
  %2252 = load i32, ptr %414, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror_debug(i32 noundef %2252, ptr noundef nonnull @.str.80) #12
  %2254 = load i32, ptr %468, align 4, !tbaa !5
  %2255 = call ptr @strerror(i32 noundef %2254) #12
  %2256 = load i32, ptr %468, align 4, !tbaa !5
  %2257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2248, ptr noundef nonnull %.str.81.sink1682, i32 noundef %2249, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.77, i32 noundef 208, 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 = getelementptr inbounds i8, ptr %2232, i64 1688
  store i32 1, ptr %2259, align 8, !tbaa !23
  store ptr %2232, ptr %21, align 8, !tbaa !20
  %2260 = add nsw i32 %2233, 2
  store i32 %2260, ptr @test_count, align 4, !tbaa !5
  %2261 = getelementptr inbounds i8, ptr %21, i64 8
  %2262 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %2261, i32 noundef 0) #12
  %2263 = icmp eq i32 %2262, -1
  br i1 %2263, label %2264, label %2286

2264:                                             ; preds = %2258
  %2265 = load i32, ptr %468, 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
  %.not901 = icmp eq i32 %2273, 0
  br i1 %.not901, label %2274, label %2275

2274:                                             ; preds = %2270, %2264
  br label %2275

2275:                                             ; preds = %2270, %2274
  %.str.81.sink1691 = phi ptr [ @.str.81, %2274 ], [ @.str.78, %2270 ]
  store i32 %2265, ptr %468, 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 %414, align 4, !tbaa !5
  %2279 = call ptr @s2n_strerror(i32 noundef %2278, ptr noundef nonnull @.str.80) #12
  %2280 = load i32, ptr %414, align 4, !tbaa !5
  %2281 = call ptr @s2n_strerror_debug(i32 noundef %2280, ptr noundef nonnull @.str.80) #12
  %2282 = load i32, ptr %468, align 4, !tbaa !5
  %2283 = call ptr @strerror(i32 noundef %2282) #12
  %2284 = load i32, ptr %468, align 4, !tbaa !5
  %2285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2276, ptr noundef nonnull %.str.81.sink1691, i32 noundef %2277, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 213, 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 i32, ptr @test_count, align 4, !tbaa !5
  %2288 = add nsw i32 %2287, 1
  store i32 %2288, ptr @test_count, align 4, !tbaa !5
  %2289 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %2261, i16 noundef zeroext 4) #12
  %2290 = icmp eq i32 %2289, -1
  br i1 %2290, label %2291, label %2313

2291:                                             ; preds = %2286
  %2292 = load i32, ptr %468, align 4, !tbaa !5
  %2293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2294 = call i32 @s2n_print_stacktrace(ptr noundef %2293) #12
  %2295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2296 = trunc nuw i8 %2295 to i1
  br i1 %2296, label %2297, label %2301

2297:                                             ; preds = %2291
  %2298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2299 = call i32 @fileno(ptr noundef %2298) #12
  %2300 = call i32 @isatty(i32 noundef %2299) #12
  %.not900 = icmp eq i32 %2300, 0
  br i1 %.not900, label %2301, label %2302

2301:                                             ; preds = %2297, %2291
  br label %2302

2302:                                             ; preds = %2297, %2301
  %.str.81.sink1700 = phi ptr [ @.str.81, %2301 ], [ @.str.78, %2297 ]
  store i32 %2292, ptr %468, align 4, !tbaa !5
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = load i32, ptr @test_count, align 4, !tbaa !5
  %2305 = load i32, ptr %414, align 4, !tbaa !5
  %2306 = call ptr @s2n_strerror(i32 noundef %2305, ptr noundef nonnull @.str.80) #12
  %2307 = load i32, ptr %414, align 4, !tbaa !5
  %2308 = call ptr @s2n_strerror_debug(i32 noundef %2307, ptr noundef nonnull @.str.80) #12
  %2309 = load i32, ptr %468, align 4, !tbaa !5
  %2310 = call ptr @strerror(i32 noundef %2309) #12
  %2311 = load i32, ptr %468, align 4, !tbaa !5
  %2312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2303, ptr noundef nonnull %.str.81.sink1700, i32 noundef %2304, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.77, i32 noundef 214, ptr noundef %2306, ptr noundef %2308, ptr noundef %2310, i32 noundef %2311) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2313:                                             ; preds = %2286
  %2314 = load i32, ptr @test_count, align 4, !tbaa !5
  %2315 = add nsw i32 %2314, 1
  store i32 %2315, ptr @test_count, align 4, !tbaa !5
  %2316 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %2261, ptr noundef nonnull %3, i32 noundef 4) #12
  %2317 = icmp eq i32 %2316, -1
  br i1 %2317, label %2318, label %2340

2318:                                             ; preds = %2313
  %2319 = load i32, ptr %468, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = call i32 @s2n_print_stacktrace(ptr noundef %2320) #12
  %2322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2323 = trunc nuw i8 %2322 to i1
  br i1 %2323, label %2324, label %2328

2324:                                             ; preds = %2318
  %2325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2326 = call i32 @fileno(ptr noundef %2325) #12
  %2327 = call i32 @isatty(i32 noundef %2326) #12
  %.not899 = icmp eq i32 %2327, 0
  br i1 %.not899, label %2328, label %2329

2328:                                             ; preds = %2324, %2318
  br label %2329

2329:                                             ; preds = %2324, %2328
  %.str.81.sink1709 = phi ptr [ @.str.81, %2328 ], [ @.str.78, %2324 ]
  store i32 %2319, ptr %468, align 4, !tbaa !5
  %2330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2331 = load i32, ptr @test_count, align 4, !tbaa !5
  %2332 = load i32, ptr %414, align 4, !tbaa !5
  %2333 = call ptr @s2n_strerror(i32 noundef %2332, ptr noundef nonnull @.str.80) #12
  %2334 = load i32, ptr %414, align 4, !tbaa !5
  %2335 = call ptr @s2n_strerror_debug(i32 noundef %2334, ptr noundef nonnull @.str.80) #12
  %2336 = load i32, ptr %468, align 4, !tbaa !5
  %2337 = call ptr @strerror(i32 noundef %2336) #12
  %2338 = load i32, ptr %468, align 4, !tbaa !5
  %2339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2330, ptr noundef nonnull %.str.81.sink1709, i32 noundef %2331, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.77, i32 noundef 215, ptr noundef %2333, ptr noundef %2335, ptr noundef %2337, i32 noundef %2338) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2340:                                             ; preds = %2313
  %2341 = load i32, ptr @test_count, align 4, !tbaa !5
  %2342 = add nsw i32 %2341, 1
  store i32 %2342, ptr @test_count, align 4, !tbaa !5
  %2343 = call i32 @s2n_stuffer_write_uint32(ptr noundef nonnull %2261, i32 noundef 100) #12
  %2344 = icmp eq i32 %2343, -1
  br i1 %2344, label %2345, label %2367

2345:                                             ; preds = %2340
  %2346 = load i32, ptr %468, align 4, !tbaa !5
  %2347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2348 = call i32 @s2n_print_stacktrace(ptr noundef %2347) #12
  %2349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2350 = trunc nuw i8 %2349 to i1
  br i1 %2350, label %2351, label %2355

2351:                                             ; preds = %2345
  %2352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2353 = call i32 @fileno(ptr noundef %2352) #12
  %2354 = call i32 @isatty(i32 noundef %2353) #12
  %.not898 = icmp eq i32 %2354, 0
  br i1 %.not898, label %2355, label %2356

2355:                                             ; preds = %2351, %2345
  br label %2356

2356:                                             ; preds = %2351, %2355
  %.str.81.sink1718 = phi ptr [ @.str.81, %2355 ], [ @.str.78, %2351 ]
  store i32 %2346, ptr %468, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = load i32, ptr @test_count, align 4, !tbaa !5
  %2359 = load i32, ptr %414, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror(i32 noundef %2359, ptr noundef nonnull @.str.80) #12
  %2361 = load i32, ptr %414, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror_debug(i32 noundef %2361, ptr noundef nonnull @.str.80) #12
  %2363 = load i32, ptr %468, align 4, !tbaa !5
  %2364 = call ptr @strerror(i32 noundef %2363) #12
  %2365 = load i32, ptr %468, align 4, !tbaa !5
  %2366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2357, ptr noundef nonnull %.str.81.sink1718, i32 noundef %2358, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.77, i32 noundef 216, ptr noundef %2360, ptr noundef %2362, ptr noundef %2364, i32 noundef %2365) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2367:                                             ; preds = %2340
  %2368 = load i32, ptr @test_count, align 4, !tbaa !5
  %2369 = add nsw i32 %2368, 1
  store i32 %2369, ptr @test_count, align 4, !tbaa !5
  %2370 = call i32 @s2n_offered_psk_list_read_next(ptr noundef nonnull %21, ptr noundef nonnull %20)
  %2371 = call zeroext i1 @s2n_result_is_ok(i32 %2370)
  br i1 %2371, label %2394, label %2372

2372:                                             ; preds = %2367
  %2373 = load i32, ptr %468, align 4, !tbaa !5
  %2374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2375 = call i32 @s2n_print_stacktrace(ptr noundef %2374) #12
  %2376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2377 = trunc nuw i8 %2376 to i1
  br i1 %2377, label %2378, label %2382

2378:                                             ; preds = %2372
  %2379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2380 = call i32 @fileno(ptr noundef %2379) #12
  %2381 = call i32 @isatty(i32 noundef %2380) #12
  %.not717 = icmp eq i32 %2381, 0
  br i1 %.not717, label %2382, label %2383

2382:                                             ; preds = %2378, %2372
  br label %2383

2383:                                             ; preds = %2378, %2382
  %.str.81.sink1727 = phi ptr [ @.str.81, %2382 ], [ @.str.78, %2378 ]
  store i32 %2373, ptr %468, align 4, !tbaa !5
  %2384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2385 = load i32, ptr @test_count, align 4, !tbaa !5
  %2386 = load i32, ptr %414, align 4, !tbaa !5
  %2387 = call ptr @s2n_strerror(i32 noundef %2386, ptr noundef nonnull @.str.80) #12
  %2388 = load i32, ptr %414, align 4, !tbaa !5
  %2389 = call ptr @s2n_strerror_debug(i32 noundef %2388, ptr noundef nonnull @.str.80) #12
  %2390 = load i32, ptr %468, align 4, !tbaa !5
  %2391 = call ptr @strerror(i32 noundef %2390) #12
  %2392 = load i32, ptr %468, align 4, !tbaa !5
  %2393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2384, ptr noundef nonnull %.str.81.sink1727, i32 noundef %2385, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.77, i32 noundef 218, ptr noundef %2387, ptr noundef %2389, ptr noundef %2391, i32 noundef %2392) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2394:                                             ; preds = %2367
  %2395 = load i32, ptr @test_count, align 4, !tbaa !5
  %2396 = add nsw i32 %2395, 1
  store i32 %2396, ptr @test_count, align 4, !tbaa !5
  %2397 = getelementptr inbounds i8, ptr %20, i64 28
  %2398 = load i32, ptr %2397, align 4, !tbaa !47
  %2399 = icmp eq i32 %2398, 0
  br i1 %2399, label %2422, label %2400

2400:                                             ; preds = %2394
  %2401 = load i32, ptr %468, align 4, !tbaa !5
  %2402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2403 = call i32 @s2n_print_stacktrace(ptr noundef %2402) #12
  %2404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2405 = trunc nuw i8 %2404 to i1
  br i1 %2405, label %2406, label %2410

2406:                                             ; preds = %2400
  %2407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2408 = call i32 @fileno(ptr noundef %2407) #12
  %2409 = call i32 @isatty(i32 noundef %2408) #12
  %.not718 = icmp eq i32 %2409, 0
  br i1 %.not718, label %2410, label %2411

2410:                                             ; preds = %2406, %2400
  br label %2411

2411:                                             ; preds = %2406, %2410
  %.str.81.sink1736 = phi ptr [ @.str.81, %2410 ], [ @.str.78, %2406 ]
  store i32 %2401, ptr %468, align 4, !tbaa !5
  %2412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2413 = load i32, ptr @test_count, align 4, !tbaa !5
  %2414 = load i32, ptr %414, align 4, !tbaa !5
  %2415 = call ptr @s2n_strerror(i32 noundef %2414, ptr noundef nonnull @.str.80) #12
  %2416 = load i32, ptr %414, align 4, !tbaa !5
  %2417 = call ptr @s2n_strerror_debug(i32 noundef %2416, ptr noundef nonnull @.str.80) #12
  %2418 = load i32, ptr %468, align 4, !tbaa !5
  %2419 = call ptr @strerror(i32 noundef %2418) #12
  %2420 = load i32, ptr %468, align 4, !tbaa !5
  %2421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2412, ptr noundef nonnull %.str.81.sink1736, i32 noundef %2413, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.77, i32 noundef 220, ptr noundef %2415, ptr noundef %2417, ptr noundef %2419, i32 noundef %2420) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2422:                                             ; preds = %2394
  %2423 = add nsw i32 %2395, 2
  store i32 %2423, ptr @test_count, align 4, !tbaa !5
  %2424 = call i32 @s2n_stuffer_free(ptr noundef nonnull %2261) #12
  %2425 = icmp eq i32 %2424, -1
  br i1 %2425, label %2426, label %2448

2426:                                             ; preds = %2422
  %2427 = load i32, ptr %468, align 4, !tbaa !5
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = call i32 @s2n_print_stacktrace(ptr noundef %2428) #12
  %2430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2431 = trunc nuw i8 %2430 to i1
  br i1 %2431, label %2432, label %2436

2432:                                             ; preds = %2426
  %2433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2434 = call i32 @fileno(ptr noundef %2433) #12
  %2435 = call i32 @isatty(i32 noundef %2434) #12
  %.not897 = icmp eq i32 %2435, 0
  br i1 %.not897, label %2436, label %2437

2436:                                             ; preds = %2432, %2426
  br label %2437

2437:                                             ; preds = %2432, %2436
  %.str.81.sink1745 = phi ptr [ @.str.81, %2436 ], [ @.str.78, %2432 ]
  store i32 %2427, ptr %468, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = load i32, ptr @test_count, align 4, !tbaa !5
  %2440 = load i32, ptr %414, align 4, !tbaa !5
  %2441 = call ptr @s2n_strerror(i32 noundef %2440, ptr noundef nonnull @.str.80) #12
  %2442 = load i32, ptr %414, align 4, !tbaa !5
  %2443 = call ptr @s2n_strerror_debug(i32 noundef %2442, ptr noundef nonnull @.str.80) #12
  %2444 = load i32, ptr %468, align 4, !tbaa !5
  %2445 = call ptr @strerror(i32 noundef %2444) #12
  %2446 = load i32, ptr %468, align 4, !tbaa !5
  %2447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2438, ptr noundef nonnull %.str.81.sink1745, i32 noundef %2439, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 222, ptr noundef %2441, ptr noundef %2443, ptr noundef %2445, i32 noundef %2446) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2448:                                             ; preds = %2422
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = add nsw i32 %2449, 1
  store i32 %2450, ptr @test_count, align 4, !tbaa !5
  %2451 = call i32 @s2n_connection_free(ptr noundef nonnull %2232) #12
  %2452 = icmp eq i32 %2451, -1
  br i1 %2452, label %2453, label %2475

2453:                                             ; preds = %2448
  %2454 = load i32, ptr %468, align 4, !tbaa !5
  %2455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2456 = call i32 @s2n_print_stacktrace(ptr noundef %2455) #12
  %2457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2458 = trunc nuw i8 %2457 to i1
  br i1 %2458, label %2459, label %2463

2459:                                             ; preds = %2453
  %2460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2461 = call i32 @fileno(ptr noundef %2460) #12
  %2462 = call i32 @isatty(i32 noundef %2461) #12
  %.not896 = icmp eq i32 %2462, 0
  br i1 %.not896, label %2463, label %2464

2463:                                             ; preds = %2459, %2453
  br label %2464

2464:                                             ; preds = %2459, %2463
  %.str.81.sink1754 = phi ptr [ @.str.81, %2463 ], [ @.str.78, %2459 ]
  store i32 %2454, ptr %468, align 4, !tbaa !5
  %2465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2466 = load i32, ptr @test_count, align 4, !tbaa !5
  %2467 = load i32, ptr %414, align 4, !tbaa !5
  %2468 = call ptr @s2n_strerror(i32 noundef %2467, ptr noundef nonnull @.str.80) #12
  %2469 = load i32, ptr %414, align 4, !tbaa !5
  %2470 = call ptr @s2n_strerror_debug(i32 noundef %2469, ptr noundef nonnull @.str.80) #12
  %2471 = load i32, ptr %468, align 4, !tbaa !5
  %2472 = call ptr @strerror(i32 noundef %2471) #12
  %2473 = load i32, ptr %468, align 4, !tbaa !5
  %2474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2465, ptr noundef nonnull %.str.81.sink1754, i32 noundef %2466, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.77, i32 noundef 223, ptr noundef %2468, ptr noundef %2470, ptr noundef %2472, i32 noundef %2473) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2475:                                             ; preds = %2448
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %22, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %23) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %23, i8 0, i64 56, i1 false)
  %2476 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %2477 = load i32, ptr @test_count, align 4, !tbaa !5
  %2478 = add nsw i32 %2477, 1
  store i32 %2478, ptr @test_count, align 4, !tbaa !5
  %2479 = icmp eq ptr %2476, null
  br i1 %2479, label %2480, label %2502

2480:                                             ; preds = %2475
  %2481 = load i32, ptr %468, align 4, !tbaa !5
  %2482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2483 = call i32 @s2n_print_stacktrace(ptr noundef %2482) #12
  %2484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2485 = trunc nuw i8 %2484 to i1
  br i1 %2485, label %2486, label %2490

2486:                                             ; preds = %2480
  %2487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2488 = call i32 @fileno(ptr noundef %2487) #12
  %2489 = call i32 @isatty(i32 noundef %2488) #12
  %.not895 = icmp eq i32 %2489, 0
  br i1 %.not895, label %2490, label %2491

2490:                                             ; preds = %2486, %2480
  br label %2491

2491:                                             ; preds = %2486, %2490
  %.str.81.sink1763 = phi ptr [ @.str.81, %2490 ], [ @.str.78, %2486 ]
  store i32 %2481, ptr %468, align 4, !tbaa !5
  %2492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2493 = load i32, ptr @test_count, align 4, !tbaa !5
  %2494 = load i32, ptr %414, align 4, !tbaa !5
  %2495 = call ptr @s2n_strerror(i32 noundef %2494, ptr noundef nonnull @.str.80) #12
  %2496 = load i32, ptr %414, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror_debug(i32 noundef %2496, ptr noundef nonnull @.str.80) #12
  %2498 = load i32, ptr %468, align 4, !tbaa !5
  %2499 = call ptr @strerror(i32 noundef %2498) #12
  %2500 = load i32, ptr %468, align 4, !tbaa !5
  %2501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2492, ptr noundef nonnull %.str.81.sink1763, i32 noundef %2493, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.77, i32 noundef 231, ptr noundef %2495, ptr noundef %2497, ptr noundef %2499, i32 noundef %2500) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2502:                                             ; preds = %2475
  %2503 = getelementptr inbounds i8, ptr %2476, i64 1688
  store i32 0, ptr %2503, align 8, !tbaa !23
  store ptr %2476, ptr %23, align 8, !tbaa !20
  %2504 = add nsw i32 %2477, 2
  store i32 %2504, ptr @test_count, align 4, !tbaa !5
  %2505 = getelementptr inbounds i8, ptr %23, i64 8
  %2506 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %2505, i32 noundef 0) #12
  %2507 = icmp eq i32 %2506, -1
  br i1 %2507, label %2508, label %2530

2508:                                             ; preds = %2502
  %2509 = load i32, ptr %468, align 4, !tbaa !5
  %2510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2511 = call i32 @s2n_print_stacktrace(ptr noundef %2510) #12
  %2512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2513 = trunc nuw i8 %2512 to i1
  br i1 %2513, label %2514, label %2518

2514:                                             ; preds = %2508
  %2515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2516 = call i32 @fileno(ptr noundef %2515) #12
  %2517 = call i32 @isatty(i32 noundef %2516) #12
  %.not894 = icmp eq i32 %2517, 0
  br i1 %.not894, label %2518, label %2519

2518:                                             ; preds = %2514, %2508
  br label %2519

2519:                                             ; preds = %2514, %2518
  %.str.81.sink1772 = phi ptr [ @.str.81, %2518 ], [ @.str.78, %2514 ]
  store i32 %2509, ptr %468, align 4, !tbaa !5
  %2520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2521 = load i32, ptr @test_count, align 4, !tbaa !5
  %2522 = load i32, ptr %414, align 4, !tbaa !5
  %2523 = call ptr @s2n_strerror(i32 noundef %2522, ptr noundef nonnull @.str.80) #12
  %2524 = load i32, ptr %414, align 4, !tbaa !5
  %2525 = call ptr @s2n_strerror_debug(i32 noundef %2524, ptr noundef nonnull @.str.80) #12
  %2526 = load i32, ptr %468, align 4, !tbaa !5
  %2527 = call ptr @strerror(i32 noundef %2526) #12
  %2528 = load i32, ptr %468, align 4, !tbaa !5
  %2529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2520, ptr noundef nonnull %.str.81.sink1772, i32 noundef %2521, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 236, ptr noundef %2523, ptr noundef %2525, ptr noundef %2527, i32 noundef %2528) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2530:                                             ; preds = %2502
  %2531 = load i32, ptr @test_count, align 4, !tbaa !5
  %2532 = add nsw i32 %2531, 1
  store i32 %2532, ptr @test_count, align 4, !tbaa !5
  %2533 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %2505, i16 noundef zeroext 4) #12
  %2534 = icmp eq i32 %2533, -1
  br i1 %2534, label %2535, label %2557

2535:                                             ; preds = %2530
  %2536 = load i32, ptr %468, align 4, !tbaa !5
  %2537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2538 = call i32 @s2n_print_stacktrace(ptr noundef %2537) #12
  %2539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2540 = trunc nuw i8 %2539 to i1
  br i1 %2540, label %2541, label %2545

2541:                                             ; preds = %2535
  %2542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2543 = call i32 @fileno(ptr noundef %2542) #12
  %2544 = call i32 @isatty(i32 noundef %2543) #12
  %.not893 = icmp eq i32 %2544, 0
  br i1 %.not893, label %2545, label %2546

2545:                                             ; preds = %2541, %2535
  br label %2546

2546:                                             ; preds = %2541, %2545
  %.str.81.sink1781 = phi ptr [ @.str.81, %2545 ], [ @.str.78, %2541 ]
  store i32 %2536, ptr %468, align 4, !tbaa !5
  %2547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2548 = load i32, ptr @test_count, align 4, !tbaa !5
  %2549 = load i32, ptr %414, align 4, !tbaa !5
  %2550 = call ptr @s2n_strerror(i32 noundef %2549, ptr noundef nonnull @.str.80) #12
  %2551 = load i32, ptr %414, align 4, !tbaa !5
  %2552 = call ptr @s2n_strerror_debug(i32 noundef %2551, ptr noundef nonnull @.str.80) #12
  %2553 = load i32, ptr %468, align 4, !tbaa !5
  %2554 = call ptr @strerror(i32 noundef %2553) #12
  %2555 = load i32, ptr %468, align 4, !tbaa !5
  %2556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2547, ptr noundef nonnull %.str.81.sink1781, i32 noundef %2548, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.77, i32 noundef 237, ptr noundef %2550, ptr noundef %2552, ptr noundef %2554, i32 noundef %2555) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2557:                                             ; preds = %2530
  %2558 = load i32, ptr @test_count, align 4, !tbaa !5
  %2559 = add nsw i32 %2558, 1
  store i32 %2559, ptr @test_count, align 4, !tbaa !5
  %2560 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %2505, ptr noundef nonnull %3, i32 noundef 4) #12
  %2561 = icmp eq i32 %2560, -1
  br i1 %2561, label %2562, label %2584

2562:                                             ; preds = %2557
  %2563 = load i32, ptr %468, align 4, !tbaa !5
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = call i32 @s2n_print_stacktrace(ptr noundef %2564) #12
  %2566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2567 = trunc nuw i8 %2566 to i1
  br i1 %2567, label %2568, label %2572

2568:                                             ; preds = %2562
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = call i32 @fileno(ptr noundef %2569) #12
  %2571 = call i32 @isatty(i32 noundef %2570) #12
  %.not892 = icmp eq i32 %2571, 0
  br i1 %.not892, label %2572, label %2573

2572:                                             ; preds = %2568, %2562
  br label %2573

2573:                                             ; preds = %2568, %2572
  %.str.81.sink1790 = phi ptr [ @.str.81, %2572 ], [ @.str.78, %2568 ]
  store i32 %2563, ptr %468, align 4, !tbaa !5
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = load i32, ptr @test_count, align 4, !tbaa !5
  %2576 = load i32, ptr %414, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror(i32 noundef %2576, ptr noundef nonnull @.str.80) #12
  %2578 = load i32, ptr %414, align 4, !tbaa !5
  %2579 = call ptr @s2n_strerror_debug(i32 noundef %2578, ptr noundef nonnull @.str.80) #12
  %2580 = load i32, ptr %468, align 4, !tbaa !5
  %2581 = call ptr @strerror(i32 noundef %2580) #12
  %2582 = load i32, ptr %468, align 4, !tbaa !5
  %2583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2574, ptr noundef nonnull %.str.81.sink1790, i32 noundef %2575, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.77, i32 noundef 238, ptr noundef %2577, ptr noundef %2579, ptr noundef %2581, i32 noundef %2582) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2584:                                             ; preds = %2557
  %2585 = load i32, ptr @test_count, align 4, !tbaa !5
  %2586 = add nsw i32 %2585, 1
  store i32 %2586, ptr @test_count, align 4, !tbaa !5
  %2587 = call i32 @s2n_stuffer_write_uint32(ptr noundef nonnull %2505, i32 noundef 100) #12
  %2588 = icmp eq i32 %2587, -1
  br i1 %2588, label %2589, label %2611

2589:                                             ; preds = %2584
  %2590 = load i32, ptr %468, align 4, !tbaa !5
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = call i32 @s2n_print_stacktrace(ptr noundef %2591) #12
  %2593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2594 = trunc nuw i8 %2593 to i1
  br i1 %2594, label %2595, label %2599

2595:                                             ; preds = %2589
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = call i32 @fileno(ptr noundef %2596) #12
  %2598 = call i32 @isatty(i32 noundef %2597) #12
  %.not891 = icmp eq i32 %2598, 0
  br i1 %.not891, label %2599, label %2600

2599:                                             ; preds = %2595, %2589
  br label %2600

2600:                                             ; preds = %2595, %2599
  %.str.81.sink1799 = phi ptr [ @.str.81, %2599 ], [ @.str.78, %2595 ]
  store i32 %2590, ptr %468, align 4, !tbaa !5
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2602 = load i32, ptr @test_count, align 4, !tbaa !5
  %2603 = load i32, ptr %414, align 4, !tbaa !5
  %2604 = call ptr @s2n_strerror(i32 noundef %2603, ptr noundef nonnull @.str.80) #12
  %2605 = load i32, ptr %414, align 4, !tbaa !5
  %2606 = call ptr @s2n_strerror_debug(i32 noundef %2605, ptr noundef nonnull @.str.80) #12
  %2607 = load i32, ptr %468, align 4, !tbaa !5
  %2608 = call ptr @strerror(i32 noundef %2607) #12
  %2609 = load i32, ptr %468, align 4, !tbaa !5
  %2610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2601, ptr noundef nonnull %.str.81.sink1799, i32 noundef %2602, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.77, i32 noundef 239, ptr noundef %2604, ptr noundef %2606, ptr noundef %2608, i32 noundef %2609) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2611:                                             ; preds = %2584
  %2612 = load i32, ptr @test_count, align 4, !tbaa !5
  %2613 = add nsw i32 %2612, 1
  store i32 %2613, ptr @test_count, align 4, !tbaa !5
  %2614 = call i32 @s2n_offered_psk_list_read_next(ptr noundef nonnull %23, ptr noundef nonnull %22)
  %2615 = call zeroext i1 @s2n_result_is_ok(i32 %2614)
  br i1 %2615, label %2638, label %2616

2616:                                             ; preds = %2611
  %2617 = load i32, ptr %468, align 4, !tbaa !5
  %2618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2619 = call i32 @s2n_print_stacktrace(ptr noundef %2618) #12
  %2620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2621 = trunc nuw i8 %2620 to i1
  br i1 %2621, label %2622, label %2626

2622:                                             ; preds = %2616
  %2623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2624 = call i32 @fileno(ptr noundef %2623) #12
  %2625 = call i32 @isatty(i32 noundef %2624) #12
  %.not719 = icmp eq i32 %2625, 0
  br i1 %.not719, label %2626, label %2627

2626:                                             ; preds = %2622, %2616
  br label %2627

2627:                                             ; preds = %2622, %2626
  %.str.81.sink1808 = phi ptr [ @.str.81, %2626 ], [ @.str.78, %2622 ]
  store i32 %2617, ptr %468, align 4, !tbaa !5
  %2628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2629 = load i32, ptr @test_count, align 4, !tbaa !5
  %2630 = load i32, ptr %414, align 4, !tbaa !5
  %2631 = call ptr @s2n_strerror(i32 noundef %2630, ptr noundef nonnull @.str.80) #12
  %2632 = load i32, ptr %414, align 4, !tbaa !5
  %2633 = call ptr @s2n_strerror_debug(i32 noundef %2632, ptr noundef nonnull @.str.80) #12
  %2634 = load i32, ptr %468, align 4, !tbaa !5
  %2635 = call ptr @strerror(i32 noundef %2634) #12
  %2636 = load i32, ptr %468, align 4, !tbaa !5
  %2637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2628, ptr noundef nonnull %.str.81.sink1808, i32 noundef %2629, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.77, i32 noundef 241, ptr noundef %2631, ptr noundef %2633, ptr noundef %2635, i32 noundef %2636) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2638:                                             ; preds = %2611
  %2639 = load i32, ptr @test_count, align 4, !tbaa !5
  %2640 = add nsw i32 %2639, 1
  store i32 %2640, ptr @test_count, align 4, !tbaa !5
  %2641 = getelementptr inbounds i8, ptr %22, i64 28
  %2642 = load i32, ptr %2641, align 4, !tbaa !47
  %2643 = icmp eq i32 %2642, 100
  br i1 %2643, label %2666, label %2644

2644:                                             ; preds = %2638
  %2645 = load i32, ptr %468, align 4, !tbaa !5
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = call i32 @s2n_print_stacktrace(ptr noundef %2646) #12
  %2648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2649 = trunc nuw i8 %2648 to i1
  br i1 %2649, label %2650, label %2654

2650:                                             ; preds = %2644
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = call i32 @fileno(ptr noundef %2651) #12
  %2653 = call i32 @isatty(i32 noundef %2652) #12
  %.not720 = icmp eq i32 %2653, 0
  br i1 %.not720, label %2654, label %2655

2654:                                             ; preds = %2650, %2644
  br label %2655

2655:                                             ; preds = %2650, %2654
  %.str.81.sink1817 = phi ptr [ @.str.81, %2654 ], [ @.str.78, %2650 ]
  store i32 %2645, ptr %468, align 4, !tbaa !5
  %2656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2657 = load i32, ptr @test_count, align 4, !tbaa !5
  %2658 = load i32, ptr %414, align 4, !tbaa !5
  %2659 = call ptr @s2n_strerror(i32 noundef %2658, ptr noundef nonnull @.str.80) #12
  %2660 = load i32, ptr %414, align 4, !tbaa !5
  %2661 = call ptr @s2n_strerror_debug(i32 noundef %2660, ptr noundef nonnull @.str.80) #12
  %2662 = load i32, ptr %468, align 4, !tbaa !5
  %2663 = call ptr @strerror(i32 noundef %2662) #12
  %2664 = load i32, ptr %468, align 4, !tbaa !5
  %2665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2656, ptr noundef nonnull %.str.81.sink1817, i32 noundef %2657, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.77, i32 noundef 243, ptr noundef %2659, ptr noundef %2661, ptr noundef %2663, i32 noundef %2664) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2666:                                             ; preds = %2638
  %2667 = add nsw i32 %2639, 2
  store i32 %2667, ptr @test_count, align 4, !tbaa !5
  %2668 = call i32 @s2n_stuffer_free(ptr noundef nonnull %2505) #12
  %2669 = icmp eq i32 %2668, -1
  br i1 %2669, label %2670, label %2692

2670:                                             ; preds = %2666
  %2671 = load i32, ptr %468, align 4, !tbaa !5
  %2672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2673 = call i32 @s2n_print_stacktrace(ptr noundef %2672) #12
  %2674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2675 = trunc nuw i8 %2674 to i1
  br i1 %2675, label %2676, label %2680

2676:                                             ; preds = %2670
  %2677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2678 = call i32 @fileno(ptr noundef %2677) #12
  %2679 = call i32 @isatty(i32 noundef %2678) #12
  %.not890 = icmp eq i32 %2679, 0
  br i1 %.not890, label %2680, label %2681

2680:                                             ; preds = %2676, %2670
  br label %2681

2681:                                             ; preds = %2676, %2680
  %.str.81.sink1826 = phi ptr [ @.str.81, %2680 ], [ @.str.78, %2676 ]
  store i32 %2671, ptr %468, align 4, !tbaa !5
  %2682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2683 = load i32, ptr @test_count, align 4, !tbaa !5
  %2684 = load i32, ptr %414, align 4, !tbaa !5
  %2685 = call ptr @s2n_strerror(i32 noundef %2684, ptr noundef nonnull @.str.80) #12
  %2686 = load i32, ptr %414, align 4, !tbaa !5
  %2687 = call ptr @s2n_strerror_debug(i32 noundef %2686, ptr noundef nonnull @.str.80) #12
  %2688 = load i32, ptr %468, align 4, !tbaa !5
  %2689 = call ptr @strerror(i32 noundef %2688) #12
  %2690 = load i32, ptr %468, align 4, !tbaa !5
  %2691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2682, ptr noundef nonnull %.str.81.sink1826, i32 noundef %2683, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 245, ptr noundef %2685, ptr noundef %2687, ptr noundef %2689, i32 noundef %2690) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2692:                                             ; preds = %2666
  %2693 = load i32, ptr @test_count, align 4, !tbaa !5
  %2694 = add nsw i32 %2693, 1
  store i32 %2694, ptr @test_count, align 4, !tbaa !5
  %2695 = call i32 @s2n_connection_free(ptr noundef nonnull %2476) #12
  %2696 = icmp eq i32 %2695, -1
  br i1 %2696, label %2697, label %2719

2697:                                             ; preds = %2692
  %2698 = load i32, ptr %468, align 4, !tbaa !5
  %2699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2700 = call i32 @s2n_print_stacktrace(ptr noundef %2699) #12
  %2701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2702 = trunc nuw i8 %2701 to i1
  br i1 %2702, label %2703, label %2707

2703:                                             ; preds = %2697
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = call i32 @fileno(ptr noundef %2704) #12
  %2706 = call i32 @isatty(i32 noundef %2705) #12
  %.not889 = icmp eq i32 %2706, 0
  br i1 %.not889, label %2707, label %2708

2707:                                             ; preds = %2703, %2697
  br label %2708

2708:                                             ; preds = %2703, %2707
  %.str.81.sink1835 = phi ptr [ @.str.81, %2707 ], [ @.str.78, %2703 ]
  store i32 %2698, ptr %468, align 4, !tbaa !5
  %2709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2710 = load i32, ptr @test_count, align 4, !tbaa !5
  %2711 = load i32, ptr %414, align 4, !tbaa !5
  %2712 = call ptr @s2n_strerror(i32 noundef %2711, ptr noundef nonnull @.str.80) #12
  %2713 = load i32, ptr %414, align 4, !tbaa !5
  %2714 = call ptr @s2n_strerror_debug(i32 noundef %2713, ptr noundef nonnull @.str.80) #12
  %2715 = load i32, ptr %468, align 4, !tbaa !5
  %2716 = call ptr @strerror(i32 noundef %2715) #12
  %2717 = load i32, ptr %468, align 4, !tbaa !5
  %2718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2709, ptr noundef nonnull %.str.81.sink1835, i32 noundef %2710, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.77, i32 noundef 246, ptr noundef %2712, ptr noundef %2714, ptr noundef %2716, i32 noundef %2717) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2719:                                             ; preds = %2692
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #12
  %2720 = load i32, ptr @test_count, align 4, !tbaa !5
  %2721 = add nsw i32 %2720, 1
  store i32 %2721, ptr @test_count, align 4, !tbaa !5
  %2722 = call i32 @s2n_offered_psk_list_reread(ptr noundef null)
  %2723 = icmp eq i32 %2722, -1
  br i1 %2723, label %2746, label %2724

2724:                                             ; preds = %2719
  %2725 = load i32, ptr %468, align 4, !tbaa !5
  %2726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2727 = call i32 @s2n_print_stacktrace(ptr noundef %2726) #12
  %2728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2729 = trunc nuw i8 %2728 to i1
  br i1 %2729, label %2730, label %2734

2730:                                             ; preds = %2724
  %2731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2732 = call i32 @fileno(ptr noundef %2731) #12
  %2733 = call i32 @isatty(i32 noundef %2732) #12
  %.not721 = icmp eq i32 %2733, 0
  br i1 %.not721, label %2734, label %2735

2734:                                             ; preds = %2730, %2724
  br label %2735

2735:                                             ; preds = %2730, %2734
  %.str.81.sink1844 = phi ptr [ @.str.81, %2734 ], [ @.str.78, %2730 ]
  store i32 %2725, ptr %468, align 4, !tbaa !5
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = load i32, ptr @test_count, align 4, !tbaa !5
  %2738 = load i32, ptr %414, align 4, !tbaa !5
  %2739 = call ptr @s2n_strerror(i32 noundef %2738, ptr noundef nonnull @.str.80) #12
  %2740 = load i32, ptr %414, align 4, !tbaa !5
  %2741 = call ptr @s2n_strerror_debug(i32 noundef %2740, ptr noundef nonnull @.str.80) #12
  %2742 = load i32, ptr %468, align 4, !tbaa !5
  %2743 = call ptr @strerror(i32 noundef %2742) #12
  %2744 = load i32, ptr %468, align 4, !tbaa !5
  %2745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2736, ptr noundef nonnull %.str.81.sink1844, i32 noundef %2737, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.77, i32 noundef 253, ptr noundef %2739, ptr noundef %2741, ptr noundef %2743, i32 noundef %2744) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2746:                                             ; preds = %2719
  %2747 = load i32, ptr @test_count, align 4, !tbaa !5
  %2748 = add nsw i32 %2747, 1
  store i32 %2748, ptr @test_count, align 4, !tbaa !5
  %2749 = load i32, ptr %414, align 4, !tbaa !5
  %2750 = icmp eq i32 %2749, 402653193
  br i1 %2750, label %2773, label %2751

2751:                                             ; preds = %2746
  %2752 = load i32, ptr %468, align 4, !tbaa !5
  %2753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2754 = call i32 @s2n_print_stacktrace(ptr noundef %2753) #12
  %2755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2756 = trunc nuw i8 %2755 to i1
  br i1 %2756, label %2757, label %2761

2757:                                             ; preds = %2751
  %2758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2759 = call i32 @fileno(ptr noundef %2758) #12
  %2760 = call i32 @isatty(i32 noundef %2759) #12
  %.not722 = icmp eq i32 %2760, 0
  br i1 %.not722, label %2761, label %2762

2761:                                             ; preds = %2757, %2751
  br label %2762

2762:                                             ; preds = %2757, %2761
  %.str.81.sink1853 = phi ptr [ @.str.81, %2761 ], [ @.str.78, %2757 ]
  store i32 %2752, ptr %468, align 4, !tbaa !5
  %2763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2764 = load i32, ptr @test_count, align 4, !tbaa !5
  %2765 = load i32, ptr %414, align 4, !tbaa !5
  %2766 = call ptr @s2n_strerror(i32 noundef %2765, ptr noundef nonnull @.str.80) #12
  %2767 = load i32, ptr %414, align 4, !tbaa !5
  %2768 = call ptr @s2n_strerror_debug(i32 noundef %2767, ptr noundef nonnull @.str.80) #12
  %2769 = load i32, ptr %468, align 4, !tbaa !5
  %2770 = call ptr @strerror(i32 noundef %2769) #12
  %2771 = load i32, ptr %468, align 4, !tbaa !5
  %2772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2763, ptr noundef nonnull %.str.81.sink1853, i32 noundef %2764, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 253, ptr noundef %2766, ptr noundef %2768, ptr noundef %2770, i32 noundef %2771) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2773:                                             ; preds = %2746
  %2774 = add nsw i32 %2747, 2
  store i32 %2774, ptr @test_count, align 4, !tbaa !5
  %2775 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %2776 = icmp eq ptr %2775, null
  br i1 %2776, label %2777, label %2799

2777:                                             ; preds = %2773
  %2778 = load i32, ptr %468, align 4, !tbaa !5
  %2779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2780 = call i32 @s2n_print_stacktrace(ptr noundef %2779) #12
  %2781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2782 = trunc nuw i8 %2781 to i1
  br i1 %2782, label %2783, label %2787

2783:                                             ; preds = %2777
  %2784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2785 = call i32 @fileno(ptr noundef %2784) #12
  %2786 = call i32 @isatty(i32 noundef %2785) #12
  %.not888 = icmp eq i32 %2786, 0
  br i1 %.not888, label %2787, label %2788

2787:                                             ; preds = %2783, %2777
  br label %2788

2788:                                             ; preds = %2783, %2787
  %.str.81.sink1862 = phi ptr [ @.str.81, %2787 ], [ @.str.78, %2783 ]
  store i32 %2778, ptr %468, align 4, !tbaa !5
  %2789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2790 = load i32, ptr @test_count, align 4, !tbaa !5
  %2791 = load i32, ptr %414, align 4, !tbaa !5
  %2792 = call ptr @s2n_strerror(i32 noundef %2791, ptr noundef nonnull @.str.80) #12
  %2793 = load i32, ptr %414, align 4, !tbaa !5
  %2794 = call ptr @s2n_strerror_debug(i32 noundef %2793, ptr noundef nonnull @.str.80) #12
  %2795 = load i32, ptr %468, align 4, !tbaa !5
  %2796 = call ptr @strerror(i32 noundef %2795) #12
  %2797 = load i32, ptr %468, align 4, !tbaa !5
  %2798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2789, ptr noundef nonnull %.str.81.sink1862, i32 noundef %2790, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 253, ptr noundef %2792, ptr noundef %2794, ptr noundef %2796, i32 noundef %2797) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2799:                                             ; preds = %2773
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %24, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %25) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %25, i8 0, i64 56, i1 false)
  %2800 = load i32, ptr @test_count, align 4, !tbaa !5
  %2801 = add nsw i32 %2800, 1
  store i32 %2801, ptr @test_count, align 4, !tbaa !5
  %2802 = call i32 @s2n_offered_psk_list_reread(ptr noundef nonnull %25)
  %2803 = icmp eq i32 %2802, -1
  br i1 %2803, label %2804, label %2826

2804:                                             ; preds = %2799
  %2805 = load i32, ptr %468, align 4, !tbaa !5
  %2806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2807 = call i32 @s2n_print_stacktrace(ptr noundef %2806) #12
  %2808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2809 = trunc nuw i8 %2808 to i1
  br i1 %2809, label %2810, label %2814

2810:                                             ; preds = %2804
  %2811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2812 = call i32 @fileno(ptr noundef %2811) #12
  %2813 = call i32 @isatty(i32 noundef %2812) #12
  %.not887 = icmp eq i32 %2813, 0
  br i1 %.not887, label %2814, label %2815

2814:                                             ; preds = %2810, %2804
  br label %2815

2815:                                             ; preds = %2810, %2814
  %.str.81.sink1871 = phi ptr [ @.str.81, %2814 ], [ @.str.78, %2810 ]
  store i32 %2805, ptr %468, align 4, !tbaa !5
  %2816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2817 = load i32, ptr @test_count, align 4, !tbaa !5
  %2818 = load i32, ptr %414, align 4, !tbaa !5
  %2819 = call ptr @s2n_strerror(i32 noundef %2818, ptr noundef nonnull @.str.80) #12
  %2820 = load i32, ptr %414, align 4, !tbaa !5
  %2821 = call ptr @s2n_strerror_debug(i32 noundef %2820, ptr noundef nonnull @.str.80) #12
  %2822 = load i32, ptr %468, align 4, !tbaa !5
  %2823 = call ptr @strerror(i32 noundef %2822) #12
  %2824 = load i32, ptr %468, align 4, !tbaa !5
  %2825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2816, ptr noundef nonnull %.str.81.sink1871, i32 noundef %2817, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.77, i32 noundef 260, ptr noundef %2819, ptr noundef %2821, ptr noundef %2823, i32 noundef %2824) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2826:                                             ; preds = %2799
  %2827 = load i32, ptr @test_count, align 4, !tbaa !5
  %2828 = add nsw i32 %2827, 1
  store i32 %2828, ptr @test_count, align 4, !tbaa !5
  %2829 = call i32 @s2n_offered_psk_list_reread(ptr noundef nonnull %25)
  %2830 = icmp eq i32 %2829, -1
  br i1 %2830, label %2831, label %2853

2831:                                             ; preds = %2826
  %2832 = load i32, ptr %468, align 4, !tbaa !5
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = call i32 @s2n_print_stacktrace(ptr noundef %2833) #12
  %2835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2836 = trunc nuw i8 %2835 to i1
  br i1 %2836, label %2837, label %2841

2837:                                             ; preds = %2831
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = call i32 @fileno(ptr noundef %2838) #12
  %2840 = call i32 @isatty(i32 noundef %2839) #12
  %.not886 = icmp eq i32 %2840, 0
  br i1 %.not886, label %2841, label %2842

2841:                                             ; preds = %2837, %2831
  br label %2842

2842:                                             ; preds = %2837, %2841
  %.str.81.sink1880 = phi ptr [ @.str.81, %2841 ], [ @.str.78, %2837 ]
  store i32 %2832, ptr %468, align 4, !tbaa !5
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = load i32, ptr @test_count, align 4, !tbaa !5
  %2845 = load i32, ptr %414, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror(i32 noundef %2845, ptr noundef nonnull @.str.80) #12
  %2847 = load i32, ptr %414, align 4, !tbaa !5
  %2848 = call ptr @s2n_strerror_debug(i32 noundef %2847, ptr noundef nonnull @.str.80) #12
  %2849 = load i32, ptr %468, align 4, !tbaa !5
  %2850 = call ptr @strerror(i32 noundef %2849) #12
  %2851 = load i32, ptr %468, align 4, !tbaa !5
  %2852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2843, ptr noundef nonnull %.str.81.sink1880, i32 noundef %2844, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.77, i32 noundef 261, ptr noundef %2846, ptr noundef %2848, ptr noundef %2850, i32 noundef %2851) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2853:                                             ; preds = %2826
  %2854 = load i32, ptr @test_count, align 4, !tbaa !5
  %2855 = add nsw i32 %2854, 1
  store i32 %2855, ptr @test_count, align 4, !tbaa !5
  %2856 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %25, ptr noundef nonnull %24)
  %2857 = icmp eq i32 %2856, -1
  br i1 %2857, label %2880, label %2858

2858:                                             ; preds = %2853
  %2859 = load i32, ptr %468, 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 = %2858
  %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
  %.not723 = icmp eq i32 %2867, 0
  br i1 %.not723, label %2868, label %2869

2868:                                             ; preds = %2864, %2858
  br label %2869

2869:                                             ; preds = %2864, %2868
  %.str.81.sink1889 = phi ptr [ @.str.81, %2868 ], [ @.str.78, %2864 ]
  store i32 %2859, ptr %468, 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 %414, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror(i32 noundef %2872, ptr noundef nonnull @.str.80) #12
  %2874 = load i32, ptr %414, align 4, !tbaa !5
  %2875 = call ptr @s2n_strerror_debug(i32 noundef %2874, ptr noundef nonnull @.str.80) #12
  %2876 = load i32, ptr %468, align 4, !tbaa !5
  %2877 = call ptr @strerror(i32 noundef %2876) #12
  %2878 = load i32, ptr %468, align 4, !tbaa !5
  %2879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2870, ptr noundef nonnull %.str.81.sink1889, i32 noundef %2871, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.77, i32 noundef 263, ptr noundef %2873, ptr noundef %2875, ptr noundef %2877, i32 noundef %2878) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2880:                                             ; preds = %2853
  %2881 = load i32, ptr @test_count, align 4, !tbaa !5
  %2882 = add nsw i32 %2881, 1
  store i32 %2882, ptr @test_count, align 4, !tbaa !5
  %2883 = load i32, ptr %414, align 4, !tbaa !5
  %2884 = icmp eq i32 %2883, 402653201
  br i1 %2884, label %2907, label %2885

2885:                                             ; preds = %2880
  %2886 = load i32, ptr %468, align 4, !tbaa !5
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = call i32 @s2n_print_stacktrace(ptr noundef %2887) #12
  %2889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2890 = trunc nuw i8 %2889 to i1
  br i1 %2890, label %2891, label %2895

2891:                                             ; preds = %2885
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = call i32 @fileno(ptr noundef %2892) #12
  %2894 = call i32 @isatty(i32 noundef %2893) #12
  %.not724 = icmp eq i32 %2894, 0
  br i1 %.not724, label %2895, label %2896

2895:                                             ; preds = %2891, %2885
  br label %2896

2896:                                             ; preds = %2891, %2895
  %.str.81.sink1898 = phi ptr [ @.str.81, %2895 ], [ @.str.78, %2891 ]
  store i32 %2886, ptr %468, align 4, !tbaa !5
  %2897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2898 = load i32, ptr @test_count, align 4, !tbaa !5
  %2899 = load i32, ptr %414, align 4, !tbaa !5
  %2900 = call ptr @s2n_strerror(i32 noundef %2899, ptr noundef nonnull @.str.80) #12
  %2901 = load i32, ptr %414, align 4, !tbaa !5
  %2902 = call ptr @s2n_strerror_debug(i32 noundef %2901, ptr noundef nonnull @.str.80) #12
  %2903 = load i32, ptr %468, align 4, !tbaa !5
  %2904 = call ptr @strerror(i32 noundef %2903) #12
  %2905 = load i32, ptr %468, align 4, !tbaa !5
  %2906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2897, ptr noundef nonnull %.str.81.sink1898, i32 noundef %2898, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.77, i32 noundef 263, ptr noundef %2900, ptr noundef %2902, ptr noundef %2904, i32 noundef %2905) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2907:                                             ; preds = %2880
  %2908 = add nsw i32 %2881, 2
  store i32 %2908, ptr @test_count, align 4, !tbaa !5
  %2909 = call ptr @s2n_strerror_debug(i32 noundef 402653201, ptr noundef nonnull @.str.80) #12
  %2910 = icmp eq ptr %2909, null
  br i1 %2910, label %2911, label %2933

2911:                                             ; preds = %2907
  %2912 = load i32, ptr %468, align 4, !tbaa !5
  %2913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2914 = call i32 @s2n_print_stacktrace(ptr noundef %2913) #12
  %2915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2916 = trunc nuw i8 %2915 to i1
  br i1 %2916, label %2917, label %2921

2917:                                             ; preds = %2911
  %2918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2919 = call i32 @fileno(ptr noundef %2918) #12
  %2920 = call i32 @isatty(i32 noundef %2919) #12
  %.not885 = icmp eq i32 %2920, 0
  br i1 %.not885, label %2921, label %2922

2921:                                             ; preds = %2917, %2911
  br label %2922

2922:                                             ; preds = %2917, %2921
  %.str.81.sink1907 = phi ptr [ @.str.81, %2921 ], [ @.str.78, %2917 ]
  store i32 %2912, ptr %468, align 4, !tbaa !5
  %2923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2924 = load i32, ptr @test_count, align 4, !tbaa !5
  %2925 = load i32, ptr %414, align 4, !tbaa !5
  %2926 = call ptr @s2n_strerror(i32 noundef %2925, ptr noundef nonnull @.str.80) #12
  %2927 = load i32, ptr %414, align 4, !tbaa !5
  %2928 = call ptr @s2n_strerror_debug(i32 noundef %2927, ptr noundef nonnull @.str.80) #12
  %2929 = load i32, ptr %468, align 4, !tbaa !5
  %2930 = call ptr @strerror(i32 noundef %2929) #12
  %2931 = load i32, ptr %468, align 4, !tbaa !5
  %2932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2923, ptr noundef nonnull %.str.81.sink1907, i32 noundef %2924, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 263, ptr noundef %2926, ptr noundef %2928, ptr noundef %2930, i32 noundef %2931) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2933:                                             ; preds = %2907
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %26, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %27) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %27, i8 0, i64 56, i1 false)
  %2934 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %2935 = load i32, ptr @test_count, align 4, !tbaa !5
  %2936 = add nsw i32 %2935, 1
  store i32 %2936, ptr @test_count, align 4, !tbaa !5
  %2937 = icmp eq ptr %2934, null
  br i1 %2937, label %2938, label %2960

2938:                                             ; preds = %2933
  %2939 = load i32, ptr %468, align 4, !tbaa !5
  %2940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2941 = call i32 @s2n_print_stacktrace(ptr noundef %2940) #12
  %2942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2943 = trunc nuw i8 %2942 to i1
  br i1 %2943, label %2944, label %2948

2944:                                             ; preds = %2938
  %2945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2946 = call i32 @fileno(ptr noundef %2945) #12
  %2947 = call i32 @isatty(i32 noundef %2946) #12
  %.not884 = icmp eq i32 %2947, 0
  br i1 %.not884, label %2948, label %2949

2948:                                             ; preds = %2944, %2938
  br label %2949

2949:                                             ; preds = %2944, %2948
  %.str.81.sink1916 = phi ptr [ @.str.81, %2948 ], [ @.str.78, %2944 ]
  store i32 %2939, ptr %468, align 4, !tbaa !5
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = load i32, ptr @test_count, align 4, !tbaa !5
  %2952 = load i32, ptr %414, align 4, !tbaa !5
  %2953 = call ptr @s2n_strerror(i32 noundef %2952, ptr noundef nonnull @.str.80) #12
  %2954 = load i32, ptr %414, align 4, !tbaa !5
  %2955 = call ptr @s2n_strerror_debug(i32 noundef %2954, ptr noundef nonnull @.str.80) #12
  %2956 = load i32, ptr %468, align 4, !tbaa !5
  %2957 = call ptr @strerror(i32 noundef %2956) #12
  %2958 = load i32, ptr %468, align 4, !tbaa !5
  %2959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2950, ptr noundef nonnull %.str.81.sink1916, i32 noundef %2951, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.77, i32 noundef 271, ptr noundef %2953, ptr noundef %2955, ptr noundef %2957, i32 noundef %2958) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2960:                                             ; preds = %2933
  store ptr %2934, ptr %27, align 8, !tbaa !20
  %2961 = add nsw i32 %2935, 2
  store i32 %2961, ptr @test_count, align 4, !tbaa !5
  %2962 = getelementptr inbounds i8, ptr %27, i64 8
  %2963 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %2962, i32 noundef 0) #12
  %2964 = icmp eq i32 %2963, -1
  br i1 %2964, label %2965, label %2987

2965:                                             ; preds = %2960
  %2966 = load i32, ptr %468, align 4, !tbaa !5
  %2967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2968 = call i32 @s2n_print_stacktrace(ptr noundef %2967) #12
  %2969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2970 = trunc nuw i8 %2969 to i1
  br i1 %2970, label %2971, label %2975

2971:                                             ; preds = %2965
  %2972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2973 = call i32 @fileno(ptr noundef %2972) #12
  %2974 = call i32 @isatty(i32 noundef %2973) #12
  %.not883 = icmp eq i32 %2974, 0
  br i1 %.not883, label %2975, label %2976

2975:                                             ; preds = %2971, %2965
  br label %2976

2976:                                             ; preds = %2971, %2975
  %.str.81.sink1925 = phi ptr [ @.str.81, %2975 ], [ @.str.78, %2971 ]
  store i32 %2966, ptr %468, align 4, !tbaa !5
  %2977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2978 = load i32, ptr @test_count, align 4, !tbaa !5
  %2979 = load i32, ptr %414, align 4, !tbaa !5
  %2980 = call ptr @s2n_strerror(i32 noundef %2979, ptr noundef nonnull @.str.80) #12
  %2981 = load i32, ptr %414, align 4, !tbaa !5
  %2982 = call ptr @s2n_strerror_debug(i32 noundef %2981, ptr noundef nonnull @.str.80) #12
  %2983 = load i32, ptr %468, align 4, !tbaa !5
  %2984 = call ptr @strerror(i32 noundef %2983) #12
  %2985 = load i32, ptr %468, align 4, !tbaa !5
  %2986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2977, ptr noundef nonnull %.str.81.sink1925, i32 noundef %2978, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 274, ptr noundef %2980, ptr noundef %2982, ptr noundef %2984, i32 noundef %2985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2987:                                             ; preds = %2960
  %2988 = load i32, ptr @test_count, align 4, !tbaa !5
  %2989 = add nsw i32 %2988, 1
  store i32 %2989, ptr @test_count, align 4, !tbaa !5
  %2990 = call i32 @s2n_write_test_identity(ptr noundef nonnull %2962, ptr noundef nonnull %3, i16 noundef zeroext 4)
  %2991 = call zeroext i1 @s2n_result_is_ok(i32 %2990)
  br i1 %2991, label %3014, label %2992

2992:                                             ; preds = %2987
  %2993 = load i32, ptr %468, align 4, !tbaa !5
  %2994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2995 = call i32 @s2n_print_stacktrace(ptr noundef %2994) #12
  %2996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2997 = trunc nuw i8 %2996 to i1
  br i1 %2997, label %2998, label %3002

2998:                                             ; preds = %2992
  %2999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3000 = call i32 @fileno(ptr noundef %2999) #12
  %3001 = call i32 @isatty(i32 noundef %3000) #12
  %.not725 = icmp eq i32 %3001, 0
  br i1 %.not725, label %3002, label %3003

3002:                                             ; preds = %2998, %2992
  br label %3003

3003:                                             ; preds = %2998, %3002
  %.str.81.sink1934 = phi ptr [ @.str.81, %3002 ], [ @.str.78, %2998 ]
  store i32 %2993, ptr %468, align 4, !tbaa !5
  %3004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3005 = load i32, ptr @test_count, align 4, !tbaa !5
  %3006 = load i32, ptr %414, align 4, !tbaa !5
  %3007 = call ptr @s2n_strerror(i32 noundef %3006, ptr noundef nonnull @.str.80) #12
  %3008 = load i32, ptr %414, align 4, !tbaa !5
  %3009 = call ptr @s2n_strerror_debug(i32 noundef %3008, ptr noundef nonnull @.str.80) #12
  %3010 = load i32, ptr %468, align 4, !tbaa !5
  %3011 = call ptr @strerror(i32 noundef %3010) #12
  %3012 = load i32, ptr %468, align 4, !tbaa !5
  %3013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3004, ptr noundef nonnull %.str.81.sink1934, i32 noundef %3005, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.77, i32 noundef 275, ptr noundef %3007, ptr noundef %3009, ptr noundef %3011, i32 noundef %3012) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3014:                                             ; preds = %2987
  %3015 = load i32, ptr @test_count, align 4, !tbaa !5
  %3016 = add nsw i32 %3015, 1
  store i32 %3016, ptr @test_count, align 4, !tbaa !5
  %3017 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %27, ptr noundef nonnull %26)
  %3018 = icmp eq i32 %3017, -1
  br i1 %3018, label %3019, label %3041

3019:                                             ; preds = %3014
  %3020 = load i32, ptr %468, align 4, !tbaa !5
  %3021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3022 = call i32 @s2n_print_stacktrace(ptr noundef %3021) #12
  %3023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3024 = trunc nuw i8 %3023 to i1
  br i1 %3024, label %3025, label %3029

3025:                                             ; preds = %3019
  %3026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3027 = call i32 @fileno(ptr noundef %3026) #12
  %3028 = call i32 @isatty(i32 noundef %3027) #12
  %.not882 = icmp eq i32 %3028, 0
  br i1 %.not882, label %3029, label %3030

3029:                                             ; preds = %3025, %3019
  br label %3030

3030:                                             ; preds = %3025, %3029
  %.str.81.sink1943 = phi ptr [ @.str.81, %3029 ], [ @.str.78, %3025 ]
  store i32 %3020, ptr %468, align 4, !tbaa !5
  %3031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3032 = load i32, ptr @test_count, align 4, !tbaa !5
  %3033 = load i32, ptr %414, align 4, !tbaa !5
  %3034 = call ptr @s2n_strerror(i32 noundef %3033, ptr noundef nonnull @.str.80) #12
  %3035 = load i32, ptr %414, align 4, !tbaa !5
  %3036 = call ptr @s2n_strerror_debug(i32 noundef %3035, ptr noundef nonnull @.str.80) #12
  %3037 = load i32, ptr %468, align 4, !tbaa !5
  %3038 = call ptr @strerror(i32 noundef %3037) #12
  %3039 = load i32, ptr %468, align 4, !tbaa !5
  %3040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3031, ptr noundef nonnull %.str.81.sink1943, i32 noundef %3032, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 277, ptr noundef %3034, ptr noundef %3036, ptr noundef %3038, i32 noundef %3039) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3041:                                             ; preds = %3014
  %3042 = load i32, ptr @test_count, align 4, !tbaa !5
  %3043 = add nsw i32 %3042, 1
  store i32 %3043, ptr @test_count, align 4, !tbaa !5
  %3044 = getelementptr inbounds i8, ptr %26, i64 8
  %3045 = load i32, ptr %3044, align 8, !tbaa !15
  %3046 = icmp eq i32 %3045, 4
  br i1 %3046, label %3069, label %3047

3047:                                             ; preds = %3041
  %3048 = load i32, ptr %468, align 4, !tbaa !5
  %3049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3050 = call i32 @s2n_print_stacktrace(ptr noundef %3049) #12
  %3051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3052 = trunc nuw i8 %3051 to i1
  br i1 %3052, label %3053, label %3057

3053:                                             ; preds = %3047
  %3054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3055 = call i32 @fileno(ptr noundef %3054) #12
  %3056 = call i32 @isatty(i32 noundef %3055) #12
  %.not726 = icmp eq i32 %3056, 0
  br i1 %.not726, label %3057, label %3058

3057:                                             ; preds = %3053, %3047
  br label %3058

3058:                                             ; preds = %3053, %3057
  %.str.81.sink1952 = phi ptr [ @.str.81, %3057 ], [ @.str.78, %3053 ]
  store i32 %3048, ptr %468, align 4, !tbaa !5
  %3059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3060 = load i32, ptr @test_count, align 4, !tbaa !5
  %3061 = load i32, ptr %414, align 4, !tbaa !5
  %3062 = call ptr @s2n_strerror(i32 noundef %3061, ptr noundef nonnull @.str.80) #12
  %3063 = load i32, ptr %414, align 4, !tbaa !5
  %3064 = call ptr @s2n_strerror_debug(i32 noundef %3063, ptr noundef nonnull @.str.80) #12
  %3065 = load i32, ptr %468, align 4, !tbaa !5
  %3066 = call ptr @strerror(i32 noundef %3065) #12
  %3067 = load i32, ptr %468, align 4, !tbaa !5
  %3068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3059, ptr noundef nonnull %.str.81.sink1952, i32 noundef %3060, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.77, i32 noundef 278, ptr noundef %3062, ptr noundef %3064, ptr noundef %3066, i32 noundef %3067) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3069:                                             ; preds = %3041
  %3070 = add nsw i32 %3042, 2
  store i32 %3070, ptr @test_count, align 4, !tbaa !5
  %3071 = load ptr, ptr %26, align 8, !tbaa !19
  %bcmp727 = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %3071, ptr noundef nonnull dereferenceable(4) %3, i64 4)
  %3072 = icmp eq i32 %bcmp727, 0
  br i1 %3072, label %3095, label %3073

3073:                                             ; preds = %3069
  %3074 = load i32, ptr %468, align 4, !tbaa !5
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = call i32 @s2n_print_stacktrace(ptr noundef %3075) #12
  %3077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3078 = trunc nuw i8 %3077 to i1
  br i1 %3078, label %3079, label %3083

3079:                                             ; preds = %3073
  %3080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3081 = call i32 @fileno(ptr noundef %3080) #12
  %3082 = call i32 @isatty(i32 noundef %3081) #12
  %.not728 = icmp eq i32 %3082, 0
  br i1 %.not728, label %3083, label %3084

3083:                                             ; preds = %3079, %3073
  br label %3084

3084:                                             ; preds = %3079, %3083
  %.str.81.sink1961 = phi ptr [ @.str.81, %3083 ], [ @.str.78, %3079 ]
  store i32 %3074, ptr %468, align 4, !tbaa !5
  %3085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3086 = load i32, ptr @test_count, align 4, !tbaa !5
  %3087 = load i32, ptr %414, align 4, !tbaa !5
  %3088 = call ptr @s2n_strerror(i32 noundef %3087, ptr noundef nonnull @.str.80) #12
  %3089 = load i32, ptr %414, align 4, !tbaa !5
  %3090 = call ptr @s2n_strerror_debug(i32 noundef %3089, ptr noundef nonnull @.str.80) #12
  %3091 = load i32, ptr %468, align 4, !tbaa !5
  %3092 = call ptr @strerror(i32 noundef %3091) #12
  %3093 = load i32, ptr %468, align 4, !tbaa !5
  %3094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3085, ptr noundef nonnull %.str.81.sink1961, i32 noundef %3086, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.77, i32 noundef 279, ptr noundef %3088, ptr noundef %3090, ptr noundef %3092, i32 noundef %3093) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3095:                                             ; preds = %3069
  %3096 = add nsw i32 %3042, 3
  store i32 %3096, ptr @test_count, align 4, !tbaa !5
  %3097 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %27, ptr noundef nonnull %26)
  %3098 = icmp eq i32 %3097, -1
  br i1 %3098, label %3121, label %3099

3099:                                             ; preds = %3095
  %3100 = load i32, ptr %468, align 4, !tbaa !5
  %3101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3102 = call i32 @s2n_print_stacktrace(ptr noundef %3101) #12
  %3103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3104 = trunc nuw i8 %3103 to i1
  br i1 %3104, label %3105, label %3109

3105:                                             ; preds = %3099
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3107 = call i32 @fileno(ptr noundef %3106) #12
  %3108 = call i32 @isatty(i32 noundef %3107) #12
  %.not729 = icmp eq i32 %3108, 0
  br i1 %.not729, label %3109, label %3110

3109:                                             ; preds = %3105, %3099
  br label %3110

3110:                                             ; preds = %3105, %3109
  %.str.81.sink1970 = phi ptr [ @.str.81, %3109 ], [ @.str.78, %3105 ]
  store i32 %3100, ptr %468, align 4, !tbaa !5
  %3111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3112 = load i32, ptr @test_count, align 4, !tbaa !5
  %3113 = load i32, ptr %414, align 4, !tbaa !5
  %3114 = call ptr @s2n_strerror(i32 noundef %3113, ptr noundef nonnull @.str.80) #12
  %3115 = load i32, ptr %414, align 4, !tbaa !5
  %3116 = call ptr @s2n_strerror_debug(i32 noundef %3115, ptr noundef nonnull @.str.80) #12
  %3117 = load i32, ptr %468, align 4, !tbaa !5
  %3118 = call ptr @strerror(i32 noundef %3117) #12
  %3119 = load i32, ptr %468, align 4, !tbaa !5
  %3120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3111, ptr noundef nonnull %.str.81.sink1970, i32 noundef %3112, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.77, i32 noundef 281, ptr noundef %3114, ptr noundef %3116, ptr noundef %3118, i32 noundef %3119) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3121:                                             ; preds = %3095
  %3122 = load i32, ptr @test_count, align 4, !tbaa !5
  %3123 = add nsw i32 %3122, 1
  store i32 %3123, ptr @test_count, align 4, !tbaa !5
  %3124 = load i32, ptr %414, align 4, !tbaa !5
  %3125 = icmp eq i32 %3124, 402653201
  br i1 %3125, label %3148, label %3126

3126:                                             ; preds = %3121
  %3127 = load i32, ptr %468, align 4, !tbaa !5
  %3128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3129 = call i32 @s2n_print_stacktrace(ptr noundef %3128) #12
  %3130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3131 = trunc nuw i8 %3130 to i1
  br i1 %3131, label %3132, label %3136

3132:                                             ; preds = %3126
  %3133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3134 = call i32 @fileno(ptr noundef %3133) #12
  %3135 = call i32 @isatty(i32 noundef %3134) #12
  %.not730 = icmp eq i32 %3135, 0
  br i1 %.not730, label %3136, label %3137

3136:                                             ; preds = %3132, %3126
  br label %3137

3137:                                             ; preds = %3132, %3136
  %.str.81.sink1979 = phi ptr [ @.str.81, %3136 ], [ @.str.78, %3132 ]
  store i32 %3127, ptr %468, align 4, !tbaa !5
  %3138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3139 = load i32, ptr @test_count, align 4, !tbaa !5
  %3140 = load i32, ptr %414, align 4, !tbaa !5
  %3141 = call ptr @s2n_strerror(i32 noundef %3140, ptr noundef nonnull @.str.80) #12
  %3142 = load i32, ptr %414, align 4, !tbaa !5
  %3143 = call ptr @s2n_strerror_debug(i32 noundef %3142, ptr noundef nonnull @.str.80) #12
  %3144 = load i32, ptr %468, align 4, !tbaa !5
  %3145 = call ptr @strerror(i32 noundef %3144) #12
  %3146 = load i32, ptr %468, align 4, !tbaa !5
  %3147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3138, ptr noundef nonnull %.str.81.sink1979, i32 noundef %3139, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.77, i32 noundef 281, ptr noundef %3141, ptr noundef %3143, ptr noundef %3145, i32 noundef %3146) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3148:                                             ; preds = %3121
  %3149 = add nsw i32 %3122, 2
  store i32 %3149, ptr @test_count, align 4, !tbaa !5
  %3150 = call ptr @s2n_strerror_debug(i32 noundef 402653201, ptr noundef nonnull @.str.80) #12
  %3151 = icmp eq ptr %3150, null
  br i1 %3151, label %3152, label %3174

3152:                                             ; preds = %3148
  %3153 = load i32, ptr %468, align 4, !tbaa !5
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = call i32 @s2n_print_stacktrace(ptr noundef %3154) #12
  %3156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3157 = trunc nuw i8 %3156 to i1
  br i1 %3157, label %3158, label %3162

3158:                                             ; preds = %3152
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = call i32 @fileno(ptr noundef %3159) #12
  %3161 = call i32 @isatty(i32 noundef %3160) #12
  %.not881 = icmp eq i32 %3161, 0
  br i1 %.not881, label %3162, label %3163

3162:                                             ; preds = %3158, %3152
  br label %3163

3163:                                             ; preds = %3158, %3162
  %.str.81.sink1988 = phi ptr [ @.str.81, %3162 ], [ @.str.78, %3158 ]
  store i32 %3153, ptr %468, align 4, !tbaa !5
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = load i32, ptr %414, align 4, !tbaa !5
  %3167 = call ptr @s2n_strerror(i32 noundef %3166, ptr noundef nonnull @.str.80) #12
  %3168 = load i32, ptr %414, align 4, !tbaa !5
  %3169 = call ptr @s2n_strerror_debug(i32 noundef %3168, ptr noundef nonnull @.str.80) #12
  %3170 = load i32, ptr %468, align 4, !tbaa !5
  %3171 = call ptr @strerror(i32 noundef %3170) #12
  %3172 = load i32, ptr %468, align 4, !tbaa !5
  %3173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3164, ptr noundef nonnull %.str.81.sink1988, i32 noundef %3165, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 281, ptr noundef %3167, ptr noundef %3169, ptr noundef %3171, i32 noundef %3172) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3174:                                             ; preds = %3148
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %3175 = load i32, ptr @test_count, align 4, !tbaa !5
  %3176 = add nsw i32 %3175, 1
  store i32 %3176, ptr @test_count, align 4, !tbaa !5
  %3177 = call i32 @s2n_offered_psk_list_reread(ptr noundef nonnull %27)
  %3178 = icmp eq i32 %3177, -1
  br i1 %3178, label %3179, label %3201

3179:                                             ; preds = %3174
  %3180 = load i32, ptr %468, align 4, !tbaa !5
  %3181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3182 = call i32 @s2n_print_stacktrace(ptr noundef %3181) #12
  %3183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3184 = trunc nuw i8 %3183 to i1
  br i1 %3184, label %3185, label %3189

3185:                                             ; preds = %3179
  %3186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3187 = call i32 @fileno(ptr noundef %3186) #12
  %3188 = call i32 @isatty(i32 noundef %3187) #12
  %.not880 = icmp eq i32 %3188, 0
  br i1 %.not880, label %3189, label %3190

3189:                                             ; preds = %3185, %3179
  br label %3190

3190:                                             ; preds = %3185, %3189
  %.str.81.sink1997 = phi ptr [ @.str.81, %3189 ], [ @.str.78, %3185 ]
  store i32 %3180, ptr %468, align 4, !tbaa !5
  %3191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3192 = load i32, ptr @test_count, align 4, !tbaa !5
  %3193 = load i32, ptr %414, align 4, !tbaa !5
  %3194 = call ptr @s2n_strerror(i32 noundef %3193, ptr noundef nonnull @.str.80) #12
  %3195 = load i32, ptr %414, align 4, !tbaa !5
  %3196 = call ptr @s2n_strerror_debug(i32 noundef %3195, ptr noundef nonnull @.str.80) #12
  %3197 = load i32, ptr %468, align 4, !tbaa !5
  %3198 = call ptr @strerror(i32 noundef %3197) #12
  %3199 = load i32, ptr %468, align 4, !tbaa !5
  %3200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3191, ptr noundef nonnull %.str.81.sink1997, i32 noundef %3192, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.77, i32 noundef 283, ptr noundef %3194, ptr noundef %3196, ptr noundef %3198, i32 noundef %3199) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3201:                                             ; preds = %3174
  %3202 = load i32, ptr @test_count, align 4, !tbaa !5
  %3203 = add nsw i32 %3202, 1
  store i32 %3203, ptr @test_count, align 4, !tbaa !5
  %3204 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %27, ptr noundef nonnull %26)
  %3205 = icmp eq i32 %3204, -1
  br i1 %3205, label %3206, label %3228

3206:                                             ; preds = %3201
  %3207 = load i32, ptr %468, align 4, !tbaa !5
  %3208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3209 = call i32 @s2n_print_stacktrace(ptr noundef %3208) #12
  %3210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3211 = trunc nuw i8 %3210 to i1
  br i1 %3211, label %3212, label %3216

3212:                                             ; preds = %3206
  %3213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3214 = call i32 @fileno(ptr noundef %3213) #12
  %3215 = call i32 @isatty(i32 noundef %3214) #12
  %.not879 = icmp eq i32 %3215, 0
  br i1 %.not879, label %3216, label %3217

3216:                                             ; preds = %3212, %3206
  br label %3217

3217:                                             ; preds = %3212, %3216
  %.str.81.sink2006 = phi ptr [ @.str.81, %3216 ], [ @.str.78, %3212 ]
  store i32 %3207, ptr %468, align 4, !tbaa !5
  %3218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3219 = load i32, ptr @test_count, align 4, !tbaa !5
  %3220 = load i32, ptr %414, align 4, !tbaa !5
  %3221 = call ptr @s2n_strerror(i32 noundef %3220, ptr noundef nonnull @.str.80) #12
  %3222 = load i32, ptr %414, align 4, !tbaa !5
  %3223 = call ptr @s2n_strerror_debug(i32 noundef %3222, ptr noundef nonnull @.str.80) #12
  %3224 = load i32, ptr %468, align 4, !tbaa !5
  %3225 = call ptr @strerror(i32 noundef %3224) #12
  %3226 = load i32, ptr %468, align 4, !tbaa !5
  %3227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3218, ptr noundef nonnull %.str.81.sink2006, i32 noundef %3219, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 285, ptr noundef %3221, ptr noundef %3223, ptr noundef %3225, i32 noundef %3226) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3228:                                             ; preds = %3201
  %3229 = load i32, ptr @test_count, align 4, !tbaa !5
  %3230 = add nsw i32 %3229, 1
  store i32 %3230, ptr @test_count, align 4, !tbaa !5
  %3231 = load i32, ptr %3044, align 8, !tbaa !15
  %3232 = icmp eq i32 %3231, 4
  br i1 %3232, label %3255, label %3233

3233:                                             ; preds = %3228
  %3234 = load i32, ptr %468, align 4, !tbaa !5
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = call i32 @s2n_print_stacktrace(ptr noundef %3235) #12
  %3237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3238 = trunc nuw i8 %3237 to i1
  br i1 %3238, label %3239, label %3243

3239:                                             ; preds = %3233
  %3240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3241 = call i32 @fileno(ptr noundef %3240) #12
  %3242 = call i32 @isatty(i32 noundef %3241) #12
  %.not731 = icmp eq i32 %3242, 0
  br i1 %.not731, label %3243, label %3244

3243:                                             ; preds = %3239, %3233
  br label %3244

3244:                                             ; preds = %3239, %3243
  %.str.81.sink2015 = phi ptr [ @.str.81, %3243 ], [ @.str.78, %3239 ]
  store i32 %3234, ptr %468, align 4, !tbaa !5
  %3245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3246 = load i32, ptr @test_count, align 4, !tbaa !5
  %3247 = load i32, ptr %414, align 4, !tbaa !5
  %3248 = call ptr @s2n_strerror(i32 noundef %3247, ptr noundef nonnull @.str.80) #12
  %3249 = load i32, ptr %414, align 4, !tbaa !5
  %3250 = call ptr @s2n_strerror_debug(i32 noundef %3249, ptr noundef nonnull @.str.80) #12
  %3251 = load i32, ptr %468, align 4, !tbaa !5
  %3252 = call ptr @strerror(i32 noundef %3251) #12
  %3253 = load i32, ptr %468, align 4, !tbaa !5
  %3254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3245, ptr noundef nonnull %.str.81.sink2015, i32 noundef %3246, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.77, i32 noundef 286, ptr noundef %3248, ptr noundef %3250, ptr noundef %3252, i32 noundef %3253) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3255:                                             ; preds = %3228
  %3256 = add nsw i32 %3229, 2
  store i32 %3256, ptr @test_count, align 4, !tbaa !5
  %3257 = load ptr, ptr %26, align 8, !tbaa !19
  %bcmp732 = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %3257, ptr noundef nonnull dereferenceable(4) %3, i64 4)
  %3258 = icmp eq i32 %bcmp732, 0
  br i1 %3258, label %3281, label %3259

3259:                                             ; preds = %3255
  %3260 = load i32, ptr %468, align 4, !tbaa !5
  %3261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3262 = call i32 @s2n_print_stacktrace(ptr noundef %3261) #12
  %3263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3264 = trunc nuw i8 %3263 to i1
  br i1 %3264, label %3265, label %3269

3265:                                             ; preds = %3259
  %3266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3267 = call i32 @fileno(ptr noundef %3266) #12
  %3268 = call i32 @isatty(i32 noundef %3267) #12
  %.not733 = icmp eq i32 %3268, 0
  br i1 %.not733, label %3269, label %3270

3269:                                             ; preds = %3265, %3259
  br label %3270

3270:                                             ; preds = %3265, %3269
  %.str.81.sink2024 = phi ptr [ @.str.81, %3269 ], [ @.str.78, %3265 ]
  store i32 %3260, ptr %468, align 4, !tbaa !5
  %3271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3272 = load i32, ptr @test_count, align 4, !tbaa !5
  %3273 = load i32, ptr %414, align 4, !tbaa !5
  %3274 = call ptr @s2n_strerror(i32 noundef %3273, ptr noundef nonnull @.str.80) #12
  %3275 = load i32, ptr %414, align 4, !tbaa !5
  %3276 = call ptr @s2n_strerror_debug(i32 noundef %3275, ptr noundef nonnull @.str.80) #12
  %3277 = load i32, ptr %468, align 4, !tbaa !5
  %3278 = call ptr @strerror(i32 noundef %3277) #12
  %3279 = load i32, ptr %468, align 4, !tbaa !5
  %3280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3271, ptr noundef nonnull %.str.81.sink2024, i32 noundef %3272, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.77, i32 noundef 287, ptr noundef %3274, ptr noundef %3276, ptr noundef %3278, i32 noundef %3279) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3281:                                             ; preds = %3255
  %3282 = add nsw i32 %3229, 3
  store i32 %3282, ptr @test_count, align 4, !tbaa !5
  %3283 = call i32 @s2n_stuffer_free(ptr noundef nonnull %2962) #12
  %3284 = icmp eq i32 %3283, -1
  br i1 %3284, label %3285, label %3307

3285:                                             ; preds = %3281
  %3286 = load i32, ptr %468, align 4, !tbaa !5
  %3287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3288 = call i32 @s2n_print_stacktrace(ptr noundef %3287) #12
  %3289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3290 = trunc nuw i8 %3289 to i1
  br i1 %3290, label %3291, label %3295

3291:                                             ; preds = %3285
  %3292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3293 = call i32 @fileno(ptr noundef %3292) #12
  %3294 = call i32 @isatty(i32 noundef %3293) #12
  %.not878 = icmp eq i32 %3294, 0
  br i1 %.not878, label %3295, label %3296

3295:                                             ; preds = %3291, %3285
  br label %3296

3296:                                             ; preds = %3291, %3295
  %.str.81.sink2033 = phi ptr [ @.str.81, %3295 ], [ @.str.78, %3291 ]
  store i32 %3286, ptr %468, align 4, !tbaa !5
  %3297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3298 = load i32, ptr @test_count, align 4, !tbaa !5
  %3299 = load i32, ptr %414, align 4, !tbaa !5
  %3300 = call ptr @s2n_strerror(i32 noundef %3299, ptr noundef nonnull @.str.80) #12
  %3301 = load i32, ptr %414, align 4, !tbaa !5
  %3302 = call ptr @s2n_strerror_debug(i32 noundef %3301, ptr noundef nonnull @.str.80) #12
  %3303 = load i32, ptr %468, align 4, !tbaa !5
  %3304 = call ptr @strerror(i32 noundef %3303) #12
  %3305 = load i32, ptr %468, align 4, !tbaa !5
  %3306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3297, ptr noundef nonnull %.str.81.sink2033, i32 noundef %3298, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 289, ptr noundef %3300, ptr noundef %3302, ptr noundef %3304, i32 noundef %3305) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3307:                                             ; preds = %3281
  %3308 = load i32, ptr @test_count, align 4, !tbaa !5
  %3309 = add nsw i32 %3308, 1
  store i32 %3309, ptr @test_count, align 4, !tbaa !5
  %3310 = call i32 @s2n_connection_free(ptr noundef nonnull %2934) #12
  %3311 = icmp eq i32 %3310, -1
  br i1 %3311, label %3312, label %3334

3312:                                             ; preds = %3307
  %3313 = load i32, ptr %468, align 4, !tbaa !5
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = call i32 @s2n_print_stacktrace(ptr noundef %3314) #12
  %3316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3317 = trunc nuw i8 %3316 to i1
  br i1 %3317, label %3318, label %3322

3318:                                             ; preds = %3312
  %3319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3320 = call i32 @fileno(ptr noundef %3319) #12
  %3321 = call i32 @isatty(i32 noundef %3320) #12
  %.not877 = icmp eq i32 %3321, 0
  br i1 %.not877, label %3322, label %3323

3322:                                             ; preds = %3318, %3312
  br label %3323

3323:                                             ; preds = %3318, %3322
  %.str.81.sink2042 = phi ptr [ @.str.81, %3322 ], [ @.str.78, %3318 ]
  store i32 %3313, ptr %468, align 4, !tbaa !5
  %3324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3325 = load i32, ptr @test_count, align 4, !tbaa !5
  %3326 = load i32, ptr %414, align 4, !tbaa !5
  %3327 = call ptr @s2n_strerror(i32 noundef %3326, ptr noundef nonnull @.str.80) #12
  %3328 = load i32, ptr %414, align 4, !tbaa !5
  %3329 = call ptr @s2n_strerror_debug(i32 noundef %3328, ptr noundef nonnull @.str.80) #12
  %3330 = load i32, ptr %468, align 4, !tbaa !5
  %3331 = call ptr @strerror(i32 noundef %3330) #12
  %3332 = load i32, ptr %468, align 4, !tbaa !5
  %3333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3324, ptr noundef nonnull %.str.81.sink2042, i32 noundef %3325, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.77, i32 noundef 290, ptr noundef %3327, ptr noundef %3329, ptr noundef %3331, i32 noundef %3332) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3334:                                             ; preds = %3307
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %28, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #12
  %3335 = call ptr @s2n_offered_psk_new()
  store ptr %3335, ptr %29, align 8, !tbaa !9
  %3336 = load i32, ptr @test_count, align 4, !tbaa !5
  %3337 = add nsw i32 %3336, 1
  store i32 %3337, ptr @test_count, align 4, !tbaa !5
  %3338 = icmp eq ptr %3335, null
  br i1 %3338, label %3339, label %3361

3339:                                             ; preds = %3334
  %3340 = load i32, ptr %468, align 4, !tbaa !5
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = call i32 @s2n_print_stacktrace(ptr noundef %3341) #12
  %3343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3344 = trunc nuw i8 %3343 to i1
  br i1 %3344, label %3345, label %3349

3345:                                             ; preds = %3339
  %3346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3347 = call i32 @fileno(ptr noundef %3346) #12
  %3348 = call i32 @isatty(i32 noundef %3347) #12
  %.not876 = icmp eq i32 %3348, 0
  br i1 %.not876, label %3349, label %3350

3349:                                             ; preds = %3345, %3339
  br label %3350

3350:                                             ; preds = %3345, %3349
  %.str.81.sink2051 = phi ptr [ @.str.81, %3349 ], [ @.str.78, %3345 ]
  store i32 %3340, ptr %468, align 4, !tbaa !5
  %3351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3352 = load i32, ptr @test_count, align 4, !tbaa !5
  %3353 = load i32, ptr %414, align 4, !tbaa !5
  %3354 = call ptr @s2n_strerror(i32 noundef %3353, ptr noundef nonnull @.str.80) #12
  %3355 = load i32, ptr %414, align 4, !tbaa !5
  %3356 = call ptr @s2n_strerror_debug(i32 noundef %3355, ptr noundef nonnull @.str.80) #12
  %3357 = load i32, ptr %468, align 4, !tbaa !5
  %3358 = call ptr @strerror(i32 noundef %3357) #12
  %3359 = load i32, ptr %468, align 4, !tbaa !5
  %3360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3351, ptr noundef nonnull %.str.81.sink2051, i32 noundef %3352, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.77, i32 noundef 299, ptr noundef %3354, ptr noundef %3356, ptr noundef %3358, i32 noundef %3359) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3361:                                             ; preds = %3334
  %3362 = add nsw i32 %3336, 2
  store i32 %3362, ptr @test_count, align 4, !tbaa !5
  %bcmp734 = call i32 @bcmp(ptr noundef nonnull dereferenceable(32) %28, ptr noundef nonnull dereferenceable(32) %3335, i64 32)
  %3363 = icmp eq i32 %bcmp734, 0
  br i1 %3363, label %3386, label %3364

3364:                                             ; preds = %3361
  %3365 = load i32, ptr %468, align 4, !tbaa !5
  %3366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3367 = call i32 @s2n_print_stacktrace(ptr noundef %3366) #12
  %3368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3369 = trunc nuw i8 %3368 to i1
  br i1 %3369, label %3370, label %3374

3370:                                             ; preds = %3364
  %3371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3372 = call i32 @fileno(ptr noundef %3371) #12
  %3373 = call i32 @isatty(i32 noundef %3372) #12
  %.not735 = icmp eq i32 %3373, 0
  br i1 %.not735, label %3374, label %3375

3374:                                             ; preds = %3370, %3364
  br label %3375

3375:                                             ; preds = %3370, %3374
  %.str.81.sink2060 = phi ptr [ @.str.81, %3374 ], [ @.str.78, %3370 ]
  store i32 %3365, ptr %468, align 4, !tbaa !5
  %3376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3377 = load i32, ptr @test_count, align 4, !tbaa !5
  %3378 = load i32, ptr %414, align 4, !tbaa !5
  %3379 = call ptr @s2n_strerror(i32 noundef %3378, ptr noundef nonnull @.str.80) #12
  %3380 = load i32, ptr %414, align 4, !tbaa !5
  %3381 = call ptr @s2n_strerror_debug(i32 noundef %3380, ptr noundef nonnull @.str.80) #12
  %3382 = load i32, ptr %468, align 4, !tbaa !5
  %3383 = call ptr @strerror(i32 noundef %3382) #12
  %3384 = load i32, ptr %468, align 4, !tbaa !5
  %3385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3376, ptr noundef nonnull %.str.81.sink2060, i32 noundef %3377, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.77, i32 noundef 302, ptr noundef %3379, ptr noundef %3381, ptr noundef %3383, i32 noundef %3384) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3386:                                             ; preds = %3361
  %3387 = call i32 @s2n_offered_psk_free(ptr noundef nonnull %29)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #12
  %3388 = load i32, ptr @test_count, align 4, !tbaa !5
  %3389 = add nsw i32 %3388, 1
  store i32 %3389, ptr @test_count, align 4, !tbaa !5
  %3390 = call i32 @s2n_offered_psk_free(ptr noundef null)
  %3391 = icmp eq i32 %3390, -1
  br i1 %3391, label %3392, label %3414

3392:                                             ; preds = %3386
  %3393 = load i32, ptr %468, align 4, !tbaa !5
  %3394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3395 = call i32 @s2n_print_stacktrace(ptr noundef %3394) #12
  %3396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3397 = trunc nuw i8 %3396 to i1
  br i1 %3397, label %3398, label %3402

3398:                                             ; preds = %3392
  %3399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3400 = call i32 @fileno(ptr noundef %3399) #12
  %3401 = call i32 @isatty(i32 noundef %3400) #12
  %.not875 = icmp eq i32 %3401, 0
  br i1 %.not875, label %3402, label %3403

3402:                                             ; preds = %3398, %3392
  br label %3403

3403:                                             ; preds = %3398, %3402
  %.str.81.sink2069 = phi ptr [ @.str.81, %3402 ], [ @.str.78, %3398 ]
  store i32 %3393, ptr %468, align 4, !tbaa !5
  %3404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3405 = load i32, ptr @test_count, align 4, !tbaa !5
  %3406 = load i32, ptr %414, align 4, !tbaa !5
  %3407 = call ptr @s2n_strerror(i32 noundef %3406, ptr noundef nonnull @.str.80) #12
  %3408 = load i32, ptr %414, align 4, !tbaa !5
  %3409 = call ptr @s2n_strerror_debug(i32 noundef %3408, ptr noundef nonnull @.str.80) #12
  %3410 = load i32, ptr %468, align 4, !tbaa !5
  %3411 = call ptr @strerror(i32 noundef %3410) #12
  %3412 = load i32, ptr %468, align 4, !tbaa !5
  %3413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3404, ptr noundef nonnull %.str.81.sink2069, i32 noundef %3405, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.77, i32 noundef 307, ptr noundef %3407, ptr noundef %3409, ptr noundef %3411, i32 noundef %3412) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3414:                                             ; preds = %3386
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  %3415 = call ptr @s2n_offered_psk_new()
  store ptr %3415, ptr %30, align 8, !tbaa !9
  %3416 = load i32, ptr @test_count, align 4, !tbaa !5
  %3417 = add nsw i32 %3416, 1
  store i32 %3417, ptr @test_count, align 4, !tbaa !5
  %3418 = icmp eq ptr %3415, null
  br i1 %3418, label %3419, label %3441

3419:                                             ; preds = %3414
  %3420 = load i32, ptr %468, align 4, !tbaa !5
  %3421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3422 = call i32 @s2n_print_stacktrace(ptr noundef %3421) #12
  %3423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3424 = trunc nuw i8 %3423 to i1
  br i1 %3424, label %3425, label %3429

3425:                                             ; preds = %3419
  %3426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3427 = call i32 @fileno(ptr noundef %3426) #12
  %3428 = call i32 @isatty(i32 noundef %3427) #12
  %.not874 = icmp eq i32 %3428, 0
  br i1 %.not874, label %3429, label %3430

3429:                                             ; preds = %3425, %3419
  br label %3430

3430:                                             ; preds = %3425, %3429
  %.str.81.sink2078 = phi ptr [ @.str.81, %3429 ], [ @.str.78, %3425 ]
  store i32 %3420, ptr %468, align 4, !tbaa !5
  %3431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3432 = load i32, ptr @test_count, align 4, !tbaa !5
  %3433 = load i32, ptr %414, align 4, !tbaa !5
  %3434 = call ptr @s2n_strerror(i32 noundef %3433, ptr noundef nonnull @.str.80) #12
  %3435 = load i32, ptr %414, align 4, !tbaa !5
  %3436 = call ptr @s2n_strerror_debug(i32 noundef %3435, ptr noundef nonnull @.str.80) #12
  %3437 = load i32, ptr %468, align 4, !tbaa !5
  %3438 = call ptr @strerror(i32 noundef %3437) #12
  %3439 = load i32, ptr %468, align 4, !tbaa !5
  %3440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3431, ptr noundef nonnull %.str.81.sink2078, i32 noundef %3432, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.77, i32 noundef 310, ptr noundef %3434, ptr noundef %3436, ptr noundef %3438, i32 noundef %3439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3441:                                             ; preds = %3414
  %3442 = add nsw i32 %3416, 2
  store i32 %3442, ptr @test_count, align 4, !tbaa !5
  %3443 = call i32 @s2n_offered_psk_free(ptr noundef nonnull %30)
  %3444 = icmp eq i32 %3443, -1
  br i1 %3444, label %3445, label %3467

3445:                                             ; preds = %3441
  %3446 = load i32, ptr %468, align 4, !tbaa !5
  %3447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3448 = call i32 @s2n_print_stacktrace(ptr noundef %3447) #12
  %3449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3450 = trunc nuw i8 %3449 to i1
  br i1 %3450, label %3451, label %3455

3451:                                             ; preds = %3445
  %3452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3453 = call i32 @fileno(ptr noundef %3452) #12
  %3454 = call i32 @isatty(i32 noundef %3453) #12
  %.not873 = icmp eq i32 %3454, 0
  br i1 %.not873, label %3455, label %3456

3455:                                             ; preds = %3451, %3445
  br label %3456

3456:                                             ; preds = %3451, %3455
  %.str.81.sink2087 = phi ptr [ @.str.81, %3455 ], [ @.str.78, %3451 ]
  store i32 %3446, ptr %468, align 4, !tbaa !5
  %3457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3458 = load i32, ptr @test_count, align 4, !tbaa !5
  %3459 = load i32, ptr %414, align 4, !tbaa !5
  %3460 = call ptr @s2n_strerror(i32 noundef %3459, ptr noundef nonnull @.str.80) #12
  %3461 = load i32, ptr %414, align 4, !tbaa !5
  %3462 = call ptr @s2n_strerror_debug(i32 noundef %3461, ptr noundef nonnull @.str.80) #12
  %3463 = load i32, ptr %468, align 4, !tbaa !5
  %3464 = call ptr @strerror(i32 noundef %3463) #12
  %3465 = load i32, ptr %468, align 4, !tbaa !5
  %3466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3457, ptr noundef nonnull %.str.81.sink2087, i32 noundef %3458, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.77, i32 noundef 311, ptr noundef %3460, ptr noundef %3462, ptr noundef %3464, i32 noundef %3465) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3467:                                             ; preds = %3441
  %3468 = load i32, ptr @test_count, align 4, !tbaa !5
  %3469 = add nsw i32 %3468, 1
  store i32 %3469, ptr @test_count, align 4, !tbaa !5
  %3470 = load ptr, ptr %30, align 8, !tbaa !9
  %3471 = icmp eq ptr %3470, null
  br i1 %3471, label %3494, label %3472

3472:                                             ; preds = %3467
  %3473 = load i32, ptr %468, align 4, !tbaa !5
  %3474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3475 = call i32 @s2n_print_stacktrace(ptr noundef %3474) #12
  %3476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3477 = trunc nuw i8 %3476 to i1
  br i1 %3477, label %3478, label %3482

3478:                                             ; preds = %3472
  %3479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3480 = call i32 @fileno(ptr noundef %3479) #12
  %3481 = call i32 @isatty(i32 noundef %3480) #12
  %.not736 = icmp eq i32 %3481, 0
  br i1 %.not736, label %3482, label %3483

3482:                                             ; preds = %3478, %3472
  br label %3483

3483:                                             ; preds = %3478, %3482
  %.str.81.sink2096 = phi ptr [ @.str.81, %3482 ], [ @.str.78, %3478 ]
  store i32 %3473, ptr %468, align 4, !tbaa !5
  %3484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3485 = load i32, ptr @test_count, align 4, !tbaa !5
  %3486 = load i32, ptr %414, align 4, !tbaa !5
  %3487 = call ptr @s2n_strerror(i32 noundef %3486, ptr noundef nonnull @.str.80) #12
  %3488 = load i32, ptr %414, align 4, !tbaa !5
  %3489 = call ptr @s2n_strerror_debug(i32 noundef %3488, ptr noundef nonnull @.str.80) #12
  %3490 = load i32, ptr %468, align 4, !tbaa !5
  %3491 = call ptr @strerror(i32 noundef %3490) #12
  %3492 = load i32, ptr %468, align 4, !tbaa !5
  %3493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3484, ptr noundef nonnull %.str.81.sink2096, i32 noundef %3485, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.77, i32 noundef 312, ptr noundef %3487, ptr noundef %3489, ptr noundef %3491, i32 noundef %3492) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3494:                                             ; preds = %3467
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %31, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  store ptr null, ptr %32, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %33) #12
  store i16 0, ptr %33, align 2, !tbaa !48
  %3495 = add nsw i32 %3468, 2
  store i32 %3495, ptr @test_count, align 4, !tbaa !5
  %3496 = call i32 @s2n_offered_psk_get_identity(ptr noundef null, ptr noundef nonnull %32, ptr noundef nonnull %33)
  %3497 = icmp eq i32 %3496, -1
  br i1 %3497, label %3520, label %3498

3498:                                             ; preds = %3494
  %3499 = load i32, ptr %468, align 4, !tbaa !5
  %3500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3501 = call i32 @s2n_print_stacktrace(ptr noundef %3500) #12
  %3502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3503 = trunc nuw i8 %3502 to i1
  br i1 %3503, label %3504, label %3508

3504:                                             ; preds = %3498
  %3505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3506 = call i32 @fileno(ptr noundef %3505) #12
  %3507 = call i32 @isatty(i32 noundef %3506) #12
  %.not737 = icmp eq i32 %3507, 0
  br i1 %.not737, label %3508, label %3509

3508:                                             ; preds = %3504, %3498
  br label %3509

3509:                                             ; preds = %3504, %3508
  %.str.81.sink2105 = phi ptr [ @.str.81, %3508 ], [ @.str.78, %3504 ]
  store i32 %3499, ptr %468, align 4, !tbaa !5
  %3510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3511 = load i32, ptr @test_count, align 4, !tbaa !5
  %3512 = load i32, ptr %414, align 4, !tbaa !5
  %3513 = call ptr @s2n_strerror(i32 noundef %3512, ptr noundef nonnull @.str.80) #12
  %3514 = load i32, ptr %414, align 4, !tbaa !5
  %3515 = call ptr @s2n_strerror_debug(i32 noundef %3514, ptr noundef nonnull @.str.80) #12
  %3516 = load i32, ptr %468, align 4, !tbaa !5
  %3517 = call ptr @strerror(i32 noundef %3516) #12
  %3518 = load i32, ptr %468, align 4, !tbaa !5
  %3519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3510, ptr noundef nonnull %.str.81.sink2105, i32 noundef %3511, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.77, i32 noundef 322, ptr noundef %3513, ptr noundef %3515, ptr noundef %3517, i32 noundef %3518) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3520:                                             ; preds = %3494
  %3521 = load i32, ptr @test_count, align 4, !tbaa !5
  %3522 = add nsw i32 %3521, 1
  store i32 %3522, ptr @test_count, align 4, !tbaa !5
  %3523 = load i32, ptr %414, align 4, !tbaa !5
  %3524 = icmp eq i32 %3523, 402653193
  br i1 %3524, label %3547, label %3525

3525:                                             ; preds = %3520
  %3526 = load i32, ptr %468, align 4, !tbaa !5
  %3527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3528 = call i32 @s2n_print_stacktrace(ptr noundef %3527) #12
  %3529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3530 = trunc nuw i8 %3529 to i1
  br i1 %3530, label %3531, label %3535

3531:                                             ; preds = %3525
  %3532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3533 = call i32 @fileno(ptr noundef %3532) #12
  %3534 = call i32 @isatty(i32 noundef %3533) #12
  %.not738 = icmp eq i32 %3534, 0
  br i1 %.not738, label %3535, label %3536

3535:                                             ; preds = %3531, %3525
  br label %3536

3536:                                             ; preds = %3531, %3535
  %.str.81.sink2114 = phi ptr [ @.str.81, %3535 ], [ @.str.78, %3531 ]
  store i32 %3526, ptr %468, align 4, !tbaa !5
  %3537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3538 = load i32, ptr @test_count, align 4, !tbaa !5
  %3539 = load i32, ptr %414, align 4, !tbaa !5
  %3540 = call ptr @s2n_strerror(i32 noundef %3539, ptr noundef nonnull @.str.80) #12
  %3541 = load i32, ptr %414, align 4, !tbaa !5
  %3542 = call ptr @s2n_strerror_debug(i32 noundef %3541, ptr noundef nonnull @.str.80) #12
  %3543 = load i32, ptr %468, align 4, !tbaa !5
  %3544 = call ptr @strerror(i32 noundef %3543) #12
  %3545 = load i32, ptr %468, align 4, !tbaa !5
  %3546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3537, ptr noundef nonnull %.str.81.sink2114, i32 noundef %3538, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 322, ptr noundef %3540, ptr noundef %3542, ptr noundef %3544, i32 noundef %3545) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3547:                                             ; preds = %3520
  %3548 = add nsw i32 %3521, 2
  store i32 %3548, ptr @test_count, align 4, !tbaa !5
  %3549 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %3550 = icmp eq ptr %3549, null
  br i1 %3550, label %3551, label %3573

3551:                                             ; preds = %3547
  %3552 = load i32, ptr %468, align 4, !tbaa !5
  %3553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3554 = call i32 @s2n_print_stacktrace(ptr noundef %3553) #12
  %3555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3556 = trunc nuw i8 %3555 to i1
  br i1 %3556, label %3557, label %3561

3557:                                             ; preds = %3551
  %3558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3559 = call i32 @fileno(ptr noundef %3558) #12
  %3560 = call i32 @isatty(i32 noundef %3559) #12
  %.not872 = icmp eq i32 %3560, 0
  br i1 %.not872, label %3561, label %3562

3561:                                             ; preds = %3557, %3551
  br label %3562

3562:                                             ; preds = %3557, %3561
  %.str.81.sink2123 = phi ptr [ @.str.81, %3561 ], [ @.str.78, %3557 ]
  store i32 %3552, ptr %468, align 4, !tbaa !5
  %3563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3564 = load i32, ptr @test_count, align 4, !tbaa !5
  %3565 = load i32, ptr %414, align 4, !tbaa !5
  %3566 = call ptr @s2n_strerror(i32 noundef %3565, ptr noundef nonnull @.str.80) #12
  %3567 = load i32, ptr %414, align 4, !tbaa !5
  %3568 = call ptr @s2n_strerror_debug(i32 noundef %3567, ptr noundef nonnull @.str.80) #12
  %3569 = load i32, ptr %468, align 4, !tbaa !5
  %3570 = call ptr @strerror(i32 noundef %3569) #12
  %3571 = load i32, ptr %468, align 4, !tbaa !5
  %3572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3563, ptr noundef nonnull %.str.81.sink2123, i32 noundef %3564, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 322, ptr noundef %3566, ptr noundef %3568, ptr noundef %3570, i32 noundef %3571) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3573:                                             ; preds = %3547
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %3574 = load i32, ptr @test_count, align 4, !tbaa !5
  %3575 = add nsw i32 %3574, 1
  store i32 %3575, ptr @test_count, align 4, !tbaa !5
  %3576 = call i32 @s2n_offered_psk_get_identity(ptr noundef nonnull %31, ptr noundef null, ptr noundef nonnull %33)
  %3577 = icmp eq i32 %3576, -1
  br i1 %3577, label %3600, label %3578

3578:                                             ; preds = %3573
  %3579 = load i32, ptr %468, align 4, !tbaa !5
  %3580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3581 = call i32 @s2n_print_stacktrace(ptr noundef %3580) #12
  %3582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3583 = trunc nuw i8 %3582 to i1
  br i1 %3583, label %3584, label %3588

3584:                                             ; preds = %3578
  %3585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3586 = call i32 @fileno(ptr noundef %3585) #12
  %3587 = call i32 @isatty(i32 noundef %3586) #12
  %.not739 = icmp eq i32 %3587, 0
  br i1 %.not739, label %3588, label %3589

3588:                                             ; preds = %3584, %3578
  br label %3589

3589:                                             ; preds = %3584, %3588
  %.str.81.sink2132 = phi ptr [ @.str.81, %3588 ], [ @.str.78, %3584 ]
  store i32 %3579, ptr %468, align 4, !tbaa !5
  %3590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3591 = load i32, ptr @test_count, align 4, !tbaa !5
  %3592 = load i32, ptr %414, align 4, !tbaa !5
  %3593 = call ptr @s2n_strerror(i32 noundef %3592, ptr noundef nonnull @.str.80) #12
  %3594 = load i32, ptr %414, align 4, !tbaa !5
  %3595 = call ptr @s2n_strerror_debug(i32 noundef %3594, ptr noundef nonnull @.str.80) #12
  %3596 = load i32, ptr %468, align 4, !tbaa !5
  %3597 = call ptr @strerror(i32 noundef %3596) #12
  %3598 = load i32, ptr %468, align 4, !tbaa !5
  %3599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3590, ptr noundef nonnull %.str.81.sink2132, i32 noundef %3591, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.77, i32 noundef 323, ptr noundef %3593, ptr noundef %3595, ptr noundef %3597, i32 noundef %3598) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3600:                                             ; preds = %3573
  %3601 = load i32, ptr @test_count, align 4, !tbaa !5
  %3602 = add nsw i32 %3601, 1
  store i32 %3602, ptr @test_count, align 4, !tbaa !5
  %3603 = load i32, ptr %414, align 4, !tbaa !5
  %3604 = icmp eq i32 %3603, 402653193
  br i1 %3604, label %3627, label %3605

3605:                                             ; preds = %3600
  %3606 = load i32, ptr %468, align 4, !tbaa !5
  %3607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3608 = call i32 @s2n_print_stacktrace(ptr noundef %3607) #12
  %3609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3610 = trunc nuw i8 %3609 to i1
  br i1 %3610, label %3611, label %3615

3611:                                             ; preds = %3605
  %3612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3613 = call i32 @fileno(ptr noundef %3612) #12
  %3614 = call i32 @isatty(i32 noundef %3613) #12
  %.not740 = icmp eq i32 %3614, 0
  br i1 %.not740, label %3615, label %3616

3615:                                             ; preds = %3611, %3605
  br label %3616

3616:                                             ; preds = %3611, %3615
  %.str.81.sink2141 = phi ptr [ @.str.81, %3615 ], [ @.str.78, %3611 ]
  store i32 %3606, ptr %468, align 4, !tbaa !5
  %3617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3618 = load i32, ptr @test_count, align 4, !tbaa !5
  %3619 = load i32, ptr %414, align 4, !tbaa !5
  %3620 = call ptr @s2n_strerror(i32 noundef %3619, ptr noundef nonnull @.str.80) #12
  %3621 = load i32, ptr %414, align 4, !tbaa !5
  %3622 = call ptr @s2n_strerror_debug(i32 noundef %3621, ptr noundef nonnull @.str.80) #12
  %3623 = load i32, ptr %468, align 4, !tbaa !5
  %3624 = call ptr @strerror(i32 noundef %3623) #12
  %3625 = load i32, ptr %468, align 4, !tbaa !5
  %3626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3617, ptr noundef nonnull %.str.81.sink2141, i32 noundef %3618, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 323, ptr noundef %3620, ptr noundef %3622, ptr noundef %3624, i32 noundef %3625) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3627:                                             ; preds = %3600
  %3628 = add nsw i32 %3601, 2
  store i32 %3628, ptr @test_count, align 4, !tbaa !5
  %3629 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %3630 = icmp eq ptr %3629, null
  br i1 %3630, label %3631, label %3653

3631:                                             ; preds = %3627
  %3632 = load i32, ptr %468, align 4, !tbaa !5
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = call i32 @s2n_print_stacktrace(ptr noundef %3633) #12
  %3635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3636 = trunc nuw i8 %3635 to i1
  br i1 %3636, label %3637, label %3641

3637:                                             ; preds = %3631
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = call i32 @fileno(ptr noundef %3638) #12
  %3640 = call i32 @isatty(i32 noundef %3639) #12
  %.not871 = icmp eq i32 %3640, 0
  br i1 %.not871, label %3641, label %3642

3641:                                             ; preds = %3637, %3631
  br label %3642

3642:                                             ; preds = %3637, %3641
  %.str.81.sink2150 = phi ptr [ @.str.81, %3641 ], [ @.str.78, %3637 ]
  store i32 %3632, ptr %468, align 4, !tbaa !5
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = load i32, ptr @test_count, align 4, !tbaa !5
  %3645 = load i32, ptr %414, align 4, !tbaa !5
  %3646 = call ptr @s2n_strerror(i32 noundef %3645, ptr noundef nonnull @.str.80) #12
  %3647 = load i32, ptr %414, align 4, !tbaa !5
  %3648 = call ptr @s2n_strerror_debug(i32 noundef %3647, ptr noundef nonnull @.str.80) #12
  %3649 = load i32, ptr %468, align 4, !tbaa !5
  %3650 = call ptr @strerror(i32 noundef %3649) #12
  %3651 = load i32, ptr %468, align 4, !tbaa !5
  %3652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3643, ptr noundef nonnull %.str.81.sink2150, i32 noundef %3644, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 323, ptr noundef %3646, ptr noundef %3648, ptr noundef %3650, i32 noundef %3651) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3653:                                             ; preds = %3627
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %3654 = load i32, ptr @test_count, align 4, !tbaa !5
  %3655 = add nsw i32 %3654, 1
  store i32 %3655, ptr @test_count, align 4, !tbaa !5
  %3656 = call i32 @s2n_offered_psk_get_identity(ptr noundef nonnull %31, ptr noundef nonnull %32, ptr noundef null)
  %3657 = icmp eq i32 %3656, -1
  br i1 %3657, label %3680, label %3658

3658:                                             ; preds = %3653
  %3659 = load i32, ptr %468, align 4, !tbaa !5
  %3660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3661 = call i32 @s2n_print_stacktrace(ptr noundef %3660) #12
  %3662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3663 = trunc nuw i8 %3662 to i1
  br i1 %3663, label %3664, label %3668

3664:                                             ; preds = %3658
  %3665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3666 = call i32 @fileno(ptr noundef %3665) #12
  %3667 = call i32 @isatty(i32 noundef %3666) #12
  %.not741 = icmp eq i32 %3667, 0
  br i1 %.not741, label %3668, label %3669

3668:                                             ; preds = %3664, %3658
  br label %3669

3669:                                             ; preds = %3664, %3668
  %.str.81.sink2159 = phi ptr [ @.str.81, %3668 ], [ @.str.78, %3664 ]
  store i32 %3659, ptr %468, align 4, !tbaa !5
  %3670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3671 = load i32, ptr @test_count, align 4, !tbaa !5
  %3672 = load i32, ptr %414, align 4, !tbaa !5
  %3673 = call ptr @s2n_strerror(i32 noundef %3672, ptr noundef nonnull @.str.80) #12
  %3674 = load i32, ptr %414, align 4, !tbaa !5
  %3675 = call ptr @s2n_strerror_debug(i32 noundef %3674, ptr noundef nonnull @.str.80) #12
  %3676 = load i32, ptr %468, align 4, !tbaa !5
  %3677 = call ptr @strerror(i32 noundef %3676) #12
  %3678 = load i32, ptr %468, align 4, !tbaa !5
  %3679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3670, ptr noundef nonnull %.str.81.sink2159, i32 noundef %3671, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.77, i32 noundef 324, ptr noundef %3673, ptr noundef %3675, ptr noundef %3677, i32 noundef %3678) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3680:                                             ; preds = %3653
  %3681 = load i32, ptr @test_count, align 4, !tbaa !5
  %3682 = add nsw i32 %3681, 1
  store i32 %3682, ptr @test_count, align 4, !tbaa !5
  %3683 = load i32, ptr %414, align 4, !tbaa !5
  %3684 = icmp eq i32 %3683, 402653193
  br i1 %3684, label %3707, label %3685

3685:                                             ; preds = %3680
  %3686 = load i32, ptr %468, align 4, !tbaa !5
  %3687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3688 = call i32 @s2n_print_stacktrace(ptr noundef %3687) #12
  %3689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3690 = trunc nuw i8 %3689 to i1
  br i1 %3690, label %3691, label %3695

3691:                                             ; preds = %3685
  %3692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3693 = call i32 @fileno(ptr noundef %3692) #12
  %3694 = call i32 @isatty(i32 noundef %3693) #12
  %.not742 = icmp eq i32 %3694, 0
  br i1 %.not742, label %3695, label %3696

3695:                                             ; preds = %3691, %3685
  br label %3696

3696:                                             ; preds = %3691, %3695
  %.str.81.sink2168 = phi ptr [ @.str.81, %3695 ], [ @.str.78, %3691 ]
  store i32 %3686, ptr %468, align 4, !tbaa !5
  %3697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3698 = load i32, ptr @test_count, align 4, !tbaa !5
  %3699 = load i32, ptr %414, align 4, !tbaa !5
  %3700 = call ptr @s2n_strerror(i32 noundef %3699, ptr noundef nonnull @.str.80) #12
  %3701 = load i32, ptr %414, align 4, !tbaa !5
  %3702 = call ptr @s2n_strerror_debug(i32 noundef %3701, ptr noundef nonnull @.str.80) #12
  %3703 = load i32, ptr %468, align 4, !tbaa !5
  %3704 = call ptr @strerror(i32 noundef %3703) #12
  %3705 = load i32, ptr %468, align 4, !tbaa !5
  %3706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3697, ptr noundef nonnull %.str.81.sink2168, i32 noundef %3698, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 324, ptr noundef %3700, ptr noundef %3702, ptr noundef %3704, i32 noundef %3705) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3707:                                             ; preds = %3680
  %3708 = add nsw i32 %3681, 2
  store i32 %3708, ptr @test_count, align 4, !tbaa !5
  %3709 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %3710 = icmp eq ptr %3709, null
  br i1 %3710, label %3711, label %3733

3711:                                             ; preds = %3707
  %3712 = load i32, ptr %468, align 4, !tbaa !5
  %3713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3714 = call i32 @s2n_print_stacktrace(ptr noundef %3713) #12
  %3715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3716 = trunc nuw i8 %3715 to i1
  br i1 %3716, label %3717, label %3721

3717:                                             ; preds = %3711
  %3718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3719 = call i32 @fileno(ptr noundef %3718) #12
  %3720 = call i32 @isatty(i32 noundef %3719) #12
  %.not870 = icmp eq i32 %3720, 0
  br i1 %.not870, label %3721, label %3722

3721:                                             ; preds = %3717, %3711
  br label %3722

3722:                                             ; preds = %3717, %3721
  %.str.81.sink2177 = phi ptr [ @.str.81, %3721 ], [ @.str.78, %3717 ]
  store i32 %3712, ptr %468, align 4, !tbaa !5
  %3723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3724 = load i32, ptr @test_count, align 4, !tbaa !5
  %3725 = load i32, ptr %414, align 4, !tbaa !5
  %3726 = call ptr @s2n_strerror(i32 noundef %3725, ptr noundef nonnull @.str.80) #12
  %3727 = load i32, ptr %414, align 4, !tbaa !5
  %3728 = call ptr @s2n_strerror_debug(i32 noundef %3727, ptr noundef nonnull @.str.80) #12
  %3729 = load i32, ptr %468, align 4, !tbaa !5
  %3730 = call ptr @strerror(i32 noundef %3729) #12
  %3731 = load i32, ptr %468, align 4, !tbaa !5
  %3732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3723, ptr noundef nonnull %.str.81.sink2177, i32 noundef %3724, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 324, ptr noundef %3726, ptr noundef %3728, ptr noundef %3730, i32 noundef %3731) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3733:                                             ; preds = %3707
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #12
  %3734 = call ptr @s2n_offered_psk_new()
  store ptr %3734, ptr %34, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #12
  store ptr null, ptr %35, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %36) #12
  store i16 0, ptr %36, align 2, !tbaa !48
  %3735 = load i32, ptr @test_count, align 4, !tbaa !5
  %3736 = add nsw i32 %3735, 1
  store i32 %3736, ptr @test_count, align 4, !tbaa !5
  %3737 = call i32 @s2n_offered_psk_get_identity(ptr noundef %3734, ptr noundef nonnull %35, ptr noundef nonnull %36)
  %3738 = icmp eq i32 %3737, -1
  br i1 %3738, label %3761, label %3739

3739:                                             ; preds = %3733
  %3740 = load i32, ptr %468, align 4, !tbaa !5
  %3741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3742 = call i32 @s2n_print_stacktrace(ptr noundef %3741) #12
  %3743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3744 = trunc nuw i8 %3743 to i1
  br i1 %3744, label %3745, label %3749

3745:                                             ; preds = %3739
  %3746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3747 = call i32 @fileno(ptr noundef %3746) #12
  %3748 = call i32 @isatty(i32 noundef %3747) #12
  %.not743 = icmp eq i32 %3748, 0
  br i1 %.not743, label %3749, label %3750

3749:                                             ; preds = %3745, %3739
  br label %3750

3750:                                             ; preds = %3745, %3749
  %.str.81.sink2186 = phi ptr [ @.str.81, %3749 ], [ @.str.78, %3745 ]
  store i32 %3740, ptr %468, align 4, !tbaa !5
  %3751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3752 = load i32, ptr @test_count, align 4, !tbaa !5
  %3753 = load i32, ptr %414, align 4, !tbaa !5
  %3754 = call ptr @s2n_strerror(i32 noundef %3753, ptr noundef nonnull @.str.80) #12
  %3755 = load i32, ptr %414, align 4, !tbaa !5
  %3756 = call ptr @s2n_strerror_debug(i32 noundef %3755, ptr noundef nonnull @.str.80) #12
  %3757 = load i32, ptr %468, align 4, !tbaa !5
  %3758 = call ptr @strerror(i32 noundef %3757) #12
  %3759 = load i32, ptr %468, align 4, !tbaa !5
  %3760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3751, ptr noundef nonnull %.str.81.sink2186, i32 noundef %3752, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.77, i32 noundef 333, ptr noundef %3754, ptr noundef %3756, ptr noundef %3758, i32 noundef %3759) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3761:                                             ; preds = %3733
  %3762 = load i32, ptr @test_count, align 4, !tbaa !5
  %3763 = add nsw i32 %3762, 1
  store i32 %3763, ptr @test_count, align 4, !tbaa !5
  %3764 = load i32, ptr %414, align 4, !tbaa !5
  %3765 = icmp eq i32 %3764, 402653193
  br i1 %3765, label %3788, label %3766

3766:                                             ; preds = %3761
  %3767 = load i32, ptr %468, align 4, !tbaa !5
  %3768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3769 = call i32 @s2n_print_stacktrace(ptr noundef %3768) #12
  %3770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3771 = trunc nuw i8 %3770 to i1
  br i1 %3771, label %3772, label %3776

3772:                                             ; preds = %3766
  %3773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3774 = call i32 @fileno(ptr noundef %3773) #12
  %3775 = call i32 @isatty(i32 noundef %3774) #12
  %.not744 = icmp eq i32 %3775, 0
  br i1 %.not744, label %3776, label %3777

3776:                                             ; preds = %3772, %3766
  br label %3777

3777:                                             ; preds = %3772, %3776
  %.str.81.sink2195 = phi ptr [ @.str.81, %3776 ], [ @.str.78, %3772 ]
  store i32 %3767, ptr %468, align 4, !tbaa !5
  %3778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3779 = load i32, ptr @test_count, align 4, !tbaa !5
  %3780 = load i32, ptr %414, align 4, !tbaa !5
  %3781 = call ptr @s2n_strerror(i32 noundef %3780, ptr noundef nonnull @.str.80) #12
  %3782 = load i32, ptr %414, align 4, !tbaa !5
  %3783 = call ptr @s2n_strerror_debug(i32 noundef %3782, ptr noundef nonnull @.str.80) #12
  %3784 = load i32, ptr %468, align 4, !tbaa !5
  %3785 = call ptr @strerror(i32 noundef %3784) #12
  %3786 = load i32, ptr %468, align 4, !tbaa !5
  %3787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3778, ptr noundef nonnull %.str.81.sink2195, i32 noundef %3779, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 333, ptr noundef %3781, ptr noundef %3783, ptr noundef %3785, i32 noundef %3786) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3788:                                             ; preds = %3761
  %3789 = add nsw i32 %3762, 2
  store i32 %3789, ptr @test_count, align 4, !tbaa !5
  %3790 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %3791 = icmp eq ptr %3790, null
  br i1 %3791, label %3792, label %3814

3792:                                             ; preds = %3788
  %3793 = load i32, ptr %468, align 4, !tbaa !5
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = call i32 @s2n_print_stacktrace(ptr noundef %3794) #12
  %3796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3797 = trunc nuw i8 %3796 to i1
  br i1 %3797, label %3798, label %3802

3798:                                             ; preds = %3792
  %3799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3800 = call i32 @fileno(ptr noundef %3799) #12
  %3801 = call i32 @isatty(i32 noundef %3800) #12
  %.not869 = icmp eq i32 %3801, 0
  br i1 %.not869, label %3802, label %3803

3802:                                             ; preds = %3798, %3792
  br label %3803

3803:                                             ; preds = %3798, %3802
  %.str.81.sink2204 = phi ptr [ @.str.81, %3802 ], [ @.str.78, %3798 ]
  store i32 %3793, ptr %468, align 4, !tbaa !5
  %3804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3805 = load i32, ptr @test_count, align 4, !tbaa !5
  %3806 = load i32, ptr %414, align 4, !tbaa !5
  %3807 = call ptr @s2n_strerror(i32 noundef %3806, ptr noundef nonnull @.str.80) #12
  %3808 = load i32, ptr %414, align 4, !tbaa !5
  %3809 = call ptr @s2n_strerror_debug(i32 noundef %3808, ptr noundef nonnull @.str.80) #12
  %3810 = load i32, ptr %468, align 4, !tbaa !5
  %3811 = call ptr @strerror(i32 noundef %3810) #12
  %3812 = load i32, ptr %468, align 4, !tbaa !5
  %3813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3804, ptr noundef nonnull %.str.81.sink2204, i32 noundef %3805, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 333, ptr noundef %3807, ptr noundef %3809, ptr noundef %3811, i32 noundef %3812) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3814:                                             ; preds = %3788
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #12
  %3815 = call i32 @s2n_offered_psk_free(ptr noundef nonnull %34)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %37) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %37, ptr noundef nonnull align 1 dereferenceable(9) @__const.main.wire_identity, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #12
  %3816 = call ptr @s2n_offered_psk_new()
  store ptr %3816, ptr %38, align 8, !tbaa !9
  %3817 = load i32, ptr @test_count, align 4, !tbaa !5
  %3818 = add nsw i32 %3817, 1
  store i32 %3818, ptr @test_count, align 4, !tbaa !5
  %3819 = call i32 @s2n_blob_init(ptr noundef %3816, ptr noundef nonnull %37, i32 noundef 9) #12
  %3820 = icmp eq i32 %3819, -1
  br i1 %3820, label %3821, label %3843

3821:                                             ; preds = %3814
  %3822 = load i32, ptr %468, align 4, !tbaa !5
  %3823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3824 = call i32 @s2n_print_stacktrace(ptr noundef %3823) #12
  %3825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3826 = trunc nuw i8 %3825 to i1
  br i1 %3826, label %3827, label %3831

3827:                                             ; preds = %3821
  %3828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3829 = call i32 @fileno(ptr noundef %3828) #12
  %3830 = call i32 @isatty(i32 noundef %3829) #12
  %.not868 = icmp eq i32 %3830, 0
  br i1 %.not868, label %3831, label %3832

3831:                                             ; preds = %3827, %3821
  br label %3832

3832:                                             ; preds = %3827, %3831
  %.str.81.sink2213 = phi ptr [ @.str.81, %3831 ], [ @.str.78, %3827 ]
  store i32 %3822, ptr %468, align 4, !tbaa !5
  %3833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3834 = load i32, ptr @test_count, align 4, !tbaa !5
  %3835 = load i32, ptr %414, align 4, !tbaa !5
  %3836 = call ptr @s2n_strerror(i32 noundef %3835, ptr noundef nonnull @.str.80) #12
  %3837 = load i32, ptr %414, align 4, !tbaa !5
  %3838 = call ptr @s2n_strerror_debug(i32 noundef %3837, ptr noundef nonnull @.str.80) #12
  %3839 = load i32, ptr %468, align 4, !tbaa !5
  %3840 = call ptr @strerror(i32 noundef %3839) #12
  %3841 = load i32, ptr %468, align 4, !tbaa !5
  %3842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3833, ptr noundef nonnull %.str.81.sink2213, i32 noundef %3834, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.77, i32 noundef 340, ptr noundef %3836, ptr noundef %3838, ptr noundef %3840, i32 noundef %3841) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3843:                                             ; preds = %3814
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #12
  store ptr null, ptr %39, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %40) #12
  store i16 0, ptr %40, align 2, !tbaa !48
  %3844 = load i32, ptr @test_count, align 4, !tbaa !5
  %3845 = add nsw i32 %3844, 1
  store i32 %3845, ptr @test_count, align 4, !tbaa !5
  %3846 = load ptr, ptr %38, align 8, !tbaa !9
  %3847 = call i32 @s2n_offered_psk_get_identity(ptr noundef %3846, ptr noundef nonnull %39, ptr noundef nonnull %40)
  %3848 = icmp eq i32 %3847, -1
  br i1 %3848, label %3849, label %3871

3849:                                             ; preds = %3843
  %3850 = load i32, ptr %468, align 4, !tbaa !5
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = call i32 @s2n_print_stacktrace(ptr noundef %3851) #12
  %3853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3854 = trunc nuw i8 %3853 to i1
  br i1 %3854, label %3855, label %3859

3855:                                             ; preds = %3849
  %3856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3857 = call i32 @fileno(ptr noundef %3856) #12
  %3858 = call i32 @isatty(i32 noundef %3857) #12
  %.not867 = icmp eq i32 %3858, 0
  br i1 %.not867, label %3859, label %3860

3859:                                             ; preds = %3855, %3849
  br label %3860

3860:                                             ; preds = %3855, %3859
  %.str.81.sink2222 = phi ptr [ @.str.81, %3859 ], [ @.str.78, %3855 ]
  store i32 %3850, ptr %468, align 4, !tbaa !5
  %3861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3862 = load i32, ptr @test_count, align 4, !tbaa !5
  %3863 = load i32, ptr %414, align 4, !tbaa !5
  %3864 = call ptr @s2n_strerror(i32 noundef %3863, ptr noundef nonnull @.str.80) #12
  %3865 = load i32, ptr %414, align 4, !tbaa !5
  %3866 = call ptr @s2n_strerror_debug(i32 noundef %3865, ptr noundef nonnull @.str.80) #12
  %3867 = load i32, ptr %468, align 4, !tbaa !5
  %3868 = call ptr @strerror(i32 noundef %3867) #12
  %3869 = load i32, ptr %468, align 4, !tbaa !5
  %3870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3861, ptr noundef nonnull %.str.81.sink2222, i32 noundef %3862, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.77, i32 noundef 344, ptr noundef %3864, ptr noundef %3866, ptr noundef %3868, i32 noundef %3869) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3871:                                             ; preds = %3843
  %3872 = load i32, ptr @test_count, align 4, !tbaa !5
  %3873 = add nsw i32 %3872, 1
  store i32 %3873, ptr @test_count, align 4, !tbaa !5
  %3874 = load i16, ptr %40, align 2, !tbaa !48
  %3875 = icmp eq i16 %3874, 9
  br i1 %3875, label %3898, label %3876

3876:                                             ; preds = %3871
  %3877 = load i32, ptr %468, align 4, !tbaa !5
  %3878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3879 = call i32 @s2n_print_stacktrace(ptr noundef %3878) #12
  %3880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3881 = trunc nuw i8 %3880 to i1
  br i1 %3881, label %3882, label %3886

3882:                                             ; preds = %3876
  %3883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3884 = call i32 @fileno(ptr noundef %3883) #12
  %3885 = call i32 @isatty(i32 noundef %3884) #12
  %.not745 = icmp eq i32 %3885, 0
  br i1 %.not745, label %3886, label %3887

3886:                                             ; preds = %3882, %3876
  br label %3887

3887:                                             ; preds = %3882, %3886
  %.str.81.sink2231 = phi ptr [ @.str.81, %3886 ], [ @.str.78, %3882 ]
  store i32 %3877, ptr %468, align 4, !tbaa !5
  %3888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3889 = load i32, ptr @test_count, align 4, !tbaa !5
  %3890 = load i32, ptr %414, align 4, !tbaa !5
  %3891 = call ptr @s2n_strerror(i32 noundef %3890, ptr noundef nonnull @.str.80) #12
  %3892 = load i32, ptr %414, align 4, !tbaa !5
  %3893 = call ptr @s2n_strerror_debug(i32 noundef %3892, ptr noundef nonnull @.str.80) #12
  %3894 = load i32, ptr %468, align 4, !tbaa !5
  %3895 = call ptr @strerror(i32 noundef %3894) #12
  %3896 = load i32, ptr %468, align 4, !tbaa !5
  %3897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3888, ptr noundef nonnull %.str.81.sink2231, i32 noundef %3889, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.77, i32 noundef 345, ptr noundef %3891, ptr noundef %3893, ptr noundef %3895, i32 noundef %3896) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3898:                                             ; preds = %3871
  %3899 = add nsw i32 %3872, 2
  store i32 %3899, ptr @test_count, align 4, !tbaa !5
  %3900 = load ptr, ptr %39, align 8, !tbaa !9
  %bcmp746 = call i32 @bcmp(ptr noundef nonnull dereferenceable(9) %3900, ptr noundef nonnull dereferenceable(9) %37, i64 9)
  %3901 = icmp eq i32 %bcmp746, 0
  br i1 %3901, label %3924, label %3902

3902:                                             ; preds = %3898
  %3903 = load i32, ptr %468, align 4, !tbaa !5
  %3904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3905 = call i32 @s2n_print_stacktrace(ptr noundef %3904) #12
  %3906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3907 = trunc nuw i8 %3906 to i1
  br i1 %3907, label %3908, label %3912

3908:                                             ; preds = %3902
  %3909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3910 = call i32 @fileno(ptr noundef %3909) #12
  %3911 = call i32 @isatty(i32 noundef %3910) #12
  %.not747 = icmp eq i32 %3911, 0
  br i1 %.not747, label %3912, label %3913

3912:                                             ; preds = %3908, %3902
  br label %3913

3913:                                             ; preds = %3908, %3912
  %.str.81.sink2240 = phi ptr [ @.str.81, %3912 ], [ @.str.78, %3908 ]
  store i32 %3903, ptr %468, align 4, !tbaa !5
  %3914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3915 = load i32, ptr @test_count, align 4, !tbaa !5
  %3916 = load i32, ptr %414, align 4, !tbaa !5
  %3917 = call ptr @s2n_strerror(i32 noundef %3916, ptr noundef nonnull @.str.80) #12
  %3918 = load i32, ptr %414, align 4, !tbaa !5
  %3919 = call ptr @s2n_strerror_debug(i32 noundef %3918, ptr noundef nonnull @.str.80) #12
  %3920 = load i32, ptr %468, align 4, !tbaa !5
  %3921 = call ptr @strerror(i32 noundef %3920) #12
  %3922 = load i32, ptr %468, align 4, !tbaa !5
  %3923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3914, ptr noundef nonnull %.str.81.sink2240, i32 noundef %3915, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.77, i32 noundef 346, ptr noundef %3917, ptr noundef %3919, ptr noundef %3921, i32 noundef %3922) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3924:                                             ; preds = %3898
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #12
  %3925 = call i32 @s2n_offered_psk_free(ptr noundef nonnull %38)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %37) #12
  %3926 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %3927 = load i32, ptr @test_count, align 4, !tbaa !5
  %3928 = add nsw i32 %3927, 1
  store i32 %3928, ptr @test_count, align 4, !tbaa !5
  %3929 = icmp eq ptr %3926, null
  br i1 %3929, label %3930, label %3952

3930:                                             ; preds = %3924
  %3931 = load i32, ptr %468, align 4, !tbaa !5
  %3932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3933 = call i32 @s2n_print_stacktrace(ptr noundef %3932) #12
  %3934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3935 = trunc nuw i8 %3934 to i1
  br i1 %3935, label %3936, label %3940

3936:                                             ; preds = %3930
  %3937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3938 = call i32 @fileno(ptr noundef %3937) #12
  %3939 = call i32 @isatty(i32 noundef %3938) #12
  %.not866 = icmp eq i32 %3939, 0
  br i1 %.not866, label %3940, label %3941

3940:                                             ; preds = %3936, %3930
  br label %3941

3941:                                             ; preds = %3936, %3940
  %.str.81.sink2249 = phi ptr [ @.str.81, %3940 ], [ @.str.78, %3936 ]
  store i32 %3931, ptr %468, align 4, !tbaa !5
  %3942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3943 = load i32, ptr @test_count, align 4, !tbaa !5
  %3944 = load i32, ptr %414, align 4, !tbaa !5
  %3945 = call ptr @s2n_strerror(i32 noundef %3944, ptr noundef nonnull @.str.80) #12
  %3946 = load i32, ptr %414, align 4, !tbaa !5
  %3947 = call ptr @s2n_strerror_debug(i32 noundef %3946, ptr noundef nonnull @.str.80) #12
  %3948 = load i32, ptr %468, align 4, !tbaa !5
  %3949 = call ptr @strerror(i32 noundef %3948) #12
  %3950 = load i32, ptr %468, align 4, !tbaa !5
  %3951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3942, ptr noundef nonnull %.str.81.sink2249, i32 noundef %3943, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.77, i32 noundef 353, ptr noundef %3945, ptr noundef %3947, ptr noundef %3949, i32 noundef %3950) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3952:                                             ; preds = %3924
  %3953 = getelementptr inbounds i8, ptr %3926, i64 8
  %3954 = load ptr, ptr %3953, align 8, !tbaa !49
  %3955 = getelementptr inbounds i8, ptr %3954, i64 144
  store i64 100000000, ptr %3955, align 8, !tbaa !50
  %3956 = add nsw i32 %3927, 2
  store i32 %3956, ptr @test_count, align 4, !tbaa !5
  %3957 = call i32 @s2n_validate_ticket_lifetime(ptr noundef nonnull %3926, i32 noundef 0, i32 noundef 0)
  %3958 = call zeroext i1 @s2n_result_is_ok(i32 %3957)
  br i1 %3958, label %3981, label %3959

3959:                                             ; preds = %3952
  %3960 = load i32, ptr %468, align 4, !tbaa !5
  %3961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3962 = call i32 @s2n_print_stacktrace(ptr noundef %3961) #12
  %3963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3964 = trunc nuw i8 %3963 to i1
  br i1 %3964, label %3965, label %3969

3965:                                             ; preds = %3959
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = call i32 @fileno(ptr noundef %3966) #12
  %3968 = call i32 @isatty(i32 noundef %3967) #12
  %.not748 = icmp eq i32 %3968, 0
  br i1 %.not748, label %3969, label %3970

3969:                                             ; preds = %3965, %3959
  br label %3970

3970:                                             ; preds = %3965, %3969
  %.str.81.sink2258 = phi ptr [ @.str.81, %3969 ], [ @.str.78, %3965 ]
  store i32 %3960, ptr %468, align 4, !tbaa !5
  %3971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3972 = load i32, ptr @test_count, align 4, !tbaa !5
  %3973 = load i32, ptr %414, align 4, !tbaa !5
  %3974 = call ptr @s2n_strerror(i32 noundef %3973, ptr noundef nonnull @.str.80) #12
  %3975 = load i32, ptr %414, align 4, !tbaa !5
  %3976 = call ptr @s2n_strerror_debug(i32 noundef %3975, ptr noundef nonnull @.str.80) #12
  %3977 = load i32, ptr %468, align 4, !tbaa !5
  %3978 = call ptr @strerror(i32 noundef %3977) #12
  %3979 = load i32, ptr %468, align 4, !tbaa !5
  %3980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3971, ptr noundef nonnull %.str.81.sink2258, i32 noundef %3972, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.77, i32 noundef 359, ptr noundef %3974, ptr noundef %3976, ptr noundef %3978, i32 noundef %3979) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3981:                                             ; preds = %3952
  %3982 = load ptr, ptr %3953, align 8, !tbaa !49
  %3983 = getelementptr inbounds i8, ptr %3982, i64 144
  store i64 100000000, ptr %3983, align 8, !tbaa !50
  %3984 = load i32, ptr @test_count, align 4, !tbaa !5
  %3985 = add nsw i32 %3984, 1
  store i32 %3985, ptr @test_count, align 4, !tbaa !5
  %3986 = call i32 @s2n_validate_ticket_lifetime(ptr noundef nonnull %3926, i32 noundef 101, i32 noundef 0)
  %3987 = call zeroext i1 @s2n_result_is_error(i32 %3986)
  br i1 %3987, label %4010, label %3988

3988:                                             ; preds = %3981
  %3989 = load i32, ptr %468, align 4, !tbaa !5
  %3990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3991 = call i32 @s2n_print_stacktrace(ptr noundef %3990) #12
  %3992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3993 = trunc nuw i8 %3992 to i1
  br i1 %3993, label %3994, label %3998

3994:                                             ; preds = %3988
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = call i32 @fileno(ptr noundef %3995) #12
  %3997 = call i32 @isatty(i32 noundef %3996) #12
  %.not749 = icmp eq i32 %3997, 0
  br i1 %.not749, label %3998, label %3999

3998:                                             ; preds = %3994, %3988
  br label %3999

3999:                                             ; preds = %3994, %3998
  %.str.81.sink2267 = phi ptr [ @.str.81, %3998 ], [ @.str.78, %3994 ]
  store i32 %3989, ptr %468, align 4, !tbaa !5
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4001 = load i32, ptr @test_count, align 4, !tbaa !5
  %4002 = load i32, ptr %414, align 4, !tbaa !5
  %4003 = call ptr @s2n_strerror(i32 noundef %4002, ptr noundef nonnull @.str.80) #12
  %4004 = load i32, ptr %414, align 4, !tbaa !5
  %4005 = call ptr @s2n_strerror_debug(i32 noundef %4004, ptr noundef nonnull @.str.80) #12
  %4006 = load i32, ptr %468, align 4, !tbaa !5
  %4007 = call ptr @strerror(i32 noundef %4006) #12
  %4008 = load i32, ptr %468, align 4, !tbaa !5
  %4009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4000, ptr noundef nonnull %.str.81.sink2267, i32 noundef %4001, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.77, i32 noundef 364, ptr noundef %4003, ptr noundef %4005, ptr noundef %4007, i32 noundef %4008) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4010:                                             ; preds = %3981
  %4011 = load i32, ptr @test_count, align 4, !tbaa !5
  %4012 = add nsw i32 %4011, 1
  store i32 %4012, ptr @test_count, align 4, !tbaa !5
  %4013 = load i32, ptr %414, align 4, !tbaa !5
  %4014 = icmp eq i32 %4013, 469762110
  br i1 %4014, label %4037, label %4015

4015:                                             ; preds = %4010
  %4016 = load i32, ptr %468, align 4, !tbaa !5
  %4017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4018 = call i32 @s2n_print_stacktrace(ptr noundef %4017) #12
  %4019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4020 = trunc nuw i8 %4019 to i1
  br i1 %4020, label %4021, label %4025

4021:                                             ; preds = %4015
  %4022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4023 = call i32 @fileno(ptr noundef %4022) #12
  %4024 = call i32 @isatty(i32 noundef %4023) #12
  %.not750 = icmp eq i32 %4024, 0
  br i1 %.not750, label %4025, label %4026

4025:                                             ; preds = %4021, %4015
  br label %4026

4026:                                             ; preds = %4021, %4025
  %.str.81.sink2276 = phi ptr [ @.str.81, %4025 ], [ @.str.78, %4021 ]
  store i32 %4016, ptr %468, align 4, !tbaa !5
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4028 = load i32, ptr @test_count, align 4, !tbaa !5
  %4029 = load i32, ptr %414, align 4, !tbaa !5
  %4030 = call ptr @s2n_strerror(i32 noundef %4029, ptr noundef nonnull @.str.80) #12
  %4031 = load i32, ptr %414, align 4, !tbaa !5
  %4032 = call ptr @s2n_strerror_debug(i32 noundef %4031, ptr noundef nonnull @.str.80) #12
  %4033 = load i32, ptr %468, align 4, !tbaa !5
  %4034 = call ptr @strerror(i32 noundef %4033) #12
  %4035 = load i32, ptr %468, align 4, !tbaa !5
  %4036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4027, ptr noundef nonnull %.str.81.sink2276, i32 noundef %4028, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.77, i32 noundef 364, ptr noundef %4030, ptr noundef %4032, ptr noundef %4034, i32 noundef %4035) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4037:                                             ; preds = %4010
  %4038 = add nsw i32 %4011, 2
  store i32 %4038, ptr @test_count, align 4, !tbaa !5
  %4039 = call ptr @s2n_strerror_debug(i32 noundef 469762110, ptr noundef nonnull @.str.80) #12
  %4040 = icmp eq ptr %4039, null
  br i1 %4040, label %4041, label %4063

4041:                                             ; preds = %4037
  %4042 = load i32, ptr %468, align 4, !tbaa !5
  %4043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4044 = call i32 @s2n_print_stacktrace(ptr noundef %4043) #12
  %4045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4046 = trunc nuw i8 %4045 to i1
  br i1 %4046, label %4047, label %4051

4047:                                             ; preds = %4041
  %4048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4049 = call i32 @fileno(ptr noundef %4048) #12
  %4050 = call i32 @isatty(i32 noundef %4049) #12
  %.not865 = icmp eq i32 %4050, 0
  br i1 %.not865, label %4051, label %4052

4051:                                             ; preds = %4047, %4041
  br label %4052

4052:                                             ; preds = %4047, %4051
  %.str.81.sink2285 = phi ptr [ @.str.81, %4051 ], [ @.str.78, %4047 ]
  store i32 %4042, ptr %468, align 4, !tbaa !5
  %4053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4054 = load i32, ptr @test_count, align 4, !tbaa !5
  %4055 = load i32, ptr %414, align 4, !tbaa !5
  %4056 = call ptr @s2n_strerror(i32 noundef %4055, ptr noundef nonnull @.str.80) #12
  %4057 = load i32, ptr %414, align 4, !tbaa !5
  %4058 = call ptr @s2n_strerror_debug(i32 noundef %4057, ptr noundef nonnull @.str.80) #12
  %4059 = load i32, ptr %468, align 4, !tbaa !5
  %4060 = call ptr @strerror(i32 noundef %4059) #12
  %4061 = load i32, ptr %468, align 4, !tbaa !5
  %4062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4053, ptr noundef nonnull %.str.81.sink2285, i32 noundef %4054, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 364, ptr noundef %4056, ptr noundef %4058, ptr noundef %4060, i32 noundef %4061) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4063:                                             ; preds = %4037
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %4064 = load ptr, ptr %3953, align 8, !tbaa !49
  %4065 = getelementptr inbounds i8, ptr %4064, i64 144
  store i64 4294967295000000, ptr %4065, align 8, !tbaa !50
  %4066 = load i32, ptr @test_count, align 4, !tbaa !5
  %4067 = add nsw i32 %4066, 1
  store i32 %4067, ptr @test_count, align 4, !tbaa !5
  %4068 = call i32 @s2n_validate_ticket_lifetime(ptr noundef nonnull %3926, i32 noundef 100, i32 noundef 1000)
  %4069 = call zeroext i1 @s2n_result_is_ok(i32 %4068)
  br i1 %4069, label %4092, label %4070

4070:                                             ; preds = %4063
  %4071 = load i32, ptr %468, align 4, !tbaa !5
  %4072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4073 = call i32 @s2n_print_stacktrace(ptr noundef %4072) #12
  %4074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4075 = trunc nuw i8 %4074 to i1
  br i1 %4075, label %4076, label %4080

4076:                                             ; preds = %4070
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = call i32 @fileno(ptr noundef %4077) #12
  %4079 = call i32 @isatty(i32 noundef %4078) #12
  %.not751 = icmp eq i32 %4079, 0
  br i1 %.not751, label %4080, label %4081

4080:                                             ; preds = %4076, %4070
  br label %4081

4081:                                             ; preds = %4076, %4080
  %.str.81.sink2294 = phi ptr [ @.str.81, %4080 ], [ @.str.78, %4076 ]
  store i32 %4071, ptr %468, align 4, !tbaa !5
  %4082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4083 = load i32, ptr @test_count, align 4, !tbaa !5
  %4084 = load i32, ptr %414, align 4, !tbaa !5
  %4085 = call ptr @s2n_strerror(i32 noundef %4084, ptr noundef nonnull @.str.80) #12
  %4086 = load i32, ptr %414, align 4, !tbaa !5
  %4087 = call ptr @s2n_strerror_debug(i32 noundef %4086, ptr noundef nonnull @.str.80) #12
  %4088 = load i32, ptr %468, align 4, !tbaa !5
  %4089 = call ptr @strerror(i32 noundef %4088) #12
  %4090 = load i32, ptr %468, align 4, !tbaa !5
  %4091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4082, ptr noundef nonnull %.str.81.sink2294, i32 noundef %4083, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.77, i32 noundef 371, ptr noundef %4085, ptr noundef %4087, ptr noundef %4089, i32 noundef %4090) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4092:                                             ; preds = %4063
  %4093 = load i32, ptr @test_count, align 4, !tbaa !5
  %4094 = add nsw i32 %4093, 1
  store i32 %4094, ptr @test_count, align 4, !tbaa !5
  %4095 = call i32 @s2n_connection_free(ptr noundef nonnull %3926) #12
  %4096 = icmp eq i32 %4095, -1
  br i1 %4096, label %4097, label %4119

4097:                                             ; preds = %4092
  %4098 = load i32, ptr %468, align 4, !tbaa !5
  %4099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4100 = call i32 @s2n_print_stacktrace(ptr noundef %4099) #12
  %4101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4102 = trunc nuw i8 %4101 to i1
  br i1 %4102, label %4103, label %4107

4103:                                             ; preds = %4097
  %4104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4105 = call i32 @fileno(ptr noundef %4104) #12
  %4106 = call i32 @isatty(i32 noundef %4105) #12
  %.not864 = icmp eq i32 %4106, 0
  br i1 %.not864, label %4107, label %4108

4107:                                             ; preds = %4103, %4097
  br label %4108

4108:                                             ; preds = %4103, %4107
  %.str.81.sink2303 = phi ptr [ @.str.81, %4107 ], [ @.str.78, %4103 ]
  store i32 %4098, ptr %468, align 4, !tbaa !5
  %4109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4110 = load i32, ptr @test_count, align 4, !tbaa !5
  %4111 = load i32, ptr %414, align 4, !tbaa !5
  %4112 = call ptr @s2n_strerror(i32 noundef %4111, ptr noundef nonnull @.str.80) #12
  %4113 = load i32, ptr %414, align 4, !tbaa !5
  %4114 = call ptr @s2n_strerror_debug(i32 noundef %4113, ptr noundef nonnull @.str.80) #12
  %4115 = load i32, ptr %468, align 4, !tbaa !5
  %4116 = call ptr @strerror(i32 noundef %4115) #12
  %4117 = load i32, ptr %468, align 4, !tbaa !5
  %4118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4109, ptr noundef nonnull %.str.81.sink2303, i32 noundef %4110, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.77, i32 noundef 373, ptr noundef %4112, ptr noundef %4114, ptr noundef %4116, i32 noundef %4117) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4119:                                             ; preds = %4092
  %4120 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4121 = load i32, ptr @test_count, align 4, !tbaa !5
  %4122 = add nsw i32 %4121, 1
  store i32 %4122, ptr @test_count, align 4, !tbaa !5
  %4123 = icmp eq ptr %4120, null
  br i1 %4123, label %4124, label %4146

4124:                                             ; preds = %4119
  %4125 = load i32, ptr %468, align 4, !tbaa !5
  %4126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4127 = call i32 @s2n_print_stacktrace(ptr noundef %4126) #12
  %4128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4129 = trunc nuw i8 %4128 to i1
  br i1 %4129, label %4130, label %4134

4130:                                             ; preds = %4124
  %4131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4132 = call i32 @fileno(ptr noundef %4131) #12
  %4133 = call i32 @isatty(i32 noundef %4132) #12
  %.not863 = icmp eq i32 %4133, 0
  br i1 %.not863, label %4134, label %4135

4134:                                             ; preds = %4130, %4124
  br label %4135

4135:                                             ; preds = %4130, %4134
  %.str.81.sink2312 = phi ptr [ @.str.81, %4134 ], [ @.str.78, %4130 ]
  store i32 %4125, ptr %468, align 4, !tbaa !5
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = load i32, ptr @test_count, align 4, !tbaa !5
  %4138 = load i32, ptr %414, align 4, !tbaa !5
  %4139 = call ptr @s2n_strerror(i32 noundef %4138, ptr noundef nonnull @.str.80) #12
  %4140 = load i32, ptr %414, align 4, !tbaa !5
  %4141 = call ptr @s2n_strerror_debug(i32 noundef %4140, ptr noundef nonnull @.str.80) #12
  %4142 = load i32, ptr %468, align 4, !tbaa !5
  %4143 = call ptr @strerror(i32 noundef %4142) #12
  %4144 = load i32, ptr %468, align 4, !tbaa !5
  %4145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4136, ptr noundef nonnull %.str.81.sink2312, i32 noundef %4137, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.77, i32 noundef 379, ptr noundef %4139, ptr noundef %4141, ptr noundef %4143, i32 noundef %4144) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4146:                                             ; preds = %4119
  %4147 = getelementptr inbounds i8, ptr %4120, i64 1696
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %41) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %41, ptr noundef nonnull align 16 dereferenceable(20) @__const.main.wire_identity_bytes, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %42, i8 0, i64 24, i1 false)
  %4148 = add nsw i32 %4121, 2
  store i32 %4148, ptr @test_count, align 4, !tbaa !5
  %4149 = call i32 @s2n_blob_init(ptr noundef nonnull %42, ptr noundef nonnull %41, i32 noundef 20) #12
  %4150 = icmp eq i32 %4149, -1
  br i1 %4150, label %4151, label %4173

4151:                                             ; preds = %4146
  %4152 = load i32, ptr %468, align 4, !tbaa !5
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = call i32 @s2n_print_stacktrace(ptr noundef %4153) #12
  %4155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4156 = trunc nuw i8 %4155 to i1
  br i1 %4156, label %4157, label %4161

4157:                                             ; preds = %4151
  %4158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4159 = call i32 @fileno(ptr noundef %4158) #12
  %4160 = call i32 @isatty(i32 noundef %4159) #12
  %.not862 = icmp eq i32 %4160, 0
  br i1 %.not862, label %4161, label %4162

4161:                                             ; preds = %4157, %4151
  br label %4162

4162:                                             ; preds = %4157, %4161
  %.str.81.sink2321 = phi ptr [ @.str.81, %4161 ], [ @.str.78, %4157 ]
  store i32 %4152, ptr %468, align 4, !tbaa !5
  %4163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4164 = load i32, ptr @test_count, align 4, !tbaa !5
  %4165 = load i32, ptr %414, align 4, !tbaa !5
  %4166 = call ptr @s2n_strerror(i32 noundef %4165, ptr noundef nonnull @.str.80) #12
  %4167 = load i32, ptr %414, align 4, !tbaa !5
  %4168 = call ptr @s2n_strerror_debug(i32 noundef %4167, ptr noundef nonnull @.str.80) #12
  %4169 = load i32, ptr %468, align 4, !tbaa !5
  %4170 = call ptr @strerror(i32 noundef %4169) #12
  %4171 = load i32, ptr %468, align 4, !tbaa !5
  %4172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4163, ptr noundef nonnull %.str.81.sink2321, i32 noundef %4164, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.77, i32 noundef 386, ptr noundef %4166, ptr noundef %4168, ptr noundef %4170, i32 noundef %4171) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4173:                                             ; preds = %4146
  %4174 = getelementptr inbounds i8, ptr %4120, i64 1688
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %42, i64 24, i1 false), !tbaa.struct !54
  %4175 = getelementptr inbounds i8, ptr %43, i64 24
  store i16 5, ptr %4175, align 8, !tbaa !56
  %4176 = getelementptr inbounds i8, ptr %43, i64 28
  store i32 0, ptr %4176, align 4, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %44) #12
  %4177 = getelementptr inbounds i8, ptr %44, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %4177, i8 0, i64 48, i1 false)
  store ptr %4120, ptr %44, align 8, !tbaa !20
  store i32 1, ptr %4174, align 8, !tbaa !23
  %4178 = load i32, ptr @test_count, align 4, !tbaa !5
  %4179 = add nsw i32 %4178, 1
  store i32 %4179, ptr @test_count, align 4, !tbaa !5
  %4180 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef null, ptr noundef nonnull %43)
  %4181 = icmp eq i32 %4180, -1
  br i1 %4181, label %4204, label %4182

4182:                                             ; preds = %4173
  %4183 = load i32, ptr %468, align 4, !tbaa !5
  %4184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4185 = call i32 @s2n_print_stacktrace(ptr noundef %4184) #12
  %4186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4187 = trunc nuw i8 %4186 to i1
  br i1 %4187, label %4188, label %4192

4188:                                             ; preds = %4182
  %4189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4190 = call i32 @fileno(ptr noundef %4189) #12
  %4191 = call i32 @isatty(i32 noundef %4190) #12
  %.not752 = icmp eq i32 %4191, 0
  br i1 %.not752, label %4192, label %4193

4192:                                             ; preds = %4188, %4182
  br label %4193

4193:                                             ; preds = %4188, %4192
  %.str.81.sink2330 = phi ptr [ @.str.81, %4192 ], [ @.str.78, %4188 ]
  store i32 %4183, ptr %468, align 4, !tbaa !5
  %4194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4195 = load i32, ptr @test_count, align 4, !tbaa !5
  %4196 = load i32, ptr %414, align 4, !tbaa !5
  %4197 = call ptr @s2n_strerror(i32 noundef %4196, ptr noundef nonnull @.str.80) #12
  %4198 = load i32, ptr %414, align 4, !tbaa !5
  %4199 = call ptr @s2n_strerror_debug(i32 noundef %4198, ptr noundef nonnull @.str.80) #12
  %4200 = load i32, ptr %468, align 4, !tbaa !5
  %4201 = call ptr @strerror(i32 noundef %4200) #12
  %4202 = load i32, ptr %468, align 4, !tbaa !5
  %4203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4194, ptr noundef nonnull %.str.81.sink2330, i32 noundef %4195, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.77, i32 noundef 393, ptr noundef %4197, ptr noundef %4199, ptr noundef %4201, i32 noundef %4202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4204:                                             ; preds = %4173
  %4205 = load i32, ptr @test_count, align 4, !tbaa !5
  %4206 = add nsw i32 %4205, 1
  store i32 %4206, ptr @test_count, align 4, !tbaa !5
  %4207 = load i32, ptr %414, align 4, !tbaa !5
  %4208 = icmp eq i32 %4207, 402653193
  br i1 %4208, label %4231, label %4209

4209:                                             ; preds = %4204
  %4210 = load i32, ptr %468, align 4, !tbaa !5
  %4211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4212 = call i32 @s2n_print_stacktrace(ptr noundef %4211) #12
  %4213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4214 = trunc nuw i8 %4213 to i1
  br i1 %4214, label %4215, label %4219

4215:                                             ; preds = %4209
  %4216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4217 = call i32 @fileno(ptr noundef %4216) #12
  %4218 = call i32 @isatty(i32 noundef %4217) #12
  %.not753 = icmp eq i32 %4218, 0
  br i1 %.not753, label %4219, label %4220

4219:                                             ; preds = %4215, %4209
  br label %4220

4220:                                             ; preds = %4215, %4219
  %.str.81.sink2339 = phi ptr [ @.str.81, %4219 ], [ @.str.78, %4215 ]
  store i32 %4210, ptr %468, align 4, !tbaa !5
  %4221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4222 = load i32, ptr @test_count, align 4, !tbaa !5
  %4223 = load i32, ptr %414, align 4, !tbaa !5
  %4224 = call ptr @s2n_strerror(i32 noundef %4223, ptr noundef nonnull @.str.80) #12
  %4225 = load i32, ptr %414, align 4, !tbaa !5
  %4226 = call ptr @s2n_strerror_debug(i32 noundef %4225, ptr noundef nonnull @.str.80) #12
  %4227 = load i32, ptr %468, align 4, !tbaa !5
  %4228 = call ptr @strerror(i32 noundef %4227) #12
  %4229 = load i32, ptr %468, align 4, !tbaa !5
  %4230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4221, ptr noundef nonnull %.str.81.sink2339, i32 noundef %4222, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 393, ptr noundef %4224, ptr noundef %4226, ptr noundef %4228, i32 noundef %4229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4231:                                             ; preds = %4204
  %4232 = add nsw i32 %4205, 2
  store i32 %4232, ptr @test_count, align 4, !tbaa !5
  %4233 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %4234 = icmp eq ptr %4233, null
  br i1 %4234, label %4235, label %4257

4235:                                             ; preds = %4231
  %4236 = load i32, ptr %468, align 4, !tbaa !5
  %4237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4238 = call i32 @s2n_print_stacktrace(ptr noundef %4237) #12
  %4239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4240 = trunc nuw i8 %4239 to i1
  br i1 %4240, label %4241, label %4245

4241:                                             ; preds = %4235
  %4242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4243 = call i32 @fileno(ptr noundef %4242) #12
  %4244 = call i32 @isatty(i32 noundef %4243) #12
  %.not861 = icmp eq i32 %4244, 0
  br i1 %.not861, label %4245, label %4246

4245:                                             ; preds = %4241, %4235
  br label %4246

4246:                                             ; preds = %4241, %4245
  %.str.81.sink2348 = phi ptr [ @.str.81, %4245 ], [ @.str.78, %4241 ]
  store i32 %4236, ptr %468, align 4, !tbaa !5
  %4247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4248 = load i32, ptr @test_count, align 4, !tbaa !5
  %4249 = load i32, ptr %414, align 4, !tbaa !5
  %4250 = call ptr @s2n_strerror(i32 noundef %4249, ptr noundef nonnull @.str.80) #12
  %4251 = load i32, ptr %414, align 4, !tbaa !5
  %4252 = call ptr @s2n_strerror_debug(i32 noundef %4251, ptr noundef nonnull @.str.80) #12
  %4253 = load i32, ptr %468, align 4, !tbaa !5
  %4254 = call ptr @strerror(i32 noundef %4253) #12
  %4255 = load i32, ptr %468, align 4, !tbaa !5
  %4256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4247, ptr noundef nonnull %.str.81.sink2348, i32 noundef %4248, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 393, ptr noundef %4250, ptr noundef %4252, ptr noundef %4254, i32 noundef %4255) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4257:                                             ; preds = %4231
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %4258 = load i32, ptr @test_count, align 4, !tbaa !5
  %4259 = add nsw i32 %4258, 1
  store i32 %4259, ptr @test_count, align 4, !tbaa !5
  %4260 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %44, ptr noundef nonnull %43)
  %4261 = icmp eq i32 %4260, -1
  br i1 %4261, label %4284, label %4262

4262:                                             ; preds = %4257
  %4263 = load i32, ptr %468, align 4, !tbaa !5
  %4264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4265 = call i32 @s2n_print_stacktrace(ptr noundef %4264) #12
  %4266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4267 = trunc nuw i8 %4266 to i1
  br i1 %4267, label %4268, label %4272

4268:                                             ; preds = %4262
  %4269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4270 = call i32 @fileno(ptr noundef %4269) #12
  %4271 = call i32 @isatty(i32 noundef %4270) #12
  %.not754 = icmp eq i32 %4271, 0
  br i1 %.not754, label %4272, label %4273

4272:                                             ; preds = %4268, %4262
  br label %4273

4273:                                             ; preds = %4268, %4272
  %.str.81.sink2357 = phi ptr [ @.str.81, %4272 ], [ @.str.78, %4268 ]
  store i32 %4263, ptr %468, align 4, !tbaa !5
  %4274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4275 = load i32, ptr @test_count, align 4, !tbaa !5
  %4276 = load i32, ptr %414, align 4, !tbaa !5
  %4277 = call ptr @s2n_strerror(i32 noundef %4276, ptr noundef nonnull @.str.80) #12
  %4278 = load i32, ptr %414, align 4, !tbaa !5
  %4279 = call ptr @s2n_strerror_debug(i32 noundef %4278, ptr noundef nonnull @.str.80) #12
  %4280 = load i32, ptr %468, align 4, !tbaa !5
  %4281 = call ptr @strerror(i32 noundef %4280) #12
  %4282 = load i32, ptr %468, align 4, !tbaa !5
  %4283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4274, ptr noundef nonnull %.str.81.sink2357, i32 noundef %4275, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.77, i32 noundef 397, ptr noundef %4277, ptr noundef %4279, ptr noundef %4281, i32 noundef %4282) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4284:                                             ; preds = %4257
  %4285 = load i32, ptr @test_count, align 4, !tbaa !5
  %4286 = add nsw i32 %4285, 1
  store i32 %4286, ptr @test_count, align 4, !tbaa !5
  %4287 = load i32, ptr %414, align 4, !tbaa !5
  %4288 = icmp eq i32 %4287, 402653193
  br i1 %4288, label %4311, label %4289

4289:                                             ; preds = %4284
  %4290 = load i32, ptr %468, align 4, !tbaa !5
  %4291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4292 = call i32 @s2n_print_stacktrace(ptr noundef %4291) #12
  %4293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4294 = trunc nuw i8 %4293 to i1
  br i1 %4294, label %4295, label %4299

4295:                                             ; preds = %4289
  %4296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4297 = call i32 @fileno(ptr noundef %4296) #12
  %4298 = call i32 @isatty(i32 noundef %4297) #12
  %.not755 = icmp eq i32 %4298, 0
  br i1 %.not755, label %4299, label %4300

4299:                                             ; preds = %4295, %4289
  br label %4300

4300:                                             ; preds = %4295, %4299
  %.str.81.sink2366 = phi ptr [ @.str.81, %4299 ], [ @.str.78, %4295 ]
  store i32 %4290, ptr %468, align 4, !tbaa !5
  %4301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4302 = load i32, ptr @test_count, align 4, !tbaa !5
  %4303 = load i32, ptr %414, align 4, !tbaa !5
  %4304 = call ptr @s2n_strerror(i32 noundef %4303, ptr noundef nonnull @.str.80) #12
  %4305 = load i32, ptr %414, align 4, !tbaa !5
  %4306 = call ptr @s2n_strerror_debug(i32 noundef %4305, ptr noundef nonnull @.str.80) #12
  %4307 = load i32, ptr %468, align 4, !tbaa !5
  %4308 = call ptr @strerror(i32 noundef %4307) #12
  %4309 = load i32, ptr %468, align 4, !tbaa !5
  %4310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4301, ptr noundef nonnull %.str.81.sink2366, i32 noundef %4302, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 397, ptr noundef %4304, ptr noundef %4306, ptr noundef %4308, i32 noundef %4309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4311:                                             ; preds = %4284
  %4312 = add nsw i32 %4285, 2
  store i32 %4312, ptr @test_count, align 4, !tbaa !5
  %4313 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %4314 = icmp eq ptr %4313, null
  br i1 %4314, label %4315, label %4337

4315:                                             ; preds = %4311
  %4316 = load i32, ptr %468, align 4, !tbaa !5
  %4317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4318 = call i32 @s2n_print_stacktrace(ptr noundef %4317) #12
  %4319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4320 = trunc nuw i8 %4319 to i1
  br i1 %4320, label %4321, label %4325

4321:                                             ; preds = %4315
  %4322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4323 = call i32 @fileno(ptr noundef %4322) #12
  %4324 = call i32 @isatty(i32 noundef %4323) #12
  %.not860 = icmp eq i32 %4324, 0
  br i1 %.not860, label %4325, label %4326

4325:                                             ; preds = %4321, %4315
  br label %4326

4326:                                             ; preds = %4321, %4325
  %.str.81.sink2375 = phi ptr [ @.str.81, %4325 ], [ @.str.78, %4321 ]
  store i32 %4316, ptr %468, align 4, !tbaa !5
  %4327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4328 = load i32, ptr @test_count, align 4, !tbaa !5
  %4329 = load i32, ptr %414, align 4, !tbaa !5
  %4330 = call ptr @s2n_strerror(i32 noundef %4329, ptr noundef nonnull @.str.80) #12
  %4331 = load i32, ptr %414, align 4, !tbaa !5
  %4332 = call ptr @s2n_strerror_debug(i32 noundef %4331, ptr noundef nonnull @.str.80) #12
  %4333 = load i32, ptr %468, align 4, !tbaa !5
  %4334 = call ptr @strerror(i32 noundef %4333) #12
  %4335 = load i32, ptr %468, align 4, !tbaa !5
  %4336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4327, ptr noundef nonnull %.str.81.sink2375, i32 noundef %4328, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 397, ptr noundef %4330, ptr noundef %4332, ptr noundef %4334, i32 noundef %4335) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4337:                                             ; preds = %4311
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %4338 = load i32, ptr @test_count, align 4, !tbaa !5
  %4339 = add nsw i32 %4338, 1
  store i32 %4339, ptr @test_count, align 4, !tbaa !5
  %4340 = getelementptr inbounds i8, ptr %4120, i64 1736
  %4341 = load ptr, ptr %4340, align 8, !tbaa !57
  %4342 = icmp eq ptr %4341, null
  br i1 %4342, label %4365, label %4343

4343:                                             ; preds = %4337
  %4344 = load i32, ptr %468, align 4, !tbaa !5
  %4345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4346 = call i32 @s2n_print_stacktrace(ptr noundef %4345) #12
  %4347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4348 = trunc nuw i8 %4347 to i1
  br i1 %4348, label %4349, label %4353

4349:                                             ; preds = %4343
  %4350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4351 = call i32 @fileno(ptr noundef %4350) #12
  %4352 = call i32 @isatty(i32 noundef %4351) #12
  %.not756 = icmp eq i32 %4352, 0
  br i1 %.not756, label %4353, label %4354

4353:                                             ; preds = %4349, %4343
  br label %4354

4354:                                             ; preds = %4349, %4353
  %.str.81.sink2384 = phi ptr [ @.str.81, %4353 ], [ @.str.78, %4349 ]
  store i32 %4344, ptr %468, align 4, !tbaa !5
  %4355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4356 = load i32, ptr @test_count, align 4, !tbaa !5
  %4357 = load i32, ptr %414, align 4, !tbaa !5
  %4358 = call ptr @s2n_strerror(i32 noundef %4357, ptr noundef nonnull @.str.80) #12
  %4359 = load i32, ptr %414, align 4, !tbaa !5
  %4360 = call ptr @s2n_strerror_debug(i32 noundef %4359, ptr noundef nonnull @.str.80) #12
  %4361 = load i32, ptr %468, align 4, !tbaa !5
  %4362 = call ptr @strerror(i32 noundef %4361) #12
  %4363 = load i32, ptr %468, align 4, !tbaa !5
  %4364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4355, ptr noundef nonnull %.str.81.sink2384, i32 noundef %4356, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.77, i32 noundef 398, ptr noundef %4358, ptr noundef %4360, ptr noundef %4362, i32 noundef %4363) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4365:                                             ; preds = %4337
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  store ptr null, ptr %45, align 8, !tbaa !9
  %4366 = add nsw i32 %4338, 2
  store i32 %4366, ptr @test_count, align 4, !tbaa !5
  %4367 = call i32 @s2n_array_pushback(ptr noundef nonnull %4147, ptr noundef nonnull %45) #12
  %4368 = call zeroext i1 @s2n_result_is_ok(i32 %4367)
  br i1 %4368, label %4391, label %4369

4369:                                             ; preds = %4365
  %4370 = load i32, ptr %468, align 4, !tbaa !5
  %4371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4372 = call i32 @s2n_print_stacktrace(ptr noundef %4371) #12
  %4373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4374 = trunc nuw i8 %4373 to i1
  br i1 %4374, label %4375, label %4379

4375:                                             ; preds = %4369
  %4376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4377 = call i32 @fileno(ptr noundef %4376) #12
  %4378 = call i32 @isatty(i32 noundef %4377) #12
  %.not757 = icmp eq i32 %4378, 0
  br i1 %.not757, label %4379, label %4380

4379:                                             ; preds = %4375, %4369
  br label %4380

4380:                                             ; preds = %4375, %4379
  %.str.81.sink2393 = phi ptr [ @.str.81, %4379 ], [ @.str.78, %4375 ]
  store i32 %4370, ptr %468, align 4, !tbaa !5
  %4381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4382 = load i32, ptr @test_count, align 4, !tbaa !5
  %4383 = load i32, ptr %414, align 4, !tbaa !5
  %4384 = call ptr @s2n_strerror(i32 noundef %4383, ptr noundef nonnull @.str.80) #12
  %4385 = load i32, ptr %414, align 4, !tbaa !5
  %4386 = call ptr @s2n_strerror_debug(i32 noundef %4385, ptr noundef nonnull @.str.80) #12
  %4387 = load i32, ptr %468, align 4, !tbaa !5
  %4388 = call ptr @strerror(i32 noundef %4387) #12
  %4389 = load i32, ptr %468, align 4, !tbaa !5
  %4390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4381, ptr noundef nonnull %.str.81.sink2393, i32 noundef %4382, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.77, i32 noundef 404, ptr noundef %4384, ptr noundef %4386, ptr noundef %4388, i32 noundef %4389) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4391:                                             ; preds = %4365
  %4392 = load i32, ptr @test_count, align 4, !tbaa !5
  %4393 = add nsw i32 %4392, 1
  store i32 %4393, ptr @test_count, align 4, !tbaa !5
  %4394 = load ptr, ptr %45, align 8, !tbaa !9
  %4395 = call i32 @s2n_psk_init(ptr noundef %4394, i32 noundef 1)
  %4396 = call zeroext i1 @s2n_result_is_ok(i32 %4395)
  br i1 %4396, label %4419, label %4397

4397:                                             ; preds = %4391
  %4398 = load i32, ptr %468, align 4, !tbaa !5
  %4399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4400 = call i32 @s2n_print_stacktrace(ptr noundef %4399) #12
  %4401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4402 = trunc nuw i8 %4401 to i1
  br i1 %4402, label %4403, label %4407

4403:                                             ; preds = %4397
  %4404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4405 = call i32 @fileno(ptr noundef %4404) #12
  %4406 = call i32 @isatty(i32 noundef %4405) #12
  %.not758 = icmp eq i32 %4406, 0
  br i1 %.not758, label %4407, label %4408

4407:                                             ; preds = %4403, %4397
  br label %4408

4408:                                             ; preds = %4403, %4407
  %.str.81.sink2402 = phi ptr [ @.str.81, %4407 ], [ @.str.78, %4403 ]
  store i32 %4398, ptr %468, align 4, !tbaa !5
  %4409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4410 = load i32, ptr @test_count, align 4, !tbaa !5
  %4411 = load i32, ptr %414, align 4, !tbaa !5
  %4412 = call ptr @s2n_strerror(i32 noundef %4411, ptr noundef nonnull @.str.80) #12
  %4413 = load i32, ptr %414, align 4, !tbaa !5
  %4414 = call ptr @s2n_strerror_debug(i32 noundef %4413, ptr noundef nonnull @.str.80) #12
  %4415 = load i32, ptr %468, align 4, !tbaa !5
  %4416 = call ptr @strerror(i32 noundef %4415) #12
  %4417 = load i32, ptr %468, align 4, !tbaa !5
  %4418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4409, ptr noundef nonnull %.str.81.sink2402, i32 noundef %4410, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.77, i32 noundef 405, ptr noundef %4412, ptr noundef %4414, ptr noundef %4416, i32 noundef %4417) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4419:                                             ; preds = %4391
  %4420 = load i32, ptr @test_count, align 4, !tbaa !5
  %4421 = add nsw i32 %4420, 1
  store i32 %4421, ptr @test_count, align 4, !tbaa !5
  %4422 = load ptr, ptr %45, align 8, !tbaa !9
  %4423 = call i32 @s2n_psk_set_identity(ptr noundef %4422, ptr noundef nonnull %4, i16 noundef zeroext 4)
  %4424 = icmp eq i32 %4423, -1
  br i1 %4424, label %4425, label %4447

4425:                                             ; preds = %4419
  %4426 = load i32, ptr %468, align 4, !tbaa !5
  %4427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4428 = call i32 @s2n_print_stacktrace(ptr noundef %4427) #12
  %4429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4430 = trunc nuw i8 %4429 to i1
  br i1 %4430, label %4431, label %4435

4431:                                             ; preds = %4425
  %4432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4433 = call i32 @fileno(ptr noundef %4432) #12
  %4434 = call i32 @isatty(i32 noundef %4433) #12
  %.not859 = icmp eq i32 %4434, 0
  br i1 %.not859, label %4435, label %4436

4435:                                             ; preds = %4431, %4425
  br label %4436

4436:                                             ; preds = %4431, %4435
  %.str.81.sink2411 = phi ptr [ @.str.81, %4435 ], [ @.str.78, %4431 ]
  store i32 %4426, ptr %468, align 4, !tbaa !5
  %4437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4438 = load i32, ptr @test_count, align 4, !tbaa !5
  %4439 = load i32, ptr %414, align 4, !tbaa !5
  %4440 = call ptr @s2n_strerror(i32 noundef %4439, ptr noundef nonnull @.str.80) #12
  %4441 = load i32, ptr %414, align 4, !tbaa !5
  %4442 = call ptr @s2n_strerror_debug(i32 noundef %4441, ptr noundef nonnull @.str.80) #12
  %4443 = load i32, ptr %468, align 4, !tbaa !5
  %4444 = call ptr @strerror(i32 noundef %4443) #12
  %4445 = load i32, ptr %468, align 4, !tbaa !5
  %4446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4437, ptr noundef nonnull %.str.81.sink2411, i32 noundef %4438, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.77, i32 noundef 406, ptr noundef %4440, ptr noundef %4442, ptr noundef %4444, i32 noundef %4445) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4447:                                             ; preds = %4419
  %4448 = load i32, ptr @test_count, align 4, !tbaa !5
  %4449 = add nsw i32 %4448, 1
  store i32 %4449, ptr @test_count, align 4, !tbaa !5
  %4450 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %44, ptr noundef nonnull %43)
  %4451 = icmp eq i32 %4450, -1
  br i1 %4451, label %4474, label %4452

4452:                                             ; preds = %4447
  %4453 = load i32, ptr %468, align 4, !tbaa !5
  %4454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4455 = call i32 @s2n_print_stacktrace(ptr noundef %4454) #12
  %4456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4457 = trunc nuw i8 %4456 to i1
  br i1 %4457, label %4458, label %4462

4458:                                             ; preds = %4452
  %4459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4460 = call i32 @fileno(ptr noundef %4459) #12
  %4461 = call i32 @isatty(i32 noundef %4460) #12
  %.not759 = icmp eq i32 %4461, 0
  br i1 %.not759, label %4462, label %4463

4462:                                             ; preds = %4458, %4452
  br label %4463

4463:                                             ; preds = %4458, %4462
  %.str.81.sink2420 = phi ptr [ @.str.81, %4462 ], [ @.str.78, %4458 ]
  store i32 %4453, ptr %468, align 4, !tbaa !5
  %4464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4465 = load i32, ptr @test_count, align 4, !tbaa !5
  %4466 = load i32, ptr %414, align 4, !tbaa !5
  %4467 = call ptr @s2n_strerror(i32 noundef %4466, ptr noundef nonnull @.str.80) #12
  %4468 = load i32, ptr %414, align 4, !tbaa !5
  %4469 = call ptr @s2n_strerror_debug(i32 noundef %4468, ptr noundef nonnull @.str.80) #12
  %4470 = load i32, ptr %468, align 4, !tbaa !5
  %4471 = call ptr @strerror(i32 noundef %4470) #12
  %4472 = load i32, ptr %468, align 4, !tbaa !5
  %4473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4464, ptr noundef nonnull %.str.81.sink2420, i32 noundef %4465, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.77, i32 noundef 408, ptr noundef %4467, ptr noundef %4469, ptr noundef %4471, i32 noundef %4472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4474:                                             ; preds = %4447
  %4475 = load i32, ptr @test_count, align 4, !tbaa !5
  %4476 = add nsw i32 %4475, 1
  store i32 %4476, ptr @test_count, align 4, !tbaa !5
  %4477 = load i32, ptr %414, align 4, !tbaa !5
  %4478 = icmp eq i32 %4477, 402653193
  br i1 %4478, label %4501, label %4479

4479:                                             ; preds = %4474
  %4480 = load i32, ptr %468, align 4, !tbaa !5
  %4481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4482 = call i32 @s2n_print_stacktrace(ptr noundef %4481) #12
  %4483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4484 = trunc nuw i8 %4483 to i1
  br i1 %4484, label %4485, label %4489

4485:                                             ; preds = %4479
  %4486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4487 = call i32 @fileno(ptr noundef %4486) #12
  %4488 = call i32 @isatty(i32 noundef %4487) #12
  %.not760 = icmp eq i32 %4488, 0
  br i1 %.not760, label %4489, label %4490

4489:                                             ; preds = %4485, %4479
  br label %4490

4490:                                             ; preds = %4485, %4489
  %.str.81.sink2429 = phi ptr [ @.str.81, %4489 ], [ @.str.78, %4485 ]
  store i32 %4480, ptr %468, align 4, !tbaa !5
  %4491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4492 = load i32, ptr @test_count, align 4, !tbaa !5
  %4493 = load i32, ptr %414, align 4, !tbaa !5
  %4494 = call ptr @s2n_strerror(i32 noundef %4493, ptr noundef nonnull @.str.80) #12
  %4495 = load i32, ptr %414, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror_debug(i32 noundef %4495, ptr noundef nonnull @.str.80) #12
  %4497 = load i32, ptr %468, align 4, !tbaa !5
  %4498 = call ptr @strerror(i32 noundef %4497) #12
  %4499 = load i32, ptr %468, align 4, !tbaa !5
  %4500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4491, ptr noundef nonnull %.str.81.sink2429, i32 noundef %4492, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 408, ptr noundef %4494, ptr noundef %4496, ptr noundef %4498, i32 noundef %4499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4501:                                             ; preds = %4474
  %4502 = add nsw i32 %4475, 2
  store i32 %4502, ptr @test_count, align 4, !tbaa !5
  %4503 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %4504 = icmp eq ptr %4503, null
  br i1 %4504, label %4505, label %4527

4505:                                             ; preds = %4501
  %4506 = load i32, ptr %468, align 4, !tbaa !5
  %4507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4508 = call i32 @s2n_print_stacktrace(ptr noundef %4507) #12
  %4509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4510 = trunc nuw i8 %4509 to i1
  br i1 %4510, label %4511, label %4515

4511:                                             ; preds = %4505
  %4512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4513 = call i32 @fileno(ptr noundef %4512) #12
  %4514 = call i32 @isatty(i32 noundef %4513) #12
  %.not858 = icmp eq i32 %4514, 0
  br i1 %.not858, label %4515, label %4516

4515:                                             ; preds = %4511, %4505
  br label %4516

4516:                                             ; preds = %4511, %4515
  %.str.81.sink2438 = phi ptr [ @.str.81, %4515 ], [ @.str.78, %4511 ]
  store i32 %4506, ptr %468, align 4, !tbaa !5
  %4517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4518 = load i32, ptr @test_count, align 4, !tbaa !5
  %4519 = load i32, ptr %414, align 4, !tbaa !5
  %4520 = call ptr @s2n_strerror(i32 noundef %4519, ptr noundef nonnull @.str.80) #12
  %4521 = load i32, ptr %414, align 4, !tbaa !5
  %4522 = call ptr @s2n_strerror_debug(i32 noundef %4521, ptr noundef nonnull @.str.80) #12
  %4523 = load i32, ptr %468, align 4, !tbaa !5
  %4524 = call ptr @strerror(i32 noundef %4523) #12
  %4525 = load i32, ptr %468, align 4, !tbaa !5
  %4526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4517, ptr noundef nonnull %.str.81.sink2438, i32 noundef %4518, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 408, ptr noundef %4520, ptr noundef %4522, ptr noundef %4524, i32 noundef %4525) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4527:                                             ; preds = %4501
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %4528 = load i32, ptr @test_count, align 4, !tbaa !5
  %4529 = add nsw i32 %4528, 1
  store i32 %4529, ptr @test_count, align 4, !tbaa !5
  %4530 = load ptr, ptr %4340, align 8, !tbaa !57
  %4531 = icmp eq ptr %4530, null
  br i1 %4531, label %4554, label %4532

4532:                                             ; preds = %4527
  %4533 = load i32, ptr %468, align 4, !tbaa !5
  %4534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4535 = call i32 @s2n_print_stacktrace(ptr noundef %4534) #12
  %4536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4537 = trunc nuw i8 %4536 to i1
  br i1 %4537, label %4538, label %4542

4538:                                             ; preds = %4532
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = call i32 @fileno(ptr noundef %4539) #12
  %4541 = call i32 @isatty(i32 noundef %4540) #12
  %.not761 = icmp eq i32 %4541, 0
  br i1 %.not761, label %4542, label %4543

4542:                                             ; preds = %4538, %4532
  br label %4543

4543:                                             ; preds = %4538, %4542
  %.str.81.sink2447 = phi ptr [ @.str.81, %4542 ], [ @.str.78, %4538 ]
  store i32 %4533, ptr %468, align 4, !tbaa !5
  %4544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4545 = load i32, ptr @test_count, align 4, !tbaa !5
  %4546 = load i32, ptr %414, align 4, !tbaa !5
  %4547 = call ptr @s2n_strerror(i32 noundef %4546, ptr noundef nonnull @.str.80) #12
  %4548 = load i32, ptr %414, align 4, !tbaa !5
  %4549 = call ptr @s2n_strerror_debug(i32 noundef %4548, ptr noundef nonnull @.str.80) #12
  %4550 = load i32, ptr %468, align 4, !tbaa !5
  %4551 = call ptr @strerror(i32 noundef %4550) #12
  %4552 = load i32, ptr %468, align 4, !tbaa !5
  %4553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4544, ptr noundef nonnull %.str.81.sink2447, i32 noundef %4545, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.77, i32 noundef 409, ptr noundef %4547, ptr noundef %4549, ptr noundef %4551, i32 noundef %4552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4554:                                             ; preds = %4527
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #12
  store ptr null, ptr %46, align 8, !tbaa !9
  %4555 = add nsw i32 %4528, 2
  store i32 %4555, ptr @test_count, align 4, !tbaa !5
  %4556 = call i32 @s2n_array_pushback(ptr noundef nonnull %4147, ptr noundef nonnull %46) #12
  %4557 = call zeroext i1 @s2n_result_is_ok(i32 %4556)
  br i1 %4557, label %4580, label %4558

4558:                                             ; preds = %4554
  %4559 = load i32, ptr %468, align 4, !tbaa !5
  %4560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4561 = call i32 @s2n_print_stacktrace(ptr noundef %4560) #12
  %4562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4563 = trunc nuw i8 %4562 to i1
  br i1 %4563, label %4564, label %4568

4564:                                             ; preds = %4558
  %4565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4566 = call i32 @fileno(ptr noundef %4565) #12
  %4567 = call i32 @isatty(i32 noundef %4566) #12
  %.not762 = icmp eq i32 %4567, 0
  br i1 %.not762, label %4568, label %4569

4568:                                             ; preds = %4564, %4558
  br label %4569

4569:                                             ; preds = %4564, %4568
  %.str.81.sink2456 = phi ptr [ @.str.81, %4568 ], [ @.str.78, %4564 ]
  store i32 %4559, ptr %468, align 4, !tbaa !5
  %4570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4571 = load i32, ptr @test_count, align 4, !tbaa !5
  %4572 = load i32, ptr %414, align 4, !tbaa !5
  %4573 = call ptr @s2n_strerror(i32 noundef %4572, ptr noundef nonnull @.str.80) #12
  %4574 = load i32, ptr %414, align 4, !tbaa !5
  %4575 = call ptr @s2n_strerror_debug(i32 noundef %4574, ptr noundef nonnull @.str.80) #12
  %4576 = load i32, ptr %468, align 4, !tbaa !5
  %4577 = call ptr @strerror(i32 noundef %4576) #12
  %4578 = load i32, ptr %468, align 4, !tbaa !5
  %4579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4570, ptr noundef nonnull %.str.81.sink2456, i32 noundef %4571, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.77, i32 noundef 416, ptr noundef %4573, ptr noundef %4575, ptr noundef %4577, i32 noundef %4578) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4580:                                             ; preds = %4554
  %4581 = load i32, ptr @test_count, align 4, !tbaa !5
  %4582 = add nsw i32 %4581, 1
  store i32 %4582, ptr @test_count, align 4, !tbaa !5
  %4583 = load ptr, ptr %46, align 8, !tbaa !9
  %4584 = call i32 @s2n_psk_init(ptr noundef %4583, i32 noundef 1)
  %4585 = call zeroext i1 @s2n_result_is_ok(i32 %4584)
  br i1 %4585, label %4608, label %4586

4586:                                             ; preds = %4580
  %4587 = load i32, ptr %468, align 4, !tbaa !5
  %4588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4589 = call i32 @s2n_print_stacktrace(ptr noundef %4588) #12
  %4590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4591 = trunc nuw i8 %4590 to i1
  br i1 %4591, label %4592, label %4596

4592:                                             ; preds = %4586
  %4593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4594 = call i32 @fileno(ptr noundef %4593) #12
  %4595 = call i32 @isatty(i32 noundef %4594) #12
  %.not763 = icmp eq i32 %4595, 0
  br i1 %.not763, label %4596, label %4597

4596:                                             ; preds = %4592, %4586
  br label %4597

4597:                                             ; preds = %4592, %4596
  %.str.81.sink2465 = phi ptr [ @.str.81, %4596 ], [ @.str.78, %4592 ]
  store i32 %4587, ptr %468, align 4, !tbaa !5
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = load i32, ptr @test_count, align 4, !tbaa !5
  %4600 = load i32, ptr %414, align 4, !tbaa !5
  %4601 = call ptr @s2n_strerror(i32 noundef %4600, ptr noundef nonnull @.str.80) #12
  %4602 = load i32, ptr %414, align 4, !tbaa !5
  %4603 = call ptr @s2n_strerror_debug(i32 noundef %4602, ptr noundef nonnull @.str.80) #12
  %4604 = load i32, ptr %468, align 4, !tbaa !5
  %4605 = call ptr @strerror(i32 noundef %4604) #12
  %4606 = load i32, ptr %468, align 4, !tbaa !5
  %4607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4598, ptr noundef nonnull %.str.81.sink2465, i32 noundef %4599, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.77, i32 noundef 417, ptr noundef %4601, ptr noundef %4603, ptr noundef %4605, i32 noundef %4606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4608:                                             ; preds = %4580
  %4609 = load i32, ptr @test_count, align 4, !tbaa !5
  %4610 = add nsw i32 %4609, 1
  store i32 %4610, ptr @test_count, align 4, !tbaa !5
  %4611 = load ptr, ptr %46, align 8, !tbaa !9
  %4612 = call i32 @s2n_psk_set_identity(ptr noundef %4611, ptr noundef nonnull %41, i16 noundef zeroext 20)
  %4613 = icmp eq i32 %4612, -1
  br i1 %4613, label %4614, label %4636

4614:                                             ; preds = %4608
  %4615 = load i32, ptr %468, align 4, !tbaa !5
  %4616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4617 = call i32 @s2n_print_stacktrace(ptr noundef %4616) #12
  %4618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4619 = trunc nuw i8 %4618 to i1
  br i1 %4619, label %4620, label %4624

4620:                                             ; preds = %4614
  %4621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4622 = call i32 @fileno(ptr noundef %4621) #12
  %4623 = call i32 @isatty(i32 noundef %4622) #12
  %.not857 = icmp eq i32 %4623, 0
  br i1 %.not857, label %4624, label %4625

4624:                                             ; preds = %4620, %4614
  br label %4625

4625:                                             ; preds = %4620, %4624
  %.str.81.sink2474 = phi ptr [ @.str.81, %4624 ], [ @.str.78, %4620 ]
  store i32 %4615, ptr %468, align 4, !tbaa !5
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = load i32, ptr @test_count, align 4, !tbaa !5
  %4628 = load i32, ptr %414, align 4, !tbaa !5
  %4629 = call ptr @s2n_strerror(i32 noundef %4628, ptr noundef nonnull @.str.80) #12
  %4630 = load i32, ptr %414, align 4, !tbaa !5
  %4631 = call ptr @s2n_strerror_debug(i32 noundef %4630, ptr noundef nonnull @.str.80) #12
  %4632 = load i32, ptr %468, align 4, !tbaa !5
  %4633 = call ptr @strerror(i32 noundef %4632) #12
  %4634 = load i32, ptr %468, align 4, !tbaa !5
  %4635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4626, ptr noundef nonnull %.str.81.sink2474, i32 noundef %4627, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.77, i32 noundef 418, ptr noundef %4629, ptr noundef %4631, ptr noundef %4633, i32 noundef %4634) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4636:                                             ; preds = %4608
  %4637 = load i32, ptr @test_count, align 4, !tbaa !5
  %4638 = add nsw i32 %4637, 1
  store i32 %4638, ptr @test_count, align 4, !tbaa !5
  %4639 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %44, ptr noundef nonnull %43)
  %4640 = icmp eq i32 %4639, -1
  br i1 %4640, label %4641, label %4663

4641:                                             ; preds = %4636
  %4642 = load i32, ptr %468, align 4, !tbaa !5
  %4643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4644 = call i32 @s2n_print_stacktrace(ptr noundef %4643) #12
  %4645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4646 = trunc nuw i8 %4645 to i1
  br i1 %4646, label %4647, label %4651

4647:                                             ; preds = %4641
  %4648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4649 = call i32 @fileno(ptr noundef %4648) #12
  %4650 = call i32 @isatty(i32 noundef %4649) #12
  %.not856 = icmp eq i32 %4650, 0
  br i1 %.not856, label %4651, label %4652

4651:                                             ; preds = %4647, %4641
  br label %4652

4652:                                             ; preds = %4647, %4651
  %.str.81.sink2483 = phi ptr [ @.str.81, %4651 ], [ @.str.78, %4647 ]
  store i32 %4642, ptr %468, align 4, !tbaa !5
  %4653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4654 = load i32, ptr @test_count, align 4, !tbaa !5
  %4655 = load i32, ptr %414, align 4, !tbaa !5
  %4656 = call ptr @s2n_strerror(i32 noundef %4655, ptr noundef nonnull @.str.80) #12
  %4657 = load i32, ptr %414, align 4, !tbaa !5
  %4658 = call ptr @s2n_strerror_debug(i32 noundef %4657, ptr noundef nonnull @.str.80) #12
  %4659 = load i32, ptr %468, align 4, !tbaa !5
  %4660 = call ptr @strerror(i32 noundef %4659) #12
  %4661 = load i32, ptr %468, align 4, !tbaa !5
  %4662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4653, ptr noundef nonnull %.str.81.sink2483, i32 noundef %4654, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.77, i32 noundef 420, ptr noundef %4656, ptr noundef %4658, ptr noundef %4660, i32 noundef %4661) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4663:                                             ; preds = %4636
  %4664 = load i32, ptr @test_count, align 4, !tbaa !5
  %4665 = add nsw i32 %4664, 1
  store i32 %4665, ptr @test_count, align 4, !tbaa !5
  %4666 = load ptr, ptr %4340, align 8, !tbaa !57
  %4667 = load ptr, ptr %46, align 8, !tbaa !9
  %4668 = icmp eq ptr %4666, %4667
  br i1 %4668, label %4691, label %4669

4669:                                             ; preds = %4663
  %4670 = load i32, ptr %468, align 4, !tbaa !5
  %4671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4672 = call i32 @s2n_print_stacktrace(ptr noundef %4671) #12
  %4673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4674 = trunc nuw i8 %4673 to i1
  br i1 %4674, label %4675, label %4679

4675:                                             ; preds = %4669
  %4676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4677 = call i32 @fileno(ptr noundef %4676) #12
  %4678 = call i32 @isatty(i32 noundef %4677) #12
  %.not764 = icmp eq i32 %4678, 0
  br i1 %.not764, label %4679, label %4680

4679:                                             ; preds = %4675, %4669
  br label %4680

4680:                                             ; preds = %4675, %4679
  %.str.81.sink2492 = phi ptr [ @.str.81, %4679 ], [ @.str.78, %4675 ]
  store i32 %4670, ptr %468, align 4, !tbaa !5
  %4681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4682 = load i32, ptr @test_count, align 4, !tbaa !5
  %4683 = load i32, ptr %414, align 4, !tbaa !5
  %4684 = call ptr @s2n_strerror(i32 noundef %4683, ptr noundef nonnull @.str.80) #12
  %4685 = load i32, ptr %414, align 4, !tbaa !5
  %4686 = call ptr @s2n_strerror_debug(i32 noundef %4685, ptr noundef nonnull @.str.80) #12
  %4687 = load i32, ptr %468, align 4, !tbaa !5
  %4688 = call ptr @strerror(i32 noundef %4687) #12
  %4689 = load i32, ptr %468, align 4, !tbaa !5
  %4690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4681, ptr noundef nonnull %.str.81.sink2492, i32 noundef %4682, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.77, i32 noundef 421, ptr noundef %4684, ptr noundef %4686, ptr noundef %4688, i32 noundef %4689) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4691:                                             ; preds = %4663
  %4692 = add nsw i32 %4664, 2
  store i32 %4692, ptr @test_count, align 4, !tbaa !5
  %4693 = getelementptr inbounds i8, ptr %4120, i64 1730
  %4694 = load i16, ptr %4693, align 2, !tbaa !58
  %4695 = icmp eq i16 %4694, 5
  br i1 %4695, label %4718, label %4696

4696:                                             ; preds = %4691
  %4697 = load i32, ptr %468, align 4, !tbaa !5
  %4698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4699 = call i32 @s2n_print_stacktrace(ptr noundef %4698) #12
  %4700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4701 = trunc nuw i8 %4700 to i1
  br i1 %4701, label %4702, label %4706

4702:                                             ; preds = %4696
  %4703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4704 = call i32 @fileno(ptr noundef %4703) #12
  %4705 = call i32 @isatty(i32 noundef %4704) #12
  %.not765 = icmp eq i32 %4705, 0
  br i1 %.not765, label %4706, label %4707

4706:                                             ; preds = %4702, %4696
  br label %4707

4707:                                             ; preds = %4702, %4706
  %.str.81.sink2501 = phi ptr [ @.str.81, %4706 ], [ @.str.78, %4702 ]
  store i32 %4697, ptr %468, align 4, !tbaa !5
  %4708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4709 = load i32, ptr @test_count, align 4, !tbaa !5
  %4710 = load i32, ptr %414, align 4, !tbaa !5
  %4711 = call ptr @s2n_strerror(i32 noundef %4710, ptr noundef nonnull @.str.80) #12
  %4712 = load i32, ptr %414, align 4, !tbaa !5
  %4713 = call ptr @s2n_strerror_debug(i32 noundef %4712, ptr noundef nonnull @.str.80) #12
  %4714 = load i32, ptr %468, align 4, !tbaa !5
  %4715 = call ptr @strerror(i32 noundef %4714) #12
  %4716 = load i32, ptr %468, align 4, !tbaa !5
  %4717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4708, ptr noundef nonnull %.str.81.sink2501, i32 noundef %4709, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.77, i32 noundef 422, ptr noundef %4711, ptr noundef %4713, ptr noundef %4715, i32 noundef %4716) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4718:                                             ; preds = %4691
  %4719 = add nsw i32 %4664, 3
  store i32 %4719, ptr @test_count, align 4, !tbaa !5
  %4720 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %44, ptr noundef null)
  %4721 = icmp eq i32 %4720, -1
  br i1 %4721, label %4722, label %4744

4722:                                             ; preds = %4718
  %4723 = load i32, ptr %468, align 4, !tbaa !5
  %4724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4725 = call i32 @s2n_print_stacktrace(ptr noundef %4724) #12
  %4726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4727 = trunc nuw i8 %4726 to i1
  br i1 %4727, label %4728, label %4732

4728:                                             ; preds = %4722
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = call i32 @fileno(ptr noundef %4729) #12
  %4731 = call i32 @isatty(i32 noundef %4730) #12
  %.not855 = icmp eq i32 %4731, 0
  br i1 %.not855, label %4732, label %4733

4732:                                             ; preds = %4728, %4722
  br label %4733

4733:                                             ; preds = %4728, %4732
  %.str.81.sink2510 = phi ptr [ @.str.81, %4732 ], [ @.str.78, %4728 ]
  store i32 %4723, ptr %468, align 4, !tbaa !5
  %4734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4735 = load i32, ptr @test_count, align 4, !tbaa !5
  %4736 = load i32, ptr %414, align 4, !tbaa !5
  %4737 = call ptr @s2n_strerror(i32 noundef %4736, ptr noundef nonnull @.str.80) #12
  %4738 = load i32, ptr %414, align 4, !tbaa !5
  %4739 = call ptr @s2n_strerror_debug(i32 noundef %4738, ptr noundef nonnull @.str.80) #12
  %4740 = load i32, ptr %468, align 4, !tbaa !5
  %4741 = call ptr @strerror(i32 noundef %4740) #12
  %4742 = load i32, ptr %468, align 4, !tbaa !5
  %4743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4734, ptr noundef nonnull %.str.81.sink2510, i32 noundef %4735, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.77, i32 noundef 427, ptr noundef %4737, ptr noundef %4739, ptr noundef %4741, i32 noundef %4742) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4744:                                             ; preds = %4718
  %4745 = load i32, ptr @test_count, align 4, !tbaa !5
  %4746 = add nsw i32 %4745, 1
  store i32 %4746, ptr @test_count, align 4, !tbaa !5
  %4747 = load ptr, ptr %4340, align 8, !tbaa !57
  %4748 = icmp eq ptr %4747, null
  br i1 %4748, label %4771, label %4749

4749:                                             ; preds = %4744
  %4750 = load i32, ptr %468, align 4, !tbaa !5
  %4751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4752 = call i32 @s2n_print_stacktrace(ptr noundef %4751) #12
  %4753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4754 = trunc nuw i8 %4753 to i1
  br i1 %4754, label %4755, label %4759

4755:                                             ; preds = %4749
  %4756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4757 = call i32 @fileno(ptr noundef %4756) #12
  %4758 = call i32 @isatty(i32 noundef %4757) #12
  %.not766 = icmp eq i32 %4758, 0
  br i1 %.not766, label %4759, label %4760

4759:                                             ; preds = %4755, %4749
  br label %4760

4760:                                             ; preds = %4755, %4759
  %.str.81.sink2519 = phi ptr [ @.str.81, %4759 ], [ @.str.78, %4755 ]
  store i32 %4750, ptr %468, align 4, !tbaa !5
  %4761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4762 = load i32, ptr @test_count, align 4, !tbaa !5
  %4763 = load i32, ptr %414, align 4, !tbaa !5
  %4764 = call ptr @s2n_strerror(i32 noundef %4763, ptr noundef nonnull @.str.80) #12
  %4765 = load i32, ptr %414, align 4, !tbaa !5
  %4766 = call ptr @s2n_strerror_debug(i32 noundef %4765, ptr noundef nonnull @.str.80) #12
  %4767 = load i32, ptr %468, align 4, !tbaa !5
  %4768 = call ptr @strerror(i32 noundef %4767) #12
  %4769 = load i32, ptr %468, align 4, !tbaa !5
  %4770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4761, ptr noundef nonnull %.str.81.sink2519, i32 noundef %4762, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.77, i32 noundef 428, ptr noundef %4764, ptr noundef %4766, ptr noundef %4768, i32 noundef %4769) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4771:                                             ; preds = %4744
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #12
  store ptr null, ptr %47, align 8, !tbaa !9
  %4772 = add nsw i32 %4745, 2
  store i32 %4772, ptr @test_count, align 4, !tbaa !5
  %4773 = call i32 @s2n_array_pushback(ptr noundef nonnull %4147, ptr noundef nonnull %47) #12
  %4774 = call zeroext i1 @s2n_result_is_ok(i32 %4773)
  br i1 %4774, label %4797, label %4775

4775:                                             ; preds = %4771
  %4776 = load i32, ptr %468, align 4, !tbaa !5
  %4777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4778 = call i32 @s2n_print_stacktrace(ptr noundef %4777) #12
  %4779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4780 = trunc nuw i8 %4779 to i1
  br i1 %4780, label %4781, label %4785

4781:                                             ; preds = %4775
  %4782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4783 = call i32 @fileno(ptr noundef %4782) #12
  %4784 = call i32 @isatty(i32 noundef %4783) #12
  %.not767 = icmp eq i32 %4784, 0
  br i1 %.not767, label %4785, label %4786

4785:                                             ; preds = %4781, %4775
  br label %4786

4786:                                             ; preds = %4781, %4785
  %.str.81.sink2528 = phi ptr [ @.str.81, %4785 ], [ @.str.78, %4781 ]
  store i32 %4776, ptr %468, align 4, !tbaa !5
  %4787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4788 = load i32, ptr @test_count, align 4, !tbaa !5
  %4789 = load i32, ptr %414, align 4, !tbaa !5
  %4790 = call ptr @s2n_strerror(i32 noundef %4789, ptr noundef nonnull @.str.80) #12
  %4791 = load i32, ptr %414, align 4, !tbaa !5
  %4792 = call ptr @s2n_strerror_debug(i32 noundef %4791, ptr noundef nonnull @.str.80) #12
  %4793 = load i32, ptr %468, align 4, !tbaa !5
  %4794 = call ptr @strerror(i32 noundef %4793) #12
  %4795 = load i32, ptr %468, align 4, !tbaa !5
  %4796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4787, ptr noundef nonnull %.str.81.sink2528, i32 noundef %4788, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.77, i32 noundef 434, ptr noundef %4790, ptr noundef %4792, ptr noundef %4794, i32 noundef %4795) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4797:                                             ; preds = %4771
  %4798 = load i32, ptr @test_count, align 4, !tbaa !5
  %4799 = add nsw i32 %4798, 1
  store i32 %4799, ptr @test_count, align 4, !tbaa !5
  %4800 = load ptr, ptr %47, align 8, !tbaa !9
  %4801 = call i32 @s2n_psk_init(ptr noundef %4800, i32 noundef 1)
  %4802 = call zeroext i1 @s2n_result_is_ok(i32 %4801)
  br i1 %4802, label %4825, label %4803

4803:                                             ; preds = %4797
  %4804 = load i32, ptr %468, align 4, !tbaa !5
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = call i32 @s2n_print_stacktrace(ptr noundef %4805) #12
  %4807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4808 = trunc nuw i8 %4807 to i1
  br i1 %4808, label %4809, label %4813

4809:                                             ; preds = %4803
  %4810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4811 = call i32 @fileno(ptr noundef %4810) #12
  %4812 = call i32 @isatty(i32 noundef %4811) #12
  %.not768 = icmp eq i32 %4812, 0
  br i1 %.not768, label %4813, label %4814

4813:                                             ; preds = %4809, %4803
  br label %4814

4814:                                             ; preds = %4809, %4813
  %.str.81.sink2537 = phi ptr [ @.str.81, %4813 ], [ @.str.78, %4809 ]
  store i32 %4804, ptr %468, align 4, !tbaa !5
  %4815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4816 = load i32, ptr @test_count, align 4, !tbaa !5
  %4817 = load i32, ptr %414, align 4, !tbaa !5
  %4818 = call ptr @s2n_strerror(i32 noundef %4817, ptr noundef nonnull @.str.80) #12
  %4819 = load i32, ptr %414, align 4, !tbaa !5
  %4820 = call ptr @s2n_strerror_debug(i32 noundef %4819, ptr noundef nonnull @.str.80) #12
  %4821 = load i32, ptr %468, align 4, !tbaa !5
  %4822 = call ptr @strerror(i32 noundef %4821) #12
  %4823 = load i32, ptr %468, align 4, !tbaa !5
  %4824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4815, ptr noundef nonnull %.str.81.sink2537, i32 noundef %4816, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.77, i32 noundef 435, ptr noundef %4818, ptr noundef %4820, ptr noundef %4822, i32 noundef %4823) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4825:                                             ; preds = %4797
  %4826 = load i32, ptr @test_count, align 4, !tbaa !5
  %4827 = add nsw i32 %4826, 1
  store i32 %4827, ptr @test_count, align 4, !tbaa !5
  %4828 = load ptr, ptr %47, align 8, !tbaa !9
  %4829 = call i32 @s2n_psk_set_identity(ptr noundef %4828, ptr noundef nonnull %41, i16 noundef zeroext 20)
  %4830 = icmp eq i32 %4829, -1
  br i1 %4830, label %4831, label %4853

4831:                                             ; preds = %4825
  %4832 = load i32, ptr %468, align 4, !tbaa !5
  %4833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4834 = call i32 @s2n_print_stacktrace(ptr noundef %4833) #12
  %4835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4836 = trunc nuw i8 %4835 to i1
  br i1 %4836, label %4837, label %4841

4837:                                             ; preds = %4831
  %4838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4839 = call i32 @fileno(ptr noundef %4838) #12
  %4840 = call i32 @isatty(i32 noundef %4839) #12
  %.not854 = icmp eq i32 %4840, 0
  br i1 %.not854, label %4841, label %4842

4841:                                             ; preds = %4837, %4831
  br label %4842

4842:                                             ; preds = %4837, %4841
  %.str.81.sink2546 = phi ptr [ @.str.81, %4841 ], [ @.str.78, %4837 ]
  store i32 %4832, ptr %468, align 4, !tbaa !5
  %4843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4844 = load i32, ptr @test_count, align 4, !tbaa !5
  %4845 = load i32, ptr %414, align 4, !tbaa !5
  %4846 = call ptr @s2n_strerror(i32 noundef %4845, ptr noundef nonnull @.str.80) #12
  %4847 = load i32, ptr %414, align 4, !tbaa !5
  %4848 = call ptr @s2n_strerror_debug(i32 noundef %4847, ptr noundef nonnull @.str.80) #12
  %4849 = load i32, ptr %468, align 4, !tbaa !5
  %4850 = call ptr @strerror(i32 noundef %4849) #12
  %4851 = load i32, ptr %468, align 4, !tbaa !5
  %4852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4843, ptr noundef nonnull %.str.81.sink2546, i32 noundef %4844, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.77, i32 noundef 436, ptr noundef %4846, ptr noundef %4848, ptr noundef %4850, i32 noundef %4851) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4853:                                             ; preds = %4825
  %4854 = load i32, ptr @test_count, align 4, !tbaa !5
  %4855 = add nsw i32 %4854, 1
  store i32 %4855, ptr @test_count, align 4, !tbaa !5
  %4856 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %44, ptr noundef nonnull %43)
  %4857 = icmp eq i32 %4856, -1
  br i1 %4857, label %4858, label %4880

4858:                                             ; preds = %4853
  %4859 = load i32, ptr %468, align 4, !tbaa !5
  %4860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4861 = call i32 @s2n_print_stacktrace(ptr noundef %4860) #12
  %4862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4863 = trunc nuw i8 %4862 to i1
  br i1 %4863, label %4864, label %4868

4864:                                             ; preds = %4858
  %4865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4866 = call i32 @fileno(ptr noundef %4865) #12
  %4867 = call i32 @isatty(i32 noundef %4866) #12
  %.not853 = icmp eq i32 %4867, 0
  br i1 %.not853, label %4868, label %4869

4868:                                             ; preds = %4864, %4858
  br label %4869

4869:                                             ; preds = %4864, %4868
  %.str.81.sink2555 = phi ptr [ @.str.81, %4868 ], [ @.str.78, %4864 ]
  store i32 %4859, ptr %468, align 4, !tbaa !5
  %4870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4871 = load i32, ptr @test_count, align 4, !tbaa !5
  %4872 = load i32, ptr %414, align 4, !tbaa !5
  %4873 = call ptr @s2n_strerror(i32 noundef %4872, ptr noundef nonnull @.str.80) #12
  %4874 = load i32, ptr %414, align 4, !tbaa !5
  %4875 = call ptr @s2n_strerror_debug(i32 noundef %4874, ptr noundef nonnull @.str.80) #12
  %4876 = load i32, ptr %468, align 4, !tbaa !5
  %4877 = call ptr @strerror(i32 noundef %4876) #12
  %4878 = load i32, ptr %468, align 4, !tbaa !5
  %4879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4870, ptr noundef nonnull %.str.81.sink2555, i32 noundef %4871, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.77, i32 noundef 438, ptr noundef %4873, ptr noundef %4875, ptr noundef %4877, i32 noundef %4878) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4880:                                             ; preds = %4853
  %4881 = load i32, ptr @test_count, align 4, !tbaa !5
  %4882 = add nsw i32 %4881, 1
  store i32 %4882, ptr @test_count, align 4, !tbaa !5
  %4883 = load ptr, ptr %4340, align 8, !tbaa !57
  %4884 = load ptr, ptr %46, align 8, !tbaa !9
  %4885 = icmp eq ptr %4883, %4884
  br i1 %4885, label %4908, label %4886

4886:                                             ; preds = %4880
  %4887 = load i32, ptr %468, align 4, !tbaa !5
  %4888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4889 = call i32 @s2n_print_stacktrace(ptr noundef %4888) #12
  %4890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4891 = trunc nuw i8 %4890 to i1
  br i1 %4891, label %4892, label %4896

4892:                                             ; preds = %4886
  %4893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4894 = call i32 @fileno(ptr noundef %4893) #12
  %4895 = call i32 @isatty(i32 noundef %4894) #12
  %.not769 = icmp eq i32 %4895, 0
  br i1 %.not769, label %4896, label %4897

4896:                                             ; preds = %4892, %4886
  br label %4897

4897:                                             ; preds = %4892, %4896
  %.str.81.sink2564 = phi ptr [ @.str.81, %4896 ], [ @.str.78, %4892 ]
  store i32 %4887, ptr %468, align 4, !tbaa !5
  %4898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4899 = load i32, ptr @test_count, align 4, !tbaa !5
  %4900 = load i32, ptr %414, align 4, !tbaa !5
  %4901 = call ptr @s2n_strerror(i32 noundef %4900, ptr noundef nonnull @.str.80) #12
  %4902 = load i32, ptr %414, align 4, !tbaa !5
  %4903 = call ptr @s2n_strerror_debug(i32 noundef %4902, ptr noundef nonnull @.str.80) #12
  %4904 = load i32, ptr %468, align 4, !tbaa !5
  %4905 = call ptr @strerror(i32 noundef %4904) #12
  %4906 = load i32, ptr %468, align 4, !tbaa !5
  %4907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4898, ptr noundef nonnull %.str.81.sink2564, i32 noundef %4899, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.77, i32 noundef 439, ptr noundef %4901, ptr noundef %4903, ptr noundef %4905, i32 noundef %4906) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4908:                                             ; preds = %4880
  %4909 = add nsw i32 %4881, 2
  store i32 %4909, ptr @test_count, align 4, !tbaa !5
  %4910 = load i16, ptr %4693, align 2, !tbaa !58
  %4911 = icmp eq i16 %4910, 5
  br i1 %4911, label %4934, label %4912

4912:                                             ; preds = %4908
  %4913 = load i32, ptr %468, align 4, !tbaa !5
  %4914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4915 = call i32 @s2n_print_stacktrace(ptr noundef %4914) #12
  %4916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4917 = trunc nuw i8 %4916 to i1
  br i1 %4917, label %4918, label %4922

4918:                                             ; preds = %4912
  %4919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4920 = call i32 @fileno(ptr noundef %4919) #12
  %4921 = call i32 @isatty(i32 noundef %4920) #12
  %.not770 = icmp eq i32 %4921, 0
  br i1 %.not770, label %4922, label %4923

4922:                                             ; preds = %4918, %4912
  br label %4923

4923:                                             ; preds = %4918, %4922
  %.str.81.sink2573 = phi ptr [ @.str.81, %4922 ], [ @.str.78, %4918 ]
  store i32 %4913, ptr %468, align 4, !tbaa !5
  %4924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4925 = load i32, ptr @test_count, align 4, !tbaa !5
  %4926 = load i32, ptr %414, align 4, !tbaa !5
  %4927 = call ptr @s2n_strerror(i32 noundef %4926, ptr noundef nonnull @.str.80) #12
  %4928 = load i32, ptr %414, align 4, !tbaa !5
  %4929 = call ptr @s2n_strerror_debug(i32 noundef %4928, ptr noundef nonnull @.str.80) #12
  %4930 = load i32, ptr %468, align 4, !tbaa !5
  %4931 = call ptr @strerror(i32 noundef %4930) #12
  %4932 = load i32, ptr %468, align 4, !tbaa !5
  %4933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4924, ptr noundef nonnull %.str.81.sink2573, i32 noundef %4925, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.77, i32 noundef 440, ptr noundef %4927, ptr noundef %4929, ptr noundef %4931, i32 noundef %4932) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4934:                                             ; preds = %4908
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #12
  %4935 = add nsw i32 %4881, 3
  store i32 %4935, ptr @test_count, align 4, !tbaa !5
  %4936 = call i32 @s2n_connection_free(ptr noundef nonnull %4120) #12
  %4937 = icmp eq i32 %4936, -1
  br i1 %4937, label %4938, label %4960

4938:                                             ; preds = %4934
  %4939 = load i32, ptr %468, align 4, !tbaa !5
  %4940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4941 = call i32 @s2n_print_stacktrace(ptr noundef %4940) #12
  %4942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4943 = trunc nuw i8 %4942 to i1
  br i1 %4943, label %4944, label %4948

4944:                                             ; preds = %4938
  %4945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4946 = call i32 @fileno(ptr noundef %4945) #12
  %4947 = call i32 @isatty(i32 noundef %4946) #12
  %.not852 = icmp eq i32 %4947, 0
  br i1 %.not852, label %4948, label %4949

4948:                                             ; preds = %4944, %4938
  br label %4949

4949:                                             ; preds = %4944, %4948
  %.str.81.sink2582 = phi ptr [ @.str.81, %4948 ], [ @.str.78, %4944 ]
  store i32 %4939, ptr %468, align 4, !tbaa !5
  %4950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4951 = load i32, ptr @test_count, align 4, !tbaa !5
  %4952 = load i32, ptr %414, align 4, !tbaa !5
  %4953 = call ptr @s2n_strerror(i32 noundef %4952, ptr noundef nonnull @.str.80) #12
  %4954 = load i32, ptr %414, align 4, !tbaa !5
  %4955 = call ptr @s2n_strerror_debug(i32 noundef %4954, ptr noundef nonnull @.str.80) #12
  %4956 = load i32, ptr %468, align 4, !tbaa !5
  %4957 = call ptr @strerror(i32 noundef %4956) #12
  %4958 = load i32, ptr %468, align 4, !tbaa !5
  %4959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4950, ptr noundef nonnull %.str.81.sink2582, i32 noundef %4951, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.77, i32 noundef 443, ptr noundef %4953, ptr noundef %4955, ptr noundef %4957, i32 noundef %4958) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4960:                                             ; preds = %4934
  %4961 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %4962 = load i32, ptr @test_count, align 4, !tbaa !5
  %4963 = add nsw i32 %4962, 1
  store i32 %4963, ptr @test_count, align 4, !tbaa !5
  %4964 = icmp eq ptr %4961, null
  br i1 %4964, label %4965, label %4987

4965:                                             ; preds = %4960
  %4966 = load i32, ptr %468, align 4, !tbaa !5
  %4967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4968 = call i32 @s2n_print_stacktrace(ptr noundef %4967) #12
  %4969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4970 = trunc nuw i8 %4969 to i1
  br i1 %4970, label %4971, label %4975

4971:                                             ; preds = %4965
  %4972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4973 = call i32 @fileno(ptr noundef %4972) #12
  %4974 = call i32 @isatty(i32 noundef %4973) #12
  %.not851 = icmp eq i32 %4974, 0
  br i1 %.not851, label %4975, label %4976

4975:                                             ; preds = %4971, %4965
  br label %4976

4976:                                             ; preds = %4971, %4975
  %.str.81.sink2591 = phi ptr [ @.str.81, %4975 ], [ @.str.78, %4971 ]
  store i32 %4966, ptr %468, align 4, !tbaa !5
  %4977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4978 = load i32, ptr @test_count, align 4, !tbaa !5
  %4979 = load i32, ptr %414, align 4, !tbaa !5
  %4980 = call ptr @s2n_strerror(i32 noundef %4979, ptr noundef nonnull @.str.80) #12
  %4981 = load i32, ptr %414, align 4, !tbaa !5
  %4982 = call ptr @s2n_strerror_debug(i32 noundef %4981, ptr noundef nonnull @.str.80) #12
  %4983 = load i32, ptr %468, align 4, !tbaa !5
  %4984 = call ptr @strerror(i32 noundef %4983) #12
  %4985 = load i32, ptr %468, align 4, !tbaa !5
  %4986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4977, ptr noundef nonnull %.str.81.sink2591, i32 noundef %4978, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.77, i32 noundef 448, ptr noundef %4980, ptr noundef %4982, ptr noundef %4984, i32 noundef %4985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4987:                                             ; preds = %4960
  %4988 = call ptr @s2n_config_new() #12
  %4989 = load i32, ptr @test_count, align 4, !tbaa !5
  %4990 = add nsw i32 %4989, 1
  store i32 %4990, ptr @test_count, align 4, !tbaa !5
  %4991 = icmp eq ptr %4988, null
  br i1 %4991, label %4992, label %5014

4992:                                             ; preds = %4987
  %4993 = load i32, ptr %468, align 4, !tbaa !5
  %4994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4995 = call i32 @s2n_print_stacktrace(ptr noundef %4994) #12
  %4996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4997 = trunc nuw i8 %4996 to i1
  br i1 %4997, label %4998, label %5002

4998:                                             ; preds = %4992
  %4999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5000 = call i32 @fileno(ptr noundef %4999) #12
  %5001 = call i32 @isatty(i32 noundef %5000) #12
  %.not850 = icmp eq i32 %5001, 0
  br i1 %.not850, label %5002, label %5003

5002:                                             ; preds = %4998, %4992
  br label %5003

5003:                                             ; preds = %4998, %5002
  %.str.81.sink2600 = phi ptr [ @.str.81, %5002 ], [ @.str.78, %4998 ]
  store i32 %4993, ptr %468, align 4, !tbaa !5
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = load i32, ptr @test_count, align 4, !tbaa !5
  %5006 = load i32, ptr %414, align 4, !tbaa !5
  %5007 = call ptr @s2n_strerror(i32 noundef %5006, ptr noundef nonnull @.str.80) #12
  %5008 = load i32, ptr %414, align 4, !tbaa !5
  %5009 = call ptr @s2n_strerror_debug(i32 noundef %5008, ptr noundef nonnull @.str.80) #12
  %5010 = load i32, ptr %468, align 4, !tbaa !5
  %5011 = call ptr @strerror(i32 noundef %5010) #12
  %5012 = load i32, ptr %468, align 4, !tbaa !5
  %5013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5004, ptr noundef nonnull %.str.81.sink2600, i32 noundef %5005, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.77, i32 noundef 451, ptr noundef %5007, ptr noundef %5009, ptr noundef %5011, i32 noundef %5012) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5014:                                             ; preds = %4987
  %5015 = add nsw i32 %4989, 2
  store i32 %5015, ptr @test_count, align 4, !tbaa !5
  %5016 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %4988) #12
  %5017 = call zeroext i1 @s2n_result_is_ok(i32 %5016)
  br i1 %5017, label %5040, label %5018

5018:                                             ; preds = %5014
  %5019 = load i32, ptr %468, align 4, !tbaa !5
  %5020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5021 = call i32 @s2n_print_stacktrace(ptr noundef %5020) #12
  %5022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5023 = trunc nuw i8 %5022 to i1
  br i1 %5023, label %5024, label %5028

5024:                                             ; preds = %5018
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = call i32 @fileno(ptr noundef %5025) #12
  %5027 = call i32 @isatty(i32 noundef %5026) #12
  %.not771 = icmp eq i32 %5027, 0
  br i1 %.not771, label %5028, label %5029

5028:                                             ; preds = %5024, %5018
  br label %5029

5029:                                             ; preds = %5024, %5028
  %.str.81.sink2609 = phi ptr [ @.str.81, %5028 ], [ @.str.78, %5024 ]
  store i32 %5019, ptr %468, align 4, !tbaa !5
  %5030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5031 = load i32, ptr @test_count, align 4, !tbaa !5
  %5032 = load i32, ptr %414, align 4, !tbaa !5
  %5033 = call ptr @s2n_strerror(i32 noundef %5032, ptr noundef nonnull @.str.80) #12
  %5034 = load i32, ptr %414, align 4, !tbaa !5
  %5035 = call ptr @s2n_strerror_debug(i32 noundef %5034, ptr noundef nonnull @.str.80) #12
  %5036 = load i32, ptr %468, align 4, !tbaa !5
  %5037 = call ptr @strerror(i32 noundef %5036) #12
  %5038 = load i32, ptr %468, align 4, !tbaa !5
  %5039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5030, ptr noundef nonnull %.str.81.sink2609, i32 noundef %5031, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.77, i32 noundef 452, ptr noundef %5033, ptr noundef %5035, ptr noundef %5037, i32 noundef %5038) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5040:                                             ; preds = %5014
  %5041 = load i32, ptr @test_count, align 4, !tbaa !5
  %5042 = add nsw i32 %5041, 1
  store i32 %5042, ptr @test_count, align 4, !tbaa !5
  %5043 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4961, ptr noundef nonnull %4988) #12
  %5044 = icmp eq i32 %5043, -1
  br i1 %5044, label %5045, label %5067

5045:                                             ; preds = %5040
  %5046 = load i32, ptr %468, align 4, !tbaa !5
  %5047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5048 = call i32 @s2n_print_stacktrace(ptr noundef %5047) #12
  %5049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5050 = trunc nuw i8 %5049 to i1
  br i1 %5050, label %5051, label %5055

5051:                                             ; preds = %5045
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = call i32 @fileno(ptr noundef %5052) #12
  %5054 = call i32 @isatty(i32 noundef %5053) #12
  %.not849 = icmp eq i32 %5054, 0
  br i1 %.not849, label %5055, label %5056

5055:                                             ; preds = %5051, %5045
  br label %5056

5056:                                             ; preds = %5051, %5055
  %.str.81.sink2618 = phi ptr [ @.str.81, %5055 ], [ @.str.78, %5051 ]
  store i32 %5046, ptr %468, align 4, !tbaa !5
  %5057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5058 = load i32, ptr @test_count, align 4, !tbaa !5
  %5059 = load i32, ptr %414, align 4, !tbaa !5
  %5060 = call ptr @s2n_strerror(i32 noundef %5059, ptr noundef nonnull @.str.80) #12
  %5061 = load i32, ptr %414, align 4, !tbaa !5
  %5062 = call ptr @s2n_strerror_debug(i32 noundef %5061, ptr noundef nonnull @.str.80) #12
  %5063 = load i32, ptr %468, align 4, !tbaa !5
  %5064 = call ptr @strerror(i32 noundef %5063) #12
  %5065 = load i32, ptr %468, align 4, !tbaa !5
  %5066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5057, ptr noundef nonnull %.str.81.sink2618, i32 noundef %5058, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.77, i32 noundef 453, ptr noundef %5060, ptr noundef %5062, ptr noundef %5064, i32 noundef %5065) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5067:                                             ; preds = %5040
  %5068 = getelementptr inbounds i8, ptr %4961, i64 1688
  store i32 0, ptr %5068, align 8, !tbaa !23
  %5069 = getelementptr inbounds i8, ptr %4961, i64 220
  store i8 34, ptr %5069, align 4, !tbaa !59
  %5070 = getelementptr inbounds i8, ptr %4961, i64 232
  %5071 = load ptr, ptr %5070, align 8, !tbaa !60
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5071, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %48) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %48, i8 0, i64 40, i1 false)
  %5072 = load i32, ptr @test_count, align 4, !tbaa !5
  %5073 = add nsw i32 %5072, 1
  store i32 %5073, ptr @test_count, align 4, !tbaa !5
  %5074 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %48, i32 noundef 0) #12
  %5075 = icmp eq i32 %5074, -1
  br i1 %5075, label %5076, label %5098

5076:                                             ; preds = %5067
  %5077 = load i32, ptr %468, align 4, !tbaa !5
  %5078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5079 = call i32 @s2n_print_stacktrace(ptr noundef %5078) #12
  %5080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5081 = trunc nuw i8 %5080 to i1
  br i1 %5081, label %5082, label %5086

5082:                                             ; preds = %5076
  %5083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5084 = call i32 @fileno(ptr noundef %5083) #12
  %5085 = call i32 @isatty(i32 noundef %5084) #12
  %.not848 = icmp eq i32 %5085, 0
  br i1 %.not848, label %5086, label %5087

5086:                                             ; preds = %5082, %5076
  br label %5087

5087:                                             ; preds = %5082, %5086
  %.str.81.sink2627 = phi ptr [ @.str.81, %5086 ], [ @.str.78, %5082 ]
  store i32 %5077, ptr %468, align 4, !tbaa !5
  %5088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5089 = load i32, ptr @test_count, align 4, !tbaa !5
  %5090 = load i32, ptr %414, align 4, !tbaa !5
  %5091 = call ptr @s2n_strerror(i32 noundef %5090, ptr noundef nonnull @.str.80) #12
  %5092 = load i32, ptr %414, align 4, !tbaa !5
  %5093 = call ptr @s2n_strerror_debug(i32 noundef %5092, ptr noundef nonnull @.str.80) #12
  %5094 = load i32, ptr %468, align 4, !tbaa !5
  %5095 = call ptr @strerror(i32 noundef %5094) #12
  %5096 = load i32, ptr %468, align 4, !tbaa !5
  %5097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5088, ptr noundef nonnull %.str.81.sink2627, i32 noundef %5089, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.77, i32 noundef 460, ptr noundef %5091, ptr noundef %5093, ptr noundef %5095, i32 noundef %5096) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5098:                                             ; preds = %5067
  %5099 = load i32, ptr @test_count, align 4, !tbaa !5
  %5100 = add nsw i32 %5099, 1
  store i32 %5100, ptr @test_count, align 4, !tbaa !5
  %5101 = call i32 @s2n_setup_encrypted_ticket(ptr noundef nonnull %4961, ptr noundef nonnull %48)
  %5102 = call zeroext i1 @s2n_result_is_ok(i32 %5101)
  br i1 %5102, label %5125, label %5103

5103:                                             ; preds = %5098
  %5104 = load i32, ptr %468, align 4, !tbaa !5
  %5105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5106 = call i32 @s2n_print_stacktrace(ptr noundef %5105) #12
  %5107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5108 = trunc nuw i8 %5107 to i1
  br i1 %5108, label %5109, label %5113

5109:                                             ; preds = %5103
  %5110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5111 = call i32 @fileno(ptr noundef %5110) #12
  %5112 = call i32 @isatty(i32 noundef %5111) #12
  %.not772 = icmp eq i32 %5112, 0
  br i1 %.not772, label %5113, label %5114

5113:                                             ; preds = %5109, %5103
  br label %5114

5114:                                             ; preds = %5109, %5113
  %.str.81.sink2636 = phi ptr [ @.str.81, %5113 ], [ @.str.78, %5109 ]
  store i32 %5104, ptr %468, align 4, !tbaa !5
  %5115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5116 = load i32, ptr @test_count, align 4, !tbaa !5
  %5117 = load i32, ptr %414, align 4, !tbaa !5
  %5118 = call ptr @s2n_strerror(i32 noundef %5117, ptr noundef nonnull @.str.80) #12
  %5119 = load i32, ptr %414, align 4, !tbaa !5
  %5120 = call ptr @s2n_strerror_debug(i32 noundef %5119, ptr noundef nonnull @.str.80) #12
  %5121 = load i32, ptr %468, align 4, !tbaa !5
  %5122 = call ptr @strerror(i32 noundef %5121) #12
  %5123 = load i32, ptr %468, align 4, !tbaa !5
  %5124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5115, ptr noundef nonnull %.str.81.sink2636, i32 noundef %5116, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.77, i32 noundef 461, ptr noundef %5118, ptr noundef %5120, ptr noundef %5122, i32 noundef %5123) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5125:                                             ; preds = %5098
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %49) #12
  %5126 = getelementptr inbounds i8, ptr %49, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %5126, i8 0, i64 48, i1 false)
  store ptr %4961, ptr %49, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %50) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %50, i8 0, i64 40, i1 false)
  %5127 = load i32, ptr @test_count, align 4, !tbaa !5
  %5128 = add nsw i32 %5127, 1
  store i32 %5128, ptr @test_count, align 4, !tbaa !5
  %5129 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %50, i32 noundef 0) #12
  %5130 = icmp eq i32 %5129, -1
  br i1 %5130, label %5131, label %5153

5131:                                             ; preds = %5125
  %5132 = load i32, ptr %468, align 4, !tbaa !5
  %5133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5134 = call i32 @s2n_print_stacktrace(ptr noundef %5133) #12
  %5135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5136 = trunc nuw i8 %5135 to i1
  br i1 %5136, label %5137, label %5141

5137:                                             ; preds = %5131
  %5138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5139 = call i32 @fileno(ptr noundef %5138) #12
  %5140 = call i32 @isatty(i32 noundef %5139) #12
  %.not847 = icmp eq i32 %5140, 0
  br i1 %.not847, label %5141, label %5142

5141:                                             ; preds = %5137, %5131
  br label %5142

5142:                                             ; preds = %5137, %5141
  %.str.81.sink2645 = phi ptr [ @.str.81, %5141 ], [ @.str.78, %5137 ]
  store i32 %5132, ptr %468, align 4, !tbaa !5
  %5143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5144 = load i32, ptr @test_count, align 4, !tbaa !5
  %5145 = load i32, ptr %414, align 4, !tbaa !5
  %5146 = call ptr @s2n_strerror(i32 noundef %5145, ptr noundef nonnull @.str.80) #12
  %5147 = load i32, ptr %414, align 4, !tbaa !5
  %5148 = call ptr @s2n_strerror_debug(i32 noundef %5147, ptr noundef nonnull @.str.80) #12
  %5149 = load i32, ptr %468, align 4, !tbaa !5
  %5150 = call ptr @strerror(i32 noundef %5149) #12
  %5151 = load i32, ptr %468, align 4, !tbaa !5
  %5152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5143, ptr noundef nonnull %.str.81.sink2645, i32 noundef %5144, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.77, i32 noundef 466, ptr noundef %5146, ptr noundef %5148, ptr noundef %5150, i32 noundef %5151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5153:                                             ; preds = %5125
  %5154 = load i32, ptr @test_count, align 4, !tbaa !5
  %5155 = add nsw i32 %5154, 1
  store i32 %5155, ptr @test_count, align 4, !tbaa !5
  %5156 = load ptr, ptr %48, align 8, !tbaa !66
  %5157 = getelementptr inbounds i8, ptr %48, i64 8
  %5158 = load i32, ptr %5157, align 8, !tbaa !67
  %5159 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %50, ptr noundef %5156, i32 noundef %5158) #12
  %5160 = icmp eq i32 %5159, -1
  br i1 %5160, label %5161, label %5183

5161:                                             ; preds = %5153
  %5162 = load i32, ptr %468, align 4, !tbaa !5
  %5163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5164 = call i32 @s2n_print_stacktrace(ptr noundef %5163) #12
  %5165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5166 = trunc nuw i8 %5165 to i1
  br i1 %5166, label %5167, label %5171

5167:                                             ; preds = %5161
  %5168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5169 = call i32 @fileno(ptr noundef %5168) #12
  %5170 = call i32 @isatty(i32 noundef %5169) #12
  %.not846 = icmp eq i32 %5170, 0
  br i1 %.not846, label %5171, label %5172

5171:                                             ; preds = %5167, %5161
  br label %5172

5172:                                             ; preds = %5167, %5171
  %.str.81.sink2654 = phi ptr [ @.str.81, %5171 ], [ @.str.78, %5167 ]
  store i32 %5162, ptr %468, align 4, !tbaa !5
  %5173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5174 = load i32, ptr @test_count, align 4, !tbaa !5
  %5175 = load i32, ptr %414, align 4, !tbaa !5
  %5176 = call ptr @s2n_strerror(i32 noundef %5175, ptr noundef nonnull @.str.80) #12
  %5177 = load i32, ptr %414, align 4, !tbaa !5
  %5178 = call ptr @s2n_strerror_debug(i32 noundef %5177, ptr noundef nonnull @.str.80) #12
  %5179 = load i32, ptr %468, align 4, !tbaa !5
  %5180 = call ptr @strerror(i32 noundef %5179) #12
  %5181 = load i32, ptr %468, align 4, !tbaa !5
  %5182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5173, ptr noundef nonnull %.str.81.sink2654, i32 noundef %5174, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.77, i32 noundef 467, ptr noundef %5176, ptr noundef %5178, ptr noundef %5180, i32 noundef %5181) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5183:                                             ; preds = %5153
  %5184 = getelementptr inbounds i8, ptr %48, i64 28
  %5185 = load i32, ptr %5184, align 4, !tbaa !68
  %5186 = getelementptr inbounds i8, ptr %48, i64 24
  %5187 = load i32, ptr %5186, align 8, !tbaa !69
  %5188 = sub i32 %5185, %5187
  %5189 = getelementptr inbounds i8, ptr %50, i64 8
  store i32 %5188, ptr %5189, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(24) %50, i64 24, i1 false), !tbaa.struct !54
  %5190 = getelementptr inbounds i8, ptr %51, i64 24
  store i16 5, ptr %5190, align 8, !tbaa !56
  %5191 = getelementptr inbounds i8, ptr %51, i64 28
  store i32 0, ptr %5191, align 4, !tbaa !47
  %5192 = load i32, ptr @test_count, align 4, !tbaa !5
  %5193 = add nsw i32 %5192, 1
  store i32 %5193, ptr @test_count, align 4, !tbaa !5
  %5194 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %49, ptr noundef nonnull %51)
  %5195 = icmp eq i32 %5194, -1
  br i1 %5195, label %5196, label %5218

5196:                                             ; preds = %5183
  %5197 = load i32, ptr %468, align 4, !tbaa !5
  %5198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5199 = call i32 @s2n_print_stacktrace(ptr noundef %5198) #12
  %5200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5201 = trunc nuw i8 %5200 to i1
  br i1 %5201, label %5202, label %5206

5202:                                             ; preds = %5196
  %5203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5204 = call i32 @fileno(ptr noundef %5203) #12
  %5205 = call i32 @isatty(i32 noundef %5204) #12
  %.not845 = icmp eq i32 %5205, 0
  br i1 %.not845, label %5206, label %5207

5206:                                             ; preds = %5202, %5196
  br label %5207

5207:                                             ; preds = %5202, %5206
  %.str.81.sink2663 = phi ptr [ @.str.81, %5206 ], [ @.str.78, %5202 ]
  store i32 %5197, ptr %468, align 4, !tbaa !5
  %5208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5209 = load i32, ptr @test_count, align 4, !tbaa !5
  %5210 = load i32, ptr %414, align 4, !tbaa !5
  %5211 = call ptr @s2n_strerror(i32 noundef %5210, ptr noundef nonnull @.str.80) #12
  %5212 = load i32, ptr %414, align 4, !tbaa !5
  %5213 = call ptr @s2n_strerror_debug(i32 noundef %5212, ptr noundef nonnull @.str.80) #12
  %5214 = load i32, ptr %468, align 4, !tbaa !5
  %5215 = call ptr @strerror(i32 noundef %5214) #12
  %5216 = load i32, ptr %468, align 4, !tbaa !5
  %5217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5208, ptr noundef nonnull %.str.81.sink2663, i32 noundef %5209, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.77, i32 noundef 472, ptr noundef %5211, ptr noundef %5213, ptr noundef %5215, i32 noundef %5216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5218:                                             ; preds = %5183
  %5219 = load i32, ptr @test_count, align 4, !tbaa !5
  %5220 = add nsw i32 %5219, 1
  store i32 %5220, ptr @test_count, align 4, !tbaa !5
  %5221 = getelementptr inbounds i8, ptr %4961, i64 1730
  %5222 = load i16, ptr %5221, align 2, !tbaa !58
  %5223 = icmp eq i16 %5222, 5
  br i1 %5223, label %5246, label %5224

5224:                                             ; preds = %5218
  %5225 = load i32, ptr %468, align 4, !tbaa !5
  %5226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5227 = call i32 @s2n_print_stacktrace(ptr noundef %5226) #12
  %5228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5229 = trunc nuw i8 %5228 to i1
  br i1 %5229, label %5230, label %5234

5230:                                             ; preds = %5224
  %5231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5232 = call i32 @fileno(ptr noundef %5231) #12
  %5233 = call i32 @isatty(i32 noundef %5232) #12
  %.not773 = icmp eq i32 %5233, 0
  br i1 %.not773, label %5234, label %5235

5234:                                             ; preds = %5230, %5224
  br label %5235

5235:                                             ; preds = %5230, %5234
  %.str.81.sink2672 = phi ptr [ @.str.81, %5234 ], [ @.str.78, %5230 ]
  store i32 %5225, ptr %468, align 4, !tbaa !5
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %5238 = load i32, ptr %414, align 4, !tbaa !5
  %5239 = call ptr @s2n_strerror(i32 noundef %5238, ptr noundef nonnull @.str.80) #12
  %5240 = load i32, ptr %414, align 4, !tbaa !5
  %5241 = call ptr @s2n_strerror_debug(i32 noundef %5240, ptr noundef nonnull @.str.80) #12
  %5242 = load i32, ptr %468, align 4, !tbaa !5
  %5243 = call ptr @strerror(i32 noundef %5242) #12
  %5244 = load i32, ptr %468, align 4, !tbaa !5
  %5245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5236, ptr noundef nonnull %.str.81.sink2672, i32 noundef %5237, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.77, i32 noundef 474, ptr noundef %5239, ptr noundef %5241, ptr noundef %5243, i32 noundef %5244) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5246:                                             ; preds = %5218
  %5247 = add nsw i32 %5219, 2
  store i32 %5247, ptr @test_count, align 4, !tbaa !5
  %5248 = getelementptr inbounds i8, ptr %4961, i64 1736
  %5249 = load ptr, ptr %5248, align 8, !tbaa !57
  %5250 = icmp eq ptr %5249, null
  br i1 %5250, label %5251, label %5273

5251:                                             ; preds = %5246
  %5252 = load i32, ptr %468, align 4, !tbaa !5
  %5253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5254 = call i32 @s2n_print_stacktrace(ptr noundef %5253) #12
  %5255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5256 = trunc nuw i8 %5255 to i1
  br i1 %5256, label %5257, label %5261

5257:                                             ; preds = %5251
  %5258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5259 = call i32 @fileno(ptr noundef %5258) #12
  %5260 = call i32 @isatty(i32 noundef %5259) #12
  %.not844 = icmp eq i32 %5260, 0
  br i1 %.not844, label %5261, label %5262

5261:                                             ; preds = %5257, %5251
  br label %5262

5262:                                             ; preds = %5257, %5261
  %.str.81.sink2681 = phi ptr [ @.str.81, %5261 ], [ @.str.78, %5257 ]
  store i32 %5252, ptr %468, align 4, !tbaa !5
  %5263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5264 = load i32, ptr @test_count, align 4, !tbaa !5
  %5265 = load i32, ptr %414, align 4, !tbaa !5
  %5266 = call ptr @s2n_strerror(i32 noundef %5265, ptr noundef nonnull @.str.80) #12
  %5267 = load i32, ptr %414, align 4, !tbaa !5
  %5268 = call ptr @s2n_strerror_debug(i32 noundef %5267, ptr noundef nonnull @.str.80) #12
  %5269 = load i32, ptr %468, align 4, !tbaa !5
  %5270 = call ptr @strerror(i32 noundef %5269) #12
  %5271 = load i32, ptr %468, align 4, !tbaa !5
  %5272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5263, ptr noundef nonnull %.str.81.sink2681, i32 noundef %5264, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.77, i32 noundef 475, ptr noundef %5266, ptr noundef %5268, ptr noundef %5270, i32 noundef %5271) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5273:                                             ; preds = %5246
  %5274 = add nsw i32 %5219, 3
  store i32 %5274, ptr @test_count, align 4, !tbaa !5
  %5275 = getelementptr inbounds i8, ptr %5249, i64 56
  %5276 = load i32, ptr %5275, align 8, !tbaa !70
  %5277 = load i32, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_128_gcm_sha256, i64 96), align 8, !tbaa !73
  %5278 = icmp eq i32 %5276, %5277
  br i1 %5278, label %5301, label %5279

5279:                                             ; preds = %5273
  %5280 = load i32, ptr %468, align 4, !tbaa !5
  %5281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5282 = call i32 @s2n_print_stacktrace(ptr noundef %5281) #12
  %5283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5284 = trunc nuw i8 %5283 to i1
  br i1 %5284, label %5285, label %5289

5285:                                             ; preds = %5279
  %5286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5287 = call i32 @fileno(ptr noundef %5286) #12
  %5288 = call i32 @isatty(i32 noundef %5287) #12
  %.not774 = icmp eq i32 %5288, 0
  br i1 %.not774, label %5289, label %5290

5289:                                             ; preds = %5285, %5279
  br label %5290

5290:                                             ; preds = %5285, %5289
  %.str.81.sink2690 = phi ptr [ @.str.81, %5289 ], [ @.str.78, %5285 ]
  store i32 %5280, ptr %468, align 4, !tbaa !5
  %5291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5292 = load i32, ptr @test_count, align 4, !tbaa !5
  %5293 = load i32, ptr %414, align 4, !tbaa !5
  %5294 = call ptr @s2n_strerror(i32 noundef %5293, ptr noundef nonnull @.str.80) #12
  %5295 = load i32, ptr %414, align 4, !tbaa !5
  %5296 = call ptr @s2n_strerror_debug(i32 noundef %5295, ptr noundef nonnull @.str.80) #12
  %5297 = load i32, ptr %468, align 4, !tbaa !5
  %5298 = call ptr @strerror(i32 noundef %5297) #12
  %5299 = load i32, ptr %468, align 4, !tbaa !5
  %5300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5291, ptr noundef nonnull %.str.81.sink2690, i32 noundef %5292, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.77, i32 noundef 478, ptr noundef %5294, ptr noundef %5296, ptr noundef %5298, i32 noundef %5299) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5301:                                             ; preds = %5273
  %5302 = add nsw i32 %5219, 4
  store i32 %5302, ptr @test_count, align 4, !tbaa !5
  %5303 = call i32 @s2n_config_free(ptr noundef nonnull %4988) #12
  %5304 = icmp eq i32 %5303, -1
  br i1 %5304, label %5305, label %5327

5305:                                             ; preds = %5301
  %5306 = load i32, ptr %468, align 4, !tbaa !5
  %5307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5308 = call i32 @s2n_print_stacktrace(ptr noundef %5307) #12
  %5309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5310 = trunc nuw i8 %5309 to i1
  br i1 %5310, label %5311, label %5315

5311:                                             ; preds = %5305
  %5312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5313 = call i32 @fileno(ptr noundef %5312) #12
  %5314 = call i32 @isatty(i32 noundef %5313) #12
  %.not843 = icmp eq i32 %5314, 0
  br i1 %.not843, label %5315, label %5316

5315:                                             ; preds = %5311, %5305
  br label %5316

5316:                                             ; preds = %5311, %5315
  %.str.81.sink2699 = phi ptr [ @.str.81, %5315 ], [ @.str.78, %5311 ]
  store i32 %5306, ptr %468, align 4, !tbaa !5
  %5317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5318 = load i32, ptr @test_count, align 4, !tbaa !5
  %5319 = load i32, ptr %414, align 4, !tbaa !5
  %5320 = call ptr @s2n_strerror(i32 noundef %5319, ptr noundef nonnull @.str.80) #12
  %5321 = load i32, ptr %414, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror_debug(i32 noundef %5321, ptr noundef nonnull @.str.80) #12
  %5323 = load i32, ptr %468, align 4, !tbaa !5
  %5324 = call ptr @strerror(i32 noundef %5323) #12
  %5325 = load i32, ptr %468, align 4, !tbaa !5
  %5326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5317, ptr noundef nonnull %.str.81.sink2699, i32 noundef %5318, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.77, i32 noundef 480, ptr noundef %5320, ptr noundef %5322, ptr noundef %5324, i32 noundef %5325) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5327:                                             ; preds = %5301
  %5328 = load i32, ptr @test_count, align 4, !tbaa !5
  %5329 = add nsw i32 %5328, 1
  store i32 %5329, ptr @test_count, align 4, !tbaa !5
  %5330 = call i32 @s2n_connection_free(ptr noundef nonnull %4961) #12
  %5331 = icmp eq i32 %5330, -1
  br i1 %5331, label %5332, label %5354

5332:                                             ; preds = %5327
  %5333 = load i32, ptr %468, align 4, !tbaa !5
  %5334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5335 = call i32 @s2n_print_stacktrace(ptr noundef %5334) #12
  %5336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5337 = trunc nuw i8 %5336 to i1
  br i1 %5337, label %5338, label %5342

5338:                                             ; preds = %5332
  %5339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5340 = call i32 @fileno(ptr noundef %5339) #12
  %5341 = call i32 @isatty(i32 noundef %5340) #12
  %.not842 = icmp eq i32 %5341, 0
  br i1 %.not842, label %5342, label %5343

5342:                                             ; preds = %5338, %5332
  br label %5343

5343:                                             ; preds = %5338, %5342
  %.str.81.sink2708 = phi ptr [ @.str.81, %5342 ], [ @.str.78, %5338 ]
  store i32 %5333, ptr %468, align 4, !tbaa !5
  %5344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5345 = load i32, ptr @test_count, align 4, !tbaa !5
  %5346 = load i32, ptr %414, align 4, !tbaa !5
  %5347 = call ptr @s2n_strerror(i32 noundef %5346, ptr noundef nonnull @.str.80) #12
  %5348 = load i32, ptr %414, align 4, !tbaa !5
  %5349 = call ptr @s2n_strerror_debug(i32 noundef %5348, ptr noundef nonnull @.str.80) #12
  %5350 = load i32, ptr %468, align 4, !tbaa !5
  %5351 = call ptr @strerror(i32 noundef %5350) #12
  %5352 = load i32, ptr %468, align 4, !tbaa !5
  %5353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5344, ptr noundef nonnull %.str.81.sink2708, i32 noundef %5345, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.77, i32 noundef 481, ptr noundef %5347, ptr noundef %5349, ptr noundef %5351, i32 noundef %5352) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5354:                                             ; preds = %5327
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #12
  %5355 = call i32 @s2n_stuffer_free(ptr noundef nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %49) #12
  %5356 = call i32 @s2n_stuffer_free(ptr noundef nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %48) #12
  %5357 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %5358 = load i32, ptr @test_count, align 4, !tbaa !5
  %5359 = add nsw i32 %5358, 1
  store i32 %5359, ptr @test_count, align 4, !tbaa !5
  %5360 = icmp eq ptr %5357, null
  br i1 %5360, label %5361, label %5383

5361:                                             ; preds = %5354
  %5362 = load i32, ptr %468, align 4, !tbaa !5
  %5363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5364 = call i32 @s2n_print_stacktrace(ptr noundef %5363) #12
  %5365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5366 = trunc nuw i8 %5365 to i1
  br i1 %5366, label %5367, label %5371

5367:                                             ; preds = %5361
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = call i32 @fileno(ptr noundef %5368) #12
  %5370 = call i32 @isatty(i32 noundef %5369) #12
  %.not841 = icmp eq i32 %5370, 0
  br i1 %.not841, label %5371, label %5372

5371:                                             ; preds = %5367, %5361
  br label %5372

5372:                                             ; preds = %5367, %5371
  %.str.81.sink2717 = phi ptr [ @.str.81, %5371 ], [ @.str.78, %5367 ]
  store i32 %5362, ptr %468, align 4, !tbaa !5
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = load i32, ptr @test_count, align 4, !tbaa !5
  %5375 = load i32, ptr %414, align 4, !tbaa !5
  %5376 = call ptr @s2n_strerror(i32 noundef %5375, ptr noundef nonnull @.str.80) #12
  %5377 = load i32, ptr %414, align 4, !tbaa !5
  %5378 = call ptr @s2n_strerror_debug(i32 noundef %5377, ptr noundef nonnull @.str.80) #12
  %5379 = load i32, ptr %468, align 4, !tbaa !5
  %5380 = call ptr @strerror(i32 noundef %5379) #12
  %5381 = load i32, ptr %468, align 4, !tbaa !5
  %5382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5373, ptr noundef nonnull %.str.81.sink2717, i32 noundef %5374, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.77, i32 noundef 487, ptr noundef %5376, ptr noundef %5378, ptr noundef %5380, i32 noundef %5381) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5383:                                             ; preds = %5354
  %5384 = call ptr @s2n_config_new() #12
  %5385 = load i32, ptr @test_count, align 4, !tbaa !5
  %5386 = add nsw i32 %5385, 1
  store i32 %5386, ptr @test_count, align 4, !tbaa !5
  %5387 = icmp eq ptr %5384, null
  br i1 %5387, label %5388, label %5410

5388:                                             ; preds = %5383
  %5389 = load i32, ptr %468, align 4, !tbaa !5
  %5390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5391 = call i32 @s2n_print_stacktrace(ptr noundef %5390) #12
  %5392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5393 = trunc nuw i8 %5392 to i1
  br i1 %5393, label %5394, label %5398

5394:                                             ; preds = %5388
  %5395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5396 = call i32 @fileno(ptr noundef %5395) #12
  %5397 = call i32 @isatty(i32 noundef %5396) #12
  %.not840 = icmp eq i32 %5397, 0
  br i1 %.not840, label %5398, label %5399

5398:                                             ; preds = %5394, %5388
  br label %5399

5399:                                             ; preds = %5394, %5398
  %.str.81.sink2726 = phi ptr [ @.str.81, %5398 ], [ @.str.78, %5394 ]
  store i32 %5389, ptr %468, align 4, !tbaa !5
  %5400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5401 = load i32, ptr @test_count, align 4, !tbaa !5
  %5402 = load i32, ptr %414, align 4, !tbaa !5
  %5403 = call ptr @s2n_strerror(i32 noundef %5402, ptr noundef nonnull @.str.80) #12
  %5404 = load i32, ptr %414, align 4, !tbaa !5
  %5405 = call ptr @s2n_strerror_debug(i32 noundef %5404, ptr noundef nonnull @.str.80) #12
  %5406 = load i32, ptr %468, align 4, !tbaa !5
  %5407 = call ptr @strerror(i32 noundef %5406) #12
  %5408 = load i32, ptr %468, align 4, !tbaa !5
  %5409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5400, ptr noundef nonnull %.str.81.sink2726, i32 noundef %5401, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.77, i32 noundef 490, ptr noundef %5403, ptr noundef %5405, ptr noundef %5407, i32 noundef %5408) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5410:                                             ; preds = %5383
  %5411 = add nsw i32 %5385, 2
  store i32 %5411, ptr @test_count, align 4, !tbaa !5
  %5412 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %5384) #12
  %5413 = call zeroext i1 @s2n_result_is_ok(i32 %5412)
  br i1 %5413, label %5436, label %5414

5414:                                             ; preds = %5410
  %5415 = load i32, ptr %468, align 4, !tbaa !5
  %5416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5417 = call i32 @s2n_print_stacktrace(ptr noundef %5416) #12
  %5418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5419 = trunc nuw i8 %5418 to i1
  br i1 %5419, label %5420, label %5424

5420:                                             ; preds = %5414
  %5421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5422 = call i32 @fileno(ptr noundef %5421) #12
  %5423 = call i32 @isatty(i32 noundef %5422) #12
  %.not775 = icmp eq i32 %5423, 0
  br i1 %.not775, label %5424, label %5425

5424:                                             ; preds = %5420, %5414
  br label %5425

5425:                                             ; preds = %5420, %5424
  %.str.81.sink2735 = phi ptr [ @.str.81, %5424 ], [ @.str.78, %5420 ]
  store i32 %5415, ptr %468, align 4, !tbaa !5
  %5426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5427 = load i32, ptr @test_count, align 4, !tbaa !5
  %5428 = load i32, ptr %414, align 4, !tbaa !5
  %5429 = call ptr @s2n_strerror(i32 noundef %5428, ptr noundef nonnull @.str.80) #12
  %5430 = load i32, ptr %414, align 4, !tbaa !5
  %5431 = call ptr @s2n_strerror_debug(i32 noundef %5430, ptr noundef nonnull @.str.80) #12
  %5432 = load i32, ptr %468, align 4, !tbaa !5
  %5433 = call ptr @strerror(i32 noundef %5432) #12
  %5434 = load i32, ptr %468, align 4, !tbaa !5
  %5435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5426, ptr noundef nonnull %.str.81.sink2735, i32 noundef %5427, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.77, i32 noundef 491, ptr noundef %5429, ptr noundef %5431, ptr noundef %5433, i32 noundef %5434) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5436:                                             ; preds = %5410
  %5437 = load i32, ptr @test_count, align 4, !tbaa !5
  %5438 = add nsw i32 %5437, 1
  store i32 %5438, ptr @test_count, align 4, !tbaa !5
  %5439 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5357, ptr noundef nonnull %5384) #12
  %5440 = icmp eq i32 %5439, -1
  br i1 %5440, label %5441, label %5463

5441:                                             ; preds = %5436
  %5442 = load i32, ptr %468, align 4, !tbaa !5
  %5443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5444 = call i32 @s2n_print_stacktrace(ptr noundef %5443) #12
  %5445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5446 = trunc nuw i8 %5445 to i1
  br i1 %5446, label %5447, label %5451

5447:                                             ; preds = %5441
  %5448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5449 = call i32 @fileno(ptr noundef %5448) #12
  %5450 = call i32 @isatty(i32 noundef %5449) #12
  %.not839 = icmp eq i32 %5450, 0
  br i1 %.not839, label %5451, label %5452

5451:                                             ; preds = %5447, %5441
  br label %5452

5452:                                             ; preds = %5447, %5451
  %.str.81.sink2744 = phi ptr [ @.str.81, %5451 ], [ @.str.78, %5447 ]
  store i32 %5442, ptr %468, align 4, !tbaa !5
  %5453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5454 = load i32, ptr @test_count, align 4, !tbaa !5
  %5455 = load i32, ptr %414, align 4, !tbaa !5
  %5456 = call ptr @s2n_strerror(i32 noundef %5455, ptr noundef nonnull @.str.80) #12
  %5457 = load i32, ptr %414, align 4, !tbaa !5
  %5458 = call ptr @s2n_strerror_debug(i32 noundef %5457, ptr noundef nonnull @.str.80) #12
  %5459 = load i32, ptr %468, align 4, !tbaa !5
  %5460 = call ptr @strerror(i32 noundef %5459) #12
  %5461 = load i32, ptr %468, align 4, !tbaa !5
  %5462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5453, ptr noundef nonnull %.str.81.sink2744, i32 noundef %5454, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.77, i32 noundef 492, ptr noundef %5456, ptr noundef %5458, ptr noundef %5460, i32 noundef %5461) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5463:                                             ; preds = %5436
  %5464 = getelementptr inbounds i8, ptr %5357, i64 1688
  store i32 0, ptr %5464, align 8, !tbaa !23
  %5465 = getelementptr inbounds i8, ptr %5357, i64 220
  store i8 34, ptr %5465, align 4, !tbaa !59
  %5466 = getelementptr inbounds i8, ptr %5357, i64 232
  %5467 = load ptr, ptr %5466, align 8, !tbaa !60
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5467, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %52) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %52, i8 0, i64 40, i1 false)
  %5468 = load i32, ptr @test_count, align 4, !tbaa !5
  %5469 = add nsw i32 %5468, 1
  store i32 %5469, ptr @test_count, align 4, !tbaa !5
  %5470 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %52, i32 noundef 0) #12
  %5471 = icmp eq i32 %5470, -1
  br i1 %5471, label %5472, label %5494

5472:                                             ; preds = %5463
  %5473 = load i32, ptr %468, align 4, !tbaa !5
  %5474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5475 = call i32 @s2n_print_stacktrace(ptr noundef %5474) #12
  %5476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5477 = trunc nuw i8 %5476 to i1
  br i1 %5477, label %5478, label %5482

5478:                                             ; preds = %5472
  %5479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5480 = call i32 @fileno(ptr noundef %5479) #12
  %5481 = call i32 @isatty(i32 noundef %5480) #12
  %.not838 = icmp eq i32 %5481, 0
  br i1 %.not838, label %5482, label %5483

5482:                                             ; preds = %5478, %5472
  br label %5483

5483:                                             ; preds = %5478, %5482
  %.str.81.sink2753 = phi ptr [ @.str.81, %5482 ], [ @.str.78, %5478 ]
  store i32 %5473, ptr %468, align 4, !tbaa !5
  %5484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5485 = load i32, ptr @test_count, align 4, !tbaa !5
  %5486 = load i32, ptr %414, align 4, !tbaa !5
  %5487 = call ptr @s2n_strerror(i32 noundef %5486, ptr noundef nonnull @.str.80) #12
  %5488 = load i32, ptr %414, align 4, !tbaa !5
  %5489 = call ptr @s2n_strerror_debug(i32 noundef %5488, ptr noundef nonnull @.str.80) #12
  %5490 = load i32, ptr %468, align 4, !tbaa !5
  %5491 = call ptr @strerror(i32 noundef %5490) #12
  %5492 = load i32, ptr %468, align 4, !tbaa !5
  %5493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5484, ptr noundef nonnull %.str.81.sink2753, i32 noundef %5485, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.77, i32 noundef 499, ptr noundef %5487, ptr noundef %5489, ptr noundef %5491, i32 noundef %5492) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5494:                                             ; preds = %5463
  %5495 = load i32, ptr @test_count, align 4, !tbaa !5
  %5496 = add nsw i32 %5495, 1
  store i32 %5496, ptr @test_count, align 4, !tbaa !5
  %5497 = call i32 @s2n_setup_encrypted_ticket(ptr noundef nonnull %5357, ptr noundef nonnull %52)
  %5498 = call zeroext i1 @s2n_result_is_ok(i32 %5497)
  br i1 %5498, label %5521, label %5499

5499:                                             ; preds = %5494
  %5500 = load i32, ptr %468, align 4, !tbaa !5
  %5501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5502 = call i32 @s2n_print_stacktrace(ptr noundef %5501) #12
  %5503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5504 = trunc nuw i8 %5503 to i1
  br i1 %5504, label %5505, label %5509

5505:                                             ; preds = %5499
  %5506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5507 = call i32 @fileno(ptr noundef %5506) #12
  %5508 = call i32 @isatty(i32 noundef %5507) #12
  %.not776 = icmp eq i32 %5508, 0
  br i1 %.not776, label %5509, label %5510

5509:                                             ; preds = %5505, %5499
  br label %5510

5510:                                             ; preds = %5505, %5509
  %.str.81.sink2762 = phi ptr [ @.str.81, %5509 ], [ @.str.78, %5505 ]
  store i32 %5500, ptr %468, align 4, !tbaa !5
  %5511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5512 = load i32, ptr @test_count, align 4, !tbaa !5
  %5513 = load i32, ptr %414, align 4, !tbaa !5
  %5514 = call ptr @s2n_strerror(i32 noundef %5513, ptr noundef nonnull @.str.80) #12
  %5515 = load i32, ptr %414, align 4, !tbaa !5
  %5516 = call ptr @s2n_strerror_debug(i32 noundef %5515, ptr noundef nonnull @.str.80) #12
  %5517 = load i32, ptr %468, align 4, !tbaa !5
  %5518 = call ptr @strerror(i32 noundef %5517) #12
  %5519 = load i32, ptr %468, align 4, !tbaa !5
  %5520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5511, ptr noundef nonnull %.str.81.sink2762, i32 noundef %5512, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.77, i32 noundef 500, ptr noundef %5514, ptr noundef %5516, ptr noundef %5518, i32 noundef %5519) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5521:                                             ; preds = %5494
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %53) #12
  %5522 = getelementptr inbounds i8, ptr %53, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %5522, i8 0, i64 48, i1 false)
  store ptr %5357, ptr %53, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %54) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %54, i8 0, i64 40, i1 false)
  %5523 = load i32, ptr @test_count, align 4, !tbaa !5
  %5524 = add nsw i32 %5523, 1
  store i32 %5524, ptr @test_count, align 4, !tbaa !5
  %5525 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %54, i32 noundef 0) #12
  %5526 = icmp eq i32 %5525, -1
  br i1 %5526, label %5527, label %5549

5527:                                             ; preds = %5521
  %5528 = load i32, ptr %468, align 4, !tbaa !5
  %5529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5530 = call i32 @s2n_print_stacktrace(ptr noundef %5529) #12
  %5531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5532 = trunc nuw i8 %5531 to i1
  br i1 %5532, label %5533, label %5537

5533:                                             ; preds = %5527
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = call i32 @fileno(ptr noundef %5534) #12
  %5536 = call i32 @isatty(i32 noundef %5535) #12
  %.not837 = icmp eq i32 %5536, 0
  br i1 %.not837, label %5537, label %5538

5537:                                             ; preds = %5533, %5527
  br label %5538

5538:                                             ; preds = %5533, %5537
  %.str.81.sink2771 = phi ptr [ @.str.81, %5537 ], [ @.str.78, %5533 ]
  store i32 %5528, ptr %468, align 4, !tbaa !5
  %5539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5540 = load i32, ptr @test_count, align 4, !tbaa !5
  %5541 = load i32, ptr %414, align 4, !tbaa !5
  %5542 = call ptr @s2n_strerror(i32 noundef %5541, ptr noundef nonnull @.str.80) #12
  %5543 = load i32, ptr %414, align 4, !tbaa !5
  %5544 = call ptr @s2n_strerror_debug(i32 noundef %5543, ptr noundef nonnull @.str.80) #12
  %5545 = load i32, ptr %468, align 4, !tbaa !5
  %5546 = call ptr @strerror(i32 noundef %5545) #12
  %5547 = load i32, ptr %468, align 4, !tbaa !5
  %5548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5539, ptr noundef nonnull %.str.81.sink2771, i32 noundef %5540, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.77, i32 noundef 505, ptr noundef %5542, ptr noundef %5544, ptr noundef %5546, i32 noundef %5547) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5549:                                             ; preds = %5521
  %5550 = load i32, ptr @test_count, align 4, !tbaa !5
  %5551 = add nsw i32 %5550, 1
  store i32 %5551, ptr @test_count, align 4, !tbaa !5
  %5552 = load ptr, ptr %52, align 8, !tbaa !66
  %5553 = getelementptr inbounds i8, ptr %52, i64 8
  %5554 = load i32, ptr %5553, align 8, !tbaa !67
  %5555 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %54, ptr noundef %5552, i32 noundef %5554) #12
  %5556 = icmp eq i32 %5555, -1
  br i1 %5556, label %5557, label %5579

5557:                                             ; preds = %5549
  %5558 = load i32, ptr %468, align 4, !tbaa !5
  %5559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5560 = call i32 @s2n_print_stacktrace(ptr noundef %5559) #12
  %5561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5562 = trunc nuw i8 %5561 to i1
  br i1 %5562, label %5563, label %5567

5563:                                             ; preds = %5557
  %5564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5565 = call i32 @fileno(ptr noundef %5564) #12
  %5566 = call i32 @isatty(i32 noundef %5565) #12
  %.not836 = icmp eq i32 %5566, 0
  br i1 %.not836, label %5567, label %5568

5567:                                             ; preds = %5563, %5557
  br label %5568

5568:                                             ; preds = %5563, %5567
  %.str.81.sink2780 = phi ptr [ @.str.81, %5567 ], [ @.str.78, %5563 ]
  store i32 %5558, ptr %468, align 4, !tbaa !5
  %5569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5570 = load i32, ptr @test_count, align 4, !tbaa !5
  %5571 = load i32, ptr %414, align 4, !tbaa !5
  %5572 = call ptr @s2n_strerror(i32 noundef %5571, ptr noundef nonnull @.str.80) #12
  %5573 = load i32, ptr %414, align 4, !tbaa !5
  %5574 = call ptr @s2n_strerror_debug(i32 noundef %5573, ptr noundef nonnull @.str.80) #12
  %5575 = load i32, ptr %468, align 4, !tbaa !5
  %5576 = call ptr @strerror(i32 noundef %5575) #12
  %5577 = load i32, ptr %468, align 4, !tbaa !5
  %5578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5569, ptr noundef nonnull %.str.81.sink2780, i32 noundef %5570, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.77, i32 noundef 506, ptr noundef %5572, ptr noundef %5574, ptr noundef %5576, i32 noundef %5577) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5579:                                             ; preds = %5549
  %5580 = getelementptr inbounds i8, ptr %52, i64 28
  %5581 = load i32, ptr %5580, align 4, !tbaa !68
  %5582 = getelementptr inbounds i8, ptr %52, i64 24
  %5583 = load i32, ptr %5582, align 8, !tbaa !69
  %5584 = sub i32 %5581, %5583
  %5585 = getelementptr inbounds i8, ptr %54, i64 8
  store i32 %5584, ptr %5585, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr noundef nonnull align 8 dereferenceable(24) %52, i64 24, i1 false), !tbaa.struct !54
  %5586 = getelementptr inbounds i8, ptr %55, i64 24
  store i16 5, ptr %5586, align 8, !tbaa !56
  %5587 = getelementptr inbounds i8, ptr %55, i64 28
  store i32 100, ptr %5587, align 4, !tbaa !47
  %5588 = getelementptr inbounds i8, ptr %5357, i64 8
  %5589 = load ptr, ptr %5588, align 8, !tbaa !49
  %5590 = getelementptr inbounds i8, ptr %5589, i64 144
  store i64 0, ptr %5590, align 8, !tbaa !50
  %5591 = load i32, ptr @test_count, align 4, !tbaa !5
  %5592 = add nsw i32 %5591, 1
  store i32 %5592, ptr @test_count, align 4, !tbaa !5
  %5593 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %53, ptr noundef nonnull %55)
  %5594 = icmp eq i32 %5593, -1
  br i1 %5594, label %5617, label %5595

5595:                                             ; preds = %5579
  %5596 = load i32, ptr %468, 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
  %.not777 = icmp eq i32 %5604, 0
  br i1 %.not777, label %5605, label %5606

5605:                                             ; preds = %5601, %5595
  br label %5606

5606:                                             ; preds = %5601, %5605
  %.str.81.sink2789 = phi ptr [ @.str.81, %5605 ], [ @.str.78, %5601 ]
  store i32 %5596, ptr %468, 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 %414, align 4, !tbaa !5
  %5610 = call ptr @s2n_strerror(i32 noundef %5609, ptr noundef nonnull @.str.80) #12
  %5611 = load i32, ptr %414, align 4, !tbaa !5
  %5612 = call ptr @s2n_strerror_debug(i32 noundef %5611, ptr noundef nonnull @.str.80) #12
  %5613 = load i32, ptr %468, align 4, !tbaa !5
  %5614 = call ptr @strerror(i32 noundef %5613) #12
  %5615 = load i32, ptr %468, align 4, !tbaa !5
  %5616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5607, ptr noundef nonnull %.str.81.sink2789, i32 noundef %5608, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.77, i32 noundef 513, ptr noundef %5610, ptr noundef %5612, ptr noundef %5614, i32 noundef %5615) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5617:                                             ; preds = %5579
  %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 %414, align 4, !tbaa !5
  %5621 = icmp eq i32 %5620, 469762110
  br i1 %5621, label %5644, label %5622

5622:                                             ; preds = %5617
  %5623 = load i32, ptr %468, 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
  %.not778 = icmp eq i32 %5631, 0
  br i1 %.not778, label %5632, label %5633

5632:                                             ; preds = %5628, %5622
  br label %5633

5633:                                             ; preds = %5628, %5632
  %.str.81.sink2798 = phi ptr [ @.str.81, %5632 ], [ @.str.78, %5628 ]
  store i32 %5623, ptr %468, 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 %414, align 4, !tbaa !5
  %5637 = call ptr @s2n_strerror(i32 noundef %5636, ptr noundef nonnull @.str.80) #12
  %5638 = load i32, ptr %414, align 4, !tbaa !5
  %5639 = call ptr @s2n_strerror_debug(i32 noundef %5638, ptr noundef nonnull @.str.80) #12
  %5640 = load i32, ptr %468, align 4, !tbaa !5
  %5641 = call ptr @strerror(i32 noundef %5640) #12
  %5642 = load i32, ptr %468, align 4, !tbaa !5
  %5643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5634, ptr noundef nonnull %.str.81.sink2798, i32 noundef %5635, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.77, i32 noundef 513, 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 469762110, ptr noundef nonnull @.str.80) #12
  %5647 = icmp eq ptr %5646, null
  br i1 %5647, label %5648, label %5670

5648:                                             ; preds = %5644
  %5649 = load i32, ptr %468, 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
  %.not835 = icmp eq i32 %5657, 0
  br i1 %.not835, label %5658, label %5659

5658:                                             ; preds = %5654, %5648
  br label %5659

5659:                                             ; preds = %5654, %5658
  %.str.81.sink2807 = phi ptr [ @.str.81, %5658 ], [ @.str.78, %5654 ]
  store i32 %5649, ptr %468, 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 %414, align 4, !tbaa !5
  %5663 = call ptr @s2n_strerror(i32 noundef %5662, ptr noundef nonnull @.str.80) #12
  %5664 = load i32, ptr %414, align 4, !tbaa !5
  %5665 = call ptr @s2n_strerror_debug(i32 noundef %5664, ptr noundef nonnull @.str.80) #12
  %5666 = load i32, ptr %468, align 4, !tbaa !5
  %5667 = call ptr @strerror(i32 noundef %5666) #12
  %5668 = load i32, ptr %468, align 4, !tbaa !5
  %5669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5660, ptr noundef nonnull %.str.81.sink2807, i32 noundef %5661, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 513, 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 %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %5671 = load i32, ptr @test_count, align 4, !tbaa !5
  %5672 = add nsw i32 %5671, 1
  store i32 %5672, ptr @test_count, align 4, !tbaa !5
  %5673 = getelementptr inbounds i8, ptr %5357, i64 1730
  %5674 = load i16, ptr %5673, align 2, !tbaa !58
  %5675 = icmp eq i16 %5674, 0
  br i1 %5675, label %5698, label %5676

5676:                                             ; preds = %5670
  %5677 = load i32, ptr %468, align 4, !tbaa !5
  %5678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5679 = call i32 @s2n_print_stacktrace(ptr noundef %5678) #12
  %5680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5681 = trunc nuw i8 %5680 to i1
  br i1 %5681, label %5682, label %5686

5682:                                             ; preds = %5676
  %5683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5684 = call i32 @fileno(ptr noundef %5683) #12
  %5685 = call i32 @isatty(i32 noundef %5684) #12
  %.not779 = icmp eq i32 %5685, 0
  br i1 %.not779, label %5686, label %5687

5686:                                             ; preds = %5682, %5676
  br label %5687

5687:                                             ; preds = %5682, %5686
  %.str.81.sink2816 = phi ptr [ @.str.81, %5686 ], [ @.str.78, %5682 ]
  store i32 %5677, ptr %468, align 4, !tbaa !5
  %5688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5689 = load i32, ptr @test_count, align 4, !tbaa !5
  %5690 = load i32, ptr %414, align 4, !tbaa !5
  %5691 = call ptr @s2n_strerror(i32 noundef %5690, ptr noundef nonnull @.str.80) #12
  %5692 = load i32, ptr %414, align 4, !tbaa !5
  %5693 = call ptr @s2n_strerror_debug(i32 noundef %5692, ptr noundef nonnull @.str.80) #12
  %5694 = load i32, ptr %468, align 4, !tbaa !5
  %5695 = call ptr @strerror(i32 noundef %5694) #12
  %5696 = load i32, ptr %468, align 4, !tbaa !5
  %5697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5688, ptr noundef nonnull %.str.81.sink2816, i32 noundef %5689, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.77, i32 noundef 515, ptr noundef %5691, ptr noundef %5693, ptr noundef %5695, i32 noundef %5696) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5698:                                             ; preds = %5670
  %5699 = add nsw i32 %5671, 2
  store i32 %5699, ptr @test_count, align 4, !tbaa !5
  %5700 = getelementptr inbounds i8, ptr %5357, i64 1736
  %5701 = load ptr, ptr %5700, align 8, !tbaa !57
  %5702 = icmp eq ptr %5701, null
  br i1 %5702, label %5725, label %5703

5703:                                             ; preds = %5698
  %5704 = load i32, ptr %468, align 4, !tbaa !5
  %5705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5706 = call i32 @s2n_print_stacktrace(ptr noundef %5705) #12
  %5707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5708 = trunc nuw i8 %5707 to i1
  br i1 %5708, label %5709, label %5713

5709:                                             ; preds = %5703
  %5710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5711 = call i32 @fileno(ptr noundef %5710) #12
  %5712 = call i32 @isatty(i32 noundef %5711) #12
  %.not780 = icmp eq i32 %5712, 0
  br i1 %.not780, label %5713, label %5714

5713:                                             ; preds = %5709, %5703
  br label %5714

5714:                                             ; preds = %5709, %5713
  %.str.81.sink2825 = phi ptr [ @.str.81, %5713 ], [ @.str.78, %5709 ]
  store i32 %5704, ptr %468, align 4, !tbaa !5
  %5715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5716 = load i32, ptr @test_count, align 4, !tbaa !5
  %5717 = load i32, ptr %414, align 4, !tbaa !5
  %5718 = call ptr @s2n_strerror(i32 noundef %5717, ptr noundef nonnull @.str.80) #12
  %5719 = load i32, ptr %414, align 4, !tbaa !5
  %5720 = call ptr @s2n_strerror_debug(i32 noundef %5719, ptr noundef nonnull @.str.80) #12
  %5721 = load i32, ptr %468, align 4, !tbaa !5
  %5722 = call ptr @strerror(i32 noundef %5721) #12
  %5723 = load i32, ptr %468, align 4, !tbaa !5
  %5724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5715, ptr noundef nonnull %.str.81.sink2825, i32 noundef %5716, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.77, i32 noundef 516, ptr noundef %5718, ptr noundef %5720, ptr noundef %5722, i32 noundef %5723) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5725:                                             ; preds = %5698
  %5726 = add nsw i32 %5671, 3
  store i32 %5726, ptr @test_count, align 4, !tbaa !5
  %5727 = call i32 @s2n_config_free(ptr noundef nonnull %5384) #12
  %5728 = icmp eq i32 %5727, -1
  br i1 %5728, label %5729, label %5751

5729:                                             ; preds = %5725
  %5730 = load i32, ptr %468, align 4, !tbaa !5
  %5731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5732 = call i32 @s2n_print_stacktrace(ptr noundef %5731) #12
  %5733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5734 = trunc nuw i8 %5733 to i1
  br i1 %5734, label %5735, label %5739

5735:                                             ; preds = %5729
  %5736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5737 = call i32 @fileno(ptr noundef %5736) #12
  %5738 = call i32 @isatty(i32 noundef %5737) #12
  %.not834 = icmp eq i32 %5738, 0
  br i1 %.not834, label %5739, label %5740

5739:                                             ; preds = %5735, %5729
  br label %5740

5740:                                             ; preds = %5735, %5739
  %.str.81.sink2834 = phi ptr [ @.str.81, %5739 ], [ @.str.78, %5735 ]
  store i32 %5730, ptr %468, align 4, !tbaa !5
  %5741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5742 = load i32, ptr @test_count, align 4, !tbaa !5
  %5743 = load i32, ptr %414, align 4, !tbaa !5
  %5744 = call ptr @s2n_strerror(i32 noundef %5743, ptr noundef nonnull @.str.80) #12
  %5745 = load i32, ptr %414, align 4, !tbaa !5
  %5746 = call ptr @s2n_strerror_debug(i32 noundef %5745, ptr noundef nonnull @.str.80) #12
  %5747 = load i32, ptr %468, align 4, !tbaa !5
  %5748 = call ptr @strerror(i32 noundef %5747) #12
  %5749 = load i32, ptr %468, align 4, !tbaa !5
  %5750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5741, ptr noundef nonnull %.str.81.sink2834, i32 noundef %5742, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.77, i32 noundef 518, ptr noundef %5744, ptr noundef %5746, ptr noundef %5748, i32 noundef %5749) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5751:                                             ; preds = %5725
  %5752 = load i32, ptr @test_count, align 4, !tbaa !5
  %5753 = add nsw i32 %5752, 1
  store i32 %5753, ptr @test_count, align 4, !tbaa !5
  %5754 = call i32 @s2n_connection_free(ptr noundef nonnull %5357) #12
  %5755 = icmp eq i32 %5754, -1
  br i1 %5755, label %5756, label %5778

5756:                                             ; preds = %5751
  %5757 = load i32, ptr %468, align 4, !tbaa !5
  %5758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5759 = call i32 @s2n_print_stacktrace(ptr noundef %5758) #12
  %5760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5761 = trunc nuw i8 %5760 to i1
  br i1 %5761, label %5762, label %5766

5762:                                             ; preds = %5756
  %5763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5764 = call i32 @fileno(ptr noundef %5763) #12
  %5765 = call i32 @isatty(i32 noundef %5764) #12
  %.not833 = icmp eq i32 %5765, 0
  br i1 %.not833, label %5766, label %5767

5766:                                             ; preds = %5762, %5756
  br label %5767

5767:                                             ; preds = %5762, %5766
  %.str.81.sink2843 = phi ptr [ @.str.81, %5766 ], [ @.str.78, %5762 ]
  store i32 %5757, ptr %468, align 4, !tbaa !5
  %5768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5769 = load i32, ptr @test_count, align 4, !tbaa !5
  %5770 = load i32, ptr %414, align 4, !tbaa !5
  %5771 = call ptr @s2n_strerror(i32 noundef %5770, ptr noundef nonnull @.str.80) #12
  %5772 = load i32, ptr %414, align 4, !tbaa !5
  %5773 = call ptr @s2n_strerror_debug(i32 noundef %5772, ptr noundef nonnull @.str.80) #12
  %5774 = load i32, ptr %468, align 4, !tbaa !5
  %5775 = call ptr @strerror(i32 noundef %5774) #12
  %5776 = load i32, ptr %468, align 4, !tbaa !5
  %5777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5768, ptr noundef nonnull %.str.81.sink2843, i32 noundef %5769, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.77, i32 noundef 519, ptr noundef %5771, ptr noundef %5773, ptr noundef %5775, i32 noundef %5776) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5778:                                             ; preds = %5751
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #12
  %5779 = call i32 @s2n_stuffer_free(ptr noundef nonnull %54) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %54) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %53) #12
  %5780 = call i32 @s2n_stuffer_free(ptr noundef nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #12
  %5781 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %5782 = load i32, ptr @test_count, align 4, !tbaa !5
  %5783 = add nsw i32 %5782, 1
  store i32 %5783, ptr @test_count, align 4, !tbaa !5
  %5784 = icmp eq ptr %5781, null
  br i1 %5784, label %5785, label %5807

5785:                                             ; preds = %5778
  %5786 = load i32, ptr %468, align 4, !tbaa !5
  %5787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5788 = call i32 @s2n_print_stacktrace(ptr noundef %5787) #12
  %5789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5790 = trunc nuw i8 %5789 to i1
  br i1 %5790, label %5791, label %5795

5791:                                             ; preds = %5785
  %5792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5793 = call i32 @fileno(ptr noundef %5792) #12
  %5794 = call i32 @isatty(i32 noundef %5793) #12
  %.not832 = icmp eq i32 %5794, 0
  br i1 %.not832, label %5795, label %5796

5795:                                             ; preds = %5791, %5785
  br label %5796

5796:                                             ; preds = %5791, %5795
  %.str.81.sink2852 = phi ptr [ @.str.81, %5795 ], [ @.str.78, %5791 ]
  store i32 %5786, ptr %468, align 4, !tbaa !5
  %5797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5798 = load i32, ptr @test_count, align 4, !tbaa !5
  %5799 = load i32, ptr %414, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror(i32 noundef %5799, ptr noundef nonnull @.str.80) #12
  %5801 = load i32, ptr %414, align 4, !tbaa !5
  %5802 = call ptr @s2n_strerror_debug(i32 noundef %5801, ptr noundef nonnull @.str.80) #12
  %5803 = load i32, ptr %468, align 4, !tbaa !5
  %5804 = call ptr @strerror(i32 noundef %5803) #12
  %5805 = load i32, ptr %468, align 4, !tbaa !5
  %5806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5797, ptr noundef nonnull %.str.81.sink2852, i32 noundef %5798, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.77, i32 noundef 525, ptr noundef %5800, ptr noundef %5802, ptr noundef %5804, i32 noundef %5805) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5807:                                             ; preds = %5778
  %5808 = getelementptr inbounds i8, ptr %5781, i64 1688
  store i32 0, ptr %5808, align 8, !tbaa !23
  %5809 = getelementptr inbounds i8, ptr %5781, i64 220
  store i8 34, ptr %5809, align 4, !tbaa !59
  %5810 = getelementptr inbounds i8, ptr %5781, i64 232
  %5811 = load ptr, ptr %5810, align 8, !tbaa !60
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5811, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %56) #12
  %5812 = getelementptr inbounds i8, ptr %56, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %5812, i8 0, i64 48, i1 false)
  store ptr %5781, ptr %56, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef nonnull align 8 dereferenceable(24) %42, i64 24, i1 false), !tbaa.struct !54
  %5813 = getelementptr inbounds i8, ptr %57, i64 24
  store i16 5, ptr %5813, align 8, !tbaa !56
  %5814 = getelementptr inbounds i8, ptr %57, i64 28
  store i32 0, ptr %5814, align 4, !tbaa !47
  %5815 = add nsw i32 %5782, 2
  store i32 %5815, ptr @test_count, align 4, !tbaa !5
  %5816 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %56, ptr noundef nonnull %57)
  %5817 = icmp eq i32 %5816, -1
  br i1 %5817, label %5840, label %5818

5818:                                             ; preds = %5807
  %5819 = load i32, ptr %468, align 4, !tbaa !5
  %5820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5821 = call i32 @s2n_print_stacktrace(ptr noundef %5820) #12
  %5822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5823 = trunc nuw i8 %5822 to i1
  br i1 %5823, label %5824, label %5828

5824:                                             ; preds = %5818
  %5825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5826 = call i32 @fileno(ptr noundef %5825) #12
  %5827 = call i32 @isatty(i32 noundef %5826) #12
  %.not781 = icmp eq i32 %5827, 0
  br i1 %.not781, label %5828, label %5829

5828:                                             ; preds = %5824, %5818
  br label %5829

5829:                                             ; preds = %5824, %5828
  %.str.81.sink2861 = phi ptr [ @.str.81, %5828 ], [ @.str.78, %5824 ]
  store i32 %5819, ptr %468, align 4, !tbaa !5
  %5830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5831 = load i32, ptr @test_count, align 4, !tbaa !5
  %5832 = load i32, ptr %414, align 4, !tbaa !5
  %5833 = call ptr @s2n_strerror(i32 noundef %5832, ptr noundef nonnull @.str.80) #12
  %5834 = load i32, ptr %414, align 4, !tbaa !5
  %5835 = call ptr @s2n_strerror_debug(i32 noundef %5834, ptr noundef nonnull @.str.80) #12
  %5836 = load i32, ptr %468, align 4, !tbaa !5
  %5837 = call ptr @strerror(i32 noundef %5836) #12
  %5838 = load i32, ptr %468, align 4, !tbaa !5
  %5839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5830, ptr noundef nonnull %.str.81.sink2861, i32 noundef %5831, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.77, i32 noundef 534, ptr noundef %5833, ptr noundef %5835, ptr noundef %5837, i32 noundef %5838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5840:                                             ; preds = %5807
  %5841 = load i32, ptr @test_count, align 4, !tbaa !5
  %5842 = add nsw i32 %5841, 1
  store i32 %5842, ptr @test_count, align 4, !tbaa !5
  %5843 = load i32, ptr %414, align 4, !tbaa !5
  %5844 = icmp eq i32 %5843, 0
  br i1 %5844, label %5845, label %5867

5845:                                             ; preds = %5840
  %5846 = load i32, ptr %468, align 4, !tbaa !5
  %5847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5848 = call i32 @s2n_print_stacktrace(ptr noundef %5847) #12
  %5849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5850 = trunc nuw i8 %5849 to i1
  br i1 %5850, label %5851, label %5855

5851:                                             ; preds = %5845
  %5852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5853 = call i32 @fileno(ptr noundef %5852) #12
  %5854 = call i32 @isatty(i32 noundef %5853) #12
  %.not831 = icmp eq i32 %5854, 0
  br i1 %.not831, label %5855, label %5856

5855:                                             ; preds = %5851, %5845
  br label %5856

5856:                                             ; preds = %5851, %5855
  %.str.81.sink2870 = phi ptr [ @.str.81, %5855 ], [ @.str.78, %5851 ]
  store i32 %5846, ptr %468, align 4, !tbaa !5
  %5857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5858 = load i32, ptr @test_count, align 4, !tbaa !5
  %5859 = load i32, ptr %414, align 4, !tbaa !5
  %5860 = call ptr @s2n_strerror(i32 noundef %5859, ptr noundef nonnull @.str.80) #12
  %5861 = load i32, ptr %414, align 4, !tbaa !5
  %5862 = call ptr @s2n_strerror_debug(i32 noundef %5861, ptr noundef nonnull @.str.80) #12
  %5863 = load i32, ptr %468, align 4, !tbaa !5
  %5864 = call ptr @strerror(i32 noundef %5863) #12
  %5865 = load i32, ptr %468, align 4, !tbaa !5
  %5866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5857, ptr noundef nonnull %.str.81.sink2870, i32 noundef %5858, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.77, i32 noundef 534, ptr noundef %5860, ptr noundef %5862, ptr noundef %5864, i32 noundef %5865) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5867:                                             ; preds = %5840
  %5868 = add nsw i32 %5841, 2
  store i32 %5868, ptr @test_count, align 4, !tbaa !5
  %5869 = call ptr @s2n_strerror_debug(i32 noundef %5843, ptr noundef nonnull @.str.80) #12
  %5870 = icmp eq ptr %5869, null
  br i1 %5870, label %5871, label %5893

5871:                                             ; preds = %5867
  %5872 = load i32, ptr %468, align 4, !tbaa !5
  %5873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5874 = call i32 @s2n_print_stacktrace(ptr noundef %5873) #12
  %5875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5876 = trunc nuw i8 %5875 to i1
  br i1 %5876, label %5877, label %5881

5877:                                             ; preds = %5871
  %5878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5879 = call i32 @fileno(ptr noundef %5878) #12
  %5880 = call i32 @isatty(i32 noundef %5879) #12
  %.not830 = icmp eq i32 %5880, 0
  br i1 %.not830, label %5881, label %5882

5881:                                             ; preds = %5877, %5871
  br label %5882

5882:                                             ; preds = %5877, %5881
  %.str.81.sink2879 = phi ptr [ @.str.81, %5881 ], [ @.str.78, %5877 ]
  store i32 %5872, ptr %468, align 4, !tbaa !5
  %5883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5884 = load i32, ptr @test_count, align 4, !tbaa !5
  %5885 = load i32, ptr %414, align 4, !tbaa !5
  %5886 = call ptr @s2n_strerror(i32 noundef %5885, ptr noundef nonnull @.str.80) #12
  %5887 = load i32, ptr %414, align 4, !tbaa !5
  %5888 = call ptr @s2n_strerror_debug(i32 noundef %5887, ptr noundef nonnull @.str.80) #12
  %5889 = load i32, ptr %468, align 4, !tbaa !5
  %5890 = call ptr @strerror(i32 noundef %5889) #12
  %5891 = load i32, ptr %468, align 4, !tbaa !5
  %5892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5883, ptr noundef nonnull %.str.81.sink2879, i32 noundef %5884, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 534, ptr noundef %5886, ptr noundef %5888, ptr noundef %5890, i32 noundef %5891) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5893:                                             ; preds = %5867
  store i32 0, ptr %414, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %468, align 4, !tbaa !5
  %5894 = load i32, ptr @test_count, align 4, !tbaa !5
  %5895 = add nsw i32 %5894, 1
  store i32 %5895, ptr @test_count, align 4, !tbaa !5
  %5896 = getelementptr inbounds i8, ptr %5781, i64 1730
  %5897 = load i16, ptr %5896, align 2, !tbaa !58
  %5898 = icmp eq i16 %5897, 0
  br i1 %5898, label %5921, label %5899

5899:                                             ; preds = %5893
  %5900 = load i32, ptr %468, align 4, !tbaa !5
  %5901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5902 = call i32 @s2n_print_stacktrace(ptr noundef %5901) #12
  %5903 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5904 = trunc nuw i8 %5903 to i1
  br i1 %5904, label %5905, label %5909

5905:                                             ; preds = %5899
  %5906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5907 = call i32 @fileno(ptr noundef %5906) #12
  %5908 = call i32 @isatty(i32 noundef %5907) #12
  %.not782 = icmp eq i32 %5908, 0
  br i1 %.not782, label %5909, label %5910

5909:                                             ; preds = %5905, %5899
  br label %5910

5910:                                             ; preds = %5905, %5909
  %.str.81.sink2888 = phi ptr [ @.str.81, %5909 ], [ @.str.78, %5905 ]
  store i32 %5900, ptr %468, align 4, !tbaa !5
  %5911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5912 = load i32, ptr @test_count, align 4, !tbaa !5
  %5913 = load i32, ptr %414, align 4, !tbaa !5
  %5914 = call ptr @s2n_strerror(i32 noundef %5913, ptr noundef nonnull @.str.80) #12
  %5915 = load i32, ptr %414, align 4, !tbaa !5
  %5916 = call ptr @s2n_strerror_debug(i32 noundef %5915, ptr noundef nonnull @.str.80) #12
  %5917 = load i32, ptr %468, align 4, !tbaa !5
  %5918 = call ptr @strerror(i32 noundef %5917) #12
  %5919 = load i32, ptr %468, align 4, !tbaa !5
  %5920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5911, ptr noundef nonnull %.str.81.sink2888, i32 noundef %5912, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.77, i32 noundef 536, ptr noundef %5914, ptr noundef %5916, ptr noundef %5918, i32 noundef %5919) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5921:                                             ; preds = %5893
  %5922 = add nsw i32 %5894, 2
  store i32 %5922, ptr @test_count, align 4, !tbaa !5
  %5923 = getelementptr inbounds i8, ptr %5781, i64 1736
  %5924 = load ptr, ptr %5923, align 8, !tbaa !57
  %5925 = icmp eq ptr %5924, null
  br i1 %5925, label %5948, label %5926

5926:                                             ; preds = %5921
  %5927 = load i32, ptr %468, align 4, !tbaa !5
  %5928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5929 = call i32 @s2n_print_stacktrace(ptr noundef %5928) #12
  %5930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5931 = trunc nuw i8 %5930 to i1
  br i1 %5931, label %5932, label %5936

5932:                                             ; preds = %5926
  %5933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5934 = call i32 @fileno(ptr noundef %5933) #12
  %5935 = call i32 @isatty(i32 noundef %5934) #12
  %.not783 = icmp eq i32 %5935, 0
  br i1 %.not783, label %5936, label %5937

5936:                                             ; preds = %5932, %5926
  br label %5937

5937:                                             ; preds = %5932, %5936
  %.str.81.sink2897 = phi ptr [ @.str.81, %5936 ], [ @.str.78, %5932 ]
  store i32 %5927, ptr %468, align 4, !tbaa !5
  %5938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5939 = load i32, ptr @test_count, align 4, !tbaa !5
  %5940 = load i32, ptr %414, align 4, !tbaa !5
  %5941 = call ptr @s2n_strerror(i32 noundef %5940, ptr noundef nonnull @.str.80) #12
  %5942 = load i32, ptr %414, align 4, !tbaa !5
  %5943 = call ptr @s2n_strerror_debug(i32 noundef %5942, ptr noundef nonnull @.str.80) #12
  %5944 = load i32, ptr %468, align 4, !tbaa !5
  %5945 = call ptr @strerror(i32 noundef %5944) #12
  %5946 = load i32, ptr %468, align 4, !tbaa !5
  %5947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5938, ptr noundef nonnull %.str.81.sink2897, i32 noundef %5939, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.77, i32 noundef 537, ptr noundef %5941, ptr noundef %5943, ptr noundef %5945, i32 noundef %5946) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5948:                                             ; preds = %5921
  %5949 = add nsw i32 %5894, 3
  store i32 %5949, ptr @test_count, align 4, !tbaa !5
  %5950 = call i32 @s2n_connection_free(ptr noundef nonnull %5781) #12
  %5951 = icmp eq i32 %5950, -1
  br i1 %5951, label %5952, label %5974

5952:                                             ; preds = %5948
  %5953 = load i32, ptr %468, align 4, !tbaa !5
  %5954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5955 = call i32 @s2n_print_stacktrace(ptr noundef %5954) #12
  %5956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5957 = trunc nuw i8 %5956 to i1
  br i1 %5957, label %5958, label %5962

5958:                                             ; preds = %5952
  %5959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5960 = call i32 @fileno(ptr noundef %5959) #12
  %5961 = call i32 @isatty(i32 noundef %5960) #12
  %.not829 = icmp eq i32 %5961, 0
  br i1 %.not829, label %5962, label %5963

5962:                                             ; preds = %5958, %5952
  br label %5963

5963:                                             ; preds = %5958, %5962
  %.str.81.sink2906 = phi ptr [ @.str.81, %5962 ], [ @.str.78, %5958 ]
  store i32 %5953, ptr %468, align 4, !tbaa !5
  %5964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5965 = load i32, ptr @test_count, align 4, !tbaa !5
  %5966 = load i32, ptr %414, align 4, !tbaa !5
  %5967 = call ptr @s2n_strerror(i32 noundef %5966, ptr noundef nonnull @.str.80) #12
  %5968 = load i32, ptr %414, align 4, !tbaa !5
  %5969 = call ptr @s2n_strerror_debug(i32 noundef %5968, ptr noundef nonnull @.str.80) #12
  %5970 = load i32, ptr %468, align 4, !tbaa !5
  %5971 = call ptr @strerror(i32 noundef %5970) #12
  %5972 = load i32, ptr %468, align 4, !tbaa !5
  %5973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5964, ptr noundef nonnull %.str.81.sink2906, i32 noundef %5965, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.77, i32 noundef 539, ptr noundef %5967, ptr noundef %5969, ptr noundef %5971, i32 noundef %5972) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5974:                                             ; preds = %5948
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %41) #12
  %5975 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %5976 = load i32, ptr @test_count, align 4, !tbaa !5
  %5977 = add nsw i32 %5976, 1
  store i32 %5977, ptr @test_count, align 4, !tbaa !5
  %5978 = icmp eq ptr %5975, null
  br i1 %5978, label %5979, label %6001

5979:                                             ; preds = %5974
  %5980 = load i32, ptr %468, align 4, !tbaa !5
  %5981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5982 = call i32 @s2n_print_stacktrace(ptr noundef %5981) #12
  %5983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5984 = trunc nuw i8 %5983 to i1
  br i1 %5984, label %5985, label %5989

5985:                                             ; preds = %5979
  %5986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5987 = call i32 @fileno(ptr noundef %5986) #12
  %5988 = call i32 @isatty(i32 noundef %5987) #12
  %.not828 = icmp eq i32 %5988, 0
  br i1 %.not828, label %5989, label %5990

5989:                                             ; preds = %5985, %5979
  br label %5990

5990:                                             ; preds = %5985, %5989
  %.str.81.sink2915 = phi ptr [ @.str.81, %5989 ], [ @.str.78, %5985 ]
  store i32 %5980, ptr %468, align 4, !tbaa !5
  %5991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5992 = load i32, ptr @test_count, align 4, !tbaa !5
  %5993 = load i32, ptr %414, align 4, !tbaa !5
  %5994 = call ptr @s2n_strerror(i32 noundef %5993, ptr noundef nonnull @.str.80) #12
  %5995 = load i32, ptr %414, align 4, !tbaa !5
  %5996 = call ptr @s2n_strerror_debug(i32 noundef %5995, ptr noundef nonnull @.str.80) #12
  %5997 = load i32, ptr %468, align 4, !tbaa !5
  %5998 = call ptr @strerror(i32 noundef %5997) #12
  %5999 = load i32, ptr %468, align 4, !tbaa !5
  %6000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5991, ptr noundef nonnull %.str.81.sink2915, i32 noundef %5992, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.77, i32 noundef 546, ptr noundef %5994, ptr noundef %5996, ptr noundef %5998, i32 noundef %5999) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6001:                                             ; preds = %5974
  %6002 = getelementptr inbounds i8, ptr %5975, i64 1688
  store i32 1, ptr %6002, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %58) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %58, ptr noundef nonnull align 1 dereferenceable(7) @__const.main.test_secret, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  store ptr null, ptr %59, align 8, !tbaa !9
  %6003 = add nsw i32 %5976, 2
  store i32 %6003, ptr @test_count, align 4, !tbaa !5
  %6004 = getelementptr inbounds i8, ptr %5975, i64 1696
  %6005 = call i32 @s2n_array_pushback(ptr noundef nonnull %6004, ptr noundef nonnull %59) #12
  %6006 = call zeroext i1 @s2n_result_is_ok(i32 %6005)
  br i1 %6006, label %6029, label %6007

6007:                                             ; preds = %6001
  %6008 = load i32, ptr %468, align 4, !tbaa !5
  %6009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6010 = call i32 @s2n_print_stacktrace(ptr noundef %6009) #12
  %6011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6012 = trunc nuw i8 %6011 to i1
  br i1 %6012, label %6013, label %6017

6013:                                             ; preds = %6007
  %6014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6015 = call i32 @fileno(ptr noundef %6014) #12
  %6016 = call i32 @isatty(i32 noundef %6015) #12
  %.not784 = icmp eq i32 %6016, 0
  br i1 %.not784, label %6017, label %6018

6017:                                             ; preds = %6013, %6007
  br label %6018

6018:                                             ; preds = %6013, %6017
  %.str.81.sink2924 = phi ptr [ @.str.81, %6017 ], [ @.str.78, %6013 ]
  store i32 %6008, ptr %468, align 4, !tbaa !5
  %6019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6020 = load i32, ptr @test_count, align 4, !tbaa !5
  %6021 = load i32, ptr %414, align 4, !tbaa !5
  %6022 = call ptr @s2n_strerror(i32 noundef %6021, ptr noundef nonnull @.str.80) #12
  %6023 = load i32, ptr %414, align 4, !tbaa !5
  %6024 = call ptr @s2n_strerror_debug(i32 noundef %6023, ptr noundef nonnull @.str.80) #12
  %6025 = load i32, ptr %468, align 4, !tbaa !5
  %6026 = call ptr @strerror(i32 noundef %6025) #12
  %6027 = load i32, ptr %468, align 4, !tbaa !5
  %6028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6019, ptr noundef nonnull %.str.81.sink2924, i32 noundef %6020, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.77, i32 noundef 552, ptr noundef %6022, ptr noundef %6024, ptr noundef %6026, i32 noundef %6027) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6029:                                             ; preds = %6001
  %6030 = load i32, ptr @test_count, align 4, !tbaa !5
  %6031 = add nsw i32 %6030, 1
  store i32 %6031, ptr @test_count, align 4, !tbaa !5
  %6032 = load ptr, ptr %59, align 8, !tbaa !9
  %6033 = call i32 @s2n_psk_init(ptr noundef %6032, i32 noundef 1)
  %6034 = call zeroext i1 @s2n_result_is_ok(i32 %6033)
  br i1 %6034, label %6057, label %6035

6035:                                             ; preds = %6029
  %6036 = load i32, ptr %468, align 4, !tbaa !5
  %6037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6038 = call i32 @s2n_print_stacktrace(ptr noundef %6037) #12
  %6039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6040 = trunc nuw i8 %6039 to i1
  br i1 %6040, label %6041, label %6045

6041:                                             ; preds = %6035
  %6042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6043 = call i32 @fileno(ptr noundef %6042) #12
  %6044 = call i32 @isatty(i32 noundef %6043) #12
  %.not785 = icmp eq i32 %6044, 0
  br i1 %.not785, label %6045, label %6046

6045:                                             ; preds = %6041, %6035
  br label %6046

6046:                                             ; preds = %6041, %6045
  %.str.81.sink2933 = phi ptr [ @.str.81, %6045 ], [ @.str.78, %6041 ]
  store i32 %6036, ptr %468, align 4, !tbaa !5
  %6047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6048 = load i32, ptr @test_count, align 4, !tbaa !5
  %6049 = load i32, ptr %414, align 4, !tbaa !5
  %6050 = call ptr @s2n_strerror(i32 noundef %6049, ptr noundef nonnull @.str.80) #12
  %6051 = load i32, ptr %414, align 4, !tbaa !5
  %6052 = call ptr @s2n_strerror_debug(i32 noundef %6051, ptr noundef nonnull @.str.80) #12
  %6053 = load i32, ptr %468, align 4, !tbaa !5
  %6054 = call ptr @strerror(i32 noundef %6053) #12
  %6055 = load i32, ptr %468, align 4, !tbaa !5
  %6056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6047, ptr noundef nonnull %.str.81.sink2933, i32 noundef %6048, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.77, i32 noundef 553, ptr noundef %6050, ptr noundef %6052, ptr noundef %6054, i32 noundef %6055) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6057:                                             ; preds = %6029
  %6058 = load i32, ptr @test_count, align 4, !tbaa !5
  %6059 = add nsw i32 %6058, 1
  store i32 %6059, ptr @test_count, align 4, !tbaa !5
  %6060 = load ptr, ptr %59, align 8, !tbaa !9
  %6061 = call i32 @s2n_psk_set_identity(ptr noundef %6060, ptr noundef nonnull %3, i16 noundef zeroext 4)
  %6062 = icmp eq i32 %6061, -1
  br i1 %6062, label %6063, label %6085

6063:                                             ; preds = %6057
  %6064 = load i32, ptr %468, align 4, !tbaa !5
  %6065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6066 = call i32 @s2n_print_stacktrace(ptr noundef %6065) #12
  %6067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6068 = trunc nuw i8 %6067 to i1
  br i1 %6068, label %6069, label %6073

6069:                                             ; preds = %6063
  %6070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6071 = call i32 @fileno(ptr noundef %6070) #12
  %6072 = call i32 @isatty(i32 noundef %6071) #12
  %.not827 = icmp eq i32 %6072, 0
  br i1 %.not827, label %6073, label %6074

6073:                                             ; preds = %6069, %6063
  br label %6074

6074:                                             ; preds = %6069, %6073
  %.str.81.sink2942 = phi ptr [ @.str.81, %6073 ], [ @.str.78, %6069 ]
  store i32 %6064, ptr %468, align 4, !tbaa !5
  %6075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6076 = load i32, ptr @test_count, align 4, !tbaa !5
  %6077 = load i32, ptr %414, align 4, !tbaa !5
  %6078 = call ptr @s2n_strerror(i32 noundef %6077, ptr noundef nonnull @.str.80) #12
  %6079 = load i32, ptr %414, align 4, !tbaa !5
  %6080 = call ptr @s2n_strerror_debug(i32 noundef %6079, ptr noundef nonnull @.str.80) #12
  %6081 = load i32, ptr %468, align 4, !tbaa !5
  %6082 = call ptr @strerror(i32 noundef %6081) #12
  %6083 = load i32, ptr %468, align 4, !tbaa !5
  %6084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6075, ptr noundef nonnull %.str.81.sink2942, i32 noundef %6076, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.77, i32 noundef 554, ptr noundef %6078, ptr noundef %6080, ptr noundef %6082, i32 noundef %6083) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6085:                                             ; preds = %6057
  %6086 = load i32, ptr @test_count, align 4, !tbaa !5
  %6087 = add nsw i32 %6086, 1
  store i32 %6087, ptr @test_count, align 4, !tbaa !5
  %6088 = load ptr, ptr %59, align 8, !tbaa !9
  %6089 = call i32 @s2n_psk_set_secret(ptr noundef %6088, ptr noundef nonnull %58, i16 noundef zeroext 7)
  %6090 = icmp eq i32 %6089, -1
  br i1 %6090, label %6091, label %6113

6091:                                             ; preds = %6085
  %6092 = load i32, ptr %468, align 4, !tbaa !5
  %6093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6094 = call i32 @s2n_print_stacktrace(ptr noundef %6093) #12
  %6095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6096 = trunc nuw i8 %6095 to i1
  br i1 %6096, label %6097, label %6101

6097:                                             ; preds = %6091
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = call i32 @fileno(ptr noundef %6098) #12
  %6100 = call i32 @isatty(i32 noundef %6099) #12
  %.not826 = icmp eq i32 %6100, 0
  br i1 %.not826, label %6101, label %6102

6101:                                             ; preds = %6097, %6091
  br label %6102

6102:                                             ; preds = %6097, %6101
  %.str.81.sink2951 = phi ptr [ @.str.81, %6101 ], [ @.str.78, %6097 ]
  store i32 %6092, ptr %468, align 4, !tbaa !5
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = load i32, ptr @test_count, align 4, !tbaa !5
  %6105 = load i32, ptr %414, align 4, !tbaa !5
  %6106 = call ptr @s2n_strerror(i32 noundef %6105, ptr noundef nonnull @.str.80) #12
  %6107 = load i32, ptr %414, align 4, !tbaa !5
  %6108 = call ptr @s2n_strerror_debug(i32 noundef %6107, ptr noundef nonnull @.str.80) #12
  %6109 = load i32, ptr %468, align 4, !tbaa !5
  %6110 = call ptr @strerror(i32 noundef %6109) #12
  %6111 = load i32, ptr %468, align 4, !tbaa !5
  %6112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6103, ptr noundef nonnull %.str.81.sink2951, i32 noundef %6104, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.77, i32 noundef 555, ptr noundef %6106, ptr noundef %6108, ptr noundef %6110, i32 noundef %6111) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6113:                                             ; preds = %6085
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #12
  store ptr null, ptr %60, align 8, !tbaa !9
  %6114 = load i32, ptr @test_count, align 4, !tbaa !5
  %6115 = add nsw i32 %6114, 1
  store i32 %6115, ptr @test_count, align 4, !tbaa !5
  %6116 = call i32 @s2n_array_pushback(ptr noundef nonnull %6004, ptr noundef nonnull %60) #12
  %6117 = call zeroext i1 @s2n_result_is_ok(i32 %6116)
  br i1 %6117, label %6140, label %6118

6118:                                             ; preds = %6113
  %6119 = load i32, ptr %468, align 4, !tbaa !5
  %6120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6121 = call i32 @s2n_print_stacktrace(ptr noundef %6120) #12
  %6122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6123 = trunc nuw i8 %6122 to i1
  br i1 %6123, label %6124, label %6128

6124:                                             ; preds = %6118
  %6125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6126 = call i32 @fileno(ptr noundef %6125) #12
  %6127 = call i32 @isatty(i32 noundef %6126) #12
  %.not786 = icmp eq i32 %6127, 0
  br i1 %.not786, label %6128, label %6129

6128:                                             ; preds = %6124, %6118
  br label %6129

6129:                                             ; preds = %6124, %6128
  %.str.81.sink2960 = phi ptr [ @.str.81, %6128 ], [ @.str.78, %6124 ]
  store i32 %6119, ptr %468, align 4, !tbaa !5
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = load i32, ptr @test_count, align 4, !tbaa !5
  %6132 = load i32, ptr %414, align 4, !tbaa !5
  %6133 = call ptr @s2n_strerror(i32 noundef %6132, ptr noundef nonnull @.str.80) #12
  %6134 = load i32, ptr %414, align 4, !tbaa !5
  %6135 = call ptr @s2n_strerror_debug(i32 noundef %6134, ptr noundef nonnull @.str.80) #12
  %6136 = load i32, ptr %468, align 4, !tbaa !5
  %6137 = call ptr @strerror(i32 noundef %6136) #12
  %6138 = load i32, ptr %468, align 4, !tbaa !5
  %6139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6130, ptr noundef nonnull %.str.81.sink2960, i32 noundef %6131, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.77, i32 noundef 558, ptr noundef %6133, ptr noundef %6135, ptr noundef %6137, i32 noundef %6138) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6140:                                             ; preds = %6113
  %6141 = load i32, ptr @test_count, align 4, !tbaa !5
  %6142 = add nsw i32 %6141, 1
  store i32 %6142, ptr @test_count, align 4, !tbaa !5
  %6143 = load ptr, ptr %60, align 8, !tbaa !9
  %6144 = call i32 @s2n_psk_init(ptr noundef %6143, i32 noundef 1)
  %6145 = call zeroext i1 @s2n_result_is_ok(i32 %6144)
  br i1 %6145, label %6168, label %6146

6146:                                             ; preds = %6140
  %6147 = load i32, ptr %468, align 4, !tbaa !5
  %6148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6149 = call i32 @s2n_print_stacktrace(ptr noundef %6148) #12
  %6150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6151 = trunc nuw i8 %6150 to i1
  br i1 %6151, label %6152, label %6156

6152:                                             ; preds = %6146
  %6153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6154 = call i32 @fileno(ptr noundef %6153) #12
  %6155 = call i32 @isatty(i32 noundef %6154) #12
  %.not787 = icmp eq i32 %6155, 0
  br i1 %.not787, label %6156, label %6157

6156:                                             ; preds = %6152, %6146
  br label %6157

6157:                                             ; preds = %6152, %6156
  %.str.81.sink2969 = phi ptr [ @.str.81, %6156 ], [ @.str.78, %6152 ]
  store i32 %6147, ptr %468, align 4, !tbaa !5
  %6158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6159 = load i32, ptr @test_count, align 4, !tbaa !5
  %6160 = load i32, ptr %414, align 4, !tbaa !5
  %6161 = call ptr @s2n_strerror(i32 noundef %6160, ptr noundef nonnull @.str.80) #12
  %6162 = load i32, ptr %414, align 4, !tbaa !5
  %6163 = call ptr @s2n_strerror_debug(i32 noundef %6162, ptr noundef nonnull @.str.80) #12
  %6164 = load i32, ptr %468, align 4, !tbaa !5
  %6165 = call ptr @strerror(i32 noundef %6164) #12
  %6166 = load i32, ptr %468, align 4, !tbaa !5
  %6167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6158, ptr noundef nonnull %.str.81.sink2969, i32 noundef %6159, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.77, i32 noundef 559, ptr noundef %6161, ptr noundef %6163, ptr noundef %6165, i32 noundef %6166) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6168:                                             ; preds = %6140
  %6169 = load i32, ptr @test_count, align 4, !tbaa !5
  %6170 = add nsw i32 %6169, 1
  store i32 %6170, ptr @test_count, align 4, !tbaa !5
  %6171 = load ptr, ptr %60, align 8, !tbaa !9
  %6172 = call i32 @s2n_psk_set_identity(ptr noundef %6171, ptr noundef nonnull %4, i16 noundef zeroext 4)
  %6173 = icmp eq i32 %6172, -1
  br i1 %6173, label %6174, label %6196

6174:                                             ; preds = %6168
  %6175 = load i32, ptr %468, align 4, !tbaa !5
  %6176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6177 = call i32 @s2n_print_stacktrace(ptr noundef %6176) #12
  %6178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6179 = trunc nuw i8 %6178 to i1
  br i1 %6179, label %6180, label %6184

6180:                                             ; preds = %6174
  %6181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6182 = call i32 @fileno(ptr noundef %6181) #12
  %6183 = call i32 @isatty(i32 noundef %6182) #12
  %.not825 = icmp eq i32 %6183, 0
  br i1 %.not825, label %6184, label %6185

6184:                                             ; preds = %6180, %6174
  br label %6185

6185:                                             ; preds = %6180, %6184
  %.str.81.sink2978 = phi ptr [ @.str.81, %6184 ], [ @.str.78, %6180 ]
  store i32 %6175, ptr %468, align 4, !tbaa !5
  %6186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6187 = load i32, ptr @test_count, align 4, !tbaa !5
  %6188 = load i32, ptr %414, align 4, !tbaa !5
  %6189 = call ptr @s2n_strerror(i32 noundef %6188, ptr noundef nonnull @.str.80) #12
  %6190 = load i32, ptr %414, align 4, !tbaa !5
  %6191 = call ptr @s2n_strerror_debug(i32 noundef %6190, ptr noundef nonnull @.str.80) #12
  %6192 = load i32, ptr %468, align 4, !tbaa !5
  %6193 = call ptr @strerror(i32 noundef %6192) #12
  %6194 = load i32, ptr %468, align 4, !tbaa !5
  %6195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6186, ptr noundef nonnull %.str.81.sink2978, i32 noundef %6187, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.77, i32 noundef 560, ptr noundef %6189, ptr noundef %6191, ptr noundef %6193, i32 noundef %6194) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6196:                                             ; preds = %6168
  %6197 = load i32, ptr @test_count, align 4, !tbaa !5
  %6198 = add nsw i32 %6197, 1
  store i32 %6198, ptr @test_count, align 4, !tbaa !5
  %6199 = load ptr, ptr %60, align 8, !tbaa !9
  %6200 = call i32 @s2n_psk_set_secret(ptr noundef %6199, ptr noundef nonnull %58, i16 noundef zeroext 7)
  %6201 = icmp eq i32 %6200, -1
  br i1 %6201, label %6202, label %6224

6202:                                             ; preds = %6196
  %6203 = load i32, ptr %468, align 4, !tbaa !5
  %6204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6205 = call i32 @s2n_print_stacktrace(ptr noundef %6204) #12
  %6206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6207 = trunc nuw i8 %6206 to i1
  br i1 %6207, label %6208, label %6212

6208:                                             ; preds = %6202
  %6209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6210 = call i32 @fileno(ptr noundef %6209) #12
  %6211 = call i32 @isatty(i32 noundef %6210) #12
  %.not824 = icmp eq i32 %6211, 0
  br i1 %.not824, label %6212, label %6213

6212:                                             ; preds = %6208, %6202
  br label %6213

6213:                                             ; preds = %6208, %6212
  %.str.81.sink2987 = phi ptr [ @.str.81, %6212 ], [ @.str.78, %6208 ]
  store i32 %6203, ptr %468, align 4, !tbaa !5
  %6214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6215 = load i32, ptr @test_count, align 4, !tbaa !5
  %6216 = load i32, ptr %414, align 4, !tbaa !5
  %6217 = call ptr @s2n_strerror(i32 noundef %6216, ptr noundef nonnull @.str.80) #12
  %6218 = load i32, ptr %414, align 4, !tbaa !5
  %6219 = call ptr @s2n_strerror_debug(i32 noundef %6218, ptr noundef nonnull @.str.80) #12
  %6220 = load i32, ptr %468, align 4, !tbaa !5
  %6221 = call ptr @strerror(i32 noundef %6220) #12
  %6222 = load i32, ptr %468, align 4, !tbaa !5
  %6223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6214, ptr noundef nonnull %.str.81.sink2987, i32 noundef %6215, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.77, i32 noundef 561, ptr noundef %6217, ptr noundef %6219, ptr noundef %6221, i32 noundef %6222) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6224:                                             ; preds = %6196
  %6225 = load i32, ptr @test_count, align 4, !tbaa !5
  %6226 = add nsw i32 %6225, 1
  store i32 %6226, ptr @test_count, align 4, !tbaa !5
  %6227 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_psk_extension, i64 8), align 8, !tbaa !75
  %6228 = getelementptr inbounds i8, ptr %5975, i64 2016
  %6229 = call i32 %6227(ptr noundef nonnull %5975, ptr noundef nonnull %6228) #12
  %6230 = icmp eq i32 %6229, -1
  br i1 %6230, label %6231, label %6253

6231:                                             ; preds = %6224
  %6232 = load i32, ptr %468, align 4, !tbaa !5
  %6233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6234 = call i32 @s2n_print_stacktrace(ptr noundef %6233) #12
  %6235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6236 = trunc nuw i8 %6235 to i1
  br i1 %6236, label %6237, label %6241

6237:                                             ; preds = %6231
  %6238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6239 = call i32 @fileno(ptr noundef %6238) #12
  %6240 = call i32 @isatty(i32 noundef %6239) #12
  %.not823 = icmp eq i32 %6240, 0
  br i1 %.not823, label %6241, label %6242

6241:                                             ; preds = %6237, %6231
  br label %6242

6242:                                             ; preds = %6237, %6241
  %.str.81.sink2996 = phi ptr [ @.str.81, %6241 ], [ @.str.78, %6237 ]
  store i32 %6232, ptr %468, align 4, !tbaa !5
  %6243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6244 = load i32, ptr @test_count, align 4, !tbaa !5
  %6245 = load i32, ptr %414, align 4, !tbaa !5
  %6246 = call ptr @s2n_strerror(i32 noundef %6245, ptr noundef nonnull @.str.80) #12
  %6247 = load i32, ptr %414, align 4, !tbaa !5
  %6248 = call ptr @s2n_strerror_debug(i32 noundef %6247, ptr noundef nonnull @.str.80) #12
  %6249 = load i32, ptr %468, align 4, !tbaa !5
  %6250 = call ptr @strerror(i32 noundef %6249) #12
  %6251 = load i32, ptr %468, align 4, !tbaa !5
  %6252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6243, ptr noundef nonnull %.str.81.sink2996, i32 noundef %6244, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.77, i32 noundef 563, ptr noundef %6246, ptr noundef %6248, ptr noundef %6250, i32 noundef %6251) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6253:                                             ; preds = %6224
  %6254 = load i32, ptr @test_count, align 4, !tbaa !5
  %6255 = add nsw i32 %6254, 1
  store i32 %6255, ptr @test_count, align 4, !tbaa !5
  %6256 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %6228, i32 noundef 2) #12
  %6257 = icmp eq i32 %6256, -1
  br i1 %6257, label %6258, label %6280

6258:                                             ; preds = %6253
  %6259 = load i32, ptr %468, align 4, !tbaa !5
  %6260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6261 = call i32 @s2n_print_stacktrace(ptr noundef %6260) #12
  %6262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6263 = trunc nuw i8 %6262 to i1
  br i1 %6263, label %6264, label %6268

6264:                                             ; preds = %6258
  %6265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6266 = call i32 @fileno(ptr noundef %6265) #12
  %6267 = call i32 @isatty(i32 noundef %6266) #12
  %.not822 = icmp eq i32 %6267, 0
  br i1 %.not822, label %6268, label %6269

6268:                                             ; preds = %6264, %6258
  br label %6269

6269:                                             ; preds = %6264, %6268
  %.str.81.sink3005 = phi ptr [ @.str.81, %6268 ], [ @.str.78, %6264 ]
  store i32 %6259, ptr %468, align 4, !tbaa !5
  %6270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6271 = load i32, ptr @test_count, align 4, !tbaa !5
  %6272 = load i32, ptr %414, align 4, !tbaa !5
  %6273 = call ptr @s2n_strerror(i32 noundef %6272, ptr noundef nonnull @.str.80) #12
  %6274 = load i32, ptr %414, align 4, !tbaa !5
  %6275 = call ptr @s2n_strerror_debug(i32 noundef %6274, ptr noundef nonnull @.str.80) #12
  %6276 = load i32, ptr %468, align 4, !tbaa !5
  %6277 = call ptr @strerror(i32 noundef %6276) #12
  %6278 = load i32, ptr %468, align 4, !tbaa !5
  %6279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6270, ptr noundef nonnull %.str.81.sink3005, i32 noundef %6271, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.77, i32 noundef 566, ptr noundef %6273, ptr noundef %6275, ptr noundef %6277, i32 noundef %6278) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6280:                                             ; preds = %6253
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %61) #12
  %6281 = getelementptr inbounds i8, ptr %61, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %6281, i8 0, i64 48, i1 false)
  store ptr %5975, ptr %61, align 8, !tbaa !20
  %6282 = getelementptr inbounds i8, ptr %5975, i64 2044
  %6283 = load i32, ptr %6282, align 4, !tbaa !77
  %6284 = getelementptr inbounds i8, ptr %5975, i64 2040
  %6285 = load i32, ptr %6284, align 8, !tbaa !78
  %6286 = sub i32 %6283, %6285
  %6287 = load i32, ptr @test_count, align 4, !tbaa !5
  %6288 = add nsw i32 %6287, 1
  store i32 %6288, ptr @test_count, align 4, !tbaa !5
  %6289 = getelementptr inbounds i8, ptr %61, i64 8
  %6290 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %6289, i32 noundef %6286) #12
  %6291 = icmp eq i32 %6290, -1
  br i1 %6291, label %6292, label %6314

6292:                                             ; preds = %6280
  %6293 = load i32, ptr %468, align 4, !tbaa !5
  %6294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6295 = call i32 @s2n_print_stacktrace(ptr noundef %6294) #12
  %6296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6297 = trunc nuw i8 %6296 to i1
  br i1 %6297, label %6298, label %6302

6298:                                             ; preds = %6292
  %6299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6300 = call i32 @fileno(ptr noundef %6299) #12
  %6301 = call i32 @isatty(i32 noundef %6300) #12
  %.not821 = icmp eq i32 %6301, 0
  br i1 %.not821, label %6302, label %6303

6302:                                             ; preds = %6298, %6292
  br label %6303

6303:                                             ; preds = %6298, %6302
  %.str.81.sink3014 = phi ptr [ @.str.81, %6302 ], [ @.str.78, %6298 ]
  store i32 %6293, ptr %468, align 4, !tbaa !5
  %6304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6305 = load i32, ptr @test_count, align 4, !tbaa !5
  %6306 = load i32, ptr %414, align 4, !tbaa !5
  %6307 = call ptr @s2n_strerror(i32 noundef %6306, ptr noundef nonnull @.str.80) #12
  %6308 = load i32, ptr %414, align 4, !tbaa !5
  %6309 = call ptr @s2n_strerror_debug(i32 noundef %6308, ptr noundef nonnull @.str.80) #12
  %6310 = load i32, ptr %468, align 4, !tbaa !5
  %6311 = call ptr @strerror(i32 noundef %6310) #12
  %6312 = load i32, ptr %468, align 4, !tbaa !5
  %6313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6304, ptr noundef nonnull %.str.81.sink3014, i32 noundef %6305, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.77, i32 noundef 570, ptr noundef %6307, ptr noundef %6309, ptr noundef %6311, i32 noundef %6312) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6314:                                             ; preds = %6280
  %6315 = load i32, ptr @test_count, align 4, !tbaa !5
  %6316 = add nsw i32 %6315, 1
  store i32 %6316, ptr @test_count, align 4, !tbaa !5
  %6317 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %6228, i32 noundef %6286) #12
  %6318 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %6289, ptr noundef %6317, i32 noundef %6286) #12
  %6319 = icmp eq i32 %6318, -1
  br i1 %6319, label %6320, label %6342

6320:                                             ; preds = %6314
  %6321 = load i32, ptr %468, align 4, !tbaa !5
  %6322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6323 = call i32 @s2n_print_stacktrace(ptr noundef %6322) #12
  %6324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6325 = trunc nuw i8 %6324 to i1
  br i1 %6325, label %6326, label %6330

6326:                                             ; preds = %6320
  %6327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6328 = call i32 @fileno(ptr noundef %6327) #12
  %6329 = call i32 @isatty(i32 noundef %6328) #12
  %.not820 = icmp eq i32 %6329, 0
  br i1 %.not820, label %6330, label %6331

6330:                                             ; preds = %6326, %6320
  br label %6331

6331:                                             ; preds = %6326, %6330
  %.str.81.sink3023 = phi ptr [ @.str.81, %6330 ], [ @.str.78, %6326 ]
  store i32 %6321, ptr %468, align 4, !tbaa !5
  %6332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6333 = load i32, ptr @test_count, align 4, !tbaa !5
  %6334 = load i32, ptr %414, align 4, !tbaa !5
  %6335 = call ptr @s2n_strerror(i32 noundef %6334, ptr noundef nonnull @.str.80) #12
  %6336 = load i32, ptr %414, align 4, !tbaa !5
  %6337 = call ptr @s2n_strerror_debug(i32 noundef %6336, ptr noundef nonnull @.str.80) #12
  %6338 = load i32, ptr %468, align 4, !tbaa !5
  %6339 = call ptr @strerror(i32 noundef %6338) #12
  %6340 = load i32, ptr %468, align 4, !tbaa !5
  %6341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6332, ptr noundef nonnull %.str.81.sink3023, i32 noundef %6333, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.77, i32 noundef 572, ptr noundef %6335, ptr noundef %6337, ptr noundef %6339, i32 noundef %6340) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6342:                                             ; preds = %6314
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #12
  store ptr null, ptr %62, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %63) #12
  store i16 0, ptr %63, align 2, !tbaa !48
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %64, i8 0, i64 32, i1 false)
  %6343 = load i32, ptr @test_count, align 4, !tbaa !5
  %6344 = add nsw i32 %6343, 1
  store i32 %6344, ptr @test_count, align 4, !tbaa !5
  %6345 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef nonnull %61)
  br i1 %6345, label %6368, label %6346

6346:                                             ; preds = %6342
  %6347 = load i32, ptr %468, align 4, !tbaa !5
  %6348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6349 = call i32 @s2n_print_stacktrace(ptr noundef %6348) #12
  %6350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6351 = trunc nuw i8 %6350 to i1
  br i1 %6351, label %6352, label %6356

6352:                                             ; preds = %6346
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = call i32 @fileno(ptr noundef %6353) #12
  %6355 = call i32 @isatty(i32 noundef %6354) #12
  %.not788 = icmp eq i32 %6355, 0
  br i1 %.not788, label %6356, label %6357

6356:                                             ; preds = %6352, %6346
  br label %6357

6357:                                             ; preds = %6352, %6356
  %.str.81.sink3032 = phi ptr [ @.str.81, %6356 ], [ @.str.78, %6352 ]
  store i32 %6347, ptr %468, align 4, !tbaa !5
  %6358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6359 = load i32, ptr @test_count, align 4, !tbaa !5
  %6360 = load i32, ptr %414, align 4, !tbaa !5
  %6361 = call ptr @s2n_strerror(i32 noundef %6360, ptr noundef nonnull @.str.80) #12
  %6362 = load i32, ptr %414, align 4, !tbaa !5
  %6363 = call ptr @s2n_strerror_debug(i32 noundef %6362, ptr noundef nonnull @.str.80) #12
  %6364 = load i32, ptr %468, align 4, !tbaa !5
  %6365 = call ptr @strerror(i32 noundef %6364) #12
  %6366 = load i32, ptr %468, align 4, !tbaa !5
  %6367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6358, ptr noundef nonnull %.str.81.sink3032, i32 noundef %6359, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.77, i32 noundef 578, ptr noundef %6361, ptr noundef %6363, ptr noundef %6365, i32 noundef %6366) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6368:                                             ; preds = %6342
  %6369 = load i32, ptr @test_count, align 4, !tbaa !5
  %6370 = add nsw i32 %6369, 1
  store i32 %6370, ptr @test_count, align 4, !tbaa !5
  %6371 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %61, ptr noundef nonnull %64)
  %6372 = icmp eq i32 %6371, -1
  br i1 %6372, label %6373, label %6395

6373:                                             ; preds = %6368
  %6374 = load i32, ptr %468, align 4, !tbaa !5
  %6375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6376 = call i32 @s2n_print_stacktrace(ptr noundef %6375) #12
  %6377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6378 = trunc nuw i8 %6377 to i1
  br i1 %6378, label %6379, label %6383

6379:                                             ; preds = %6373
  %6380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6381 = call i32 @fileno(ptr noundef %6380) #12
  %6382 = call i32 @isatty(i32 noundef %6381) #12
  %.not819 = icmp eq i32 %6382, 0
  br i1 %.not819, label %6383, label %6384

6383:                                             ; preds = %6379, %6373
  br label %6384

6384:                                             ; preds = %6379, %6383
  %.str.81.sink3041 = phi ptr [ @.str.81, %6383 ], [ @.str.78, %6379 ]
  store i32 %6374, ptr %468, align 4, !tbaa !5
  %6385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6386 = load i32, ptr @test_count, align 4, !tbaa !5
  %6387 = load i32, ptr %414, align 4, !tbaa !5
  %6388 = call ptr @s2n_strerror(i32 noundef %6387, ptr noundef nonnull @.str.80) #12
  %6389 = load i32, ptr %414, align 4, !tbaa !5
  %6390 = call ptr @s2n_strerror_debug(i32 noundef %6389, ptr noundef nonnull @.str.80) #12
  %6391 = load i32, ptr %468, align 4, !tbaa !5
  %6392 = call ptr @strerror(i32 noundef %6391) #12
  %6393 = load i32, ptr %468, align 4, !tbaa !5
  %6394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6385, ptr noundef nonnull %.str.81.sink3041, i32 noundef %6386, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.77, i32 noundef 579, ptr noundef %6388, ptr noundef %6390, ptr noundef %6392, i32 noundef %6393) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6395:                                             ; preds = %6368
  %6396 = load i32, ptr @test_count, align 4, !tbaa !5
  %6397 = add nsw i32 %6396, 1
  store i32 %6397, ptr @test_count, align 4, !tbaa !5
  %6398 = call i32 @s2n_offered_psk_get_identity(ptr noundef nonnull %64, ptr noundef nonnull %62, ptr noundef nonnull %63)
  %6399 = icmp eq i32 %6398, -1
  br i1 %6399, label %6400, label %6422

6400:                                             ; preds = %6395
  %6401 = load i32, ptr %468, align 4, !tbaa !5
  %6402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6403 = call i32 @s2n_print_stacktrace(ptr noundef %6402) #12
  %6404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6405 = trunc nuw i8 %6404 to i1
  br i1 %6405, label %6406, label %6410

6406:                                             ; preds = %6400
  %6407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6408 = call i32 @fileno(ptr noundef %6407) #12
  %6409 = call i32 @isatty(i32 noundef %6408) #12
  %.not818 = icmp eq i32 %6409, 0
  br i1 %.not818, label %6410, label %6411

6410:                                             ; preds = %6406, %6400
  br label %6411

6411:                                             ; preds = %6406, %6410
  %.str.81.sink3050 = phi ptr [ @.str.81, %6410 ], [ @.str.78, %6406 ]
  store i32 %6401, ptr %468, align 4, !tbaa !5
  %6412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6413 = load i32, ptr @test_count, align 4, !tbaa !5
  %6414 = load i32, ptr %414, align 4, !tbaa !5
  %6415 = call ptr @s2n_strerror(i32 noundef %6414, ptr noundef nonnull @.str.80) #12
  %6416 = load i32, ptr %414, align 4, !tbaa !5
  %6417 = call ptr @s2n_strerror_debug(i32 noundef %6416, ptr noundef nonnull @.str.80) #12
  %6418 = load i32, ptr %468, align 4, !tbaa !5
  %6419 = call ptr @strerror(i32 noundef %6418) #12
  %6420 = load i32, ptr %468, align 4, !tbaa !5
  %6421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6412, ptr noundef nonnull %.str.81.sink3050, i32 noundef %6413, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.77, i32 noundef 580, ptr noundef %6415, ptr noundef %6417, ptr noundef %6419, i32 noundef %6420) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6422:                                             ; preds = %6395
  %6423 = load i32, ptr @test_count, align 4, !tbaa !5
  %6424 = add nsw i32 %6423, 1
  store i32 %6424, ptr @test_count, align 4, !tbaa !5
  %6425 = load i16, ptr %63, align 2, !tbaa !48
  %6426 = icmp eq i16 %6425, 4
  br i1 %6426, label %6449, label %6427

6427:                                             ; preds = %6422
  %6428 = load i32, ptr %468, align 4, !tbaa !5
  %6429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6430 = call i32 @s2n_print_stacktrace(ptr noundef %6429) #12
  %6431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6432 = trunc nuw i8 %6431 to i1
  br i1 %6432, label %6433, label %6437

6433:                                             ; preds = %6427
  %6434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6435 = call i32 @fileno(ptr noundef %6434) #12
  %6436 = call i32 @isatty(i32 noundef %6435) #12
  %.not789 = icmp eq i32 %6436, 0
  br i1 %.not789, label %6437, label %6438

6437:                                             ; preds = %6433, %6427
  br label %6438

6438:                                             ; preds = %6433, %6437
  %.str.81.sink3059 = phi ptr [ @.str.81, %6437 ], [ @.str.78, %6433 ]
  store i32 %6428, ptr %468, align 4, !tbaa !5
  %6439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6440 = load i32, ptr @test_count, align 4, !tbaa !5
  %6441 = load i32, ptr %414, align 4, !tbaa !5
  %6442 = call ptr @s2n_strerror(i32 noundef %6441, ptr noundef nonnull @.str.80) #12
  %6443 = load i32, ptr %414, align 4, !tbaa !5
  %6444 = call ptr @s2n_strerror_debug(i32 noundef %6443, ptr noundef nonnull @.str.80) #12
  %6445 = load i32, ptr %468, align 4, !tbaa !5
  %6446 = call ptr @strerror(i32 noundef %6445) #12
  %6447 = load i32, ptr %468, align 4, !tbaa !5
  %6448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6439, ptr noundef nonnull %.str.81.sink3059, i32 noundef %6440, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.77, i32 noundef 581, ptr noundef %6442, ptr noundef %6444, ptr noundef %6446, i32 noundef %6447) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6449:                                             ; preds = %6422
  %6450 = add nsw i32 %6423, 2
  store i32 %6450, ptr @test_count, align 4, !tbaa !5
  %6451 = load ptr, ptr %62, align 8, !tbaa !9
  %bcmp790 = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %6451, ptr noundef nonnull dereferenceable(4) %3, i64 4)
  %6452 = icmp eq i32 %bcmp790, 0
  br i1 %6452, label %6475, label %6453

6453:                                             ; preds = %6449
  %6454 = load i32, ptr %468, align 4, !tbaa !5
  %6455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6456 = call i32 @s2n_print_stacktrace(ptr noundef %6455) #12
  %6457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6458 = trunc nuw i8 %6457 to i1
  br i1 %6458, label %6459, label %6463

6459:                                             ; preds = %6453
  %6460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6461 = call i32 @fileno(ptr noundef %6460) #12
  %6462 = call i32 @isatty(i32 noundef %6461) #12
  %.not791 = icmp eq i32 %6462, 0
  br i1 %.not791, label %6463, label %6464

6463:                                             ; preds = %6459, %6453
  br label %6464

6464:                                             ; preds = %6459, %6463
  %.str.81.sink3068 = phi ptr [ @.str.81, %6463 ], [ @.str.78, %6459 ]
  store i32 %6454, ptr %468, align 4, !tbaa !5
  %6465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6466 = load i32, ptr @test_count, align 4, !tbaa !5
  %6467 = load i32, ptr %414, align 4, !tbaa !5
  %6468 = call ptr @s2n_strerror(i32 noundef %6467, ptr noundef nonnull @.str.80) #12
  %6469 = load i32, ptr %414, align 4, !tbaa !5
  %6470 = call ptr @s2n_strerror_debug(i32 noundef %6469, ptr noundef nonnull @.str.80) #12
  %6471 = load i32, ptr %468, align 4, !tbaa !5
  %6472 = call ptr @strerror(i32 noundef %6471) #12
  %6473 = load i32, ptr %468, align 4, !tbaa !5
  %6474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6465, ptr noundef nonnull %.str.81.sink3068, i32 noundef %6466, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.77, i32 noundef 582, ptr noundef %6468, ptr noundef %6470, ptr noundef %6472, i32 noundef %6473) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6475:                                             ; preds = %6449
  %6476 = add nsw i32 %6423, 3
  store i32 %6476, ptr @test_count, align 4, !tbaa !5
  %6477 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef nonnull %61)
  br i1 %6477, label %6500, label %6478

6478:                                             ; preds = %6475
  %6479 = load i32, ptr %468, align 4, !tbaa !5
  %6480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6481 = call i32 @s2n_print_stacktrace(ptr noundef %6480) #12
  %6482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6483 = trunc nuw i8 %6482 to i1
  br i1 %6483, label %6484, label %6488

6484:                                             ; preds = %6478
  %6485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6486 = call i32 @fileno(ptr noundef %6485) #12
  %6487 = call i32 @isatty(i32 noundef %6486) #12
  %.not792 = icmp eq i32 %6487, 0
  br i1 %.not792, label %6488, label %6489

6488:                                             ; preds = %6484, %6478
  br label %6489

6489:                                             ; preds = %6484, %6488
  %.str.81.sink3077 = phi ptr [ @.str.81, %6488 ], [ @.str.78, %6484 ]
  store i32 %6479, ptr %468, align 4, !tbaa !5
  %6490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6491 = load i32, ptr @test_count, align 4, !tbaa !5
  %6492 = load i32, ptr %414, align 4, !tbaa !5
  %6493 = call ptr @s2n_strerror(i32 noundef %6492, ptr noundef nonnull @.str.80) #12
  %6494 = load i32, ptr %414, align 4, !tbaa !5
  %6495 = call ptr @s2n_strerror_debug(i32 noundef %6494, ptr noundef nonnull @.str.80) #12
  %6496 = load i32, ptr %468, align 4, !tbaa !5
  %6497 = call ptr @strerror(i32 noundef %6496) #12
  %6498 = load i32, ptr %468, align 4, !tbaa !5
  %6499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6490, ptr noundef nonnull %.str.81.sink3077, i32 noundef %6491, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.77, i32 noundef 584, ptr noundef %6493, ptr noundef %6495, ptr noundef %6497, i32 noundef %6498) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6500:                                             ; preds = %6475
  %6501 = load i32, ptr @test_count, align 4, !tbaa !5
  %6502 = add nsw i32 %6501, 1
  store i32 %6502, ptr @test_count, align 4, !tbaa !5
  %6503 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %61, ptr noundef nonnull %64)
  %6504 = icmp eq i32 %6503, -1
  br i1 %6504, label %6505, label %6527

6505:                                             ; preds = %6500
  %6506 = load i32, ptr %468, align 4, !tbaa !5
  %6507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6508 = call i32 @s2n_print_stacktrace(ptr noundef %6507) #12
  %6509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6510 = trunc nuw i8 %6509 to i1
  br i1 %6510, label %6511, label %6515

6511:                                             ; preds = %6505
  %6512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6513 = call i32 @fileno(ptr noundef %6512) #12
  %6514 = call i32 @isatty(i32 noundef %6513) #12
  %.not817 = icmp eq i32 %6514, 0
  br i1 %.not817, label %6515, label %6516

6515:                                             ; preds = %6511, %6505
  br label %6516

6516:                                             ; preds = %6511, %6515
  %.str.81.sink3086 = phi ptr [ @.str.81, %6515 ], [ @.str.78, %6511 ]
  store i32 %6506, ptr %468, align 4, !tbaa !5
  %6517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6518 = load i32, ptr @test_count, align 4, !tbaa !5
  %6519 = load i32, ptr %414, align 4, !tbaa !5
  %6520 = call ptr @s2n_strerror(i32 noundef %6519, ptr noundef nonnull @.str.80) #12
  %6521 = load i32, ptr %414, align 4, !tbaa !5
  %6522 = call ptr @s2n_strerror_debug(i32 noundef %6521, ptr noundef nonnull @.str.80) #12
  %6523 = load i32, ptr %468, align 4, !tbaa !5
  %6524 = call ptr @strerror(i32 noundef %6523) #12
  %6525 = load i32, ptr %468, align 4, !tbaa !5
  %6526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6517, ptr noundef nonnull %.str.81.sink3086, i32 noundef %6518, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.77, i32 noundef 585, ptr noundef %6520, ptr noundef %6522, ptr noundef %6524, i32 noundef %6525) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6527:                                             ; preds = %6500
  %6528 = load i32, ptr @test_count, align 4, !tbaa !5
  %6529 = add nsw i32 %6528, 1
  store i32 %6529, ptr @test_count, align 4, !tbaa !5
  %6530 = call i32 @s2n_offered_psk_get_identity(ptr noundef nonnull %64, ptr noundef nonnull %62, ptr noundef nonnull %63)
  %6531 = icmp eq i32 %6530, -1
  br i1 %6531, label %6532, label %6554

6532:                                             ; preds = %6527
  %6533 = load i32, ptr %468, align 4, !tbaa !5
  %6534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6535 = call i32 @s2n_print_stacktrace(ptr noundef %6534) #12
  %6536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6537 = trunc nuw i8 %6536 to i1
  br i1 %6537, label %6538, label %6542

6538:                                             ; preds = %6532
  %6539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6540 = call i32 @fileno(ptr noundef %6539) #12
  %6541 = call i32 @isatty(i32 noundef %6540) #12
  %.not816 = icmp eq i32 %6541, 0
  br i1 %.not816, label %6542, label %6543

6542:                                             ; preds = %6538, %6532
  br label %6543

6543:                                             ; preds = %6538, %6542
  %.str.81.sink3095 = phi ptr [ @.str.81, %6542 ], [ @.str.78, %6538 ]
  store i32 %6533, ptr %468, align 4, !tbaa !5
  %6544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6545 = load i32, ptr @test_count, align 4, !tbaa !5
  %6546 = load i32, ptr %414, align 4, !tbaa !5
  %6547 = call ptr @s2n_strerror(i32 noundef %6546, ptr noundef nonnull @.str.80) #12
  %6548 = load i32, ptr %414, align 4, !tbaa !5
  %6549 = call ptr @s2n_strerror_debug(i32 noundef %6548, ptr noundef nonnull @.str.80) #12
  %6550 = load i32, ptr %468, align 4, !tbaa !5
  %6551 = call ptr @strerror(i32 noundef %6550) #12
  %6552 = load i32, ptr %468, align 4, !tbaa !5
  %6553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6544, ptr noundef nonnull %.str.81.sink3095, i32 noundef %6545, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.77, i32 noundef 586, ptr noundef %6547, ptr noundef %6549, ptr noundef %6551, i32 noundef %6552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6554:                                             ; preds = %6527
  %6555 = load i32, ptr @test_count, align 4, !tbaa !5
  %6556 = add nsw i32 %6555, 1
  store i32 %6556, ptr @test_count, align 4, !tbaa !5
  %6557 = load i16, ptr %63, align 2, !tbaa !48
  %6558 = icmp eq i16 %6557, 4
  br i1 %6558, label %6581, label %6559

6559:                                             ; preds = %6554
  %6560 = load i32, ptr %468, align 4, !tbaa !5
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = call i32 @s2n_print_stacktrace(ptr noundef %6561) #12
  %6563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6564 = trunc nuw i8 %6563 to i1
  br i1 %6564, label %6565, label %6569

6565:                                             ; preds = %6559
  %6566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6567 = call i32 @fileno(ptr noundef %6566) #12
  %6568 = call i32 @isatty(i32 noundef %6567) #12
  %.not793 = icmp eq i32 %6568, 0
  br i1 %.not793, label %6569, label %6570

6569:                                             ; preds = %6565, %6559
  br label %6570

6570:                                             ; preds = %6565, %6569
  %.str.81.sink3104 = phi ptr [ @.str.81, %6569 ], [ @.str.78, %6565 ]
  store i32 %6560, ptr %468, align 4, !tbaa !5
  %6571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6572 = load i32, ptr @test_count, align 4, !tbaa !5
  %6573 = load i32, ptr %414, align 4, !tbaa !5
  %6574 = call ptr @s2n_strerror(i32 noundef %6573, ptr noundef nonnull @.str.80) #12
  %6575 = load i32, ptr %414, align 4, !tbaa !5
  %6576 = call ptr @s2n_strerror_debug(i32 noundef %6575, ptr noundef nonnull @.str.80) #12
  %6577 = load i32, ptr %468, align 4, !tbaa !5
  %6578 = call ptr @strerror(i32 noundef %6577) #12
  %6579 = load i32, ptr %468, align 4, !tbaa !5
  %6580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6571, ptr noundef nonnull %.str.81.sink3104, i32 noundef %6572, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.77, i32 noundef 587, ptr noundef %6574, ptr noundef %6576, ptr noundef %6578, i32 noundef %6579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6581:                                             ; preds = %6554
  %6582 = add nsw i32 %6555, 2
  store i32 %6582, ptr @test_count, align 4, !tbaa !5
  %6583 = load ptr, ptr %62, align 8, !tbaa !9
  %bcmp794 = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %6583, ptr noundef nonnull dereferenceable(4) %4, i64 4)
  %6584 = icmp eq i32 %bcmp794, 0
  br i1 %6584, label %6607, label %6585

6585:                                             ; preds = %6581
  %6586 = load i32, ptr %468, align 4, !tbaa !5
  %6587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6588 = call i32 @s2n_print_stacktrace(ptr noundef %6587) #12
  %6589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6590 = trunc nuw i8 %6589 to i1
  br i1 %6590, label %6591, label %6595

6591:                                             ; preds = %6585
  %6592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6593 = call i32 @fileno(ptr noundef %6592) #12
  %6594 = call i32 @isatty(i32 noundef %6593) #12
  %.not795 = icmp eq i32 %6594, 0
  br i1 %.not795, label %6595, label %6596

6595:                                             ; preds = %6591, %6585
  br label %6596

6596:                                             ; preds = %6591, %6595
  %.str.81.sink3113 = phi ptr [ @.str.81, %6595 ], [ @.str.78, %6591 ]
  store i32 %6586, ptr %468, align 4, !tbaa !5
  %6597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6598 = load i32, ptr @test_count, align 4, !tbaa !5
  %6599 = load i32, ptr %414, align 4, !tbaa !5
  %6600 = call ptr @s2n_strerror(i32 noundef %6599, ptr noundef nonnull @.str.80) #12
  %6601 = load i32, ptr %414, align 4, !tbaa !5
  %6602 = call ptr @s2n_strerror_debug(i32 noundef %6601, ptr noundef nonnull @.str.80) #12
  %6603 = load i32, ptr %468, align 4, !tbaa !5
  %6604 = call ptr @strerror(i32 noundef %6603) #12
  %6605 = load i32, ptr %468, align 4, !tbaa !5
  %6606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6597, ptr noundef nonnull %.str.81.sink3113, i32 noundef %6598, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.77, i32 noundef 588, ptr noundef %6600, ptr noundef %6602, ptr noundef %6604, i32 noundef %6605) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6607:                                             ; preds = %6581
  %6608 = add nsw i32 %6555, 3
  store i32 %6608, ptr @test_count, align 4, !tbaa !5
  %6609 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %61, ptr noundef nonnull %64)
  %6610 = icmp eq i32 %6609, -1
  br i1 %6610, label %6611, label %6633

6611:                                             ; preds = %6607
  %6612 = load i32, ptr %468, align 4, !tbaa !5
  %6613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6614 = call i32 @s2n_print_stacktrace(ptr noundef %6613) #12
  %6615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6616 = trunc nuw i8 %6615 to i1
  br i1 %6616, label %6617, label %6621

6617:                                             ; preds = %6611
  %6618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6619 = call i32 @fileno(ptr noundef %6618) #12
  %6620 = call i32 @isatty(i32 noundef %6619) #12
  %.not815 = icmp eq i32 %6620, 0
  br i1 %.not815, label %6621, label %6622

6621:                                             ; preds = %6617, %6611
  br label %6622

6622:                                             ; preds = %6617, %6621
  %.str.81.sink3122 = phi ptr [ @.str.81, %6621 ], [ @.str.78, %6617 ]
  store i32 %6612, ptr %468, align 4, !tbaa !5
  %6623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6624 = load i32, ptr @test_count, align 4, !tbaa !5
  %6625 = load i32, ptr %414, align 4, !tbaa !5
  %6626 = call ptr @s2n_strerror(i32 noundef %6625, ptr noundef nonnull @.str.80) #12
  %6627 = load i32, ptr %414, align 4, !tbaa !5
  %6628 = call ptr @s2n_strerror_debug(i32 noundef %6627, ptr noundef nonnull @.str.80) #12
  %6629 = load i32, ptr %468, align 4, !tbaa !5
  %6630 = call ptr @strerror(i32 noundef %6629) #12
  %6631 = load i32, ptr %468, align 4, !tbaa !5
  %6632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6623, ptr noundef nonnull %.str.81.sink3122, i32 noundef %6624, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.77, i32 noundef 590, ptr noundef %6626, ptr noundef %6628, ptr noundef %6630, i32 noundef %6631) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6633:                                             ; preds = %6607
  %6634 = load i32, ptr @test_count, align 4, !tbaa !5
  %6635 = add nsw i32 %6634, 1
  store i32 %6635, ptr @test_count, align 4, !tbaa !5
  %6636 = getelementptr inbounds i8, ptr %5975, i64 1736
  %6637 = load ptr, ptr %6636, align 8, !tbaa !57
  %6638 = load ptr, ptr %60, align 8, !tbaa !9
  %6639 = icmp eq ptr %6637, %6638
  br i1 %6639, label %6662, label %6640

6640:                                             ; preds = %6633
  %6641 = load i32, ptr %468, align 4, !tbaa !5
  %6642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6643 = call i32 @s2n_print_stacktrace(ptr noundef %6642) #12
  %6644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6645 = trunc nuw i8 %6644 to i1
  br i1 %6645, label %6646, label %6650

6646:                                             ; preds = %6640
  %6647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6648 = call i32 @fileno(ptr noundef %6647) #12
  %6649 = call i32 @isatty(i32 noundef %6648) #12
  %.not796 = icmp eq i32 %6649, 0
  br i1 %.not796, label %6650, label %6651

6650:                                             ; preds = %6646, %6640
  br label %6651

6651:                                             ; preds = %6646, %6650
  %.str.81.sink3131 = phi ptr [ @.str.81, %6650 ], [ @.str.78, %6646 ]
  store i32 %6641, ptr %468, align 4, !tbaa !5
  %6652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6653 = load i32, ptr @test_count, align 4, !tbaa !5
  %6654 = load i32, ptr %414, align 4, !tbaa !5
  %6655 = call ptr @s2n_strerror(i32 noundef %6654, ptr noundef nonnull @.str.80) #12
  %6656 = load i32, ptr %414, align 4, !tbaa !5
  %6657 = call ptr @s2n_strerror_debug(i32 noundef %6656, ptr noundef nonnull @.str.80) #12
  %6658 = load i32, ptr %468, align 4, !tbaa !5
  %6659 = call ptr @strerror(i32 noundef %6658) #12
  %6660 = load i32, ptr %468, align 4, !tbaa !5
  %6661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6652, ptr noundef nonnull %.str.81.sink3131, i32 noundef %6653, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.77, i32 noundef 591, ptr noundef %6655, ptr noundef %6657, ptr noundef %6659, i32 noundef %6660) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6662:                                             ; preds = %6633
  %6663 = add nsw i32 %6634, 2
  store i32 %6663, ptr @test_count, align 4, !tbaa !5
  %6664 = getelementptr inbounds i8, ptr %5975, i64 1730
  %6665 = load i16, ptr %6664, align 2, !tbaa !58
  %6666 = icmp eq i16 %6665, 1
  br i1 %6666, label %6689, label %6667

6667:                                             ; preds = %6662
  %6668 = load i32, ptr %468, align 4, !tbaa !5
  %6669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6670 = call i32 @s2n_print_stacktrace(ptr noundef %6669) #12
  %6671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6672 = trunc nuw i8 %6671 to i1
  br i1 %6672, label %6673, label %6677

6673:                                             ; preds = %6667
  %6674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6675 = call i32 @fileno(ptr noundef %6674) #12
  %6676 = call i32 @isatty(i32 noundef %6675) #12
  %.not797 = icmp eq i32 %6676, 0
  br i1 %.not797, label %6677, label %6678

6677:                                             ; preds = %6673, %6667
  br label %6678

6678:                                             ; preds = %6673, %6677
  %.str.81.sink3140 = phi ptr [ @.str.81, %6677 ], [ @.str.78, %6673 ]
  store i32 %6668, ptr %468, align 4, !tbaa !5
  %6679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6680 = load i32, ptr @test_count, align 4, !tbaa !5
  %6681 = load i32, ptr %414, align 4, !tbaa !5
  %6682 = call ptr @s2n_strerror(i32 noundef %6681, ptr noundef nonnull @.str.80) #12
  %6683 = load i32, ptr %414, align 4, !tbaa !5
  %6684 = call ptr @s2n_strerror_debug(i32 noundef %6683, ptr noundef nonnull @.str.80) #12
  %6685 = load i32, ptr %468, align 4, !tbaa !5
  %6686 = call ptr @strerror(i32 noundef %6685) #12
  %6687 = load i32, ptr %468, align 4, !tbaa !5
  %6688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6679, ptr noundef nonnull %.str.81.sink3140, i32 noundef %6680, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.77, i32 noundef 592, ptr noundef %6682, ptr noundef %6684, ptr noundef %6686, i32 noundef %6687) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6689:                                             ; preds = %6662
  %6690 = add nsw i32 %6634, 3
  store i32 %6690, ptr @test_count, align 4, !tbaa !5
  %6691 = call i32 @s2n_offered_psk_list_reread(ptr noundef nonnull %61)
  %6692 = icmp eq i32 %6691, -1
  br i1 %6692, label %6693, label %6715

6693:                                             ; preds = %6689
  %6694 = load i32, ptr %468, align 4, !tbaa !5
  %6695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6696 = call i32 @s2n_print_stacktrace(ptr noundef %6695) #12
  %6697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6698 = trunc nuw i8 %6697 to i1
  br i1 %6698, label %6699, label %6703

6699:                                             ; preds = %6693
  %6700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6701 = call i32 @fileno(ptr noundef %6700) #12
  %6702 = call i32 @isatty(i32 noundef %6701) #12
  %.not814 = icmp eq i32 %6702, 0
  br i1 %.not814, label %6703, label %6704

6703:                                             ; preds = %6699, %6693
  br label %6704

6704:                                             ; preds = %6699, %6703
  %.str.81.sink3149 = phi ptr [ @.str.81, %6703 ], [ @.str.78, %6699 ]
  store i32 %6694, ptr %468, align 4, !tbaa !5
  %6705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6706 = load i32, ptr @test_count, align 4, !tbaa !5
  %6707 = load i32, ptr %414, align 4, !tbaa !5
  %6708 = call ptr @s2n_strerror(i32 noundef %6707, ptr noundef nonnull @.str.80) #12
  %6709 = load i32, ptr %414, align 4, !tbaa !5
  %6710 = call ptr @s2n_strerror_debug(i32 noundef %6709, ptr noundef nonnull @.str.80) #12
  %6711 = load i32, ptr %468, align 4, !tbaa !5
  %6712 = call ptr @strerror(i32 noundef %6711) #12
  %6713 = load i32, ptr %468, align 4, !tbaa !5
  %6714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6705, ptr noundef nonnull %.str.81.sink3149, i32 noundef %6706, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.77, i32 noundef 594, ptr noundef %6708, ptr noundef %6710, ptr noundef %6712, i32 noundef %6713) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6715:                                             ; preds = %6689
  %6716 = load i32, ptr @test_count, align 4, !tbaa !5
  %6717 = add nsw i32 %6716, 1
  store i32 %6717, ptr @test_count, align 4, !tbaa !5
  %6718 = call zeroext i1 @s2n_offered_psk_list_has_next(ptr noundef nonnull %61)
  br i1 %6718, label %6741, label %6719

6719:                                             ; preds = %6715
  %6720 = load i32, ptr %468, align 4, !tbaa !5
  %6721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6722 = call i32 @s2n_print_stacktrace(ptr noundef %6721) #12
  %6723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6724 = trunc nuw i8 %6723 to i1
  br i1 %6724, label %6725, label %6729

6725:                                             ; preds = %6719
  %6726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6727 = call i32 @fileno(ptr noundef %6726) #12
  %6728 = call i32 @isatty(i32 noundef %6727) #12
  %.not798 = icmp eq i32 %6728, 0
  br i1 %.not798, label %6729, label %6730

6729:                                             ; preds = %6725, %6719
  br label %6730

6730:                                             ; preds = %6725, %6729
  %.str.81.sink3158 = phi ptr [ @.str.81, %6729 ], [ @.str.78, %6725 ]
  store i32 %6720, ptr %468, align 4, !tbaa !5
  %6731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6732 = load i32, ptr @test_count, align 4, !tbaa !5
  %6733 = load i32, ptr %414, align 4, !tbaa !5
  %6734 = call ptr @s2n_strerror(i32 noundef %6733, ptr noundef nonnull @.str.80) #12
  %6735 = load i32, ptr %414, align 4, !tbaa !5
  %6736 = call ptr @s2n_strerror_debug(i32 noundef %6735, ptr noundef nonnull @.str.80) #12
  %6737 = load i32, ptr %468, align 4, !tbaa !5
  %6738 = call ptr @strerror(i32 noundef %6737) #12
  %6739 = load i32, ptr %468, align 4, !tbaa !5
  %6740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6731, ptr noundef nonnull %.str.81.sink3158, i32 noundef %6732, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.77, i32 noundef 596, ptr noundef %6734, ptr noundef %6736, ptr noundef %6738, i32 noundef %6739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6741:                                             ; preds = %6715
  %6742 = load i32, ptr @test_count, align 4, !tbaa !5
  %6743 = add nsw i32 %6742, 1
  store i32 %6743, ptr @test_count, align 4, !tbaa !5
  %6744 = call i32 @s2n_offered_psk_list_next(ptr noundef nonnull %61, ptr noundef nonnull %64)
  %6745 = icmp eq i32 %6744, -1
  br i1 %6745, label %6746, label %6768

6746:                                             ; preds = %6741
  %6747 = load i32, ptr %468, align 4, !tbaa !5
  %6748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6749 = call i32 @s2n_print_stacktrace(ptr noundef %6748) #12
  %6750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6751 = trunc nuw i8 %6750 to i1
  br i1 %6751, label %6752, label %6756

6752:                                             ; preds = %6746
  %6753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6754 = call i32 @fileno(ptr noundef %6753) #12
  %6755 = call i32 @isatty(i32 noundef %6754) #12
  %.not813 = icmp eq i32 %6755, 0
  br i1 %.not813, label %6756, label %6757

6756:                                             ; preds = %6752, %6746
  br label %6757

6757:                                             ; preds = %6752, %6756
  %.str.81.sink3167 = phi ptr [ @.str.81, %6756 ], [ @.str.78, %6752 ]
  store i32 %6747, ptr %468, align 4, !tbaa !5
  %6758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6759 = load i32, ptr @test_count, align 4, !tbaa !5
  %6760 = load i32, ptr %414, align 4, !tbaa !5
  %6761 = call ptr @s2n_strerror(i32 noundef %6760, ptr noundef nonnull @.str.80) #12
  %6762 = load i32, ptr %414, align 4, !tbaa !5
  %6763 = call ptr @s2n_strerror_debug(i32 noundef %6762, ptr noundef nonnull @.str.80) #12
  %6764 = load i32, ptr %468, align 4, !tbaa !5
  %6765 = call ptr @strerror(i32 noundef %6764) #12
  %6766 = load i32, ptr %468, align 4, !tbaa !5
  %6767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6758, ptr noundef nonnull %.str.81.sink3167, i32 noundef %6759, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.77, i32 noundef 597, ptr noundef %6761, ptr noundef %6763, ptr noundef %6765, i32 noundef %6766) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6768:                                             ; preds = %6741
  %6769 = load i32, ptr @test_count, align 4, !tbaa !5
  %6770 = add nsw i32 %6769, 1
  store i32 %6770, ptr @test_count, align 4, !tbaa !5
  %6771 = call i32 @s2n_offered_psk_get_identity(ptr noundef nonnull %64, ptr noundef nonnull %62, ptr noundef nonnull %63)
  %6772 = icmp eq i32 %6771, -1
  br i1 %6772, label %6773, label %6795

6773:                                             ; preds = %6768
  %6774 = load i32, ptr %468, align 4, !tbaa !5
  %6775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6776 = call i32 @s2n_print_stacktrace(ptr noundef %6775) #12
  %6777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6778 = trunc nuw i8 %6777 to i1
  br i1 %6778, label %6779, label %6783

6779:                                             ; preds = %6773
  %6780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6781 = call i32 @fileno(ptr noundef %6780) #12
  %6782 = call i32 @isatty(i32 noundef %6781) #12
  %.not812 = icmp eq i32 %6782, 0
  br i1 %.not812, label %6783, label %6784

6783:                                             ; preds = %6779, %6773
  br label %6784

6784:                                             ; preds = %6779, %6783
  %.str.81.sink3176 = phi ptr [ @.str.81, %6783 ], [ @.str.78, %6779 ]
  store i32 %6774, ptr %468, align 4, !tbaa !5
  %6785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6786 = load i32, ptr @test_count, align 4, !tbaa !5
  %6787 = load i32, ptr %414, align 4, !tbaa !5
  %6788 = call ptr @s2n_strerror(i32 noundef %6787, ptr noundef nonnull @.str.80) #12
  %6789 = load i32, ptr %414, align 4, !tbaa !5
  %6790 = call ptr @s2n_strerror_debug(i32 noundef %6789, ptr noundef nonnull @.str.80) #12
  %6791 = load i32, ptr %468, align 4, !tbaa !5
  %6792 = call ptr @strerror(i32 noundef %6791) #12
  %6793 = load i32, ptr %468, align 4, !tbaa !5
  %6794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6785, ptr noundef nonnull %.str.81.sink3176, i32 noundef %6786, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.77, i32 noundef 598, ptr noundef %6788, ptr noundef %6790, ptr noundef %6792, i32 noundef %6793) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6795:                                             ; preds = %6768
  %6796 = load i32, ptr @test_count, align 4, !tbaa !5
  %6797 = add nsw i32 %6796, 1
  store i32 %6797, ptr @test_count, align 4, !tbaa !5
  %6798 = load i16, ptr %63, align 2, !tbaa !48
  %6799 = icmp eq i16 %6798, 4
  br i1 %6799, label %6822, label %6800

6800:                                             ; preds = %6795
  %6801 = load i32, ptr %468, align 4, !tbaa !5
  %6802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6803 = call i32 @s2n_print_stacktrace(ptr noundef %6802) #12
  %6804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6805 = trunc nuw i8 %6804 to i1
  br i1 %6805, label %6806, label %6810

6806:                                             ; preds = %6800
  %6807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6808 = call i32 @fileno(ptr noundef %6807) #12
  %6809 = call i32 @isatty(i32 noundef %6808) #12
  %.not799 = icmp eq i32 %6809, 0
  br i1 %.not799, label %6810, label %6811

6810:                                             ; preds = %6806, %6800
  br label %6811

6811:                                             ; preds = %6806, %6810
  %.str.81.sink3185 = phi ptr [ @.str.81, %6810 ], [ @.str.78, %6806 ]
  store i32 %6801, ptr %468, align 4, !tbaa !5
  %6812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6813 = load i32, ptr @test_count, align 4, !tbaa !5
  %6814 = load i32, ptr %414, align 4, !tbaa !5
  %6815 = call ptr @s2n_strerror(i32 noundef %6814, ptr noundef nonnull @.str.80) #12
  %6816 = load i32, ptr %414, align 4, !tbaa !5
  %6817 = call ptr @s2n_strerror_debug(i32 noundef %6816, ptr noundef nonnull @.str.80) #12
  %6818 = load i32, ptr %468, align 4, !tbaa !5
  %6819 = call ptr @strerror(i32 noundef %6818) #12
  %6820 = load i32, ptr %468, align 4, !tbaa !5
  %6821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6812, ptr noundef nonnull %.str.81.sink3185, i32 noundef %6813, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.77, i32 noundef 599, ptr noundef %6815, ptr noundef %6817, ptr noundef %6819, i32 noundef %6820) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6822:                                             ; preds = %6795
  %6823 = add nsw i32 %6796, 2
  store i32 %6823, ptr @test_count, align 4, !tbaa !5
  %6824 = load ptr, ptr %62, align 8, !tbaa !9
  %bcmp800 = call i32 @bcmp(ptr noundef nonnull dereferenceable(4) %6824, ptr noundef nonnull dereferenceable(4) %3, i64 4)
  %6825 = icmp eq i32 %bcmp800, 0
  br i1 %6825, label %6848, label %6826

6826:                                             ; preds = %6822
  %6827 = load i32, ptr %468, align 4, !tbaa !5
  %6828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6829 = call i32 @s2n_print_stacktrace(ptr noundef %6828) #12
  %6830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6831 = trunc nuw i8 %6830 to i1
  br i1 %6831, label %6832, label %6836

6832:                                             ; preds = %6826
  %6833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6834 = call i32 @fileno(ptr noundef %6833) #12
  %6835 = call i32 @isatty(i32 noundef %6834) #12
  %.not801 = icmp eq i32 %6835, 0
  br i1 %.not801, label %6836, label %6837

6836:                                             ; preds = %6832, %6826
  br label %6837

6837:                                             ; preds = %6832, %6836
  %.str.81.sink3194 = phi ptr [ @.str.81, %6836 ], [ @.str.78, %6832 ]
  store i32 %6827, ptr %468, align 4, !tbaa !5
  %6838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6839 = load i32, ptr @test_count, align 4, !tbaa !5
  %6840 = load i32, ptr %414, align 4, !tbaa !5
  %6841 = call ptr @s2n_strerror(i32 noundef %6840, ptr noundef nonnull @.str.80) #12
  %6842 = load i32, ptr %414, align 4, !tbaa !5
  %6843 = call ptr @s2n_strerror_debug(i32 noundef %6842, ptr noundef nonnull @.str.80) #12
  %6844 = load i32, ptr %468, align 4, !tbaa !5
  %6845 = call ptr @strerror(i32 noundef %6844) #12
  %6846 = load i32, ptr %468, align 4, !tbaa !5
  %6847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6838, ptr noundef nonnull %.str.81.sink3194, i32 noundef %6839, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.77, i32 noundef 600, ptr noundef %6841, ptr noundef %6843, ptr noundef %6845, i32 noundef %6846) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6848:                                             ; preds = %6822
  %6849 = add nsw i32 %6796, 3
  store i32 %6849, ptr @test_count, align 4, !tbaa !5
  %6850 = call i32 @s2n_offered_psk_list_choose_psk(ptr noundef nonnull %61, ptr noundef nonnull %64)
  %6851 = icmp eq i32 %6850, -1
  br i1 %6851, label %6852, label %6874

6852:                                             ; preds = %6848
  %6853 = load i32, ptr %468, align 4, !tbaa !5
  %6854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6855 = call i32 @s2n_print_stacktrace(ptr noundef %6854) #12
  %6856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6857 = trunc nuw i8 %6856 to i1
  br i1 %6857, label %6858, label %6862

6858:                                             ; preds = %6852
  %6859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6860 = call i32 @fileno(ptr noundef %6859) #12
  %6861 = call i32 @isatty(i32 noundef %6860) #12
  %.not811 = icmp eq i32 %6861, 0
  br i1 %.not811, label %6862, label %6863

6862:                                             ; preds = %6858, %6852
  br label %6863

6863:                                             ; preds = %6858, %6862
  %.str.81.sink3203 = phi ptr [ @.str.81, %6862 ], [ @.str.78, %6858 ]
  store i32 %6853, ptr %468, align 4, !tbaa !5
  %6864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6865 = load i32, ptr @test_count, align 4, !tbaa !5
  %6866 = load i32, ptr %414, align 4, !tbaa !5
  %6867 = call ptr @s2n_strerror(i32 noundef %6866, ptr noundef nonnull @.str.80) #12
  %6868 = load i32, ptr %414, align 4, !tbaa !5
  %6869 = call ptr @s2n_strerror_debug(i32 noundef %6868, ptr noundef nonnull @.str.80) #12
  %6870 = load i32, ptr %468, align 4, !tbaa !5
  %6871 = call ptr @strerror(i32 noundef %6870) #12
  %6872 = load i32, ptr %468, align 4, !tbaa !5
  %6873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6864, ptr noundef nonnull %.str.81.sink3203, i32 noundef %6865, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.77, i32 noundef 602, ptr noundef %6867, ptr noundef %6869, ptr noundef %6871, i32 noundef %6872) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6874:                                             ; preds = %6848
  %6875 = load i32, ptr @test_count, align 4, !tbaa !5
  %6876 = add nsw i32 %6875, 1
  store i32 %6876, ptr @test_count, align 4, !tbaa !5
  %6877 = load ptr, ptr %6636, align 8, !tbaa !57
  %6878 = load ptr, ptr %59, align 8, !tbaa !9
  %6879 = icmp eq ptr %6877, %6878
  br i1 %6879, label %6902, label %6880

6880:                                             ; preds = %6874
  %6881 = load i32, ptr %468, align 4, !tbaa !5
  %6882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6883 = call i32 @s2n_print_stacktrace(ptr noundef %6882) #12
  %6884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6885 = trunc nuw i8 %6884 to i1
  br i1 %6885, label %6886, label %6890

6886:                                             ; preds = %6880
  %6887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6888 = call i32 @fileno(ptr noundef %6887) #12
  %6889 = call i32 @isatty(i32 noundef %6888) #12
  %.not802 = icmp eq i32 %6889, 0
  br i1 %.not802, label %6890, label %6891

6890:                                             ; preds = %6886, %6880
  br label %6891

6891:                                             ; preds = %6886, %6890
  %.str.81.sink3212 = phi ptr [ @.str.81, %6890 ], [ @.str.78, %6886 ]
  store i32 %6881, ptr %468, align 4, !tbaa !5
  %6892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6893 = load i32, ptr @test_count, align 4, !tbaa !5
  %6894 = load i32, ptr %414, align 4, !tbaa !5
  %6895 = call ptr @s2n_strerror(i32 noundef %6894, ptr noundef nonnull @.str.80) #12
  %6896 = load i32, ptr %414, align 4, !tbaa !5
  %6897 = call ptr @s2n_strerror_debug(i32 noundef %6896, ptr noundef nonnull @.str.80) #12
  %6898 = load i32, ptr %468, align 4, !tbaa !5
  %6899 = call ptr @strerror(i32 noundef %6898) #12
  %6900 = load i32, ptr %468, align 4, !tbaa !5
  %6901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6892, ptr noundef nonnull %.str.81.sink3212, i32 noundef %6893, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 603, ptr noundef %6895, ptr noundef %6897, ptr noundef %6899, i32 noundef %6900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6902:                                             ; preds = %6874
  %6903 = add nsw i32 %6875, 2
  store i32 %6903, ptr @test_count, align 4, !tbaa !5
  %6904 = load i16, ptr %6664, align 2, !tbaa !58
  %6905 = icmp eq i16 %6904, 0
  br i1 %6905, label %6928, label %6906

6906:                                             ; preds = %6902
  %6907 = load i32, ptr %468, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @s2n_print_stacktrace(ptr noundef %6908) #12
  %6910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6911 = trunc nuw i8 %6910 to i1
  br i1 %6911, label %6912, label %6916

6912:                                             ; preds = %6906
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = call i32 @fileno(ptr noundef %6913) #12
  %6915 = call i32 @isatty(i32 noundef %6914) #12
  %.not803 = icmp eq i32 %6915, 0
  br i1 %.not803, label %6916, label %6917

6916:                                             ; preds = %6912, %6906
  br label %6917

6917:                                             ; preds = %6912, %6916
  %.str.81.sink3221 = phi ptr [ @.str.81, %6916 ], [ @.str.78, %6912 ]
  store i32 %6907, ptr %468, align 4, !tbaa !5
  %6918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6919 = load i32, ptr @test_count, align 4, !tbaa !5
  %6920 = load i32, ptr %414, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror(i32 noundef %6920, ptr noundef nonnull @.str.80) #12
  %6922 = load i32, ptr %414, align 4, !tbaa !5
  %6923 = call ptr @s2n_strerror_debug(i32 noundef %6922, ptr noundef nonnull @.str.80) #12
  %6924 = load i32, ptr %468, align 4, !tbaa !5
  %6925 = call ptr @strerror(i32 noundef %6924) #12
  %6926 = load i32, ptr %468, align 4, !tbaa !5
  %6927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6918, ptr noundef nonnull %.str.81.sink3221, i32 noundef %6919, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.77, i32 noundef 604, ptr noundef %6921, ptr noundef %6923, ptr noundef %6925, i32 noundef %6926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6928:                                             ; preds = %6902
  %6929 = add nsw i32 %6875, 3
  store i32 %6929, ptr @test_count, align 4, !tbaa !5
  %6930 = call i32 @s2n_connection_free(ptr noundef nonnull %5975) #12
  %6931 = icmp eq i32 %6930, -1
  br i1 %6931, label %6932, label %6954

6932:                                             ; preds = %6928
  %6933 = load i32, ptr %468, align 4, !tbaa !5
  %6934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6935 = call i32 @s2n_print_stacktrace(ptr noundef %6934) #12
  %6936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6937 = trunc nuw i8 %6936 to i1
  br i1 %6937, label %6938, label %6942

6938:                                             ; preds = %6932
  %6939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6940 = call i32 @fileno(ptr noundef %6939) #12
  %6941 = call i32 @isatty(i32 noundef %6940) #12
  %.not810 = icmp eq i32 %6941, 0
  br i1 %.not810, label %6942, label %6943

6942:                                             ; preds = %6938, %6932
  br label %6943

6943:                                             ; preds = %6938, %6942
  %.str.81.sink3230 = phi ptr [ @.str.81, %6942 ], [ @.str.78, %6938 ]
  store i32 %6933, ptr %468, align 4, !tbaa !5
  %6944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6945 = load i32, ptr @test_count, align 4, !tbaa !5
  %6946 = load i32, ptr %414, align 4, !tbaa !5
  %6947 = call ptr @s2n_strerror(i32 noundef %6946, ptr noundef nonnull @.str.80) #12
  %6948 = load i32, ptr %414, align 4, !tbaa !5
  %6949 = call ptr @s2n_strerror_debug(i32 noundef %6948, ptr noundef nonnull @.str.80) #12
  %6950 = load i32, ptr %468, align 4, !tbaa !5
  %6951 = call ptr @strerror(i32 noundef %6950) #12
  %6952 = load i32, ptr %468, align 4, !tbaa !5
  %6953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6944, ptr noundef nonnull %.str.81.sink3230, i32 noundef %6945, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.77, i32 noundef 606, ptr noundef %6947, ptr noundef %6949, ptr noundef %6951, i32 noundef %6952) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6954:                                             ; preds = %6928
  %6955 = load i32, ptr @test_count, align 4, !tbaa !5
  %6956 = add nsw i32 %6955, 1
  store i32 %6956, ptr @test_count, align 4, !tbaa !5
  %6957 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6289) #12
  %6958 = icmp eq i32 %6957, -1
  br i1 %6958, label %6959, label %6981

6959:                                             ; preds = %6954
  %6960 = load i32, ptr %468, align 4, !tbaa !5
  %6961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6962 = call i32 @s2n_print_stacktrace(ptr noundef %6961) #12
  %6963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6964 = trunc nuw i8 %6963 to i1
  br i1 %6964, label %6965, label %6969

6965:                                             ; preds = %6959
  %6966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6967 = call i32 @fileno(ptr noundef %6966) #12
  %6968 = call i32 @isatty(i32 noundef %6967) #12
  %.not809 = icmp eq i32 %6968, 0
  br i1 %.not809, label %6969, label %6970

6969:                                             ; preds = %6965, %6959
  br label %6970

6970:                                             ; preds = %6965, %6969
  %.str.81.sink3239 = phi ptr [ @.str.81, %6969 ], [ @.str.78, %6965 ]
  store i32 %6960, ptr %468, align 4, !tbaa !5
  %6971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6972 = load i32, ptr @test_count, align 4, !tbaa !5
  %6973 = load i32, ptr %414, align 4, !tbaa !5
  %6974 = call ptr @s2n_strerror(i32 noundef %6973, ptr noundef nonnull @.str.80) #12
  %6975 = load i32, ptr %414, align 4, !tbaa !5
  %6976 = call ptr @s2n_strerror_debug(i32 noundef %6975, ptr noundef nonnull @.str.80) #12
  %6977 = load i32, ptr %468, align 4, !tbaa !5
  %6978 = call ptr @strerror(i32 noundef %6977) #12
  %6979 = load i32, ptr %468, align 4, !tbaa !5
  %6980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6971, ptr noundef nonnull %.str.81.sink3239, i32 noundef %6972, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.77, i32 noundef 607, ptr noundef %6974, ptr noundef %6976, ptr noundef %6978, i32 noundef %6979) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6981:                                             ; preds = %6954
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %63) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #12
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %61) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %58) #12
  %6982 = call i32 @s2n_cleanup() #12
  %6983 = icmp eq i32 %6982, -1
  br i1 %6983, label %6984, label %7006

6984:                                             ; preds = %6981
  %6985 = load i32, ptr %468, align 4, !tbaa !5
  %6986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6987 = call i32 @s2n_print_stacktrace(ptr noundef %6986) #12
  %6988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6989 = trunc nuw i8 %6988 to i1
  br i1 %6989, label %6990, label %6994

6990:                                             ; preds = %6984
  %6991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6992 = call i32 @fileno(ptr noundef %6991) #12
  %6993 = call i32 @isatty(i32 noundef %6992) #12
  %.not808 = icmp eq i32 %6993, 0
  br i1 %.not808, label %6994, label %6995

6994:                                             ; preds = %6990, %6984
  br label %6995

6995:                                             ; preds = %6990, %6994
  %.str.81.sink3248 = phi ptr [ @.str.81, %6994 ], [ @.str.78, %6990 ]
  store i32 %6985, ptr %468, align 4, !tbaa !5
  %6996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6997 = load i32, ptr @test_count, align 4, !tbaa !5
  %6998 = load i32, ptr %414, align 4, !tbaa !5
  %6999 = call ptr @s2n_strerror(i32 noundef %6998, ptr noundef nonnull @.str.80) #12
  %7000 = load i32, ptr %414, align 4, !tbaa !5
  %7001 = call ptr @s2n_strerror_debug(i32 noundef %7000, ptr noundef nonnull @.str.80) #12
  %7002 = load i32, ptr %468, align 4, !tbaa !5
  %7003 = call ptr @strerror(i32 noundef %7002) #12
  %7004 = load i32, ptr %468, align 4, !tbaa !5
  %7005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6996, ptr noundef nonnull %.str.81.sink3248, i32 noundef %6997, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 610, ptr noundef %6999, ptr noundef %7001, ptr noundef %7003, i32 noundef %7004) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7006:                                             ; preds = %6981
  %7007 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %7008 = icmp eq i32 %7007, -1
  br i1 %7008, label %7009, label %7031

7009:                                             ; preds = %7006
  %7010 = load i32, ptr %468, align 4, !tbaa !5
  %7011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7012 = call i32 @s2n_print_stacktrace(ptr noundef %7011) #12
  %7013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7014 = trunc nuw i8 %7013 to i1
  br i1 %7014, label %7015, label %7019

7015:                                             ; preds = %7009
  %7016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7017 = call i32 @fileno(ptr noundef %7016) #12
  %7018 = call i32 @isatty(i32 noundef %7017) #12
  %.not807 = icmp eq i32 %7018, 0
  br i1 %.not807, label %7019, label %7020

7019:                                             ; preds = %7015, %7009
  br label %7020

7020:                                             ; preds = %7015, %7019
  %.str.81.sink3257 = phi ptr [ @.str.81, %7019 ], [ @.str.78, %7015 ]
  store i32 %7010, ptr %468, align 4, !tbaa !5
  %7021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7022 = load i32, ptr @test_count, align 4, !tbaa !5
  %7023 = load i32, ptr %414, align 4, !tbaa !5
  %7024 = call ptr @s2n_strerror(i32 noundef %7023, ptr noundef nonnull @.str.80) #12
  %7025 = load i32, ptr %414, align 4, !tbaa !5
  %7026 = call ptr @s2n_strerror_debug(i32 noundef %7025, ptr noundef nonnull @.str.80) #12
  %7027 = load i32, ptr %468, align 4, !tbaa !5
  %7028 = call ptr @strerror(i32 noundef %7027) #12
  %7029 = load i32, ptr %468, align 4, !tbaa !5
  %7030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7021, ptr noundef nonnull %.str.81.sink3257, i32 noundef %7022, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.77, i32 noundef 610, ptr noundef %7024, ptr noundef %7026, ptr noundef %7028, i32 noundef %7029) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7031:                                             ; preds = %7006
  %7032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7033 = trunc nuw i8 %7032 to i1
  br i1 %7033, label %7034, label %7045

7034:                                             ; preds = %7031
  %7035 = load ptr, ptr @stdout, align 8, !tbaa !9
  %7036 = call i32 @fileno(ptr noundef %7035) #12
  %7037 = call i32 @isatty(i32 noundef %7036) #12
  %.not804 = icmp eq i32 %7037, 0
  br i1 %.not804, label %7045, label %7038

7038:                                             ; preds = %7034
  %7039 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not806 = icmp eq i32 %7039, 0
  %7040 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not806, label %7043, label %7041

7041:                                             ; preds = %7038
  %7042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7040, ptr noundef nonnull @.str.201, i32 noundef %7039) #12
  br label %7052

7043:                                             ; preds = %7038
  %7044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7040, ptr noundef nonnull @.str.202) #12
  br label %7052

7045:                                             ; preds = %7034, %7031
  %7046 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not805 = icmp eq i32 %7046, 0
  %7047 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not805, label %7050, label %7048

7048:                                             ; preds = %7045
  %7049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7047, ptr noundef nonnull @.str.203, i32 noundef %7046) #12
  br label %7052

7050:                                             ; preds = %7045
  %7051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7047, ptr noundef nonnull @.str.204) #12
  br label %7052

7052:                                             ; preds = %7043, %7041, %7050, %7048
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #12
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #7

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #7

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #6

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #8

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #6

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

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #6

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #6

; 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 #6

declare i32 @s2n_init() local_unnamed_addr #6

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #6

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #6

declare void @s2n_debug_info_reset() local_unnamed_addr #6

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #6

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_write_test_identity(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #0

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #6

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #4

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) local_unnamed_addr #6

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #6

declare i32 @s2n_stuffer_write_uint32(ptr noundef, i32 noundef) local_unnamed_addr #6

declare i32 @s2n_array_pushback(ptr noundef, ptr noundef) local_unnamed_addr #6

declare ptr @s2n_config_new() local_unnamed_addr #6

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) local_unnamed_addr #6

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #6

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

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #6

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) local_unnamed_addr #6

declare i32 @s2n_cleanup() local_unnamed_addr #6

; 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 speculatable willreturn memory(none) }
attributes #2 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { 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 #5 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { "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 = { 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 #8 = { 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 #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 8}
!16 = !{!"s2n_offered_psk", !17, i64 0, !18, i64 24, !6, i64 28}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!"short", !7, i64 0}
!19 = !{!16, !10, i64 0}
!20 = !{!21, !10, i64 0}
!21 = !{!"s2n_offered_psk_list", !10, i64 0, !22, i64 8, !18, i64 48}
!22 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!23 = !{!24, !6, i64 1688}
!24 = !{!"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, !25, i64 160, !26, i64 168, !26, 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, !27, i64 240, !10, i64 632, !10, i64 640, !28, i64 648, !33, i64 1144, !36, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !22, i64 1776, !22, i64 1816, !22, i64 1856, !22, i64 1896, !6, i64 1936, !26, i64 1944, !7, i64 1952, !22, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !38, i64 2004, !38, i64 2008, !39, i64 2016, !18, i64 2208, !6, i64 2212, !18, i64 2216, !26, i64 2224, !7, i64 2232, !26, i64 2240, !26, i64 2248, !26, i64 2256, !38, i64 2264, !38, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !17, i64 2792, !6, i64 2816, !17, i64 2824, !17, i64 2848, !17, i64 2872, !41, i64 2896, !43, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !17, i64 3784, !6, i64 3808, !45, i64 3816, !7, i64 3848, !22, i64 3992, !17, i64 4032, !17, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !18, i64 4084, !18, i64 4086, !6, i64 4088, !6, i64 4092, !17, i64 4096, !6, i64 4120, !46, i64 4128, !38, i64 4176, !7, i64 4180, !7, i64 4181}
!25 = !{!"s2n_timer", !26, i64 0}
!26 = !{!"long", !7, i64 0}
!27 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!28 = !{!"s2n_kex_parameters", !29, i64 0, !30, i64 8, !7, i64 24, !30, i64 56, !31, i64 72, !31, i64 184, !7, i64 296, !32, i64 360, !17, i64 448, !17, i64 472}
!29 = !{!"s2n_dh_params", !10, i64 0}
!30 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!31 = !{!"s2n_kem_group_params", !10, i64 0, !32, i64 8, !30, i64 96}
!32 = !{!"s2n_kem_params", !10, i64 0, !17, i64 8, !17, i64 32, !17, i64 56, !12, i64 80}
!33 = !{!"s2n_handshake_parameters", !34, i64 0, !34, i64 48, !17, i64 96, !6, i64 120, !35, 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}
!34 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!35 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!36 = !{!"s2n_psk_parameters", !6, i64 0, !37, i64 8, !18, i64 40, !18, i64 42, !10, i64 48, !6, i64 56}
!37 = !{!"s2n_array", !17, i64 0, !6, i64 24, !6, i64 28}
!38 = !{!"", !6, i64 0}
!39 = !{!"s2n_handshake", !22, 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, !40, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!40 = !{!"s2n_offered_early_data", !10, i64 0}
!41 = !{!"s2n_client_hello", !17, i64 0, !42, i64 24, !17, i64 728, !17, i64 752, !17, 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}
!42 = !{!"", !7, i64 0, !17, i64 672, !18, i64 696}
!43 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !18, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !44, i64 48, !12, i64 52}
!44 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!45 = !{!"s2n_ticket_fields", !17, i64 0, !6, i64 24}
!46 = !{!"s2n_post_handshake", !22, i64 0, !7, i64 40}
!47 = !{!16, !6, i64 28}
!48 = !{!18, !18, i64 0}
!49 = !{!24, !10, i64 8}
!50 = !{!51, !26, i64 144}
!51 = !{!"s2n_config", !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, !10, i64 8, !10, i64 16, !52, i64 24, !17, i64 56, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !6, i64 128, !6, i64 132, !10, i64 136, !26, i64 144, !10, i64 152, !26, i64 160, !26, i64 168, !10, i64 176, !10, i64 184, !10, i64 192, !10, i64 200, !10, i64 208, !10, i64 216, !6, i64 224, !7, i64 228, !6, i64 232, !6, i64 236, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !7, i64 296, !7, i64 297, !53, i64 304, !18, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !6, i64 392, !6, i64 396, !6, i64 400, !10, i64 408, !6, i64 416, !6, i64 420, !10, i64 424, !10, i64 432, !6, i64 440, !17, i64 448}
!52 = !{!"certs_by_type", !7, i64 0}
!53 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!54 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 1, !55}
!55 = !{!7, !7, i64 0}
!56 = !{!16, !18, i64 24}
!57 = !{!24, !10, i64 1736}
!58 = !{!24, !18, i64 1730}
!59 = !{!24, !7, i64 220}
!60 = !{!24, !10, i64 232}
!61 = !{!62, !10, i64 0}
!62 = !{!"s2n_crypto_parameters", !10, i64 0, !63, i64 8, !63, i64 16, !64, i64 24, !64, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!63 = !{!"s2n_session_key", !10, i64 0}
!64 = !{!"s2n_hmac_state", !6, i64 0, !18, i64 4, !6, i64 8, !18, i64 12, !7, i64 14, !65, i64 16, !65, i64 72, !65, i64 128, !65, i64 184, !7, i64 240, !7, i64 368}
!65 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !26, i64 16, !7, i64 24}
!66 = !{!22, !10, i64 0}
!67 = !{!22, !6, i64 8}
!68 = !{!22, !6, i64 28}
!69 = !{!22, !6, i64 24}
!70 = !{!71, !6, i64 56}
!71 = !{!"s2n_psk", !6, i64 0, !17, i64 8, !17, i64 32, !6, i64 56, !6, i64 60, !26, i64 64, !17, i64 72, !72, i64 96, !26, i64 160}
!72 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !17, i64 16, !17, i64 40}
!73 = !{!74, !6, i64 96}
!74 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!75 = !{!76, !10, i64 8}
!76 = !{!"", !18, i64 0, !6, i64 2, !18, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!77 = !{!24, !6, i64 2044}
!78 = !{!24, !6, i64 2040}


; Effective O3 passes: DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LowerExpectIntrinsicPass,MemCpyOptPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass