; LLVM IR from aws/s2n-tls :: tests/unit (s2n_client_psk_extension_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_extension_type = type { i16, i8, i16, ptr, ptr, 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.anon = type { i64, i64, i32, i32 }
%struct.s2n_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_result = type { i32 }
%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_blob = type { ptr, i32, i32, i8 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_psk_test_case = type { i32, i8, ptr, i64 }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_offered_psk_list = type { ptr, %struct.s2n_stuffer, i16 }
%struct.anon.1 = type { i8, ptr, i64, ptr, i64, i64, i64 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_crypto_parameters = type { ptr, %struct.s2n_session_key, %struct.s2n_session_key, %struct.s2n_hmac_state, %struct.s2n_hmac_state, [16 x i8], [16 x i8], [8 x i8], [8 x i8] }
%struct.s2n_session_key = type { ptr }
%struct.s2n_hmac_state = type { i32, i16, i32, i16, i8, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, [128 x i8], [64 x i8] }
%struct.s2n_hash_state = type { ptr, i32, i8, i64, %union.anon.0 }
%union.anon.0 = type { %struct.s2n_hash_evp_digest }
%struct.s2n_hash_evp_digest = type { %struct.s2n_evp_digest, %struct.s2n_evp_digest }
%struct.s2n_evp_digest = type { ptr, ptr }

@s2n_use_color_in_output = external dso_local global i8, align 1
@s2n_client_psk_extension = external dso_local constant %struct.s2n_extension_type, align 8
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [88 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@__const.main.test_bytes_data = external hidden unnamed_addr constant [3 x i8], align 1
@__const.main.test_bytes_data_2 = external hidden unnamed_addr constant [3 x i8], align 1
@__const.main.test_identity = external hidden unnamed_addr constant [14 x i8], align 1
@__const.main.test_identity_2 = external hidden unnamed_addr constant [17 x i8], align 16
@__const.main.test_identity_3 = external hidden unnamed_addr constant [11 x i8], align 1
@__const.main.test_secret = external hidden unnamed_addr constant [12 x i8], align 1
@__const.main.single_wire_identity = external hidden unnamed_addr constant [9 x i8], align 1
@__const.main.wire_identities = external hidden unnamed_addr constant [40 x i8], align 16
@.str.8 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [35 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.21 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [29 x i8], align 1
@__const.main.test_cases = external hidden unnamed_addr constant [6 x %struct.anon], align 16
@.str.26 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_tls13_aes_256_gcm_sha384 = external global %struct.s2n_cipher_suite, align 8
@.str.53 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [92 x i8], align 1
@security_policy_test_tls13_retry = external constant %struct.s2n_security_policy, align 8
@.str.70 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [71 x i8], align 1
@__const.main.bad_identity_data = external hidden unnamed_addr constant [6 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [67 x i8], align 1
@__const.main.bad_identity_data.111 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [61 x i8], align 1
@__const.main.bad_identity_data.114 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [131 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [60 x i8], align 1
@__const.main.filler_binders = external hidden unnamed_addr constant [3 x i8], align 1
@__const.main.partial_client_hello_data = external hidden unnamed_addr constant [6 x i8], align 1
@__const.main.secret_data = external hidden unnamed_addr constant [7 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [63 x i8], align 1
@__const.main.client_hello_data = external hidden unnamed_addr constant [12 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.identity_bytes = external hidden unnamed_addr constant [1 x i8], align 1
@__const.main.extension_data = external hidden unnamed_addr constant [11 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [86 x i8], align 1
@__const.main.client_hello_prefix_data = external hidden unnamed_addr constant [7 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [78 x i8], align 1
@__const.main.other_client_data = external hidden unnamed_addr constant [18 x i8], align 16
@.str.215 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [111 x i8], align 1
@__const.main.other_server_data = external hidden unnamed_addr constant [18 x i8], align 16
@.str.219 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [191 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.255 = external hidden unnamed_addr constant [25 x i8], align 1

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

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

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

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

; 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 [3 x i8], align 1
  %10 = alloca [3 x i8], align 1
  %11 = alloca [14 x i8], align 1
  %12 = alloca [17 x i8], align 16
  %13 = alloca [11 x i8], align 1
  %14 = alloca [12 x i8], align 1
  %15 = alloca [9 x i8], align 1
  %16 = alloca [40 x i8], align 16
  %17 = alloca ptr, align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %struct.s2n_result, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca 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 i32, align 4
  %41 = alloca %struct.s2n_result, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i64, align 8
  %47 = alloca %struct.s2n_psk, align 8
  %48 = alloca %struct.s2n_result, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca %struct.s2n_result, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca %struct.s2n_result, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca [6 x %struct.anon], align 16
  %60 = alloca i64, align 8
  %61 = alloca %struct.s2n_result, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca %struct.s2n_stuffer, align 8
  %65 = alloca i32, align 4
  %66 = alloca ptr, align 8
  %67 = alloca i32, align 4
  %68 = alloca ptr, align 8
  %69 = alloca %struct.s2n_result, align 4
  %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 %struct.s2n_result, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i16, align 2
  %80 = alloca i32, align 4
  %81 = alloca i16, align 2
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca ptr, align 8
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, 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 %struct.s2n_stuffer, align 8
  %94 = alloca i32, align 4
  %95 = alloca ptr, align 8
  %96 = alloca i32, align 4
  %97 = alloca [2 x %struct.s2n_psk_test_case], align 16
  %98 = alloca i16, align 2
  %99 = alloca i64, align 8
  %100 = alloca ptr, align 8
  %101 = alloca %struct.s2n_result, align 4
  %102 = alloca i32, align 4
  %103 = alloca %struct.s2n_result, align 4
  %104 = alloca i32, 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 i16, align 2
  %112 = alloca i32, align 4
  %113 = alloca i64, align 8
  %114 = alloca i16, align 2
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca ptr, align 8
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, 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_stuffer, align 8
  %127 = alloca i32, align 4
  %128 = alloca ptr, align 8
  %129 = alloca i32, align 4
  %130 = alloca ptr, align 8
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca ptr, align 8
  %135 = alloca %struct.s2n_result, align 4
  %136 = alloca i32, align 4
  %137 = alloca %struct.s2n_result, 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 i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca %struct.s2n_stuffer, align 8
  %149 = alloca i32, align 4
  %150 = alloca %struct.s2n_psk_test_case, align 8
  %151 = alloca %struct.s2n_psk_test_case, align 8
  %152 = alloca [2 x %struct.s2n_psk_test_case], align 16
  %153 = alloca ptr, align 8
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i64, align 8
  %157 = alloca ptr, align 8
  %158 = alloca %struct.s2n_result, align 4
  %159 = alloca i32, align 4
  %160 = alloca %struct.s2n_result, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i16, align 2
  %165 = alloca i16, align 2
  %166 = alloca ptr, align 8
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca ptr, align 8
  %179 = alloca i32, align 4
  %180 = alloca ptr, align 8
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca ptr, align 8
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca ptr, align 8
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca %struct.s2n_test_io_pair, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca ptr, align 8
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca %struct.s2n_result, align 4
  %198 = alloca i32, align 4
  %199 = alloca %struct.s2n_result, align 4
  %200 = alloca i32, align 4
  %201 = alloca %struct.s2n_result, align 4
  %202 = alloca i32, align 4
  %203 = alloca %struct.s2n_result, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca %struct.s2n_result, align 4
  %208 = alloca %struct.s2n_result, align 4
  %209 = alloca %struct.s2n_result, align 4
  %210 = alloca %struct.s2n_result, align 4
  %211 = alloca ptr, align 8
  %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_offered_psk_list, align 8
  %218 = alloca %struct.s2n_result, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca %struct.s2n_blob, align 8
  %224 = alloca i32, align 4
  %225 = alloca %struct.s2n_blob, align 8
  %226 = alloca i32, align 4
  %227 = alloca %struct.s2n_blob, align 8
  %228 = alloca i32, align 4
  %229 = alloca [3 x ptr], align 16
  %230 = alloca [3 x ptr], align 16
  %231 = alloca [2 x ptr], align 16
  %232 = alloca [3 x ptr], align 16
  %233 = alloca [3 x ptr], align 16
  %234 = alloca [1 x ptr], align 8
  %235 = alloca [1 x ptr], align 8
  %236 = alloca [1 x ptr], align 8
  %237 = alloca [28 x %struct.anon.1], align 16
  %238 = alloca i64, align 8
  %239 = alloca i32, align 4
  %240 = alloca ptr, align 8
  %241 = alloca i32, align 4
  %242 = alloca %struct.s2n_offered_psk_list, align 8
  %243 = alloca i32, align 4
  %244 = alloca i64, align 8
  %245 = alloca %struct.s2n_result, align 4
  %246 = alloca i32, align 4
  %247 = alloca ptr, align 8
  %248 = alloca i64, align 8
  %249 = alloca ptr, align 8
  %250 = alloca %struct.s2n_result, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca %struct.s2n_result, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca %struct.s2n_result, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca %struct.s2n_offered_psk_list, align 8
  %266 = alloca ptr, align 8
  %267 = alloca i32, align 4
  %268 = alloca %struct.s2n_result, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca %struct.s2n_result, align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca ptr, align 8
  %278 = alloca i32, align 4
  %279 = alloca ptr, align 8
  %280 = alloca i32, align 4
  %281 = alloca %struct.s2n_result, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca %struct.s2n_stuffer, align 8
  %285 = alloca i32, align 4
  %286 = alloca %struct.s2n_result, align 4
  %287 = alloca i32, align 4
  %288 = alloca %struct.s2n_offered_psk_list, align 8
  %289 = alloca i32, align 4
  %290 = alloca %struct.s2n_result, align 4
  %291 = alloca i32, align 4
  %292 = alloca %struct.s2n_result, align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca ptr, align 8
  %301 = alloca i32, align 4
  %302 = alloca ptr, align 8
  %303 = alloca i32, align 4
  %304 = alloca %struct.s2n_result, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca %struct.s2n_stuffer, align 8
  %308 = alloca i32, align 4
  %309 = alloca %struct.s2n_result, align 4
  %310 = alloca i32, align 4
  %311 = alloca %struct.s2n_offered_psk_list, align 8
  %312 = alloca i32, align 4
  %313 = alloca [6 x i8], align 1
  %314 = alloca %struct.s2n_blob, align 8
  %315 = alloca i32, align 4
  %316 = alloca i8, align 1
  %317 = alloca i64, align 8
  %318 = alloca %struct.s2n_result, align 4
  %319 = alloca i32, align 4
  %320 = alloca %struct.s2n_result, align 4
  %321 = alloca i32, align 4
  %322 = alloca %struct.s2n_result, align 4
  %323 = alloca i32, align 4
  %324 = alloca %struct.s2n_result, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca ptr, align 8
  %333 = alloca i32, align 4
  %334 = alloca %struct.s2n_offered_psk_list, align 8
  %335 = alloca i32, align 4
  %336 = alloca [6 x i8], align 1
  %337 = alloca %struct.s2n_blob, align 8
  %338 = alloca i32, align 4
  %339 = alloca %struct.s2n_result, align 4
  %340 = alloca i32, align 4
  %341 = alloca %struct.s2n_result, align 4
  %342 = alloca i32, align 4
  %343 = alloca i32, align 4
  %344 = alloca i32, align 4
  %345 = alloca i32, align 4
  %346 = alloca i32, align 4
  %347 = alloca i32, align 4
  %348 = alloca ptr, align 8
  %349 = alloca i32, align 4
  %350 = alloca ptr, align 8
  %351 = alloca i32, align 4
  %352 = alloca %struct.s2n_result, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca %struct.s2n_stuffer, align 8
  %356 = alloca i32, align 4
  %357 = alloca %struct.s2n_result, align 4
  %358 = alloca i32, align 4
  %359 = alloca [6 x i8], align 1
  %360 = alloca %struct.s2n_blob, align 8
  %361 = alloca i32, align 4
  %362 = alloca %struct.s2n_offered_psk_list, align 8
  %363 = alloca i32, align 4
  %364 = alloca i8, align 1
  %365 = alloca i64, align 8
  %366 = alloca %struct.s2n_result, align 4
  %367 = alloca i32, align 4
  %368 = alloca %struct.s2n_result, align 4
  %369 = alloca i32, align 4
  %370 = alloca %struct.s2n_result, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca i32, align 4
  %376 = alloca i32, align 4
  %377 = alloca i32, align 4
  %378 = alloca %struct.s2n_stuffer, align 8
  %379 = alloca ptr, align 8
  %380 = alloca i32, align 4
  %381 = alloca %struct.s2n_result, align 4
  %382 = alloca i32, align 4
  %383 = alloca i32, align 4
  %384 = alloca i32, align 4
  %385 = alloca %struct.s2n_result, align 4
  %386 = alloca i32, align 4
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca %struct.s2n_stuffer, align 8
  %391 = alloca ptr, align 8
  %392 = alloca i32, align 4
  %393 = alloca %struct.s2n_result, align 4
  %394 = alloca i32, align 4
  %395 = alloca %struct.s2n_result, align 4
  %396 = alloca i32, align 4
  %397 = alloca i32, align 4
  %398 = alloca i32, align 4
  %399 = alloca i32, align 4
  %400 = alloca i32, align 4
  %401 = alloca ptr, align 8
  %402 = alloca i32, align 4
  %403 = alloca %struct.s2n_result, align 4
  %404 = alloca i32, align 4
  %405 = alloca %struct.s2n_stuffer, align 8
  %406 = alloca i32, align 4
  %407 = alloca i32, align 4
  %408 = alloca ptr, align 8
  %409 = alloca %struct.s2n_result, align 4
  %410 = alloca i32, align 4
  %411 = alloca %struct.s2n_result, align 4
  %412 = alloca i32, align 4
  %413 = alloca i32, align 4
  %414 = alloca %struct.s2n_result, align 4
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca i32, align 4
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca i32, align 4
  %421 = alloca ptr, align 8
  %422 = alloca i32, align 4
  %423 = alloca %struct.s2n_result, align 4
  %424 = alloca i32, align 4
  %425 = alloca %struct.s2n_stuffer, align 8
  %426 = alloca i32, align 4
  %427 = alloca i32, align 4
  %428 = alloca ptr, align 8
  %429 = alloca %struct.s2n_result, align 4
  %430 = alloca i32, align 4
  %431 = alloca %struct.s2n_result, align 4
  %432 = alloca i32, align 4
  %433 = alloca i32, align 4
  %434 = alloca %struct.s2n_result, align 4
  %435 = alloca i32, align 4
  %436 = alloca i32, align 4
  %437 = alloca i32, align 4
  %438 = alloca i32, align 4
  %439 = alloca i32, align 4
  %440 = alloca ptr, align 8
  %441 = alloca i32, align 4
  %442 = alloca i32, align 4
  %443 = alloca ptr, align 8
  %444 = alloca i32, align 4
  %445 = alloca %struct.s2n_result, align 4
  %446 = alloca i32, align 4
  %447 = alloca i32, align 4
  %448 = alloca %struct.s2n_stuffer, align 8
  %449 = alloca %struct.s2n_result, align 4
  %450 = alloca i32, align 4
  %451 = alloca i32, align 4
  %452 = alloca i32, align 4
  %453 = alloca i32, align 4
  %454 = alloca i32, align 4
  %455 = alloca i32, align 4
  %456 = alloca i32, align 4
  %457 = alloca ptr, align 8
  %458 = alloca i32, align 4
  %459 = alloca i16, align 2
  %460 = alloca i32, align 4
  %461 = alloca ptr, align 8
  %462 = alloca i32, align 4
  %463 = alloca i32, align 4
  %464 = alloca %struct.s2n_result, align 4
  %465 = alloca i32, align 4
  %466 = alloca ptr, align 8
  %467 = alloca %struct.s2n_result, align 4
  %468 = alloca i32, align 4
  %469 = alloca %struct.s2n_result, align 4
  %470 = alloca i32, align 4
  %471 = alloca i32, align 4
  %472 = alloca %struct.s2n_stuffer, align 8
  %473 = alloca i32, align 4
  %474 = alloca %struct.s2n_result, align 4
  %475 = alloca i32, align 4
  %476 = alloca %struct.s2n_result, align 4
  %477 = alloca i32, align 4
  %478 = alloca i32, align 4
  %479 = alloca i32, align 4
  %480 = alloca i32, align 4
  %481 = alloca i32, align 4
  %482 = alloca i32, align 4
  %483 = alloca ptr, align 8
  %484 = alloca i32, align 4
  %485 = alloca i16, align 2
  %486 = alloca i32, align 4
  %487 = alloca ptr, align 8
  %488 = alloca i32, align 4
  %489 = alloca %struct.s2n_result, align 4
  %490 = alloca i32, align 4
  %491 = alloca i32, align 4
  %492 = alloca ptr, align 8
  %493 = alloca %struct.s2n_result, align 4
  %494 = alloca i32, align 4
  %495 = alloca %struct.s2n_result, align 4
  %496 = alloca i32, align 4
  %497 = alloca i32, align 4
  %498 = alloca %struct.s2n_stuffer, align 8
  %499 = alloca i32, align 4
  %500 = alloca %struct.s2n_result, align 4
  %501 = alloca i32, align 4
  %502 = alloca %struct.s2n_result, align 4
  %503 = alloca i32, align 4
  %504 = alloca i32, align 4
  %505 = alloca i32, align 4
  %506 = alloca i32, align 4
  %507 = alloca i32, align 4
  %508 = alloca i32, align 4
  %509 = alloca i32, align 4
  %510 = alloca ptr, align 8
  %511 = alloca i32, align 4
  %512 = alloca i16, align 2
  %513 = alloca i32, align 4
  %514 = alloca ptr, align 8
  %515 = alloca i32, align 4
  %516 = alloca %struct.s2n_result, align 4
  %517 = alloca i32, align 4
  %518 = alloca i32, align 4
  %519 = alloca ptr, align 8
  %520 = alloca %struct.s2n_result, align 4
  %521 = alloca i32, align 4
  %522 = alloca %struct.s2n_result, align 4
  %523 = alloca i32, align 4
  %524 = alloca i32, align 4
  %525 = alloca %struct.s2n_blob, align 8
  %526 = alloca i32, align 4
  %527 = alloca %struct.s2n_stuffer, align 8
  %528 = alloca i32, align 4
  %529 = alloca %struct.s2n_result, align 4
  %530 = alloca i32, align 4
  %531 = alloca %struct.s2n_result, align 4
  %532 = alloca i32, align 4
  %533 = alloca i32, align 4
  %534 = alloca i32, align 4
  %535 = alloca i32, align 4
  %536 = alloca i32, align 4
  %537 = alloca i32, align 4
  %538 = alloca i32, align 4
  %539 = alloca %struct.s2n_stuffer, align 8
  %540 = alloca i32, align 4
  %541 = alloca ptr, align 8
  %542 = alloca i32, align 4
  %543 = alloca %struct.s2n_result, align 4
  %544 = alloca i32, align 4
  %545 = alloca ptr, align 8
  %546 = alloca i32, align 4
  %547 = alloca i16, align 2
  %548 = alloca i32, align 4
  %549 = alloca %struct.s2n_result, align 4
  %550 = alloca i32, align 4
  %551 = alloca ptr, align 8
  %552 = alloca i32, align 4
  %553 = alloca %struct.s2n_result, align 4
  %554 = alloca i32, align 4
  %555 = alloca i32, align 4
  %556 = alloca %struct.s2n_stuffer, align 8
  %557 = alloca i32, align 4
  %558 = alloca %struct.s2n_result, align 4
  %559 = alloca i32, align 4
  %560 = alloca %struct.s2n_blob, align 8
  %561 = alloca i32, align 4
  %562 = alloca %struct.s2n_result, align 4
  %563 = alloca i32, align 4
  %564 = alloca %struct.s2n_result, align 4
  %565 = alloca i32, align 4
  %566 = alloca %struct.s2n_result, align 4
  %567 = alloca i32, align 4
  %568 = alloca i32, align 4
  %569 = alloca i32, align 4
  %570 = alloca i32, align 4
  %571 = alloca i32, align 4
  %572 = alloca %struct.s2n_result, align 4
  %573 = alloca i32, align 4
  %574 = alloca %struct.s2n_result, align 4
  %575 = alloca i32, align 4
  %576 = alloca i32, align 4
  %577 = alloca i32, align 4
  %578 = alloca i32, align 4
  %579 = alloca i32, align 4
  %580 = alloca %struct.s2n_blob, align 8
  %581 = alloca i32, align 4
  %582 = alloca %struct.s2n_result, align 4
  %583 = alloca i32, align 4
  %584 = alloca %struct.s2n_result, align 4
  %585 = alloca i32, align 4
  %586 = alloca i32, align 4
  %587 = alloca i32, align 4
  %588 = alloca i32, align 4
  %589 = alloca i32, align 4
  %590 = alloca i32, align 4
  %591 = alloca i32, align 4
  %592 = alloca i32, align 4
  %593 = alloca [3 x i8], align 1
  %594 = alloca i64, align 8
  %595 = alloca i64, align 8
  %596 = alloca [6 x i8], align 1
  %597 = alloca [7 x i8], align 1
  %598 = alloca [32 x i8], align 16
  %599 = alloca [32 x i8], align 16
  %600 = alloca %struct.s2n_blob, align 8
  %601 = alloca i32, align 4
  %602 = alloca %struct.s2n_blob, align 8
  %603 = alloca i32, align 4
  %604 = alloca %struct.s2n_blob, align 8
  %605 = alloca i32, align 4
  %606 = alloca ptr, align 8
  %607 = alloca i32, align 4
  %608 = alloca %struct.s2n_psk, align 8
  %609 = alloca %struct.s2n_result, align 4
  %610 = alloca i32, align 4
  %611 = alloca i32, align 4
  %612 = alloca i32, align 4
  %613 = alloca i32, align 4
  %614 = alloca %struct.s2n_stuffer, align 8
  %615 = alloca i32, align 4
  %616 = alloca i32, align 4
  %617 = alloca i32, align 4
  %618 = alloca i32, align 4
  %619 = alloca [1 x i8], align 1
  %620 = alloca %struct.s2n_stuffer, align 8
  %621 = alloca i32, align 4
  %622 = alloca i32, align 4
  %623 = alloca %struct.s2n_result, align 4
  %624 = alloca i32, align 4
  %625 = alloca i32, align 4
  %626 = alloca i32, align 4
  %627 = alloca i32, align 4
  %628 = alloca i32, align 4
  %629 = alloca %struct.s2n_result, align 4
  %630 = alloca i32, align 4
  %631 = alloca i32, align 4
  %632 = alloca i32, align 4
  %633 = alloca i32, align 4
  %634 = alloca %struct.s2n_result, align 4
  %635 = alloca i32, align 4
  %636 = alloca i32, align 4
  %637 = alloca i32, align 4
  %638 = alloca i32, align 4
  %639 = alloca %struct.s2n_result, align 4
  %640 = alloca i32, align 4
  %641 = alloca i32, align 4
  %642 = alloca i32, align 4
  %643 = alloca i32, align 4
  %644 = alloca ptr, align 8
  %645 = alloca %struct.s2n_result, align 4
  %646 = alloca i32, align 4
  %647 = alloca i32, align 4
  %648 = alloca i32, align 4
  %649 = alloca i32, align 4
  %650 = alloca %struct.s2n_result, align 4
  %651 = alloca i32, align 4
  %652 = alloca i32, align 4
  %653 = alloca i32, align 4
  %654 = alloca %struct.s2n_result, align 4
  %655 = alloca [12 x i8], align 1
  %656 = alloca i8, align 1
  %657 = alloca i8, align 1
  %658 = alloca i32, align 4
  %659 = alloca i32, align 4
  %660 = alloca [4 x i8], align 1
  %661 = alloca ptr, align 8
  %662 = alloca i32, align 4
  %663 = alloca i32, align 4
  %664 = alloca i32, align 4
  %665 = alloca %struct.s2n_stuffer, align 8
  %666 = alloca i32, align 4
  %667 = alloca i32, align 4
  %668 = alloca i32, align 4
  %669 = alloca i32, align 4
  %670 = alloca i32, align 4
  %671 = alloca i32, align 4
  %672 = alloca i32, align 4
  %673 = alloca i8, align 1
  %674 = alloca [1 x i8], align 1
  %675 = alloca [11 x i8], align 1
  %676 = alloca ptr, align 8
  %677 = alloca i32, align 4
  %678 = alloca %struct.s2n_result, align 4
  %679 = alloca i32, align 4
  %680 = alloca i32, align 4
  %681 = alloca i32, align 4
  %682 = alloca %struct.s2n_stuffer, align 8
  %683 = alloca i32, align 4
  %684 = alloca i32, align 4
  %685 = alloca ptr, align 8
  %686 = alloca %struct.s2n_result, align 4
  %687 = alloca i32, align 4
  %688 = alloca %struct.s2n_result, align 4
  %689 = alloca i32, align 4
  %690 = alloca i32, align 4
  %691 = alloca i32, align 4
  %692 = alloca i32, align 4
  %693 = alloca i32, align 4
  %694 = alloca i32, align 4
  %695 = alloca i32, align 4
  %696 = alloca i32, align 4
  %697 = alloca i32, align 4
  %698 = alloca i32, align 4
  %699 = alloca [1 x i8], align 1
  %700 = alloca ptr, align 8
  %701 = alloca i32, align 4
  %702 = alloca %struct.s2n_stuffer, align 8
  %703 = alloca i32, align 4
  %704 = alloca i32, align 4
  %705 = alloca i32, align 4
  %706 = alloca i32, align 4
  %707 = alloca i32, align 4
  %708 = alloca i32, align 4
  %709 = alloca i32, align 4
  %710 = alloca i32, align 4
  %711 = alloca i32, align 4
  %712 = alloca [1 x i8], align 1
  %713 = alloca ptr, align 8
  %714 = alloca i32, align 4
  %715 = alloca %struct.s2n_stuffer, align 8
  %716 = alloca i32, align 4
  %717 = alloca i32, align 4
  %718 = alloca i32, align 4
  %719 = alloca i32, align 4
  %720 = alloca i32, align 4
  %721 = alloca i32, align 4
  %722 = alloca [1 x i8], align 1
  %723 = alloca ptr, align 8
  %724 = alloca i32, align 4
  %725 = alloca %struct.s2n_stuffer, align 8
  %726 = alloca i32, align 4
  %727 = alloca i32, align 4
  %728 = alloca i32, align 4
  %729 = alloca i32, align 4
  %730 = alloca i32, align 4
  %731 = alloca i32, align 4
  %732 = alloca i32, align 4
  %733 = alloca i32, align 4
  %734 = alloca i8, align 1
  %735 = alloca i32, align 4
  %736 = alloca %struct.s2n_stuffer, align 8
  %737 = alloca ptr, align 8
  %738 = alloca i32, align 4
  %739 = alloca i32, align 4
  %740 = alloca i32, align 4
  %741 = alloca i32, align 4
  %742 = alloca i32, align 4
  %743 = alloca i32, align 4
  %744 = alloca i32, align 4
  %745 = alloca i32, align 4
  %746 = alloca [7 x i8], align 1
  %747 = alloca ptr, align 8
  %748 = alloca i32, align 4
  %749 = alloca ptr, align 8
  %750 = alloca ptr, align 8
  %751 = alloca i32, align 4
  %752 = alloca %struct.s2n_result, align 4
  %753 = alloca i32, align 4
  %754 = alloca ptr, align 8
  %755 = alloca ptr, align 8
  %756 = alloca %struct.s2n_result, align 4
  %757 = alloca i32, align 4
  %758 = alloca %struct.s2n_result, align 4
  %759 = alloca i32, align 4
  %760 = alloca i32, align 4
  %761 = alloca i32, align 4
  %762 = alloca %struct.s2n_result, align 4
  %763 = alloca i32, align 4
  %764 = alloca %struct.s2n_result, align 4
  %765 = alloca i32, align 4
  %766 = alloca i32, align 4
  %767 = alloca i32, align 4
  %768 = alloca ptr, align 8
  %769 = alloca %struct.s2n_result, align 4
  %770 = alloca i32, align 4
  %771 = alloca %struct.s2n_result, align 4
  %772 = alloca i32, align 4
  %773 = alloca i32, align 4
  %774 = alloca i32, align 4
  %775 = alloca i32, align 4
  %776 = alloca %struct.s2n_result, align 4
  %777 = alloca i32, align 4
  %778 = alloca i32, align 4
  %779 = alloca i32, align 4
  %780 = alloca i32, align 4
  %781 = alloca i32, align 4
  %782 = alloca i32, align 4
  %783 = alloca i32, align 4
  %784 = alloca i32, align 4
  %785 = alloca ptr, align 8
  %786 = alloca ptr, align 8
  %787 = alloca i32, align 4
  %788 = alloca i32, align 4
  %789 = alloca %struct.s2n_result, align 4
  %790 = alloca i32, align 4
  %791 = alloca i32, align 4
  %792 = alloca i32, align 4
  %793 = alloca %struct.s2n_test_io_pair, align 4
  %794 = alloca i32, align 4
  %795 = alloca i32, align 4
  %796 = alloca i32, align 4
  %797 = alloca [18 x i8], align 16
  %798 = alloca ptr, align 8
  %799 = alloca %struct.s2n_result, align 4
  %800 = alloca i32, align 4
  %801 = alloca %struct.s2n_result, align 4
  %802 = alloca i32, align 4
  %803 = alloca i32, align 4
  %804 = alloca i32, align 4
  %805 = alloca [18 x i8], align 16
  %806 = alloca ptr, align 8
  %807 = alloca %struct.s2n_result, align 4
  %808 = alloca i32, align 4
  %809 = alloca %struct.s2n_result, align 4
  %810 = alloca i32, align 4
  %811 = alloca i32, align 4
  %812 = alloca i32, align 4
  %813 = alloca ptr, align 8
  %814 = alloca %struct.s2n_result, align 4
  %815 = alloca i32, align 4
  %816 = alloca %struct.s2n_result, align 4
  %817 = alloca i32, align 4
  %818 = alloca i32, align 4
  %819 = alloca i32, align 4
  %820 = alloca %struct.s2n_result, align 4
  %821 = alloca i32, align 4
  %822 = alloca %struct.s2n_result, align 4
  %823 = alloca i32, align 4
  %824 = alloca i32, align 4
  %825 = alloca i32, align 4
  %826 = alloca i32, align 4
  %827 = alloca i32, align 4
  %828 = alloca i32, align 4
  %829 = alloca i32, align 4
  %830 = alloca i32, align 4
  %831 = alloca i32, align 4
  %832 = alloca i32, align 4
  %833 = alloca i32, align 4
  %834 = alloca i32, align 4
  %835 = alloca i32, align 4
  %836 = alloca ptr, align 8
  %837 = alloca i32, align 4
  %838 = alloca ptr, align 8
  %839 = alloca i32, align 4
  %840 = alloca i32, align 4
  %841 = alloca i32, align 4
  %842 = alloca %struct.s2n_result, align 4
  %843 = alloca i32, align 4
  %844 = alloca ptr, align 8
  %845 = alloca i32, align 4
  %846 = alloca i32, align 4
  %847 = alloca ptr, align 8
  %848 = alloca i32, align 4
  %849 = alloca i32, align 4
  %850 = alloca %struct.s2n_stuffer, align 8
  %851 = alloca i32, align 4
  %852 = alloca i32, align 4
  %853 = alloca i32, align 4
  %854 = alloca %struct.s2n_stuffer, align 8
  %855 = alloca i32, align 4
  %856 = alloca %struct.s2n_result, align 4
  %857 = alloca i32, align 4
  %858 = alloca %struct.s2n_offered_psk_list, align 8
  %859 = alloca i32, align 4
  %860 = alloca %struct.s2n_result, align 4
  %861 = alloca i32, align 4
  %862 = alloca %struct.s2n_result, align 4
  %863 = alloca i32, align 4
  %864 = alloca ptr, align 8
  %865 = alloca i64, align 8
  %866 = alloca i32, align 4
  %867 = alloca %struct.s2n_result, align 4
  %868 = alloca i32, align 4
  %869 = alloca i32, align 4
  %870 = alloca i32, align 4
  %871 = alloca i32, align 4
  %872 = alloca i32, align 4
  %873 = alloca i32, align 4
  %874 = alloca i8, align 1
  %875 = alloca i32, align 4
  %876 = alloca i32, align 4
  %877 = alloca [32 x i8], align 16
  %878 = alloca i32, align 4
  %879 = alloca i32, align 4
  %880 = alloca i32, align 4
  %881 = alloca [32 x i8], align 16
  %882 = alloca i32, align 4
  %883 = alloca %struct.s2n_result, align 4
  %884 = alloca i32, align 4
  %885 = alloca %struct.s2n_result, align 4
  %886 = alloca i32, align 4
  %887 = alloca %struct.s2n_result, align 4
  %888 = alloca i32, align 4
  %889 = alloca %struct.s2n_result, align 4
  %890 = alloca i32, align 4
  %891 = alloca i32, align 4
  %892 = alloca i32, align 4
  %893 = alloca i32, align 4
  %894 = alloca i32, align 4
  %895 = alloca i32, align 4
  %896 = alloca i8, align 1
  %897 = alloca i32, align 4
  %898 = alloca i32, align 4
  %899 = alloca [32 x i8], align 16
  %900 = alloca i32, align 4
  %901 = alloca i32, align 4
  %902 = alloca i32, align 4
  %903 = alloca i32, align 4
  %904 = alloca %struct.s2n_result, align 4
  %905 = alloca %struct.s2n_result, align 4
  %906 = alloca %struct.s2n_result, align 4
  %907 = alloca %struct.s2n_result, align 4
  %908 = alloca i32, align 4
  %909 = 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 %910

910:                                              ; preds = %2
  br label %911

911:                                              ; preds = %910
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %912 = load ptr, ptr @stdout, align 8, !tbaa !9
  %913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %912, ptr noundef @.str, ptr noundef @.str.1) #11
  %914 = load ptr, ptr @stdout, align 8, !tbaa !9
  %915 = call i32 @fflush(ptr noundef %914)
  br label %916

916:                                              ; preds = %911
  %917 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %918 = icmp eq i32 %917, -1
  br i1 %918, label %919, label %970

919:                                              ; preds = %916
  br label %920

920:                                              ; preds = %919
  br label %921

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

928:                                              ; preds = %921
  %929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %930 = call i32 @fileno(ptr noundef %929) #11
  %931 = call i32 @isatty(i32 noundef %930) #11
  %932 = icmp ne i32 %931, 0
  br i1 %932, label %933, label %950

933:                                              ; preds = %928
  %934 = load i32, ptr %6, align 4, !tbaa !5
  %935 = call ptr @__errno_location() #12
  store i32 %934, ptr %935, align 4, !tbaa !5
  %936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %937 = load i32, ptr @test_count, align 4, !tbaa !5
  %938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %939 = load i32, ptr %938, align 4, !tbaa !5
  %940 = call ptr @s2n_strerror(i32 noundef %939, ptr noundef @.str.4)
  %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_debug(i32 noundef %942, ptr noundef @.str.4)
  %944 = call ptr @__errno_location() #12
  %945 = load i32, ptr %944, align 4, !tbaa !5
  %946 = call ptr @strerror(i32 noundef %945) #11
  %947 = call ptr @__errno_location() #12
  %948 = load i32, ptr %947, align 4, !tbaa !5
  %949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %936, ptr noundef @.str.2, i32 noundef %937, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 97, ptr noundef %940, ptr noundef %943, ptr noundef %946, i32 noundef %948) #11
  br label %967

950:                                              ; preds = %928, %921
  %951 = load i32, ptr %6, align 4, !tbaa !5
  %952 = call ptr @__errno_location() #12
  store i32 %951, ptr %952, align 4, !tbaa !5
  %953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %954 = load i32, ptr @test_count, align 4, !tbaa !5
  %955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = call ptr @s2n_strerror(i32 noundef %956, ptr noundef @.str.4)
  %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_debug(i32 noundef %959, ptr noundef @.str.4)
  %961 = call ptr @__errno_location() #12
  %962 = load i32, ptr %961, align 4, !tbaa !5
  %963 = call ptr @strerror(i32 noundef %962) #11
  %964 = call ptr @__errno_location() #12
  %965 = load i32, ptr %964, align 4, !tbaa !5
  %966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %953, ptr noundef @.str.5, i32 noundef %954, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 97, ptr noundef %957, ptr noundef %960, ptr noundef %963, i32 noundef %965) #11
  br label %967

967:                                              ; preds = %950, %933
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %968

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

969:                                              ; No predecessors!
  br label %970

970:                                              ; preds = %969, %916
  br label %971

971:                                              ; preds = %970
  br label %972

972:                                              ; preds = %971
  %973 = load i32, ptr @test_count, align 4, !tbaa !5
  %974 = add nsw i32 %973, 1
  store i32 %974, ptr @test_count, align 4, !tbaa !5
  %975 = call i32 @s2n_enable_atexit()
  %976 = icmp eq i32 %975, -1
  br i1 %976, label %977, label %1028

977:                                              ; preds = %972
  br label %978

978:                                              ; preds = %977
  br label %979

979:                                              ; preds = %978
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %980 = call ptr @__errno_location() #12
  %981 = load i32, ptr %980, align 4, !tbaa !5
  store i32 %981, ptr %7, align 4, !tbaa !5
  %982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %983 = call i32 @s2n_print_stacktrace(ptr noundef %982)
  %984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %985 = trunc i8 %984 to i1
  br i1 %985, label %986, label %1008

986:                                              ; preds = %979
  %987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %988 = call i32 @fileno(ptr noundef %987) #11
  %989 = call i32 @isatty(i32 noundef %988) #11
  %990 = icmp ne i32 %989, 0
  br i1 %990, label %991, label %1008

991:                                              ; preds = %986
  %992 = load i32, ptr %7, align 4, !tbaa !5
  %993 = call ptr @__errno_location() #12
  store i32 %992, ptr %993, align 4, !tbaa !5
  %994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %995 = load i32, ptr @test_count, align 4, !tbaa !5
  %996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %997 = load i32, ptr %996, align 4, !tbaa !5
  %998 = call ptr @s2n_strerror(i32 noundef %997, ptr noundef @.str.4)
  %999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  %1001 = call ptr @s2n_strerror_debug(i32 noundef %1000, ptr noundef @.str.4)
  %1002 = call ptr @__errno_location() #12
  %1003 = load i32, ptr %1002, align 4, !tbaa !5
  %1004 = call ptr @strerror(i32 noundef %1003) #11
  %1005 = call ptr @__errno_location() #12
  %1006 = load i32, ptr %1005, align 4, !tbaa !5
  %1007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %994, ptr noundef @.str.2, i32 noundef %995, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 97, ptr noundef %998, ptr noundef %1001, ptr noundef %1004, i32 noundef %1006) #11
  br label %1025

1008:                                             ; preds = %986, %979
  %1009 = load i32, ptr %7, align 4, !tbaa !5
  %1010 = call ptr @__errno_location() #12
  store i32 %1009, ptr %1010, align 4, !tbaa !5
  %1011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1012 = load i32, ptr @test_count, align 4, !tbaa !5
  %1013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1014 = load i32, ptr %1013, align 4, !tbaa !5
  %1015 = call ptr @s2n_strerror(i32 noundef %1014, ptr noundef @.str.4)
  %1016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1017 = load i32, ptr %1016, align 4, !tbaa !5
  %1018 = call ptr @s2n_strerror_debug(i32 noundef %1017, ptr noundef @.str.4)
  %1019 = call ptr @__errno_location() #12
  %1020 = load i32, ptr %1019, align 4, !tbaa !5
  %1021 = call ptr @strerror(i32 noundef %1020) #11
  %1022 = call ptr @__errno_location() #12
  %1023 = load i32, ptr %1022, align 4, !tbaa !5
  %1024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1011, ptr noundef @.str.5, i32 noundef %1012, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 97, ptr noundef %1015, ptr noundef %1018, ptr noundef %1021, i32 noundef %1023) #11
  br label %1025

1025:                                             ; preds = %1008, %991
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %1026

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

1027:                                             ; No predecessors!
  br label %1028

1028:                                             ; preds = %1027, %972
  br label %1029

1029:                                             ; preds = %1028
  br label %1030

1030:                                             ; preds = %1029
  br label %1031

1031:                                             ; preds = %1030
  %1032 = call i32 @s2n_init()
  %1033 = icmp eq i32 %1032, -1
  br i1 %1033, label %1034, label %1085

1034:                                             ; preds = %1031
  br label %1035

1035:                                             ; preds = %1034
  br label %1036

1036:                                             ; preds = %1035
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %1037 = call ptr @__errno_location() #12
  %1038 = load i32, ptr %1037, align 4, !tbaa !5
  store i32 %1038, ptr %8, align 4, !tbaa !5
  %1039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1040 = call i32 @s2n_print_stacktrace(ptr noundef %1039)
  %1041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1042 = trunc i8 %1041 to i1
  br i1 %1042, label %1043, label %1065

1043:                                             ; preds = %1036
  %1044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1045 = call i32 @fileno(ptr noundef %1044) #11
  %1046 = call i32 @isatty(i32 noundef %1045) #11
  %1047 = icmp ne i32 %1046, 0
  br i1 %1047, label %1048, label %1065

1048:                                             ; preds = %1043
  %1049 = load i32, ptr %8, align 4, !tbaa !5
  %1050 = call ptr @__errno_location() #12
  store i32 %1049, ptr %1050, align 4, !tbaa !5
  %1051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1052 = load i32, ptr @test_count, align 4, !tbaa !5
  %1053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1054 = load i32, ptr %1053, align 4, !tbaa !5
  %1055 = call ptr @s2n_strerror(i32 noundef %1054, ptr noundef @.str.4)
  %1056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1057 = load i32, ptr %1056, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror_debug(i32 noundef %1057, ptr noundef @.str.4)
  %1059 = call ptr @__errno_location() #12
  %1060 = load i32, ptr %1059, align 4, !tbaa !5
  %1061 = call ptr @strerror(i32 noundef %1060) #11
  %1062 = call ptr @__errno_location() #12
  %1063 = load i32, ptr %1062, align 4, !tbaa !5
  %1064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1051, ptr noundef @.str.2, i32 noundef %1052, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 97, ptr noundef %1055, ptr noundef %1058, ptr noundef %1061, i32 noundef %1063) #11
  br label %1082

1065:                                             ; preds = %1043, %1036
  %1066 = load i32, ptr %8, align 4, !tbaa !5
  %1067 = call ptr @__errno_location() #12
  store i32 %1066, ptr %1067, align 4, !tbaa !5
  %1068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1069 = load i32, ptr @test_count, align 4, !tbaa !5
  %1070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1071 = load i32, ptr %1070, align 4, !tbaa !5
  %1072 = call ptr @s2n_strerror(i32 noundef %1071, ptr noundef @.str.4)
  %1073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1074 = load i32, ptr %1073, align 4, !tbaa !5
  %1075 = call ptr @s2n_strerror_debug(i32 noundef %1074, ptr noundef @.str.4)
  %1076 = call ptr @__errno_location() #12
  %1077 = load i32, ptr %1076, align 4, !tbaa !5
  %1078 = call ptr @strerror(i32 noundef %1077) #11
  %1079 = call ptr @__errno_location() #12
  %1080 = load i32, ptr %1079, align 4, !tbaa !5
  %1081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1068, ptr noundef @.str.5, i32 noundef %1069, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 97, ptr noundef %1072, ptr noundef %1075, ptr noundef %1078, i32 noundef %1080) #11
  br label %1082

1082:                                             ; preds = %1065, %1048
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %1083

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

1084:                                             ; No predecessors!
  br label %1085

1085:                                             ; preds = %1084, %1031
  br label %1086

1086:                                             ; preds = %1085
  br label %1087

1087:                                             ; preds = %1086
  call void @llvm.lifetime.start.p0(i64 3, ptr %9) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 1 @__const.main.test_bytes_data, i64 3, i1 false)
  call void @llvm.lifetime.start.p0(i64 3, ptr %10) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %10, ptr align 1 @__const.main.test_bytes_data_2, i64 3, i1 false)
  call void @llvm.lifetime.start.p0(i64 14, ptr %11) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %11, ptr align 1 @__const.main.test_identity, i64 14, i1 false)
  call void @llvm.lifetime.start.p0(i64 17, ptr %12) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %12, ptr align 16 @__const.main.test_identity_2, i64 17, i1 false)
  call void @llvm.lifetime.start.p0(i64 11, ptr %13) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %13, ptr align 1 @__const.main.test_identity_3, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 12, ptr %14) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %14, ptr align 1 @__const.main.test_secret, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr %15) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %15, ptr align 1 @__const.main.single_wire_identity, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %16) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %16, ptr align 16 @__const.main.wire_identities, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #11
  store ptr null, ptr %17, align 8, !tbaa !9
  br label %1088

1088:                                             ; preds = %1087
  %1089 = load i32, ptr @test_count, align 4, !tbaa !5
  %1090 = add nsw i32 %1089, 1
  store i32 %1090, ptr @test_count, align 4, !tbaa !5
  %1091 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1091, ptr %17, align 8, !tbaa !9
  %1092 = icmp eq ptr %1091, null
  br i1 %1092, label %1093, label %1146

1093:                                             ; preds = %1088
  br label %1094

1094:                                             ; preds = %1093
  br label %1095

1095:                                             ; preds = %1094
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %1096 = call ptr @__errno_location() #12
  %1097 = load i32, ptr %1096, align 4, !tbaa !5
  store i32 %1097, ptr %18, align 4, !tbaa !5
  %1098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1099 = call i32 @s2n_print_stacktrace(ptr noundef %1098)
  %1100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1101 = trunc i8 %1100 to i1
  br i1 %1101, label %1102, label %1124

1102:                                             ; preds = %1095
  %1103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1104 = call i32 @fileno(ptr noundef %1103) #11
  %1105 = call i32 @isatty(i32 noundef %1104) #11
  %1106 = icmp ne i32 %1105, 0
  br i1 %1106, label %1107, label %1124

1107:                                             ; preds = %1102
  %1108 = load i32, ptr %18, align 4, !tbaa !5
  %1109 = call ptr @__errno_location() #12
  store i32 %1108, ptr %1109, align 4, !tbaa !5
  %1110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1111 = load i32, ptr @test_count, align 4, !tbaa !5
  %1112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1113 = load i32, ptr %1112, align 4, !tbaa !5
  %1114 = call ptr @s2n_strerror(i32 noundef %1113, ptr noundef @.str.4)
  %1115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  %1117 = call ptr @s2n_strerror_debug(i32 noundef %1116, ptr noundef @.str.4)
  %1118 = call ptr @__errno_location() #12
  %1119 = load i32, ptr %1118, align 4, !tbaa !5
  %1120 = call ptr @strerror(i32 noundef %1119) #11
  %1121 = call ptr @__errno_location() #12
  %1122 = load i32, ptr %1121, align 4, !tbaa !5
  %1123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1110, ptr noundef @.str.2, i32 noundef %1111, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 137, ptr noundef %1114, ptr noundef %1117, ptr noundef %1120, i32 noundef %1122) #11
  br label %1141

1124:                                             ; preds = %1102, %1095
  %1125 = load i32, ptr %18, align 4, !tbaa !5
  %1126 = call ptr @__errno_location() #12
  store i32 %1125, ptr %1126, align 4, !tbaa !5
  %1127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1128 = load i32, ptr @test_count, align 4, !tbaa !5
  %1129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1130 = load i32, ptr %1129, align 4, !tbaa !5
  %1131 = call ptr @s2n_strerror(i32 noundef %1130, ptr noundef @.str.4)
  %1132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1133 = load i32, ptr %1132, align 4, !tbaa !5
  %1134 = call ptr @s2n_strerror_debug(i32 noundef %1133, ptr noundef @.str.4)
  %1135 = call ptr @__errno_location() #12
  %1136 = load i32, ptr %1135, align 4, !tbaa !5
  %1137 = call ptr @strerror(i32 noundef %1136) #11
  %1138 = call ptr @__errno_location() #12
  %1139 = load i32, ptr %1138, align 4, !tbaa !5
  %1140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1127, ptr noundef @.str.5, i32 noundef %1128, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 137, ptr noundef %1131, ptr noundef %1134, ptr noundef %1137, i32 noundef %1139) #11
  br label %1141

1141:                                             ; preds = %1124, %1107
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %1142

1142:                                             ; preds = %1141
  br label %1143

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

1144:                                             ; No predecessors!
  br label %1145

1145:                                             ; preds = %1144
  br label %1146

1146:                                             ; preds = %1145, %1088
  br label %1147

1147:                                             ; preds = %1146
  br label %1148

1148:                                             ; preds = %1147
  %1149 = load ptr, ptr %17, align 8, !tbaa !9
  %1150 = getelementptr inbounds %struct.s2n_connection, ptr %1149, i32 0, i32 89
  store i32 2, ptr %1150, align 8, !tbaa !15
  br label %1151

1151:                                             ; preds = %1148
  %1152 = load i32, ptr @test_count, align 4, !tbaa !5
  %1153 = add nsw i32 %1152, 1
  store i32 %1153, ptr @test_count, align 4, !tbaa !5
  %1154 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 6), align 8, !tbaa !42
  %1155 = load ptr, ptr %17, align 8, !tbaa !9
  %1156 = call i32 %1154(ptr noundef %1155)
  %1157 = icmp eq i32 %1156, -1
  br i1 %1157, label %1158, label %1211

1158:                                             ; preds = %1151
  br label %1159

1159:                                             ; preds = %1158
  br label %1160

1160:                                             ; preds = %1159
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #11
  %1161 = call ptr @__errno_location() #12
  %1162 = load i32, ptr %1161, align 4, !tbaa !5
  store i32 %1162, ptr %19, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = call i32 @s2n_print_stacktrace(ptr noundef %1163)
  %1165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1166 = trunc i8 %1165 to i1
  br i1 %1166, label %1167, label %1189

1167:                                             ; preds = %1160
  %1168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1169 = call i32 @fileno(ptr noundef %1168) #11
  %1170 = call i32 @isatty(i32 noundef %1169) #11
  %1171 = icmp ne i32 %1170, 0
  br i1 %1171, label %1172, label %1189

1172:                                             ; preds = %1167
  %1173 = load i32, ptr %19, align 4, !tbaa !5
  %1174 = call ptr @__errno_location() #12
  store i32 %1173, ptr %1174, align 4, !tbaa !5
  %1175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1176 = load i32, ptr @test_count, align 4, !tbaa !5
  %1177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1178 = load i32, ptr %1177, align 4, !tbaa !5
  %1179 = call ptr @s2n_strerror(i32 noundef %1178, ptr noundef @.str.4)
  %1180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1181 = load i32, ptr %1180, align 4, !tbaa !5
  %1182 = call ptr @s2n_strerror_debug(i32 noundef %1181, ptr noundef @.str.4)
  %1183 = call ptr @__errno_location() #12
  %1184 = load i32, ptr %1183, align 4, !tbaa !5
  %1185 = call ptr @strerror(i32 noundef %1184) #11
  %1186 = call ptr @__errno_location() #12
  %1187 = load i32, ptr %1186, align 4, !tbaa !5
  %1188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1175, ptr noundef @.str.2, i32 noundef %1176, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 141, ptr noundef %1179, ptr noundef %1182, ptr noundef %1185, i32 noundef %1187) #11
  br label %1206

1189:                                             ; preds = %1167, %1160
  %1190 = load i32, ptr %19, align 4, !tbaa !5
  %1191 = call ptr @__errno_location() #12
  store i32 %1190, ptr %1191, align 4, !tbaa !5
  %1192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1193 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1195, ptr noundef @.str.4)
  %1197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1198 = load i32, ptr %1197, align 4, !tbaa !5
  %1199 = call ptr @s2n_strerror_debug(i32 noundef %1198, ptr noundef @.str.4)
  %1200 = call ptr @__errno_location() #12
  %1201 = load i32, ptr %1200, align 4, !tbaa !5
  %1202 = call ptr @strerror(i32 noundef %1201) #11
  %1203 = call ptr @__errno_location() #12
  %1204 = load i32, ptr %1203, align 4, !tbaa !5
  %1205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1192, ptr noundef @.str.5, i32 noundef %1193, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 141, ptr noundef %1196, ptr noundef %1199, ptr noundef %1202, i32 noundef %1204) #11
  br label %1206

1206:                                             ; preds = %1189, %1172
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %1207

1207:                                             ; preds = %1206
  br label %1208

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

1209:                                             ; No predecessors!
  br label %1210

1210:                                             ; preds = %1209
  br label %1211

1211:                                             ; preds = %1210, %1151
  br label %1212

1212:                                             ; preds = %1211
  br label %1213

1213:                                             ; preds = %1212
  %1214 = load ptr, ptr %17, align 8, !tbaa !9
  %1215 = getelementptr inbounds %struct.s2n_connection, ptr %1214, i32 0, i32 89
  store i32 1, ptr %1215, align 8, !tbaa !15
  br label %1216

1216:                                             ; preds = %1213
  br label %1217

1217:                                             ; preds = %1216
  br label %1218

1218:                                             ; preds = %1217
  %1219 = load i32, ptr @test_count, align 4, !tbaa !5
  %1220 = add nsw i32 %1219, 1
  store i32 %1220, ptr @test_count, align 4, !tbaa !5
  %1221 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 6), align 8, !tbaa !42
  %1222 = load ptr, ptr %17, align 8, !tbaa !9
  %1223 = call i32 %1221(ptr noundef %1222)
  %1224 = icmp eq i32 %1223, -1
  br i1 %1224, label %1278, label %1225

1225:                                             ; preds = %1218
  br label %1226

1226:                                             ; preds = %1225
  br label %1227

1227:                                             ; preds = %1226
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %1228 = call ptr @__errno_location() #12
  %1229 = load i32, ptr %1228, align 4, !tbaa !5
  store i32 %1229, ptr %20, align 4, !tbaa !5
  %1230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1231 = call i32 @s2n_print_stacktrace(ptr noundef %1230)
  %1232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1233 = trunc i8 %1232 to i1
  br i1 %1233, label %1234, label %1256

1234:                                             ; preds = %1227
  %1235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1236 = call i32 @fileno(ptr noundef %1235) #11
  %1237 = call i32 @isatty(i32 noundef %1236) #11
  %1238 = icmp ne i32 %1237, 0
  br i1 %1238, label %1239, label %1256

1239:                                             ; preds = %1234
  %1240 = load i32, ptr %20, align 4, !tbaa !5
  %1241 = call ptr @__errno_location() #12
  store i32 %1240, ptr %1241, align 4, !tbaa !5
  %1242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1243 = load i32, ptr @test_count, align 4, !tbaa !5
  %1244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1245 = load i32, ptr %1244, align 4, !tbaa !5
  %1246 = call ptr @s2n_strerror(i32 noundef %1245, ptr noundef @.str.4)
  %1247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1248 = load i32, ptr %1247, align 4, !tbaa !5
  %1249 = call ptr @s2n_strerror_debug(i32 noundef %1248, ptr noundef @.str.4)
  %1250 = call ptr @__errno_location() #12
  %1251 = load i32, ptr %1250, align 4, !tbaa !5
  %1252 = call ptr @strerror(i32 noundef %1251) #11
  %1253 = call ptr @__errno_location() #12
  %1254 = load i32, ptr %1253, align 4, !tbaa !5
  %1255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1242, ptr noundef @.str.2, i32 noundef %1243, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 152, ptr noundef %1246, ptr noundef %1249, ptr noundef %1252, i32 noundef %1254) #11
  br label %1273

1256:                                             ; preds = %1234, %1227
  %1257 = load i32, ptr %20, align 4, !tbaa !5
  %1258 = call ptr @__errno_location() #12
  store i32 %1257, ptr %1258, align 4, !tbaa !5
  %1259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1260 = load i32, ptr @test_count, align 4, !tbaa !5
  %1261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1262 = load i32, ptr %1261, align 4, !tbaa !5
  %1263 = call ptr @s2n_strerror(i32 noundef %1262, ptr noundef @.str.4)
  %1264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1265 = load i32, ptr %1264, align 4, !tbaa !5
  %1266 = call ptr @s2n_strerror_debug(i32 noundef %1265, ptr noundef @.str.4)
  %1267 = call ptr @__errno_location() #12
  %1268 = load i32, ptr %1267, align 4, !tbaa !5
  %1269 = call ptr @strerror(i32 noundef %1268) #11
  %1270 = call ptr @__errno_location() #12
  %1271 = load i32, ptr %1270, align 4, !tbaa !5
  %1272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1259, ptr noundef @.str.5, i32 noundef %1260, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 152, ptr noundef %1263, ptr noundef %1266, ptr noundef %1269, i32 noundef %1271) #11
  br label %1273

1273:                                             ; preds = %1256, %1239
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %1274

1274:                                             ; preds = %1273
  br label %1275

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

1276:                                             ; No predecessors!
  br label %1277

1277:                                             ; preds = %1276
  br label %1278

1278:                                             ; preds = %1277, %1218
  br label %1279

1279:                                             ; preds = %1278
  br label %1280

1280:                                             ; preds = %1279
  br label %1281

1281:                                             ; preds = %1280
  %1282 = load i32, ptr @test_count, align 4, !tbaa !5
  %1283 = add nsw i32 %1282, 1
  store i32 %1283, ptr @test_count, align 4, !tbaa !5
  %1284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1285 = load i32, ptr %1284, align 4, !tbaa !5
  %1286 = icmp eq i32 %1285, 335544394
  br i1 %1286, label %1340, label %1287

1287:                                             ; preds = %1281
  br label %1288

1288:                                             ; preds = %1287
  br label %1289

1289:                                             ; preds = %1288
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %1290 = call ptr @__errno_location() #12
  %1291 = load i32, ptr %1290, align 4, !tbaa !5
  store i32 %1291, ptr %21, align 4, !tbaa !5
  %1292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1293 = call i32 @s2n_print_stacktrace(ptr noundef %1292)
  %1294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1295 = trunc i8 %1294 to i1
  br i1 %1295, label %1296, label %1318

1296:                                             ; preds = %1289
  %1297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1298 = call i32 @fileno(ptr noundef %1297) #11
  %1299 = call i32 @isatty(i32 noundef %1298) #11
  %1300 = icmp ne i32 %1299, 0
  br i1 %1300, label %1301, label %1318

1301:                                             ; preds = %1296
  %1302 = load i32, ptr %21, align 4, !tbaa !5
  %1303 = call ptr @__errno_location() #12
  store i32 %1302, ptr %1303, align 4, !tbaa !5
  %1304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1305 = load i32, ptr @test_count, align 4, !tbaa !5
  %1306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1307 = load i32, ptr %1306, align 4, !tbaa !5
  %1308 = call ptr @s2n_strerror(i32 noundef %1307, ptr noundef @.str.4)
  %1309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1310 = load i32, ptr %1309, align 4, !tbaa !5
  %1311 = call ptr @s2n_strerror_debug(i32 noundef %1310, ptr noundef @.str.4)
  %1312 = call ptr @__errno_location() #12
  %1313 = load i32, ptr %1312, align 4, !tbaa !5
  %1314 = call ptr @strerror(i32 noundef %1313) #11
  %1315 = call ptr @__errno_location() #12
  %1316 = load i32, ptr %1315, align 4, !tbaa !5
  %1317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1304, ptr noundef @.str.2, i32 noundef %1305, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 152, ptr noundef %1308, ptr noundef %1311, ptr noundef %1314, i32 noundef %1316) #11
  br label %1335

1318:                                             ; preds = %1296, %1289
  %1319 = load i32, ptr %21, align 4, !tbaa !5
  %1320 = call ptr @__errno_location() #12
  store i32 %1319, ptr %1320, align 4, !tbaa !5
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = load i32, ptr @test_count, align 4, !tbaa !5
  %1323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1324 = load i32, ptr %1323, align 4, !tbaa !5
  %1325 = call ptr @s2n_strerror(i32 noundef %1324, ptr noundef @.str.4)
  %1326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1327 = load i32, ptr %1326, align 4, !tbaa !5
  %1328 = call ptr @s2n_strerror_debug(i32 noundef %1327, ptr noundef @.str.4)
  %1329 = call ptr @__errno_location() #12
  %1330 = load i32, ptr %1329, align 4, !tbaa !5
  %1331 = call ptr @strerror(i32 noundef %1330) #11
  %1332 = call ptr @__errno_location() #12
  %1333 = load i32, ptr %1332, align 4, !tbaa !5
  %1334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1321, ptr noundef @.str.5, i32 noundef %1322, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 152, ptr noundef %1325, ptr noundef %1328, ptr noundef %1331, i32 noundef %1333) #11
  br label %1335

1335:                                             ; preds = %1318, %1301
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %1336

1336:                                             ; preds = %1335
  br label %1337

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

1338:                                             ; No predecessors!
  br label %1339

1339:                                             ; preds = %1338
  br label %1340

1340:                                             ; preds = %1339, %1281
  br label %1341

1341:                                             ; preds = %1340
  br label %1342

1342:                                             ; preds = %1341
  br label %1343

1343:                                             ; preds = %1342
  %1344 = load i32, ptr @test_count, align 4, !tbaa !5
  %1345 = add nsw i32 %1344, 1
  store i32 %1345, ptr @test_count, align 4, !tbaa !5
  %1346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1347 = load i32, ptr %1346, align 4, !tbaa !5
  %1348 = call ptr @s2n_strerror_debug(i32 noundef %1347, ptr noundef @.str.4)
  %1349 = icmp eq ptr %1348, null
  br i1 %1349, label %1350, label %1403

1350:                                             ; preds = %1343
  br label %1351

1351:                                             ; preds = %1350
  br label %1352

1352:                                             ; preds = %1351
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %1353 = call ptr @__errno_location() #12
  %1354 = load i32, ptr %1353, align 4, !tbaa !5
  store i32 %1354, ptr %22, align 4, !tbaa !5
  %1355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1356 = call i32 @s2n_print_stacktrace(ptr noundef %1355)
  %1357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1358 = trunc i8 %1357 to i1
  br i1 %1358, label %1359, label %1381

1359:                                             ; preds = %1352
  %1360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1361 = call i32 @fileno(ptr noundef %1360) #11
  %1362 = call i32 @isatty(i32 noundef %1361) #11
  %1363 = icmp ne i32 %1362, 0
  br i1 %1363, label %1364, label %1381

1364:                                             ; preds = %1359
  %1365 = load i32, ptr %22, align 4, !tbaa !5
  %1366 = call ptr @__errno_location() #12
  store i32 %1365, ptr %1366, align 4, !tbaa !5
  %1367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1368 = load i32, ptr @test_count, align 4, !tbaa !5
  %1369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1370 = load i32, ptr %1369, align 4, !tbaa !5
  %1371 = call ptr @s2n_strerror(i32 noundef %1370, ptr noundef @.str.4)
  %1372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1373 = load i32, ptr %1372, align 4, !tbaa !5
  %1374 = call ptr @s2n_strerror_debug(i32 noundef %1373, ptr noundef @.str.4)
  %1375 = call ptr @__errno_location() #12
  %1376 = load i32, ptr %1375, align 4, !tbaa !5
  %1377 = call ptr @strerror(i32 noundef %1376) #11
  %1378 = call ptr @__errno_location() #12
  %1379 = load i32, ptr %1378, align 4, !tbaa !5
  %1380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1367, ptr noundef @.str.2, i32 noundef %1368, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 152, ptr noundef %1371, ptr noundef %1374, ptr noundef %1377, i32 noundef %1379) #11
  br label %1398

1381:                                             ; preds = %1359, %1352
  %1382 = load i32, ptr %22, align 4, !tbaa !5
  %1383 = call ptr @__errno_location() #12
  store i32 %1382, ptr %1383, align 4, !tbaa !5
  %1384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1385 = load i32, ptr @test_count, align 4, !tbaa !5
  %1386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1387 = load i32, ptr %1386, align 4, !tbaa !5
  %1388 = call ptr @s2n_strerror(i32 noundef %1387, ptr noundef @.str.4)
  %1389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1390 = load i32, ptr %1389, align 4, !tbaa !5
  %1391 = call ptr @s2n_strerror_debug(i32 noundef %1390, ptr noundef @.str.4)
  %1392 = call ptr @__errno_location() #12
  %1393 = load i32, ptr %1392, align 4, !tbaa !5
  %1394 = call ptr @strerror(i32 noundef %1393) #11
  %1395 = call ptr @__errno_location() #12
  %1396 = load i32, ptr %1395, align 4, !tbaa !5
  %1397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1384, ptr noundef @.str.5, i32 noundef %1385, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 152, ptr noundef %1388, ptr noundef %1391, ptr noundef %1394, i32 noundef %1396) #11
  br label %1398

1398:                                             ; preds = %1381, %1364
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %1399

1399:                                             ; preds = %1398
  br label %1400

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

1401:                                             ; No predecessors!
  br label %1402

1402:                                             ; preds = %1401
  br label %1403

1403:                                             ; preds = %1402, %1343
  br label %1404

1404:                                             ; preds = %1403
  br label %1405

1405:                                             ; preds = %1404
  br label %1406

1406:                                             ; preds = %1405
  br label %1407

1407:                                             ; preds = %1406
  br label %1408

1408:                                             ; preds = %1407
  %1409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1409, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1410 = call ptr @__errno_location() #12
  store i32 0, ptr %1410, align 4, !tbaa !5
  br label %1411

1411:                                             ; preds = %1408
  br label %1412

1412:                                             ; preds = %1411
  br label %1413

1413:                                             ; preds = %1412
  br label %1414

1414:                                             ; preds = %1413
  br label %1415

1415:                                             ; preds = %1414
  %1416 = load i32, ptr @test_count, align 4, !tbaa !5
  %1417 = add nsw i32 %1416, 1
  store i32 %1417, ptr @test_count, align 4, !tbaa !5
  %1418 = load ptr, ptr %17, align 8, !tbaa !9
  %1419 = call i32 @s2n_connection_free(ptr noundef %1418)
  %1420 = icmp eq i32 %1419, -1
  br i1 %1420, label %1421, label %1474

1421:                                             ; preds = %1415
  br label %1422

1422:                                             ; preds = %1421
  br label %1423

1423:                                             ; preds = %1422
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %1424 = call ptr @__errno_location() #12
  %1425 = load i32, ptr %1424, align 4, !tbaa !5
  store i32 %1425, ptr %23, align 4, !tbaa !5
  %1426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1427 = call i32 @s2n_print_stacktrace(ptr noundef %1426)
  %1428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1429 = trunc i8 %1428 to i1
  br i1 %1429, label %1430, label %1452

1430:                                             ; preds = %1423
  %1431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1432 = call i32 @fileno(ptr noundef %1431) #11
  %1433 = call i32 @isatty(i32 noundef %1432) #11
  %1434 = icmp ne i32 %1433, 0
  br i1 %1434, label %1435, label %1452

1435:                                             ; preds = %1430
  %1436 = load i32, ptr %23, align 4, !tbaa !5
  %1437 = call ptr @__errno_location() #12
  store i32 %1436, ptr %1437, align 4, !tbaa !5
  %1438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1439 = load i32, ptr @test_count, align 4, !tbaa !5
  %1440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1441 = load i32, ptr %1440, align 4, !tbaa !5
  %1442 = call ptr @s2n_strerror(i32 noundef %1441, ptr noundef @.str.4)
  %1443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1444 = load i32, ptr %1443, align 4, !tbaa !5
  %1445 = call ptr @s2n_strerror_debug(i32 noundef %1444, ptr noundef @.str.4)
  %1446 = call ptr @__errno_location() #12
  %1447 = load i32, ptr %1446, align 4, !tbaa !5
  %1448 = call ptr @strerror(i32 noundef %1447) #11
  %1449 = call ptr @__errno_location() #12
  %1450 = load i32, ptr %1449, align 4, !tbaa !5
  %1451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1438, ptr noundef @.str.2, i32 noundef %1439, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 154, ptr noundef %1442, ptr noundef %1445, ptr noundef %1448, i32 noundef %1450) #11
  br label %1469

1452:                                             ; preds = %1430, %1423
  %1453 = load i32, ptr %23, align 4, !tbaa !5
  %1454 = call ptr @__errno_location() #12
  store i32 %1453, ptr %1454, align 4, !tbaa !5
  %1455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1456 = load i32, ptr @test_count, align 4, !tbaa !5
  %1457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1458 = load i32, ptr %1457, align 4, !tbaa !5
  %1459 = call ptr @s2n_strerror(i32 noundef %1458, ptr noundef @.str.4)
  %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_debug(i32 noundef %1461, ptr noundef @.str.4)
  %1463 = call ptr @__errno_location() #12
  %1464 = load i32, ptr %1463, align 4, !tbaa !5
  %1465 = call ptr @strerror(i32 noundef %1464) #11
  %1466 = call ptr @__errno_location() #12
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1455, ptr noundef @.str.5, i32 noundef %1456, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 154, ptr noundef %1459, ptr noundef %1462, ptr noundef %1465, i32 noundef %1467) #11
  br label %1469

1469:                                             ; preds = %1452, %1435
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %1470

1470:                                             ; preds = %1469
  br label %1471

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

1472:                                             ; No predecessors!
  br label %1473

1473:                                             ; preds = %1472
  br label %1474

1474:                                             ; preds = %1473, %1415
  br label %1475

1475:                                             ; preds = %1474
  br label %1476

1476:                                             ; preds = %1475
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #11
  store ptr null, ptr %24, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #11
  store ptr null, ptr %25, align 8, !tbaa !9
  br label %1477

1477:                                             ; preds = %1476
  %1478 = load i32, ptr @test_count, align 4, !tbaa !5
  %1479 = add nsw i32 %1478, 1
  store i32 %1479, ptr @test_count, align 4, !tbaa !5
  %1480 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1480, ptr %25, align 8, !tbaa !9
  %1481 = icmp eq ptr %1480, null
  br i1 %1481, label %1482, label %1535

1482:                                             ; preds = %1477
  br label %1483

1483:                                             ; preds = %1482
  br label %1484

1484:                                             ; preds = %1483
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  %1485 = call ptr @__errno_location() #12
  %1486 = load i32, ptr %1485, align 4, !tbaa !5
  store i32 %1486, ptr %26, align 4, !tbaa !5
  %1487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1488 = call i32 @s2n_print_stacktrace(ptr noundef %1487)
  %1489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1490 = trunc i8 %1489 to i1
  br i1 %1490, label %1491, label %1513

1491:                                             ; preds = %1484
  %1492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1493 = call i32 @fileno(ptr noundef %1492) #11
  %1494 = call i32 @isatty(i32 noundef %1493) #11
  %1495 = icmp ne i32 %1494, 0
  br i1 %1495, label %1496, label %1513

1496:                                             ; preds = %1491
  %1497 = load i32, ptr %26, align 4, !tbaa !5
  %1498 = call ptr @__errno_location() #12
  store i32 %1497, ptr %1498, align 4, !tbaa !5
  %1499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1500 = load i32, ptr @test_count, align 4, !tbaa !5
  %1501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1502 = load i32, ptr %1501, align 4, !tbaa !5
  %1503 = call ptr @s2n_strerror(i32 noundef %1502, ptr noundef @.str.4)
  %1504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1505 = load i32, ptr %1504, align 4, !tbaa !5
  %1506 = call ptr @s2n_strerror_debug(i32 noundef %1505, ptr noundef @.str.4)
  %1507 = call ptr @__errno_location() #12
  %1508 = load i32, ptr %1507, align 4, !tbaa !5
  %1509 = call ptr @strerror(i32 noundef %1508) #11
  %1510 = call ptr @__errno_location() #12
  %1511 = load i32, ptr %1510, align 4, !tbaa !5
  %1512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1499, ptr noundef @.str.2, i32 noundef %1500, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 162, ptr noundef %1503, ptr noundef %1506, ptr noundef %1509, i32 noundef %1511) #11
  br label %1530

1513:                                             ; preds = %1491, %1484
  %1514 = load i32, ptr %26, align 4, !tbaa !5
  %1515 = call ptr @__errno_location() #12
  store i32 %1514, ptr %1515, align 4, !tbaa !5
  %1516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1517 = load i32, ptr @test_count, align 4, !tbaa !5
  %1518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1519 = load i32, ptr %1518, align 4, !tbaa !5
  %1520 = call ptr @s2n_strerror(i32 noundef %1519, ptr noundef @.str.4)
  %1521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1522 = load i32, ptr %1521, align 4, !tbaa !5
  %1523 = call ptr @s2n_strerror_debug(i32 noundef %1522, ptr noundef @.str.4)
  %1524 = call ptr @__errno_location() #12
  %1525 = load i32, ptr %1524, align 4, !tbaa !5
  %1526 = call ptr @strerror(i32 noundef %1525) #11
  %1527 = call ptr @__errno_location() #12
  %1528 = load i32, ptr %1527, align 4, !tbaa !5
  %1529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1516, ptr noundef @.str.5, i32 noundef %1517, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 162, ptr noundef %1520, ptr noundef %1523, ptr noundef %1526, i32 noundef %1528) #11
  br label %1530

1530:                                             ; preds = %1513, %1496
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %1531

1531:                                             ; preds = %1530
  br label %1532

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

1533:                                             ; No predecessors!
  br label %1534

1534:                                             ; preds = %1533
  br label %1535

1535:                                             ; preds = %1534, %1477
  br label %1536

1536:                                             ; preds = %1535
  br label %1537

1537:                                             ; preds = %1536
  br label %1538

1538:                                             ; preds = %1537
  %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 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 5), align 8, !tbaa !44
  %1542 = call zeroext i1 %1541(ptr noundef null)
  br i1 %1542, label %1543, label %1596

1543:                                             ; preds = %1538
  br label %1544

1544:                                             ; preds = %1543
  br label %1545

1545:                                             ; preds = %1544
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #11
  %1546 = call ptr @__errno_location() #12
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  store i32 %1547, ptr %27, align 4, !tbaa !5
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = call i32 @s2n_print_stacktrace(ptr noundef %1548)
  %1550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1551 = trunc i8 %1550 to i1
  br i1 %1551, label %1552, label %1574

1552:                                             ; preds = %1545
  %1553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1554 = call i32 @fileno(ptr noundef %1553) #11
  %1555 = call i32 @isatty(i32 noundef %1554) #11
  %1556 = icmp ne i32 %1555, 0
  br i1 %1556, label %1557, label %1574

1557:                                             ; preds = %1552
  %1558 = load i32, ptr %27, align 4, !tbaa !5
  %1559 = call ptr @__errno_location() #12
  store i32 %1558, ptr %1559, align 4, !tbaa !5
  %1560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1561 = load i32, 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(i32 noundef %1563, ptr noundef @.str.4)
  %1565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1566 = load i32, ptr %1565, align 4, !tbaa !5
  %1567 = call ptr @s2n_strerror_debug(i32 noundef %1566, ptr noundef @.str.4)
  %1568 = call ptr @__errno_location() #12
  %1569 = load i32, ptr %1568, align 4, !tbaa !5
  %1570 = call ptr @strerror(i32 noundef %1569) #11
  %1571 = call ptr @__errno_location() #12
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  %1573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1560, ptr noundef @.str.2, i32 noundef %1561, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 164, ptr noundef %1564, ptr noundef %1567, ptr noundef %1570, i32 noundef %1572) #11
  br label %1591

1574:                                             ; preds = %1552, %1545
  %1575 = load i32, ptr %27, align 4, !tbaa !5
  %1576 = call ptr @__errno_location() #12
  store i32 %1575, ptr %1576, align 4, !tbaa !5
  %1577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1578 = load i32, ptr @test_count, align 4, !tbaa !5
  %1579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1580 = load i32, ptr %1579, align 4, !tbaa !5
  %1581 = call ptr @s2n_strerror(i32 noundef %1580, ptr noundef @.str.4)
  %1582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1583 = load i32, ptr %1582, align 4, !tbaa !5
  %1584 = call ptr @s2n_strerror_debug(i32 noundef %1583, ptr noundef @.str.4)
  %1585 = call ptr @__errno_location() #12
  %1586 = load i32, ptr %1585, align 4, !tbaa !5
  %1587 = call ptr @strerror(i32 noundef %1586) #11
  %1588 = call ptr @__errno_location() #12
  %1589 = load i32, ptr %1588, align 4, !tbaa !5
  %1590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1577, ptr noundef @.str.5, i32 noundef %1578, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 164, ptr noundef %1581, ptr noundef %1584, ptr noundef %1587, i32 noundef %1589) #11
  br label %1591

1591:                                             ; preds = %1574, %1557
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1592

1592:                                             ; preds = %1591
  br label %1593

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

1594:                                             ; No predecessors!
  br label %1595

1595:                                             ; preds = %1594
  br label %1596

1596:                                             ; preds = %1595, %1538
  br label %1597

1597:                                             ; preds = %1596
  br label %1598

1598:                                             ; preds = %1597
  %1599 = load ptr, ptr %25, align 8, !tbaa !9
  %1600 = getelementptr inbounds %struct.s2n_connection, ptr %1599, i32 0, i32 23
  store i8 33, ptr %1600, align 4, !tbaa !45
  br label %1601

1601:                                             ; preds = %1598
  %1602 = load i32, ptr @test_count, align 4, !tbaa !5
  %1603 = add nsw i32 %1602, 1
  store i32 %1603, ptr @test_count, align 4, !tbaa !5
  %1604 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 5), align 8, !tbaa !44
  %1605 = load ptr, ptr %25, align 8, !tbaa !9
  %1606 = call zeroext i1 %1604(ptr noundef %1605)
  br i1 %1606, label %1607, label %1660

1607:                                             ; preds = %1601
  br label %1608

1608:                                             ; preds = %1607
  br label %1609

1609:                                             ; preds = %1608
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %1610 = call ptr @__errno_location() #12
  %1611 = load i32, ptr %1610, align 4, !tbaa !5
  store i32 %1611, ptr %28, align 4, !tbaa !5
  %1612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1613 = call i32 @s2n_print_stacktrace(ptr noundef %1612)
  %1614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1615 = trunc i8 %1614 to i1
  br i1 %1615, label %1616, label %1638

1616:                                             ; preds = %1609
  %1617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1618 = call i32 @fileno(ptr noundef %1617) #11
  %1619 = call i32 @isatty(i32 noundef %1618) #11
  %1620 = icmp ne i32 %1619, 0
  br i1 %1620, label %1621, label %1638

1621:                                             ; preds = %1616
  %1622 = load i32, ptr %28, align 4, !tbaa !5
  %1623 = call ptr @__errno_location() #12
  store i32 %1622, ptr %1623, align 4, !tbaa !5
  %1624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1625 = load i32, ptr @test_count, align 4, !tbaa !5
  %1626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1627 = load i32, ptr %1626, align 4, !tbaa !5
  %1628 = call ptr @s2n_strerror(i32 noundef %1627, ptr noundef @.str.4)
  %1629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1630 = load i32, ptr %1629, align 4, !tbaa !5
  %1631 = call ptr @s2n_strerror_debug(i32 noundef %1630, ptr noundef @.str.4)
  %1632 = call ptr @__errno_location() #12
  %1633 = load i32, ptr %1632, align 4, !tbaa !5
  %1634 = call ptr @strerror(i32 noundef %1633) #11
  %1635 = call ptr @__errno_location() #12
  %1636 = load i32, ptr %1635, align 4, !tbaa !5
  %1637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1624, ptr noundef @.str.2, i32 noundef %1625, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 167, ptr noundef %1628, ptr noundef %1631, ptr noundef %1634, i32 noundef %1636) #11
  br label %1655

1638:                                             ; preds = %1616, %1609
  %1639 = load i32, ptr %28, align 4, !tbaa !5
  %1640 = call ptr @__errno_location() #12
  store i32 %1639, ptr %1640, align 4, !tbaa !5
  %1641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1642 = load i32, ptr @test_count, align 4, !tbaa !5
  %1643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1644 = load i32, ptr %1643, align 4, !tbaa !5
  %1645 = call ptr @s2n_strerror(i32 noundef %1644, ptr noundef @.str.4)
  %1646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1647 = load i32, ptr %1646, align 4, !tbaa !5
  %1648 = call ptr @s2n_strerror_debug(i32 noundef %1647, ptr noundef @.str.4)
  %1649 = call ptr @__errno_location() #12
  %1650 = load i32, ptr %1649, align 4, !tbaa !5
  %1651 = call ptr @strerror(i32 noundef %1650) #11
  %1652 = call ptr @__errno_location() #12
  %1653 = load i32, ptr %1652, align 4, !tbaa !5
  %1654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1641, ptr noundef @.str.5, i32 noundef %1642, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 167, ptr noundef %1645, ptr noundef %1648, ptr noundef %1651, i32 noundef %1653) #11
  br label %1655

1655:                                             ; preds = %1638, %1621
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1656

1656:                                             ; preds = %1655
  br label %1657

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

1658:                                             ; No predecessors!
  br label %1659

1659:                                             ; preds = %1658
  br label %1660

1660:                                             ; preds = %1659, %1601
  br label %1661

1661:                                             ; preds = %1660
  br label %1662

1662:                                             ; preds = %1661
  %1663 = load ptr, ptr %25, align 8, !tbaa !9
  %1664 = getelementptr inbounds %struct.s2n_connection, ptr %1663, i32 0, i32 23
  store i8 34, ptr %1664, align 4, !tbaa !45
  br label %1665

1665:                                             ; preds = %1662
  %1666 = load i32, ptr @test_count, align 4, !tbaa !5
  %1667 = add nsw i32 %1666, 1
  store i32 %1667, ptr @test_count, align 4, !tbaa !5
  %1668 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 5), align 8, !tbaa !44
  %1669 = load ptr, ptr %25, align 8, !tbaa !9
  %1670 = call zeroext i1 %1668(ptr noundef %1669)
  br i1 %1670, label %1671, label %1724

1671:                                             ; preds = %1665
  br label %1672

1672:                                             ; preds = %1671
  br label %1673

1673:                                             ; preds = %1672
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1674 = call ptr @__errno_location() #12
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  store i32 %1675, ptr %29, align 4, !tbaa !5
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = call i32 @s2n_print_stacktrace(ptr noundef %1676)
  %1678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1679 = trunc i8 %1678 to i1
  br i1 %1679, label %1680, label %1702

1680:                                             ; preds = %1673
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = call i32 @fileno(ptr noundef %1681) #11
  %1683 = call i32 @isatty(i32 noundef %1682) #11
  %1684 = icmp ne i32 %1683, 0
  br i1 %1684, label %1685, label %1702

1685:                                             ; preds = %1680
  %1686 = load i32, ptr %29, align 4, !tbaa !5
  %1687 = call ptr @__errno_location() #12
  store i32 %1686, ptr %1687, align 4, !tbaa !5
  %1688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1689 = load i32, ptr @test_count, align 4, !tbaa !5
  %1690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1691 = load i32, ptr %1690, align 4, !tbaa !5
  %1692 = call ptr @s2n_strerror(i32 noundef %1691, ptr noundef @.str.4)
  %1693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1694 = load i32, ptr %1693, align 4, !tbaa !5
  %1695 = call ptr @s2n_strerror_debug(i32 noundef %1694, ptr noundef @.str.4)
  %1696 = call ptr @__errno_location() #12
  %1697 = load i32, ptr %1696, align 4, !tbaa !5
  %1698 = call ptr @strerror(i32 noundef %1697) #11
  %1699 = call ptr @__errno_location() #12
  %1700 = load i32, ptr %1699, align 4, !tbaa !5
  %1701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1688, ptr noundef @.str.2, i32 noundef %1689, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 169, ptr noundef %1692, ptr noundef %1695, ptr noundef %1698, i32 noundef %1700) #11
  br label %1719

1702:                                             ; preds = %1680, %1673
  %1703 = load i32, ptr %29, align 4, !tbaa !5
  %1704 = call ptr @__errno_location() #12
  store i32 %1703, ptr %1704, align 4, !tbaa !5
  %1705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1706 = load i32, ptr @test_count, align 4, !tbaa !5
  %1707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  %1709 = call ptr @s2n_strerror(i32 noundef %1708, ptr noundef @.str.4)
  %1710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1711 = load i32, ptr %1710, align 4, !tbaa !5
  %1712 = call ptr @s2n_strerror_debug(i32 noundef %1711, ptr noundef @.str.4)
  %1713 = call ptr @__errno_location() #12
  %1714 = load i32, ptr %1713, align 4, !tbaa !5
  %1715 = call ptr @strerror(i32 noundef %1714) #11
  %1716 = call ptr @__errno_location() #12
  %1717 = load i32, ptr %1716, align 4, !tbaa !5
  %1718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1705, ptr noundef @.str.5, i32 noundef %1706, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 169, ptr noundef %1709, ptr noundef %1712, ptr noundef %1715, i32 noundef %1717) #11
  br label %1719

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

1720:                                             ; preds = %1719
  br label %1721

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

1722:                                             ; No predecessors!
  br label %1723

1723:                                             ; preds = %1722
  br label %1724

1724:                                             ; preds = %1723, %1665
  br label %1725

1725:                                             ; preds = %1724
  br label %1726

1726:                                             ; preds = %1725
  br label %1727

1727:                                             ; preds = %1726
  %1728 = load i32, ptr @test_count, align 4, !tbaa !5
  %1729 = add nsw i32 %1728, 1
  store i32 %1729, ptr @test_count, align 4, !tbaa !5
  %1730 = load ptr, ptr %25, align 8, !tbaa !9
  %1731 = getelementptr inbounds %struct.s2n_connection, ptr %1730, i32 0, i32 33
  %1732 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %1731, i32 0, i32 1
  %1733 = call i32 @s2n_array_pushback(ptr noundef %1732, ptr noundef %24)
  %1734 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  store i32 %1733, ptr %1734, align 4
  %1735 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  %1736 = load i32, ptr %1735, align 4
  %1737 = call zeroext i1 @s2n_result_is_ok(i32 %1736)
  br i1 %1737, label %1791, label %1738

1738:                                             ; preds = %1727
  br label %1739

1739:                                             ; preds = %1738
  br label %1740

1740:                                             ; preds = %1739
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #11
  %1741 = call ptr @__errno_location() #12
  %1742 = load i32, ptr %1741, align 4, !tbaa !5
  store i32 %1742, ptr %31, align 4, !tbaa !5
  %1743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1744 = call i32 @s2n_print_stacktrace(ptr noundef %1743)
  %1745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1746 = trunc i8 %1745 to i1
  br i1 %1746, label %1747, label %1769

1747:                                             ; preds = %1740
  %1748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1749 = call i32 @fileno(ptr noundef %1748) #11
  %1750 = call i32 @isatty(i32 noundef %1749) #11
  %1751 = icmp ne i32 %1750, 0
  br i1 %1751, label %1752, label %1769

1752:                                             ; preds = %1747
  %1753 = load i32, ptr %31, align 4, !tbaa !5
  %1754 = call ptr @__errno_location() #12
  store i32 %1753, ptr %1754, align 4, !tbaa !5
  %1755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1756 = load i32, ptr @test_count, align 4, !tbaa !5
  %1757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1758 = load i32, ptr %1757, align 4, !tbaa !5
  %1759 = call ptr @s2n_strerror(i32 noundef %1758, ptr noundef @.str.4)
  %1760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1761 = load i32, ptr %1760, align 4, !tbaa !5
  %1762 = call ptr @s2n_strerror_debug(i32 noundef %1761, ptr noundef @.str.4)
  %1763 = call ptr @__errno_location() #12
  %1764 = load i32, ptr %1763, align 4, !tbaa !5
  %1765 = call ptr @strerror(i32 noundef %1764) #11
  %1766 = call ptr @__errno_location() #12
  %1767 = load i32, ptr %1766, align 4, !tbaa !5
  %1768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1755, ptr noundef @.str.2, i32 noundef %1756, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 171, ptr noundef %1759, ptr noundef %1762, ptr noundef %1765, i32 noundef %1767) #11
  br label %1786

1769:                                             ; preds = %1747, %1740
  %1770 = load i32, ptr %31, align 4, !tbaa !5
  %1771 = call ptr @__errno_location() #12
  store i32 %1770, ptr %1771, align 4, !tbaa !5
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = load i32, ptr @test_count, align 4, !tbaa !5
  %1774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1775 = load i32, ptr %1774, align 4, !tbaa !5
  %1776 = call ptr @s2n_strerror(i32 noundef %1775, ptr noundef @.str.4)
  %1777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1778 = load i32, ptr %1777, align 4, !tbaa !5
  %1779 = call ptr @s2n_strerror_debug(i32 noundef %1778, ptr noundef @.str.4)
  %1780 = call ptr @__errno_location() #12
  %1781 = load i32, ptr %1780, align 4, !tbaa !5
  %1782 = call ptr @strerror(i32 noundef %1781) #11
  %1783 = call ptr @__errno_location() #12
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1772, ptr noundef @.str.5, i32 noundef %1773, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 171, ptr noundef %1776, ptr noundef %1779, ptr noundef %1782, i32 noundef %1784) #11
  br label %1786

1786:                                             ; preds = %1769, %1752
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1787

1787:                                             ; preds = %1786
  br label %1788

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

1789:                                             ; No predecessors!
  br label %1790

1790:                                             ; preds = %1789
  br label %1791

1791:                                             ; preds = %1790, %1727
  br label %1792

1792:                                             ; preds = %1791
  br label %1793

1793:                                             ; preds = %1792
  %1794 = load ptr, ptr %25, align 8, !tbaa !9
  %1795 = getelementptr inbounds %struct.s2n_connection, ptr %1794, i32 0, i32 23
  store i8 33, ptr %1795, align 4, !tbaa !45
  br label %1796

1796:                                             ; preds = %1793
  %1797 = load i32, ptr @test_count, align 4, !tbaa !5
  %1798 = add nsw i32 %1797, 1
  store i32 %1798, ptr @test_count, align 4, !tbaa !5
  %1799 = load ptr, ptr %25, align 8, !tbaa !9
  %1800 = call i32 @s2n_extension_send(ptr noundef @s2n_client_psk_extension, ptr noundef %1799, ptr noundef null)
  %1801 = icmp eq i32 %1800, -1
  br i1 %1801, label %1802, label %1855

1802:                                             ; preds = %1796
  br label %1803

1803:                                             ; preds = %1802
  br label %1804

1804:                                             ; preds = %1803
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1805 = call ptr @__errno_location() #12
  %1806 = load i32, ptr %1805, align 4, !tbaa !5
  store i32 %1806, ptr %32, align 4, !tbaa !5
  %1807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1808 = call i32 @s2n_print_stacktrace(ptr noundef %1807)
  %1809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1810 = trunc i8 %1809 to i1
  br i1 %1810, label %1811, label %1833

1811:                                             ; preds = %1804
  %1812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1813 = call i32 @fileno(ptr noundef %1812) #11
  %1814 = call i32 @isatty(i32 noundef %1813) #11
  %1815 = icmp ne i32 %1814, 0
  br i1 %1815, label %1816, label %1833

1816:                                             ; preds = %1811
  %1817 = load i32, ptr %32, align 4, !tbaa !5
  %1818 = call ptr @__errno_location() #12
  store i32 %1817, ptr %1818, align 4, !tbaa !5
  %1819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1820 = load i32, ptr @test_count, align 4, !tbaa !5
  %1821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1822 = load i32, ptr %1821, align 4, !tbaa !5
  %1823 = call ptr @s2n_strerror(i32 noundef %1822, ptr noundef @.str.4)
  %1824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1825 = load i32, ptr %1824, align 4, !tbaa !5
  %1826 = call ptr @s2n_strerror_debug(i32 noundef %1825, ptr noundef @.str.4)
  %1827 = call ptr @__errno_location() #12
  %1828 = load i32, ptr %1827, align 4, !tbaa !5
  %1829 = call ptr @strerror(i32 noundef %1828) #11
  %1830 = call ptr @__errno_location() #12
  %1831 = load i32, ptr %1830, align 4, !tbaa !5
  %1832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1819, ptr noundef @.str.2, i32 noundef %1820, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 177, ptr noundef %1823, ptr noundef %1826, ptr noundef %1829, i32 noundef %1831) #11
  br label %1850

1833:                                             ; preds = %1811, %1804
  %1834 = load i32, ptr %32, align 4, !tbaa !5
  %1835 = call ptr @__errno_location() #12
  store i32 %1834, ptr %1835, align 4, !tbaa !5
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = load i32, ptr @test_count, align 4, !tbaa !5
  %1838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1839 = load i32, ptr %1838, align 4, !tbaa !5
  %1840 = call ptr @s2n_strerror(i32 noundef %1839, ptr noundef @.str.4)
  %1841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1842 = load i32, ptr %1841, align 4, !tbaa !5
  %1843 = call ptr @s2n_strerror_debug(i32 noundef %1842, ptr noundef @.str.4)
  %1844 = call ptr @__errno_location() #12
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = call ptr @strerror(i32 noundef %1845) #11
  %1847 = call ptr @__errno_location() #12
  %1848 = load i32, ptr %1847, align 4, !tbaa !5
  %1849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1836, ptr noundef @.str.5, i32 noundef %1837, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 177, ptr noundef %1840, ptr noundef %1843, ptr noundef %1846, i32 noundef %1848) #11
  br label %1850

1850:                                             ; preds = %1833, %1816
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1851

1851:                                             ; preds = %1850
  br label %1852

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

1853:                                             ; No predecessors!
  br label %1854

1854:                                             ; preds = %1853
  br label %1855

1855:                                             ; preds = %1854, %1796
  br label %1856

1856:                                             ; preds = %1855
  br label %1857

1857:                                             ; preds = %1856
  %1858 = load ptr, ptr %25, align 8, !tbaa !9
  %1859 = getelementptr inbounds %struct.s2n_connection, ptr %1858, i32 0, i32 23
  store i8 34, ptr %1859, align 4, !tbaa !45
  br label %1860

1860:                                             ; preds = %1857
  br label %1861

1861:                                             ; preds = %1860
  %1862 = load i32, ptr @test_count, align 4, !tbaa !5
  %1863 = add nsw i32 %1862, 1
  store i32 %1863, ptr @test_count, align 4, !tbaa !5
  %1864 = load ptr, ptr %25, align 8, !tbaa !9
  %1865 = call i32 @s2n_extension_send(ptr noundef @s2n_client_psk_extension, ptr noundef %1864, ptr noundef null)
  %1866 = icmp eq i32 %1865, -1
  br i1 %1866, label %1920, label %1867

1867:                                             ; preds = %1861
  br label %1868

1868:                                             ; preds = %1867
  br label %1869

1869:                                             ; preds = %1868
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1870 = call ptr @__errno_location() #12
  %1871 = load i32, ptr %1870, align 4, !tbaa !5
  store i32 %1871, ptr %33, align 4, !tbaa !5
  %1872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1873 = call i32 @s2n_print_stacktrace(ptr noundef %1872)
  %1874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1875 = trunc i8 %1874 to i1
  br i1 %1875, label %1876, label %1898

1876:                                             ; preds = %1869
  %1877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1878 = call i32 @fileno(ptr noundef %1877) #11
  %1879 = call i32 @isatty(i32 noundef %1878) #11
  %1880 = icmp ne i32 %1879, 0
  br i1 %1880, label %1881, label %1898

1881:                                             ; preds = %1876
  %1882 = load i32, ptr %33, align 4, !tbaa !5
  %1883 = call ptr @__errno_location() #12
  store i32 %1882, ptr %1883, align 4, !tbaa !5
  %1884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1885 = load i32, ptr @test_count, align 4, !tbaa !5
  %1886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  %1888 = call ptr @s2n_strerror(i32 noundef %1887, ptr noundef @.str.4)
  %1889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call ptr @s2n_strerror_debug(i32 noundef %1890, ptr noundef @.str.4)
  %1892 = call ptr @__errno_location() #12
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call ptr @strerror(i32 noundef %1893) #11
  %1895 = call ptr @__errno_location() #12
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1884, ptr noundef @.str.2, i32 noundef %1885, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 179, ptr noundef %1888, ptr noundef %1891, ptr noundef %1894, i32 noundef %1896) #11
  br label %1915

1898:                                             ; preds = %1876, %1869
  %1899 = load i32, ptr %33, align 4, !tbaa !5
  %1900 = call ptr @__errno_location() #12
  store i32 %1899, ptr %1900, align 4, !tbaa !5
  %1901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1902 = load i32, ptr @test_count, align 4, !tbaa !5
  %1903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = call ptr @s2n_strerror(i32 noundef %1904, ptr noundef @.str.4)
  %1906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1907 = load i32, ptr %1906, align 4, !tbaa !5
  %1908 = call ptr @s2n_strerror_debug(i32 noundef %1907, ptr noundef @.str.4)
  %1909 = call ptr @__errno_location() #12
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call ptr @strerror(i32 noundef %1910) #11
  %1912 = call ptr @__errno_location() #12
  %1913 = load i32, ptr %1912, align 4, !tbaa !5
  %1914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1901, ptr noundef @.str.5, i32 noundef %1902, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 179, ptr noundef %1905, ptr noundef %1908, ptr noundef %1911, i32 noundef %1913) #11
  br label %1915

1915:                                             ; preds = %1898, %1881
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1916

1916:                                             ; preds = %1915
  br label %1917

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

1918:                                             ; No predecessors!
  br label %1919

1919:                                             ; preds = %1918
  br label %1920

1920:                                             ; preds = %1919, %1861
  br label %1921

1921:                                             ; preds = %1920
  br label %1922

1922:                                             ; preds = %1921
  br label %1923

1923:                                             ; preds = %1922
  %1924 = load i32, ptr @test_count, align 4, !tbaa !5
  %1925 = add nsw i32 %1924, 1
  store i32 %1925, ptr @test_count, align 4, !tbaa !5
  %1926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1927 = load i32, ptr %1926, align 4, !tbaa !5
  %1928 = icmp eq i32 %1927, 0
  br i1 %1928, label %1929, label %1982

1929:                                             ; preds = %1923
  br label %1930

1930:                                             ; preds = %1929
  br label %1931

1931:                                             ; preds = %1930
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %1932 = call ptr @__errno_location() #12
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  store i32 %1933, ptr %34, align 4, !tbaa !5
  %1934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1935 = call i32 @s2n_print_stacktrace(ptr noundef %1934)
  %1936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1937 = trunc i8 %1936 to i1
  br i1 %1937, label %1938, label %1960

1938:                                             ; preds = %1931
  %1939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1940 = call i32 @fileno(ptr noundef %1939) #11
  %1941 = call i32 @isatty(i32 noundef %1940) #11
  %1942 = icmp ne i32 %1941, 0
  br i1 %1942, label %1943, label %1960

1943:                                             ; preds = %1938
  %1944 = load i32, ptr %34, align 4, !tbaa !5
  %1945 = call ptr @__errno_location() #12
  store i32 %1944, ptr %1945, align 4, !tbaa !5
  %1946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1947 = load i32, ptr @test_count, align 4, !tbaa !5
  %1948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1949 = load i32, ptr %1948, align 4, !tbaa !5
  %1950 = call ptr @s2n_strerror(i32 noundef %1949, ptr noundef @.str.4)
  %1951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1952 = load i32, ptr %1951, align 4, !tbaa !5
  %1953 = call ptr @s2n_strerror_debug(i32 noundef %1952, ptr noundef @.str.4)
  %1954 = call ptr @__errno_location() #12
  %1955 = load i32, ptr %1954, align 4, !tbaa !5
  %1956 = call ptr @strerror(i32 noundef %1955) #11
  %1957 = call ptr @__errno_location() #12
  %1958 = load i32, ptr %1957, align 4, !tbaa !5
  %1959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1946, ptr noundef @.str.2, i32 noundef %1947, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 179, ptr noundef %1950, ptr noundef %1953, ptr noundef %1956, i32 noundef %1958) #11
  br label %1977

1960:                                             ; preds = %1938, %1931
  %1961 = load i32, ptr %34, align 4, !tbaa !5
  %1962 = call ptr @__errno_location() #12
  store i32 %1961, ptr %1962, align 4, !tbaa !5
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = load i32, ptr @test_count, align 4, !tbaa !5
  %1965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1966 = load i32, ptr %1965, align 4, !tbaa !5
  %1967 = call ptr @s2n_strerror(i32 noundef %1966, ptr noundef @.str.4)
  %1968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1969 = load i32, ptr %1968, align 4, !tbaa !5
  %1970 = call ptr @s2n_strerror_debug(i32 noundef %1969, ptr noundef @.str.4)
  %1971 = call ptr @__errno_location() #12
  %1972 = load i32, ptr %1971, align 4, !tbaa !5
  %1973 = call ptr @strerror(i32 noundef %1972) #11
  %1974 = call ptr @__errno_location() #12
  %1975 = load i32, ptr %1974, align 4, !tbaa !5
  %1976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1963, ptr noundef @.str.5, i32 noundef %1964, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 179, ptr noundef %1967, ptr noundef %1970, ptr noundef %1973, i32 noundef %1975) #11
  br label %1977

1977:                                             ; preds = %1960, %1943
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %1978

1978:                                             ; preds = %1977
  br label %1979

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

1980:                                             ; No predecessors!
  br label %1981

1981:                                             ; preds = %1980
  br label %1982

1982:                                             ; preds = %1981, %1923
  br label %1983

1983:                                             ; preds = %1982
  br label %1984

1984:                                             ; preds = %1983
  br label %1985

1985:                                             ; preds = %1984
  %1986 = load i32, ptr @test_count, align 4, !tbaa !5
  %1987 = add nsw i32 %1986, 1
  store i32 %1987, ptr @test_count, align 4, !tbaa !5
  %1988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1989 = load i32, ptr %1988, align 4, !tbaa !5
  %1990 = call ptr @s2n_strerror_debug(i32 noundef %1989, ptr noundef @.str.4)
  %1991 = icmp eq ptr %1990, null
  br i1 %1991, label %1992, label %2045

1992:                                             ; preds = %1985
  br label %1993

1993:                                             ; preds = %1992
  br label %1994

1994:                                             ; preds = %1993
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #11
  %1995 = call ptr @__errno_location() #12
  %1996 = load i32, ptr %1995, align 4, !tbaa !5
  store i32 %1996, ptr %35, align 4, !tbaa !5
  %1997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1998 = call i32 @s2n_print_stacktrace(ptr noundef %1997)
  %1999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2000 = trunc i8 %1999 to i1
  br i1 %2000, label %2001, label %2023

2001:                                             ; preds = %1994
  %2002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2003 = call i32 @fileno(ptr noundef %2002) #11
  %2004 = call i32 @isatty(i32 noundef %2003) #11
  %2005 = icmp ne i32 %2004, 0
  br i1 %2005, label %2006, label %2023

2006:                                             ; preds = %2001
  %2007 = load i32, ptr %35, align 4, !tbaa !5
  %2008 = call ptr @__errno_location() #12
  store i32 %2007, ptr %2008, align 4, !tbaa !5
  %2009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2010 = load i32, ptr @test_count, align 4, !tbaa !5
  %2011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2012 = load i32, ptr %2011, align 4, !tbaa !5
  %2013 = call ptr @s2n_strerror(i32 noundef %2012, ptr noundef @.str.4)
  %2014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2015 = load i32, ptr %2014, align 4, !tbaa !5
  %2016 = call ptr @s2n_strerror_debug(i32 noundef %2015, ptr noundef @.str.4)
  %2017 = call ptr @__errno_location() #12
  %2018 = load i32, ptr %2017, align 4, !tbaa !5
  %2019 = call ptr @strerror(i32 noundef %2018) #11
  %2020 = call ptr @__errno_location() #12
  %2021 = load i32, ptr %2020, align 4, !tbaa !5
  %2022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2009, ptr noundef @.str.2, i32 noundef %2010, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 179, ptr noundef %2013, ptr noundef %2016, ptr noundef %2019, i32 noundef %2021) #11
  br label %2040

2023:                                             ; preds = %2001, %1994
  %2024 = load i32, ptr %35, align 4, !tbaa !5
  %2025 = call ptr @__errno_location() #12
  store i32 %2024, ptr %2025, align 4, !tbaa !5
  %2026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2027 = load i32, ptr @test_count, align 4, !tbaa !5
  %2028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2029 = load i32, ptr %2028, align 4, !tbaa !5
  %2030 = call ptr @s2n_strerror(i32 noundef %2029, ptr noundef @.str.4)
  %2031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2032 = load i32, ptr %2031, align 4, !tbaa !5
  %2033 = call ptr @s2n_strerror_debug(i32 noundef %2032, ptr noundef @.str.4)
  %2034 = call ptr @__errno_location() #12
  %2035 = load i32, ptr %2034, align 4, !tbaa !5
  %2036 = call ptr @strerror(i32 noundef %2035) #11
  %2037 = call ptr @__errno_location() #12
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  %2039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2026, ptr noundef @.str.5, i32 noundef %2027, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 179, ptr noundef %2030, ptr noundef %2033, ptr noundef %2036, i32 noundef %2038) #11
  br label %2040

2040:                                             ; preds = %2023, %2006
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %2041

2041:                                             ; preds = %2040
  br label %2042

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

2043:                                             ; No predecessors!
  br label %2044

2044:                                             ; preds = %2043
  br label %2045

2045:                                             ; preds = %2044, %1985
  br label %2046

2046:                                             ; preds = %2045
  br label %2047

2047:                                             ; preds = %2046
  br label %2048

2048:                                             ; preds = %2047
  %2049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2049, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2050 = call ptr @__errno_location() #12
  store i32 0, ptr %2050, align 4, !tbaa !5
  br label %2051

2051:                                             ; preds = %2048
  br label %2052

2052:                                             ; preds = %2051
  br label %2053

2053:                                             ; preds = %2052
  br label %2054

2054:                                             ; preds = %2053
  %2055 = load ptr, ptr %25, align 8, !tbaa !9
  %2056 = getelementptr inbounds %struct.s2n_connection, ptr %2055, i32 0, i32 27
  %2057 = load ptr, ptr %2056, align 8, !tbaa !46
  %2058 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2057, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %2058, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %2059 = load ptr, ptr %25, align 8, !tbaa !9
  %2060 = getelementptr inbounds %struct.s2n_connection, ptr %2059, i32 0, i32 27
  %2061 = load ptr, ptr %2060, align 8, !tbaa !46
  %2062 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2061, i32 0, i32 0
  %2063 = load ptr, ptr %2062, align 8, !tbaa !47
  %2064 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %2063, i32 0, i32 11
  %2065 = load i32, ptr %2064, align 8, !tbaa !52
  store i32 %2065, ptr %36, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %2066 = load ptr, ptr %25, align 8, !tbaa !9
  %2067 = getelementptr inbounds %struct.s2n_connection, ptr %2066, i32 0, i32 27
  %2068 = load ptr, ptr %2067, align 8, !tbaa !46
  %2069 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2068, i32 0, i32 0
  %2070 = load ptr, ptr %2069, align 8, !tbaa !47
  %2071 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %2070, i32 0, i32 11
  %2072 = load i32, ptr %2071, align 8, !tbaa !52
  %2073 = add i32 %2072, 1
  store i32 %2073, ptr %37, align 4, !tbaa !5
  %2074 = load ptr, ptr %25, align 8, !tbaa !9
  %2075 = getelementptr inbounds %struct.s2n_connection, ptr %2074, i32 0, i32 52
  %2076 = getelementptr inbounds %struct.s2n_handshake, ptr %2075, i32 0, i32 6
  store i32 0, ptr %2076, align 4, !tbaa !54
  %2077 = load i32, ptr %37, align 4, !tbaa !5
  %2078 = load ptr, ptr %24, align 8, !tbaa !9
  %2079 = getelementptr inbounds %struct.s2n_psk, ptr %2078, i32 0, i32 3
  store i32 %2077, ptr %2079, align 8, !tbaa !55
  br label %2080

2080:                                             ; preds = %2054
  %2081 = load i32, ptr @test_count, align 4, !tbaa !5
  %2082 = add nsw i32 %2081, 1
  store i32 %2082, ptr @test_count, align 4, !tbaa !5
  %2083 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 5), align 8, !tbaa !44
  %2084 = load ptr, ptr %25, align 8, !tbaa !9
  %2085 = call zeroext i1 %2083(ptr noundef %2084)
  br i1 %2085, label %2139, label %2086

2086:                                             ; preds = %2080
  br label %2087

2087:                                             ; preds = %2086
  br label %2088

2088:                                             ; preds = %2087
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  %2089 = call ptr @__errno_location() #12
  %2090 = load i32, ptr %2089, align 4, !tbaa !5
  store i32 %2090, ptr %38, 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) #11
  %2098 = call i32 @isatty(i32 noundef %2097) #11
  %2099 = icmp ne i32 %2098, 0
  br i1 %2099, label %2100, label %2117

2100:                                             ; preds = %2095
  %2101 = load i32, ptr %38, align 4, !tbaa !5
  %2102 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %2111 = call ptr @__errno_location() #12
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @strerror(i32 noundef %2112) #11
  %2114 = call ptr @__errno_location() #12
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2103, ptr noundef @.str.2, i32 noundef %2104, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 190, ptr noundef %2107, ptr noundef %2110, ptr noundef %2113, i32 noundef %2115) #11
  br label %2134

2117:                                             ; preds = %2095, %2088
  %2118 = load i32, ptr %38, align 4, !tbaa !5
  %2119 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %2128 = call ptr @__errno_location() #12
  %2129 = load i32, ptr %2128, align 4, !tbaa !5
  %2130 = call ptr @strerror(i32 noundef %2129) #11
  %2131 = call ptr @__errno_location() #12
  %2132 = load i32, ptr %2131, align 4, !tbaa !5
  %2133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2120, ptr noundef @.str.5, i32 noundef %2121, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 190, ptr noundef %2124, ptr noundef %2127, ptr noundef %2130, i32 noundef %2132) #11
  br label %2134

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

2135:                                             ; preds = %2134
  br label %2136

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

2137:                                             ; No predecessors!
  br label %2138

2138:                                             ; preds = %2137
  br label %2139

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

2140:                                             ; preds = %2139
  br label %2141

2141:                                             ; preds = %2140
  %2142 = load ptr, ptr %25, align 8, !tbaa !9
  %2143 = getelementptr inbounds %struct.s2n_connection, ptr %2142, i32 0, i32 52
  %2144 = getelementptr inbounds %struct.s2n_handshake, ptr %2143, i32 0, i32 6
  store i32 16, ptr %2144, align 4, !tbaa !54
  %2145 = load i32, ptr %36, align 4, !tbaa !5
  %2146 = load ptr, ptr %24, align 8, !tbaa !9
  %2147 = getelementptr inbounds %struct.s2n_psk, ptr %2146, i32 0, i32 3
  store i32 %2145, ptr %2147, align 8, !tbaa !55
  br label %2148

2148:                                             ; preds = %2141
  %2149 = load i32, ptr @test_count, align 4, !tbaa !5
  %2150 = add nsw i32 %2149, 1
  store i32 %2150, ptr @test_count, align 4, !tbaa !5
  %2151 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 5), align 8, !tbaa !44
  %2152 = load ptr, ptr %25, align 8, !tbaa !9
  %2153 = call zeroext i1 %2151(ptr noundef %2152)
  br i1 %2153, label %2207, label %2154

2154:                                             ; preds = %2148
  br label %2155

2155:                                             ; preds = %2154
  br label %2156

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

2163:                                             ; preds = %2156
  %2164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2165 = call i32 @fileno(ptr noundef %2164) #11
  %2166 = call i32 @isatty(i32 noundef %2165) #11
  %2167 = icmp ne i32 %2166, 0
  br i1 %2167, label %2168, label %2185

2168:                                             ; preds = %2163
  %2169 = load i32, ptr %39, align 4, !tbaa !5
  %2170 = call ptr @__errno_location() #12
  store i32 %2169, ptr %2170, align 4, !tbaa !5
  %2171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2172 = load i32, ptr @test_count, align 4, !tbaa !5
  %2173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = call ptr @s2n_strerror(i32 noundef %2174, ptr noundef @.str.4)
  %2176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = call ptr @s2n_strerror_debug(i32 noundef %2177, ptr noundef @.str.4)
  %2179 = call ptr @__errno_location() #12
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  %2181 = call ptr @strerror(i32 noundef %2180) #11
  %2182 = call ptr @__errno_location() #12
  %2183 = load i32, ptr %2182, align 4, !tbaa !5
  %2184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2171, ptr noundef @.str.2, i32 noundef %2172, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 195, ptr noundef %2175, ptr noundef %2178, ptr noundef %2181, i32 noundef %2183) #11
  br label %2202

2185:                                             ; preds = %2163, %2156
  %2186 = load i32, ptr %39, align 4, !tbaa !5
  %2187 = call ptr @__errno_location() #12
  store i32 %2186, ptr %2187, align 4, !tbaa !5
  %2188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2189 = load i32, ptr @test_count, align 4, !tbaa !5
  %2190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2191 = load i32, ptr %2190, align 4, !tbaa !5
  %2192 = call ptr @s2n_strerror(i32 noundef %2191, ptr noundef @.str.4)
  %2193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2194 = load i32, ptr %2193, align 4, !tbaa !5
  %2195 = call ptr @s2n_strerror_debug(i32 noundef %2194, ptr noundef @.str.4)
  %2196 = call ptr @__errno_location() #12
  %2197 = load i32, ptr %2196, align 4, !tbaa !5
  %2198 = call ptr @strerror(i32 noundef %2197) #11
  %2199 = call ptr @__errno_location() #12
  %2200 = load i32, ptr %2199, align 4, !tbaa !5
  %2201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2188, ptr noundef @.str.5, i32 noundef %2189, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 195, ptr noundef %2192, ptr noundef %2195, ptr noundef %2198, i32 noundef %2200) #11
  br label %2202

2202:                                             ; preds = %2185, %2168
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %2203

2203:                                             ; preds = %2202
  br label %2204

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

2205:                                             ; No predecessors!
  br label %2206

2206:                                             ; preds = %2205
  br label %2207

2207:                                             ; preds = %2206, %2148
  br label %2208

2208:                                             ; preds = %2207
  br label %2209

2209:                                             ; preds = %2208
  %2210 = load ptr, ptr %25, align 8, !tbaa !9
  %2211 = getelementptr inbounds %struct.s2n_connection, ptr %2210, i32 0, i32 52
  %2212 = getelementptr inbounds %struct.s2n_handshake, ptr %2211, i32 0, i32 6
  store i32 16, ptr %2212, align 4, !tbaa !54
  %2213 = load i32, ptr %37, align 4, !tbaa !5
  %2214 = load ptr, ptr %24, align 8, !tbaa !9
  %2215 = getelementptr inbounds %struct.s2n_psk, ptr %2214, i32 0, i32 3
  store i32 %2213, ptr %2215, align 8, !tbaa !55
  br label %2216

2216:                                             ; preds = %2209
  %2217 = load i32, ptr @test_count, align 4, !tbaa !5
  %2218 = add nsw i32 %2217, 1
  store i32 %2218, ptr @test_count, align 4, !tbaa !5
  %2219 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 5), align 8, !tbaa !44
  %2220 = load ptr, ptr %25, align 8, !tbaa !9
  %2221 = call zeroext i1 %2219(ptr noundef %2220)
  br i1 %2221, label %2222, label %2275

2222:                                             ; preds = %2216
  br label %2223

2223:                                             ; preds = %2222
  br label %2224

2224:                                             ; preds = %2223
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %2225 = call ptr @__errno_location() #12
  %2226 = load i32, ptr %2225, align 4, !tbaa !5
  store i32 %2226, ptr %40, align 4, !tbaa !5
  %2227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2228 = call i32 @s2n_print_stacktrace(ptr noundef %2227)
  %2229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2230 = trunc i8 %2229 to i1
  br i1 %2230, label %2231, label %2253

2231:                                             ; preds = %2224
  %2232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2233 = call i32 @fileno(ptr noundef %2232) #11
  %2234 = call i32 @isatty(i32 noundef %2233) #11
  %2235 = icmp ne i32 %2234, 0
  br i1 %2235, label %2236, label %2253

2236:                                             ; preds = %2231
  %2237 = load i32, ptr %40, align 4, !tbaa !5
  %2238 = call ptr @__errno_location() #12
  store i32 %2237, ptr %2238, align 4, !tbaa !5
  %2239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2240 = load i32, ptr @test_count, align 4, !tbaa !5
  %2241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2242 = load i32, ptr %2241, align 4, !tbaa !5
  %2243 = call ptr @s2n_strerror(i32 noundef %2242, ptr noundef @.str.4)
  %2244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2245 = load i32, ptr %2244, align 4, !tbaa !5
  %2246 = call ptr @s2n_strerror_debug(i32 noundef %2245, ptr noundef @.str.4)
  %2247 = call ptr @__errno_location() #12
  %2248 = load i32, ptr %2247, align 4, !tbaa !5
  %2249 = call ptr @strerror(i32 noundef %2248) #11
  %2250 = call ptr @__errno_location() #12
  %2251 = load i32, ptr %2250, align 4, !tbaa !5
  %2252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2239, ptr noundef @.str.2, i32 noundef %2240, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 200, ptr noundef %2243, ptr noundef %2246, ptr noundef %2249, i32 noundef %2251) #11
  br label %2270

2253:                                             ; preds = %2231, %2224
  %2254 = load i32, ptr %40, align 4, !tbaa !5
  %2255 = call ptr @__errno_location() #12
  store i32 %2254, ptr %2255, align 4, !tbaa !5
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = load i32, ptr @test_count, align 4, !tbaa !5
  %2258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2259 = load i32, ptr %2258, align 4, !tbaa !5
  %2260 = call ptr @s2n_strerror(i32 noundef %2259, ptr noundef @.str.4)
  %2261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2262 = load i32, ptr %2261, align 4, !tbaa !5
  %2263 = call ptr @s2n_strerror_debug(i32 noundef %2262, ptr noundef @.str.4)
  %2264 = call ptr @__errno_location() #12
  %2265 = load i32, ptr %2264, align 4, !tbaa !5
  %2266 = call ptr @strerror(i32 noundef %2265) #11
  %2267 = call ptr @__errno_location() #12
  %2268 = load i32, ptr %2267, align 4, !tbaa !5
  %2269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2256, ptr noundef @.str.5, i32 noundef %2257, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 200, ptr noundef %2260, ptr noundef %2263, ptr noundef %2266, i32 noundef %2268) #11
  br label %2270

2270:                                             ; preds = %2253, %2236
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %2271

2271:                                             ; preds = %2270
  br label %2272

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

2273:                                             ; No predecessors!
  br label %2274

2274:                                             ; preds = %2273
  br label %2275

2275:                                             ; preds = %2274, %2216
  br label %2276

2276:                                             ; preds = %2275
  br label %2277

2277:                                             ; preds = %2276
  %2278 = load ptr, ptr %25, align 8, !tbaa !9
  %2279 = getelementptr inbounds %struct.s2n_connection, ptr %2278, i32 0, i32 52
  %2280 = getelementptr inbounds %struct.s2n_handshake, ptr %2279, i32 0, i32 6
  store i32 16, ptr %2280, align 4, !tbaa !54
  %2281 = load i32, ptr %37, align 4, !tbaa !5
  %2282 = load ptr, ptr %24, align 8, !tbaa !9
  %2283 = getelementptr inbounds %struct.s2n_psk, ptr %2282, i32 0, i32 3
  store i32 %2281, ptr %2283, align 8, !tbaa !55
  br label %2284

2284:                                             ; preds = %2277
  %2285 = load i32, ptr @test_count, align 4, !tbaa !5
  %2286 = add nsw i32 %2285, 1
  store i32 %2286, ptr @test_count, align 4, !tbaa !5
  %2287 = load ptr, ptr %25, align 8, !tbaa !9
  %2288 = getelementptr inbounds %struct.s2n_connection, ptr %2287, i32 0, i32 33
  %2289 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %2288, i32 0, i32 1
  %2290 = call i32 @s2n_array_pushback(ptr noundef %2289, ptr noundef %24)
  %2291 = getelementptr inbounds %struct.s2n_result, ptr %41, i32 0, i32 0
  store i32 %2290, ptr %2291, align 4
  %2292 = getelementptr inbounds %struct.s2n_result, ptr %41, i32 0, i32 0
  %2293 = load i32, ptr %2292, align 4
  %2294 = call zeroext i1 @s2n_result_is_ok(i32 %2293)
  br i1 %2294, label %2348, label %2295

2295:                                             ; preds = %2284
  br label %2296

2296:                                             ; preds = %2295
  br label %2297

2297:                                             ; preds = %2296
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #11
  %2298 = call ptr @__errno_location() #12
  %2299 = load i32, ptr %2298, align 4, !tbaa !5
  store i32 %2299, ptr %42, align 4, !tbaa !5
  %2300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2301 = call i32 @s2n_print_stacktrace(ptr noundef %2300)
  %2302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2303 = trunc i8 %2302 to i1
  br i1 %2303, label %2304, label %2326

2304:                                             ; preds = %2297
  %2305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2306 = call i32 @fileno(ptr noundef %2305) #11
  %2307 = call i32 @isatty(i32 noundef %2306) #11
  %2308 = icmp ne i32 %2307, 0
  br i1 %2308, label %2309, label %2326

2309:                                             ; preds = %2304
  %2310 = load i32, ptr %42, align 4, !tbaa !5
  %2311 = call ptr @__errno_location() #12
  store i32 %2310, ptr %2311, align 4, !tbaa !5
  %2312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2313 = load i32, ptr @test_count, align 4, !tbaa !5
  %2314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  %2316 = call ptr @s2n_strerror(i32 noundef %2315, ptr noundef @.str.4)
  %2317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2318 = load i32, ptr %2317, align 4, !tbaa !5
  %2319 = call ptr @s2n_strerror_debug(i32 noundef %2318, ptr noundef @.str.4)
  %2320 = call ptr @__errno_location() #12
  %2321 = load i32, ptr %2320, align 4, !tbaa !5
  %2322 = call ptr @strerror(i32 noundef %2321) #11
  %2323 = call ptr @__errno_location() #12
  %2324 = load i32, ptr %2323, align 4, !tbaa !5
  %2325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2312, ptr noundef @.str.2, i32 noundef %2313, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 205, ptr noundef %2316, ptr noundef %2319, ptr noundef %2322, i32 noundef %2324) #11
  br label %2343

2326:                                             ; preds = %2304, %2297
  %2327 = load i32, ptr %42, align 4, !tbaa !5
  %2328 = call ptr @__errno_location() #12
  store i32 %2327, ptr %2328, align 4, !tbaa !5
  %2329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2330 = load i32, ptr @test_count, align 4, !tbaa !5
  %2331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2332 = load i32, ptr %2331, align 4, !tbaa !5
  %2333 = call ptr @s2n_strerror(i32 noundef %2332, ptr noundef @.str.4)
  %2334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2335 = load i32, ptr %2334, align 4, !tbaa !5
  %2336 = call ptr @s2n_strerror_debug(i32 noundef %2335, ptr noundef @.str.4)
  %2337 = call ptr @__errno_location() #12
  %2338 = load i32, ptr %2337, align 4, !tbaa !5
  %2339 = call ptr @strerror(i32 noundef %2338) #11
  %2340 = call ptr @__errno_location() #12
  %2341 = load i32, ptr %2340, align 4, !tbaa !5
  %2342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2329, ptr noundef @.str.5, i32 noundef %2330, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 205, ptr noundef %2333, ptr noundef %2336, ptr noundef %2339, i32 noundef %2341) #11
  br label %2343

2343:                                             ; preds = %2326, %2309
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %2344

2344:                                             ; preds = %2343
  br label %2345

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

2346:                                             ; No predecessors!
  br label %2347

2347:                                             ; preds = %2346
  br label %2348

2348:                                             ; preds = %2347, %2284
  br label %2349

2349:                                             ; preds = %2348
  br label %2350

2350:                                             ; preds = %2349
  %2351 = load i32, ptr %36, align 4, !tbaa !5
  %2352 = load ptr, ptr %24, align 8, !tbaa !9
  %2353 = getelementptr inbounds %struct.s2n_psk, ptr %2352, i32 0, i32 3
  store i32 %2351, ptr %2353, align 8, !tbaa !55
  br label %2354

2354:                                             ; preds = %2350
  %2355 = load i32, ptr @test_count, align 4, !tbaa !5
  %2356 = add nsw i32 %2355, 1
  store i32 %2356, ptr @test_count, align 4, !tbaa !5
  %2357 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 5), align 8, !tbaa !44
  %2358 = load ptr, ptr %25, align 8, !tbaa !9
  %2359 = call zeroext i1 %2357(ptr noundef %2358)
  br i1 %2359, label %2413, label %2360

2360:                                             ; preds = %2354
  br label %2361

2361:                                             ; preds = %2360
  br label %2362

2362:                                             ; preds = %2361
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #11
  %2363 = call ptr @__errno_location() #12
  %2364 = load i32, ptr %2363, align 4, !tbaa !5
  store i32 %2364, ptr %43, align 4, !tbaa !5
  %2365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2366 = call i32 @s2n_print_stacktrace(ptr noundef %2365)
  %2367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2368 = trunc i8 %2367 to i1
  br i1 %2368, label %2369, label %2391

2369:                                             ; preds = %2362
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = call i32 @fileno(ptr noundef %2370) #11
  %2372 = call i32 @isatty(i32 noundef %2371) #11
  %2373 = icmp ne i32 %2372, 0
  br i1 %2373, label %2374, label %2391

2374:                                             ; preds = %2369
  %2375 = load i32, ptr %43, align 4, !tbaa !5
  %2376 = call ptr @__errno_location() #12
  store i32 %2375, ptr %2376, align 4, !tbaa !5
  %2377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2378 = load i32, ptr @test_count, align 4, !tbaa !5
  %2379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2380 = load i32, ptr %2379, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror(i32 noundef %2380, ptr noundef @.str.4)
  %2382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2383 = load i32, ptr %2382, align 4, !tbaa !5
  %2384 = call ptr @s2n_strerror_debug(i32 noundef %2383, ptr noundef @.str.4)
  %2385 = call ptr @__errno_location() #12
  %2386 = load i32, ptr %2385, align 4, !tbaa !5
  %2387 = call ptr @strerror(i32 noundef %2386) #11
  %2388 = call ptr @__errno_location() #12
  %2389 = load i32, ptr %2388, align 4, !tbaa !5
  %2390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2377, ptr noundef @.str.2, i32 noundef %2378, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 207, ptr noundef %2381, ptr noundef %2384, ptr noundef %2387, i32 noundef %2389) #11
  br label %2408

2391:                                             ; preds = %2369, %2362
  %2392 = load i32, ptr %43, align 4, !tbaa !5
  %2393 = call ptr @__errno_location() #12
  store i32 %2392, ptr %2393, align 4, !tbaa !5
  %2394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2395 = load i32, ptr @test_count, align 4, !tbaa !5
  %2396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2397 = load i32, ptr %2396, align 4, !tbaa !5
  %2398 = call ptr @s2n_strerror(i32 noundef %2397, ptr noundef @.str.4)
  %2399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2400 = load i32, ptr %2399, align 4, !tbaa !5
  %2401 = call ptr @s2n_strerror_debug(i32 noundef %2400, ptr noundef @.str.4)
  %2402 = call ptr @__errno_location() #12
  %2403 = load i32, ptr %2402, align 4, !tbaa !5
  %2404 = call ptr @strerror(i32 noundef %2403) #11
  %2405 = call ptr @__errno_location() #12
  %2406 = load i32, ptr %2405, align 4, !tbaa !5
  %2407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2394, ptr noundef @.str.5, i32 noundef %2395, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 207, ptr noundef %2398, ptr noundef %2401, ptr noundef %2404, i32 noundef %2406) #11
  br label %2408

2408:                                             ; preds = %2391, %2374
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %2409

2409:                                             ; preds = %2408
  br label %2410

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

2411:                                             ; No predecessors!
  br label %2412

2412:                                             ; preds = %2411
  br label %2413

2413:                                             ; preds = %2412, %2354
  br label %2414

2414:                                             ; preds = %2413
  br label %2415

2415:                                             ; preds = %2414
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %2416

2416:                                             ; preds = %2415
  %2417 = load i32, ptr @test_count, align 4, !tbaa !5
  %2418 = add nsw i32 %2417, 1
  store i32 %2418, ptr @test_count, align 4, !tbaa !5
  %2419 = load ptr, ptr %25, align 8, !tbaa !9
  %2420 = call i32 @s2n_connection_free(ptr noundef %2419)
  %2421 = icmp eq i32 %2420, -1
  br i1 %2421, label %2422, label %2475

2422:                                             ; preds = %2416
  br label %2423

2423:                                             ; preds = %2422
  br label %2424

2424:                                             ; preds = %2423
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #11
  %2425 = call ptr @__errno_location() #12
  %2426 = load i32, ptr %2425, align 4, !tbaa !5
  store i32 %2426, ptr %44, align 4, !tbaa !5
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = call i32 @s2n_print_stacktrace(ptr noundef %2427)
  %2429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2430 = trunc i8 %2429 to i1
  br i1 %2430, label %2431, label %2453

2431:                                             ; preds = %2424
  %2432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2433 = call i32 @fileno(ptr noundef %2432) #11
  %2434 = call i32 @isatty(i32 noundef %2433) #11
  %2435 = icmp ne i32 %2434, 0
  br i1 %2435, label %2436, label %2453

2436:                                             ; preds = %2431
  %2437 = load i32, ptr %44, align 4, !tbaa !5
  %2438 = call ptr @__errno_location() #12
  store i32 %2437, ptr %2438, align 4, !tbaa !5
  %2439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2440 = load i32, ptr @test_count, align 4, !tbaa !5
  %2441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2442 = load i32, ptr %2441, align 4, !tbaa !5
  %2443 = call ptr @s2n_strerror(i32 noundef %2442, ptr noundef @.str.4)
  %2444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2445 = load i32, ptr %2444, align 4, !tbaa !5
  %2446 = call ptr @s2n_strerror_debug(i32 noundef %2445, ptr noundef @.str.4)
  %2447 = call ptr @__errno_location() #12
  %2448 = load i32, ptr %2447, align 4, !tbaa !5
  %2449 = call ptr @strerror(i32 noundef %2448) #11
  %2450 = call ptr @__errno_location() #12
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  %2452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2439, ptr noundef @.str.2, i32 noundef %2440, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 210, ptr noundef %2443, ptr noundef %2446, ptr noundef %2449, i32 noundef %2451) #11
  br label %2470

2453:                                             ; preds = %2431, %2424
  %2454 = load i32, ptr %44, align 4, !tbaa !5
  %2455 = call ptr @__errno_location() #12
  store i32 %2454, ptr %2455, align 4, !tbaa !5
  %2456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2457 = load i32, ptr @test_count, align 4, !tbaa !5
  %2458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2459 = load i32, ptr %2458, align 4, !tbaa !5
  %2460 = call ptr @s2n_strerror(i32 noundef %2459, ptr noundef @.str.4)
  %2461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2462 = load i32, ptr %2461, align 4, !tbaa !5
  %2463 = call ptr @s2n_strerror_debug(i32 noundef %2462, ptr noundef @.str.4)
  %2464 = call ptr @__errno_location() #12
  %2465 = load i32, ptr %2464, align 4, !tbaa !5
  %2466 = call ptr @strerror(i32 noundef %2465) #11
  %2467 = call ptr @__errno_location() #12
  %2468 = load i32, ptr %2467, align 4, !tbaa !5
  %2469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2456, ptr noundef @.str.5, i32 noundef %2457, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 210, ptr noundef %2460, ptr noundef %2463, ptr noundef %2466, i32 noundef %2468) #11
  br label %2470

2470:                                             ; preds = %2453, %2436
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #11
  br label %2471

2471:                                             ; preds = %2470
  br label %2472

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

2473:                                             ; No predecessors!
  br label %2474

2474:                                             ; preds = %2473
  br label %2475

2475:                                             ; preds = %2474, %2416
  br label %2476

2476:                                             ; preds = %2475
  br label %2477

2477:                                             ; preds = %2476
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  store i32 0, ptr %45, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #11
  store i64 0, ptr %46, align 8, !tbaa !58
  call void @llvm.lifetime.start.p0(i64 168, ptr %47) #11
  call void @llvm.memset.p0.i64(ptr align 8 %47, i8 0, i64 168, i1 false)
  %2478 = getelementptr inbounds %struct.s2n_psk, ptr %47, i32 0, i32 0
  store i32 0, ptr %2478, align 8, !tbaa !59
  store i64 0, ptr %46, align 8, !tbaa !58
  %2479 = getelementptr inbounds %struct.s2n_psk, ptr %47, i32 0, i32 5
  store i64 10, ptr %2479, align 8, !tbaa !60
  br label %2480

2480:                                             ; preds = %2477
  br label %2481

2481:                                             ; preds = %2480
  br label %2482

2482:                                             ; preds = %2481
  %2483 = load i32, ptr @test_count, align 4, !tbaa !5
  %2484 = add nsw i32 %2483, 1
  store i32 %2484, ptr @test_count, align 4, !tbaa !5
  %2485 = load i64, ptr %46, align 8, !tbaa !58
  %2486 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef %47, i64 noundef %2485, ptr noundef %45)
  %2487 = getelementptr inbounds %struct.s2n_result, ptr %48, i32 0, i32 0
  store i32 %2486, ptr %2487, align 4
  %2488 = getelementptr inbounds %struct.s2n_result, ptr %48, i32 0, i32 0
  %2489 = load i32, ptr %2488, align 4
  %2490 = call zeroext i1 @s2n_result_is_error(i32 %2489)
  br i1 %2490, label %2544, label %2491

2491:                                             ; preds = %2482
  br label %2492

2492:                                             ; preds = %2491
  br label %2493

2493:                                             ; preds = %2492
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %2494 = call ptr @__errno_location() #12
  %2495 = load i32, ptr %2494, align 4, !tbaa !5
  store i32 %2495, ptr %49, align 4, !tbaa !5
  %2496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2497 = call i32 @s2n_print_stacktrace(ptr noundef %2496)
  %2498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2499 = trunc i8 %2498 to i1
  br i1 %2499, label %2500, label %2522

2500:                                             ; preds = %2493
  %2501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2502 = call i32 @fileno(ptr noundef %2501) #11
  %2503 = call i32 @isatty(i32 noundef %2502) #11
  %2504 = icmp ne i32 %2503, 0
  br i1 %2504, label %2505, label %2522

2505:                                             ; preds = %2500
  %2506 = load i32, ptr %49, align 4, !tbaa !5
  %2507 = call ptr @__errno_location() #12
  store i32 %2506, ptr %2507, align 4, !tbaa !5
  %2508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2509 = load i32, ptr @test_count, align 4, !tbaa !5
  %2510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2511 = load i32, ptr %2510, align 4, !tbaa !5
  %2512 = call ptr @s2n_strerror(i32 noundef %2511, ptr noundef @.str.4)
  %2513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2514 = load i32, ptr %2513, align 4, !tbaa !5
  %2515 = call ptr @s2n_strerror_debug(i32 noundef %2514, ptr noundef @.str.4)
  %2516 = call ptr @__errno_location() #12
  %2517 = load i32, ptr %2516, align 4, !tbaa !5
  %2518 = call ptr @strerror(i32 noundef %2517) #11
  %2519 = call ptr @__errno_location() #12
  %2520 = load i32, ptr %2519, align 4, !tbaa !5
  %2521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2508, ptr noundef @.str.2, i32 noundef %2509, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 224, ptr noundef %2512, ptr noundef %2515, ptr noundef %2518, i32 noundef %2520) #11
  br label %2539

2522:                                             ; preds = %2500, %2493
  %2523 = load i32, ptr %49, align 4, !tbaa !5
  %2524 = call ptr @__errno_location() #12
  store i32 %2523, ptr %2524, align 4, !tbaa !5
  %2525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2526 = load i32, ptr @test_count, align 4, !tbaa !5
  %2527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  %2529 = call ptr @s2n_strerror(i32 noundef %2528, ptr noundef @.str.4)
  %2530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  %2532 = call ptr @s2n_strerror_debug(i32 noundef %2531, ptr noundef @.str.4)
  %2533 = call ptr @__errno_location() #12
  %2534 = load i32, ptr %2533, align 4, !tbaa !5
  %2535 = call ptr @strerror(i32 noundef %2534) #11
  %2536 = call ptr @__errno_location() #12
  %2537 = load i32, ptr %2536, align 4, !tbaa !5
  %2538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2525, ptr noundef @.str.5, i32 noundef %2526, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 224, ptr noundef %2529, ptr noundef %2532, ptr noundef %2535, i32 noundef %2537) #11
  br label %2539

2539:                                             ; preds = %2522, %2505
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2540

2540:                                             ; preds = %2539
  br label %2541

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

2542:                                             ; No predecessors!
  br label %2543

2543:                                             ; preds = %2542
  br label %2544

2544:                                             ; preds = %2543, %2482
  br label %2545

2545:                                             ; preds = %2544
  br label %2546

2546:                                             ; preds = %2545
  br label %2547

2547:                                             ; preds = %2546
  %2548 = load i32, ptr @test_count, align 4, !tbaa !5
  %2549 = add nsw i32 %2548, 1
  store i32 %2549, ptr @test_count, align 4, !tbaa !5
  %2550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2551 = load i32, ptr %2550, align 4, !tbaa !5
  %2552 = icmp eq i32 %2551, 402653194
  br i1 %2552, label %2606, label %2553

2553:                                             ; preds = %2547
  br label %2554

2554:                                             ; preds = %2553
  br label %2555

2555:                                             ; preds = %2554
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %2556 = call ptr @__errno_location() #12
  %2557 = load i32, ptr %2556, align 4, !tbaa !5
  store i32 %2557, ptr %50, align 4, !tbaa !5
  %2558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2559 = call i32 @s2n_print_stacktrace(ptr noundef %2558)
  %2560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2561 = trunc i8 %2560 to i1
  br i1 %2561, label %2562, label %2584

2562:                                             ; preds = %2555
  %2563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2564 = call i32 @fileno(ptr noundef %2563) #11
  %2565 = call i32 @isatty(i32 noundef %2564) #11
  %2566 = icmp ne i32 %2565, 0
  br i1 %2566, label %2567, label %2584

2567:                                             ; preds = %2562
  %2568 = load i32, ptr %50, align 4, !tbaa !5
  %2569 = call ptr @__errno_location() #12
  store i32 %2568, ptr %2569, align 4, !tbaa !5
  %2570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2571 = load i32, ptr @test_count, align 4, !tbaa !5
  %2572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2573 = load i32, ptr %2572, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror(i32 noundef %2573, ptr noundef @.str.4)
  %2575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2576 = load i32, ptr %2575, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror_debug(i32 noundef %2576, ptr noundef @.str.4)
  %2578 = call ptr @__errno_location() #12
  %2579 = load i32, ptr %2578, align 4, !tbaa !5
  %2580 = call ptr @strerror(i32 noundef %2579) #11
  %2581 = call ptr @__errno_location() #12
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2570, ptr noundef @.str.2, i32 noundef %2571, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 224, ptr noundef %2574, ptr noundef %2577, ptr noundef %2580, i32 noundef %2582) #11
  br label %2601

2584:                                             ; preds = %2562, %2555
  %2585 = load i32, ptr %50, align 4, !tbaa !5
  %2586 = call ptr @__errno_location() #12
  store i32 %2585, ptr %2586, align 4, !tbaa !5
  %2587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2588 = load i32, ptr @test_count, align 4, !tbaa !5
  %2589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2590 = load i32, ptr %2589, align 4, !tbaa !5
  %2591 = call ptr @s2n_strerror(i32 noundef %2590, ptr noundef @.str.4)
  %2592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2593 = load i32, ptr %2592, align 4, !tbaa !5
  %2594 = call ptr @s2n_strerror_debug(i32 noundef %2593, ptr noundef @.str.4)
  %2595 = call ptr @__errno_location() #12
  %2596 = load i32, ptr %2595, align 4, !tbaa !5
  %2597 = call ptr @strerror(i32 noundef %2596) #11
  %2598 = call ptr @__errno_location() #12
  %2599 = load i32, ptr %2598, align 4, !tbaa !5
  %2600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2587, ptr noundef @.str.5, i32 noundef %2588, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 224, ptr noundef %2591, ptr noundef %2594, ptr noundef %2597, i32 noundef %2599) #11
  br label %2601

2601:                                             ; preds = %2584, %2567
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2602

2602:                                             ; preds = %2601
  br label %2603

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

2604:                                             ; No predecessors!
  br label %2605

2605:                                             ; preds = %2604
  br label %2606

2606:                                             ; preds = %2605, %2547
  br label %2607

2607:                                             ; preds = %2606
  br label %2608

2608:                                             ; preds = %2607
  br label %2609

2609:                                             ; preds = %2608
  %2610 = load i32, ptr @test_count, align 4, !tbaa !5
  %2611 = add nsw i32 %2610, 1
  store i32 %2611, ptr @test_count, align 4, !tbaa !5
  %2612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2613 = load i32, ptr %2612, align 4, !tbaa !5
  %2614 = call ptr @s2n_strerror_debug(i32 noundef %2613, ptr noundef @.str.4)
  %2615 = icmp eq ptr %2614, null
  br i1 %2615, label %2616, label %2669

2616:                                             ; preds = %2609
  br label %2617

2617:                                             ; preds = %2616
  br label %2618

2618:                                             ; preds = %2617
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  %2619 = call ptr @__errno_location() #12
  %2620 = load i32, ptr %2619, align 4, !tbaa !5
  store i32 %2620, ptr %51, align 4, !tbaa !5
  %2621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2622 = call i32 @s2n_print_stacktrace(ptr noundef %2621)
  %2623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2624 = trunc i8 %2623 to i1
  br i1 %2624, label %2625, label %2647

2625:                                             ; preds = %2618
  %2626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2627 = call i32 @fileno(ptr noundef %2626) #11
  %2628 = call i32 @isatty(i32 noundef %2627) #11
  %2629 = icmp ne i32 %2628, 0
  br i1 %2629, label %2630, label %2647

2630:                                             ; preds = %2625
  %2631 = load i32, ptr %51, align 4, !tbaa !5
  %2632 = call ptr @__errno_location() #12
  store i32 %2631, ptr %2632, align 4, !tbaa !5
  %2633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2634 = load i32, ptr @test_count, align 4, !tbaa !5
  %2635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2636 = load i32, ptr %2635, align 4, !tbaa !5
  %2637 = call ptr @s2n_strerror(i32 noundef %2636, ptr noundef @.str.4)
  %2638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2639 = load i32, ptr %2638, align 4, !tbaa !5
  %2640 = call ptr @s2n_strerror_debug(i32 noundef %2639, ptr noundef @.str.4)
  %2641 = call ptr @__errno_location() #12
  %2642 = load i32, ptr %2641, align 4, !tbaa !5
  %2643 = call ptr @strerror(i32 noundef %2642) #11
  %2644 = call ptr @__errno_location() #12
  %2645 = load i32, ptr %2644, align 4, !tbaa !5
  %2646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2633, ptr noundef @.str.2, i32 noundef %2634, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 224, ptr noundef %2637, ptr noundef %2640, ptr noundef %2643, i32 noundef %2645) #11
  br label %2664

2647:                                             ; preds = %2625, %2618
  %2648 = load i32, ptr %51, align 4, !tbaa !5
  %2649 = call ptr @__errno_location() #12
  store i32 %2648, ptr %2649, align 4, !tbaa !5
  %2650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2651 = load i32, ptr @test_count, align 4, !tbaa !5
  %2652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2653 = load i32, ptr %2652, align 4, !tbaa !5
  %2654 = call ptr @s2n_strerror(i32 noundef %2653, ptr noundef @.str.4)
  %2655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2656 = load i32, ptr %2655, align 4, !tbaa !5
  %2657 = call ptr @s2n_strerror_debug(i32 noundef %2656, ptr noundef @.str.4)
  %2658 = call ptr @__errno_location() #12
  %2659 = load i32, ptr %2658, align 4, !tbaa !5
  %2660 = call ptr @strerror(i32 noundef %2659) #11
  %2661 = call ptr @__errno_location() #12
  %2662 = load i32, ptr %2661, align 4, !tbaa !5
  %2663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2650, ptr noundef @.str.5, i32 noundef %2651, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 224, ptr noundef %2654, ptr noundef %2657, ptr noundef %2660, i32 noundef %2662) #11
  br label %2664

2664:                                             ; preds = %2647, %2630
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2665

2665:                                             ; preds = %2664
  br label %2666

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

2667:                                             ; No predecessors!
  br label %2668

2668:                                             ; preds = %2667
  br label %2669

2669:                                             ; preds = %2668, %2609
  br label %2670

2670:                                             ; preds = %2669
  br label %2671

2671:                                             ; preds = %2670
  br label %2672

2672:                                             ; preds = %2671
  br label %2673

2673:                                             ; preds = %2672
  br label %2674

2674:                                             ; preds = %2673
  %2675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2675, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2676 = call ptr @__errno_location() #12
  store i32 0, ptr %2676, align 4, !tbaa !5
  br label %2677

2677:                                             ; preds = %2674
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

2679:                                             ; preds = %2678
  br label %2680

2680:                                             ; preds = %2679
  store i64 -1, ptr %46, align 8, !tbaa !58
  %2681 = getelementptr inbounds %struct.s2n_psk, ptr %47, i32 0, i32 5
  store i64 0, ptr %2681, align 8, !tbaa !60
  br label %2682

2682:                                             ; preds = %2680
  br label %2683

2683:                                             ; preds = %2682
  br label %2684

2684:                                             ; preds = %2683
  %2685 = load i32, ptr @test_count, align 4, !tbaa !5
  %2686 = add nsw i32 %2685, 1
  store i32 %2686, ptr @test_count, align 4, !tbaa !5
  %2687 = load i64, ptr %46, align 8, !tbaa !58
  %2688 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef %47, i64 noundef %2687, ptr noundef %45)
  %2689 = getelementptr inbounds %struct.s2n_result, ptr %52, i32 0, i32 0
  store i32 %2688, ptr %2689, align 4
  %2690 = getelementptr inbounds %struct.s2n_result, ptr %52, i32 0, i32 0
  %2691 = load i32, ptr %2690, align 4
  %2692 = call zeroext i1 @s2n_result_is_error(i32 %2691)
  br i1 %2692, label %2746, label %2693

2693:                                             ; preds = %2684
  br label %2694

2694:                                             ; preds = %2693
  br label %2695

2695:                                             ; preds = %2694
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #11
  %2696 = call ptr @__errno_location() #12
  %2697 = load i32, ptr %2696, align 4, !tbaa !5
  store i32 %2697, ptr %53, align 4, !tbaa !5
  %2698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2699 = call i32 @s2n_print_stacktrace(ptr noundef %2698)
  %2700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2701 = trunc i8 %2700 to i1
  br i1 %2701, label %2702, label %2724

2702:                                             ; preds = %2695
  %2703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2704 = call i32 @fileno(ptr noundef %2703) #11
  %2705 = call i32 @isatty(i32 noundef %2704) #11
  %2706 = icmp ne i32 %2705, 0
  br i1 %2706, label %2707, label %2724

2707:                                             ; preds = %2702
  %2708 = load i32, ptr %53, align 4, !tbaa !5
  %2709 = call ptr @__errno_location() #12
  store i32 %2708, ptr %2709, align 4, !tbaa !5
  %2710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2711 = load i32, ptr @test_count, align 4, !tbaa !5
  %2712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2713 = load i32, ptr %2712, align 4, !tbaa !5
  %2714 = call ptr @s2n_strerror(i32 noundef %2713, ptr noundef @.str.4)
  %2715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2716 = load i32, ptr %2715, align 4, !tbaa !5
  %2717 = call ptr @s2n_strerror_debug(i32 noundef %2716, ptr noundef @.str.4)
  %2718 = call ptr @__errno_location() #12
  %2719 = load i32, ptr %2718, align 4, !tbaa !5
  %2720 = call ptr @strerror(i32 noundef %2719) #11
  %2721 = call ptr @__errno_location() #12
  %2722 = load i32, ptr %2721, align 4, !tbaa !5
  %2723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2710, ptr noundef @.str.2, i32 noundef %2711, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 231, ptr noundef %2714, ptr noundef %2717, ptr noundef %2720, i32 noundef %2722) #11
  br label %2741

2724:                                             ; preds = %2702, %2695
  %2725 = load i32, ptr %53, align 4, !tbaa !5
  %2726 = call ptr @__errno_location() #12
  store i32 %2725, ptr %2726, align 4, !tbaa !5
  %2727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2728 = load i32, ptr @test_count, align 4, !tbaa !5
  %2729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2730 = load i32, ptr %2729, align 4, !tbaa !5
  %2731 = call ptr @s2n_strerror(i32 noundef %2730, ptr noundef @.str.4)
  %2732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2733 = load i32, ptr %2732, align 4, !tbaa !5
  %2734 = call ptr @s2n_strerror_debug(i32 noundef %2733, ptr noundef @.str.4)
  %2735 = call ptr @__errno_location() #12
  %2736 = load i32, ptr %2735, align 4, !tbaa !5
  %2737 = call ptr @strerror(i32 noundef %2736) #11
  %2738 = call ptr @__errno_location() #12
  %2739 = load i32, ptr %2738, align 4, !tbaa !5
  %2740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2727, ptr noundef @.str.5, i32 noundef %2728, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 231, ptr noundef %2731, ptr noundef %2734, ptr noundef %2737, i32 noundef %2739) #11
  br label %2741

2741:                                             ; preds = %2724, %2707
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2742

2742:                                             ; preds = %2741
  br label %2743

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

2744:                                             ; No predecessors!
  br label %2745

2745:                                             ; preds = %2744
  br label %2746

2746:                                             ; preds = %2745, %2684
  br label %2747

2747:                                             ; preds = %2746
  br label %2748

2748:                                             ; preds = %2747
  br label %2749

2749:                                             ; preds = %2748
  %2750 = load i32, ptr @test_count, align 4, !tbaa !5
  %2751 = add nsw i32 %2750, 1
  store i32 %2751, ptr @test_count, align 4, !tbaa !5
  %2752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2753 = load i32, ptr %2752, align 4, !tbaa !5
  %2754 = icmp eq i32 %2753, 402653194
  br i1 %2754, label %2808, label %2755

2755:                                             ; preds = %2749
  br label %2756

2756:                                             ; preds = %2755
  br label %2757

2757:                                             ; preds = %2756
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #11
  %2758 = call ptr @__errno_location() #12
  %2759 = load i32, ptr %2758, align 4, !tbaa !5
  store i32 %2759, ptr %54, align 4, !tbaa !5
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2761 = call i32 @s2n_print_stacktrace(ptr noundef %2760)
  %2762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2763 = trunc i8 %2762 to i1
  br i1 %2763, label %2764, label %2786

2764:                                             ; preds = %2757
  %2765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2766 = call i32 @fileno(ptr noundef %2765) #11
  %2767 = call i32 @isatty(i32 noundef %2766) #11
  %2768 = icmp ne i32 %2767, 0
  br i1 %2768, label %2769, label %2786

2769:                                             ; preds = %2764
  %2770 = load i32, ptr %54, align 4, !tbaa !5
  %2771 = call ptr @__errno_location() #12
  store i32 %2770, ptr %2771, align 4, !tbaa !5
  %2772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2773 = load i32, ptr @test_count, align 4, !tbaa !5
  %2774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2775 = load i32, ptr %2774, align 4, !tbaa !5
  %2776 = call ptr @s2n_strerror(i32 noundef %2775, ptr noundef @.str.4)
  %2777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2778 = load i32, ptr %2777, align 4, !tbaa !5
  %2779 = call ptr @s2n_strerror_debug(i32 noundef %2778, ptr noundef @.str.4)
  %2780 = call ptr @__errno_location() #12
  %2781 = load i32, ptr %2780, align 4, !tbaa !5
  %2782 = call ptr @strerror(i32 noundef %2781) #11
  %2783 = call ptr @__errno_location() #12
  %2784 = load i32, ptr %2783, align 4, !tbaa !5
  %2785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2772, ptr noundef @.str.2, i32 noundef %2773, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 231, ptr noundef %2776, ptr noundef %2779, ptr noundef %2782, i32 noundef %2784) #11
  br label %2803

2786:                                             ; preds = %2764, %2757
  %2787 = load i32, ptr %54, align 4, !tbaa !5
  %2788 = call ptr @__errno_location() #12
  store i32 %2787, ptr %2788, align 4, !tbaa !5
  %2789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2790 = load i32, ptr @test_count, align 4, !tbaa !5
  %2791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2792 = load i32, ptr %2791, align 4, !tbaa !5
  %2793 = call ptr @s2n_strerror(i32 noundef %2792, ptr noundef @.str.4)
  %2794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2795 = load i32, ptr %2794, align 4, !tbaa !5
  %2796 = call ptr @s2n_strerror_debug(i32 noundef %2795, ptr noundef @.str.4)
  %2797 = call ptr @__errno_location() #12
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  %2799 = call ptr @strerror(i32 noundef %2798) #11
  %2800 = call ptr @__errno_location() #12
  %2801 = load i32, ptr %2800, align 4, !tbaa !5
  %2802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2789, ptr noundef @.str.5, i32 noundef %2790, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 231, ptr noundef %2793, ptr noundef %2796, ptr noundef %2799, i32 noundef %2801) #11
  br label %2803

2803:                                             ; preds = %2786, %2769
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2804

2804:                                             ; preds = %2803
  br label %2805

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

2806:                                             ; No predecessors!
  br label %2807

2807:                                             ; preds = %2806
  br label %2808

2808:                                             ; preds = %2807, %2749
  br label %2809

2809:                                             ; preds = %2808
  br label %2810

2810:                                             ; preds = %2809
  br label %2811

2811:                                             ; preds = %2810
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = add nsw i32 %2812, 1
  store i32 %2813, ptr @test_count, align 4, !tbaa !5
  %2814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2815 = load i32, ptr %2814, align 4, !tbaa !5
  %2816 = call ptr @s2n_strerror_debug(i32 noundef %2815, ptr noundef @.str.4)
  %2817 = icmp eq ptr %2816, null
  br i1 %2817, label %2818, label %2871

2818:                                             ; preds = %2811
  br label %2819

2819:                                             ; preds = %2818
  br label %2820

2820:                                             ; preds = %2819
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #11
  %2821 = call ptr @__errno_location() #12
  %2822 = load i32, ptr %2821, align 4, !tbaa !5
  store i32 %2822, ptr %55, align 4, !tbaa !5
  %2823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2824 = call i32 @s2n_print_stacktrace(ptr noundef %2823)
  %2825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2826 = trunc i8 %2825 to i1
  br i1 %2826, label %2827, label %2849

2827:                                             ; preds = %2820
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = call i32 @fileno(ptr noundef %2828) #11
  %2830 = call i32 @isatty(i32 noundef %2829) #11
  %2831 = icmp ne i32 %2830, 0
  br i1 %2831, label %2832, label %2849

2832:                                             ; preds = %2827
  %2833 = load i32, ptr %55, align 4, !tbaa !5
  %2834 = call ptr @__errno_location() #12
  store i32 %2833, ptr %2834, align 4, !tbaa !5
  %2835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2836 = load i32, ptr @test_count, align 4, !tbaa !5
  %2837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2838 = load i32, ptr %2837, align 4, !tbaa !5
  %2839 = call ptr @s2n_strerror(i32 noundef %2838, ptr noundef @.str.4)
  %2840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2841 = load i32, ptr %2840, align 4, !tbaa !5
  %2842 = call ptr @s2n_strerror_debug(i32 noundef %2841, ptr noundef @.str.4)
  %2843 = call ptr @__errno_location() #12
  %2844 = load i32, ptr %2843, align 4, !tbaa !5
  %2845 = call ptr @strerror(i32 noundef %2844) #11
  %2846 = call ptr @__errno_location() #12
  %2847 = load i32, ptr %2846, align 4, !tbaa !5
  %2848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2835, ptr noundef @.str.2, i32 noundef %2836, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 231, ptr noundef %2839, ptr noundef %2842, ptr noundef %2845, i32 noundef %2847) #11
  br label %2866

2849:                                             ; preds = %2827, %2820
  %2850 = load i32, ptr %55, align 4, !tbaa !5
  %2851 = call ptr @__errno_location() #12
  store i32 %2850, ptr %2851, align 4, !tbaa !5
  %2852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2853 = load i32, ptr @test_count, align 4, !tbaa !5
  %2854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2855 = load i32, ptr %2854, align 4, !tbaa !5
  %2856 = call ptr @s2n_strerror(i32 noundef %2855, ptr noundef @.str.4)
  %2857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2858 = load i32, ptr %2857, align 4, !tbaa !5
  %2859 = call ptr @s2n_strerror_debug(i32 noundef %2858, ptr noundef @.str.4)
  %2860 = call ptr @__errno_location() #12
  %2861 = load i32, ptr %2860, align 4, !tbaa !5
  %2862 = call ptr @strerror(i32 noundef %2861) #11
  %2863 = call ptr @__errno_location() #12
  %2864 = load i32, ptr %2863, align 4, !tbaa !5
  %2865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2852, ptr noundef @.str.5, i32 noundef %2853, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 231, ptr noundef %2856, ptr noundef %2859, ptr noundef %2862, i32 noundef %2864) #11
  br label %2866

2866:                                             ; preds = %2849, %2832
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2867

2867:                                             ; preds = %2866
  br label %2868

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

2869:                                             ; No predecessors!
  br label %2870

2870:                                             ; preds = %2869
  br label %2871

2871:                                             ; preds = %2870, %2811
  br label %2872

2872:                                             ; preds = %2871
  br label %2873

2873:                                             ; preds = %2872
  br label %2874

2874:                                             ; preds = %2873
  br label %2875

2875:                                             ; preds = %2874
  br label %2876

2876:                                             ; preds = %2875
  %2877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2877, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2878 = call ptr @__errno_location() #12
  store i32 0, ptr %2878, align 4, !tbaa !5
  br label %2879

2879:                                             ; preds = %2876
  br label %2880

2880:                                             ; preds = %2879
  br label %2881

2881:                                             ; preds = %2880
  br label %2882

2882:                                             ; preds = %2881
  %2883 = getelementptr inbounds %struct.s2n_psk, ptr %47, i32 0, i32 0
  store i32 1, ptr %2883, align 8, !tbaa !59
  br label %2884

2884:                                             ; preds = %2882
  %2885 = load i32, ptr @test_count, align 4, !tbaa !5
  %2886 = add nsw i32 %2885, 1
  store i32 %2886, ptr @test_count, align 4, !tbaa !5
  %2887 = load i64, ptr %46, align 8, !tbaa !58
  %2888 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef %47, i64 noundef %2887, ptr noundef %45)
  %2889 = getelementptr inbounds %struct.s2n_result, ptr %56, i32 0, i32 0
  store i32 %2888, ptr %2889, align 4
  %2890 = getelementptr inbounds %struct.s2n_result, ptr %56, i32 0, i32 0
  %2891 = load i32, ptr %2890, align 4
  %2892 = call zeroext i1 @s2n_result_is_ok(i32 %2891)
  br i1 %2892, label %2946, label %2893

2893:                                             ; preds = %2884
  br label %2894

2894:                                             ; preds = %2893
  br label %2895

2895:                                             ; preds = %2894
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #11
  %2896 = call ptr @__errno_location() #12
  %2897 = load i32, ptr %2896, align 4, !tbaa !5
  store i32 %2897, ptr %57, align 4, !tbaa !5
  %2898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2899 = call i32 @s2n_print_stacktrace(ptr noundef %2898)
  %2900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2901 = trunc i8 %2900 to i1
  br i1 %2901, label %2902, label %2924

2902:                                             ; preds = %2895
  %2903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2904 = call i32 @fileno(ptr noundef %2903) #11
  %2905 = call i32 @isatty(i32 noundef %2904) #11
  %2906 = icmp ne i32 %2905, 0
  br i1 %2906, label %2907, label %2924

2907:                                             ; preds = %2902
  %2908 = load i32, ptr %57, align 4, !tbaa !5
  %2909 = call ptr @__errno_location() #12
  store i32 %2908, ptr %2909, align 4, !tbaa !5
  %2910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2911 = load i32, ptr @test_count, align 4, !tbaa !5
  %2912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2913 = load i32, ptr %2912, align 4, !tbaa !5
  %2914 = call ptr @s2n_strerror(i32 noundef %2913, ptr noundef @.str.4)
  %2915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  %2917 = call ptr @s2n_strerror_debug(i32 noundef %2916, ptr noundef @.str.4)
  %2918 = call ptr @__errno_location() #12
  %2919 = load i32, ptr %2918, align 4, !tbaa !5
  %2920 = call ptr @strerror(i32 noundef %2919) #11
  %2921 = call ptr @__errno_location() #12
  %2922 = load i32, ptr %2921, align 4, !tbaa !5
  %2923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2910, ptr noundef @.str.2, i32 noundef %2911, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 237, ptr noundef %2914, ptr noundef %2917, ptr noundef %2920, i32 noundef %2922) #11
  br label %2941

2924:                                             ; preds = %2902, %2895
  %2925 = load i32, ptr %57, align 4, !tbaa !5
  %2926 = call ptr @__errno_location() #12
  store i32 %2925, ptr %2926, align 4, !tbaa !5
  %2927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2928 = load i32, ptr @test_count, align 4, !tbaa !5
  %2929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2930 = load i32, ptr %2929, align 4, !tbaa !5
  %2931 = call ptr @s2n_strerror(i32 noundef %2930, ptr noundef @.str.4)
  %2932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2933 = load i32, ptr %2932, align 4, !tbaa !5
  %2934 = call ptr @s2n_strerror_debug(i32 noundef %2933, ptr noundef @.str.4)
  %2935 = call ptr @__errno_location() #12
  %2936 = load i32, ptr %2935, align 4, !tbaa !5
  %2937 = call ptr @strerror(i32 noundef %2936) #11
  %2938 = call ptr @__errno_location() #12
  %2939 = load i32, ptr %2938, align 4, !tbaa !5
  %2940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2927, ptr noundef @.str.5, i32 noundef %2928, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 237, ptr noundef %2931, ptr noundef %2934, ptr noundef %2937, i32 noundef %2939) #11
  br label %2941

2941:                                             ; preds = %2924, %2907
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2942

2942:                                             ; preds = %2941
  br label %2943

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

2944:                                             ; No predecessors!
  br label %2945

2945:                                             ; preds = %2944
  br label %2946

2946:                                             ; preds = %2945, %2884
  br label %2947

2947:                                             ; preds = %2946
  br label %2948

2948:                                             ; preds = %2947
  br label %2949

2949:                                             ; preds = %2948
  %2950 = load i32, ptr @test_count, align 4, !tbaa !5
  %2951 = add nsw i32 %2950, 1
  store i32 %2951, ptr @test_count, align 4, !tbaa !5
  %2952 = load i32, ptr %45, align 4, !tbaa !5
  %2953 = icmp eq i32 %2952, 0
  br i1 %2953, label %3007, label %2954

2954:                                             ; preds = %2949
  br label %2955

2955:                                             ; preds = %2954
  br label %2956

2956:                                             ; preds = %2955
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  %2957 = call ptr @__errno_location() #12
  %2958 = load i32, ptr %2957, align 4, !tbaa !5
  store i32 %2958, ptr %58, align 4, !tbaa !5
  %2959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2960 = call i32 @s2n_print_stacktrace(ptr noundef %2959)
  %2961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2962 = trunc i8 %2961 to i1
  br i1 %2962, label %2963, label %2985

2963:                                             ; preds = %2956
  %2964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2965 = call i32 @fileno(ptr noundef %2964) #11
  %2966 = call i32 @isatty(i32 noundef %2965) #11
  %2967 = icmp ne i32 %2966, 0
  br i1 %2967, label %2968, label %2985

2968:                                             ; preds = %2963
  %2969 = load i32, ptr %58, align 4, !tbaa !5
  %2970 = call ptr @__errno_location() #12
  store i32 %2969, ptr %2970, align 4, !tbaa !5
  %2971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2972 = load i32, ptr @test_count, align 4, !tbaa !5
  %2973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2974 = load i32, ptr %2973, align 4, !tbaa !5
  %2975 = call ptr @s2n_strerror(i32 noundef %2974, ptr noundef @.str.4)
  %2976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2977 = load i32, ptr %2976, align 4, !tbaa !5
  %2978 = call ptr @s2n_strerror_debug(i32 noundef %2977, ptr noundef @.str.4)
  %2979 = call ptr @__errno_location() #12
  %2980 = load i32, ptr %2979, align 4, !tbaa !5
  %2981 = call ptr @strerror(i32 noundef %2980) #11
  %2982 = call ptr @__errno_location() #12
  %2983 = load i32, ptr %2982, align 4, !tbaa !5
  %2984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2971, ptr noundef @.str.2, i32 noundef %2972, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 238, ptr noundef %2975, ptr noundef %2978, ptr noundef %2981, i32 noundef %2983) #11
  br label %3002

2985:                                             ; preds = %2963, %2956
  %2986 = load i32, ptr %58, align 4, !tbaa !5
  %2987 = call ptr @__errno_location() #12
  store i32 %2986, ptr %2987, align 4, !tbaa !5
  %2988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2989 = load i32, ptr @test_count, align 4, !tbaa !5
  %2990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2991 = load i32, ptr %2990, align 4, !tbaa !5
  %2992 = call ptr @s2n_strerror(i32 noundef %2991, ptr noundef @.str.4)
  %2993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2994 = load i32, ptr %2993, align 4, !tbaa !5
  %2995 = call ptr @s2n_strerror_debug(i32 noundef %2994, ptr noundef @.str.4)
  %2996 = call ptr @__errno_location() #12
  %2997 = load i32, ptr %2996, align 4, !tbaa !5
  %2998 = call ptr @strerror(i32 noundef %2997) #11
  %2999 = call ptr @__errno_location() #12
  %3000 = load i32, ptr %2999, align 4, !tbaa !5
  %3001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2988, ptr noundef @.str.5, i32 noundef %2989, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 238, ptr noundef %2992, ptr noundef %2995, ptr noundef %2998, i32 noundef %3000) #11
  br label %3002

3002:                                             ; preds = %2985, %2968
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %3003

3003:                                             ; preds = %3002
  br label %3004

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

3005:                                             ; No predecessors!
  br label %3006

3006:                                             ; preds = %3005
  br label %3007

3007:                                             ; preds = %3006, %2949
  br label %3008

3008:                                             ; preds = %3007
  br label %3009

3009:                                             ; preds = %3008
  call void @llvm.lifetime.start.p0(i64 144, ptr %59) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %59, ptr align 16 @__const.main.test_cases, i64 144, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #11
  store i64 0, ptr %60, align 8, !tbaa !58
  br label %3010

3010:                                             ; preds = %3160, %3009
  %3011 = load i64, ptr %60, align 8, !tbaa !58
  %3012 = icmp ult i64 %3011, 6
  br i1 %3012, label %3014, label %3013

3013:                                             ; preds = %3010
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #11
  br label %3163

3014:                                             ; preds = %3010
  store i32 0, ptr %45, align 4, !tbaa !5
  %3015 = load i64, ptr %60, align 8, !tbaa !58
  %3016 = getelementptr inbounds [6 x %struct.anon], ptr %59, i64 0, i64 %3015
  %3017 = getelementptr inbounds %struct.anon, ptr %3016, i32 0, i32 0
  %3018 = load i64, ptr %3017, align 8, !tbaa !61
  store i64 %3018, ptr %46, align 8, !tbaa !58
  %3019 = load i64, ptr %60, align 8, !tbaa !58
  %3020 = getelementptr inbounds [6 x %struct.anon], ptr %59, i64 0, i64 %3019
  %3021 = getelementptr inbounds %struct.anon, ptr %3020, i32 0, i32 1
  %3022 = load i64, ptr %3021, align 8, !tbaa !63
  %3023 = getelementptr inbounds %struct.s2n_psk, ptr %47, i32 0, i32 5
  store i64 %3022, ptr %3023, align 8, !tbaa !60
  %3024 = load i64, ptr %60, align 8, !tbaa !58
  %3025 = getelementptr inbounds [6 x %struct.anon], ptr %59, i64 0, i64 %3024
  %3026 = getelementptr inbounds %struct.anon, ptr %3025, i32 0, i32 2
  %3027 = load i32, ptr %3026, align 8, !tbaa !64
  %3028 = getelementptr inbounds %struct.s2n_psk, ptr %47, i32 0, i32 4
  store i32 %3027, ptr %3028, align 4, !tbaa !65
  %3029 = getelementptr inbounds %struct.s2n_psk, ptr %47, i32 0, i32 0
  store i32 0, ptr %3029, align 8, !tbaa !59
  br label %3030

3030:                                             ; preds = %3014
  %3031 = load i32, ptr @test_count, align 4, !tbaa !5
  %3032 = add nsw i32 %3031, 1
  store i32 %3032, ptr @test_count, align 4, !tbaa !5
  %3033 = load i64, ptr %46, align 8, !tbaa !58
  %3034 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef %47, i64 noundef %3033, ptr noundef %45)
  %3035 = getelementptr inbounds %struct.s2n_result, ptr %61, i32 0, i32 0
  store i32 %3034, ptr %3035, align 4
  %3036 = getelementptr inbounds %struct.s2n_result, ptr %61, i32 0, i32 0
  %3037 = load i32, ptr %3036, align 4
  %3038 = call zeroext i1 @s2n_result_is_ok(i32 %3037)
  br i1 %3038, label %3092, label %3039

3039:                                             ; preds = %3030
  br label %3040

3040:                                             ; preds = %3039
  br label %3041

3041:                                             ; preds = %3040
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %3042 = call ptr @__errno_location() #12
  %3043 = load i32, ptr %3042, align 4, !tbaa !5
  store i32 %3043, ptr %62, align 4, !tbaa !5
  %3044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3045 = call i32 @s2n_print_stacktrace(ptr noundef %3044)
  %3046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3047 = trunc i8 %3046 to i1
  br i1 %3047, label %3048, label %3070

3048:                                             ; preds = %3041
  %3049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3050 = call i32 @fileno(ptr noundef %3049) #11
  %3051 = call i32 @isatty(i32 noundef %3050) #11
  %3052 = icmp ne i32 %3051, 0
  br i1 %3052, label %3053, label %3070

3053:                                             ; preds = %3048
  %3054 = load i32, ptr %62, align 4, !tbaa !5
  %3055 = call ptr @__errno_location() #12
  store i32 %3054, ptr %3055, align 4, !tbaa !5
  %3056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3057 = load i32, ptr @test_count, align 4, !tbaa !5
  %3058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3059 = load i32, ptr %3058, align 4, !tbaa !5
  %3060 = call ptr @s2n_strerror(i32 noundef %3059, ptr noundef @.str.4)
  %3061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3062 = load i32, ptr %3061, align 4, !tbaa !5
  %3063 = call ptr @s2n_strerror_debug(i32 noundef %3062, ptr noundef @.str.4)
  %3064 = call ptr @__errno_location() #12
  %3065 = load i32, ptr %3064, align 4, !tbaa !5
  %3066 = call ptr @strerror(i32 noundef %3065) #11
  %3067 = call ptr @__errno_location() #12
  %3068 = load i32, ptr %3067, align 4, !tbaa !5
  %3069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3056, ptr noundef @.str.2, i32 noundef %3057, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 262, ptr noundef %3060, ptr noundef %3063, ptr noundef %3066, i32 noundef %3068) #11
  br label %3087

3070:                                             ; preds = %3048, %3041
  %3071 = load i32, ptr %62, align 4, !tbaa !5
  %3072 = call ptr @__errno_location() #12
  store i32 %3071, ptr %3072, align 4, !tbaa !5
  %3073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3074 = load i32, ptr @test_count, align 4, !tbaa !5
  %3075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3076 = load i32, ptr %3075, align 4, !tbaa !5
  %3077 = call ptr @s2n_strerror(i32 noundef %3076, ptr noundef @.str.4)
  %3078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3079 = load i32, ptr %3078, align 4, !tbaa !5
  %3080 = call ptr @s2n_strerror_debug(i32 noundef %3079, ptr noundef @.str.4)
  %3081 = call ptr @__errno_location() #12
  %3082 = load i32, ptr %3081, align 4, !tbaa !5
  %3083 = call ptr @strerror(i32 noundef %3082) #11
  %3084 = call ptr @__errno_location() #12
  %3085 = load i32, ptr %3084, align 4, !tbaa !5
  %3086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3073, ptr noundef @.str.5, i32 noundef %3074, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 262, ptr noundef %3077, ptr noundef %3080, ptr noundef %3083, i32 noundef %3085) #11
  br label %3087

3087:                                             ; preds = %3070, %3053
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %3088

3088:                                             ; preds = %3087
  br label %3089

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

3090:                                             ; No predecessors!
  br label %3091

3091:                                             ; preds = %3090
  br label %3092

3092:                                             ; preds = %3091, %3030
  br label %3093

3093:                                             ; preds = %3092
  br label %3094

3094:                                             ; preds = %3093
  br label %3095

3095:                                             ; preds = %3094
  %3096 = load i32, ptr @test_count, align 4, !tbaa !5
  %3097 = add nsw i32 %3096, 1
  store i32 %3097, ptr @test_count, align 4, !tbaa !5
  %3098 = load i32, ptr %45, align 4, !tbaa !5
  %3099 = load i64, ptr %60, align 8, !tbaa !58
  %3100 = getelementptr inbounds [6 x %struct.anon], ptr %59, i64 0, i64 %3099
  %3101 = getelementptr inbounds %struct.anon, ptr %3100, i32 0, i32 3
  %3102 = load i32, ptr %3101, align 4, !tbaa !66
  %3103 = icmp eq i32 %3098, %3102
  br i1 %3103, label %3157, label %3104

3104:                                             ; preds = %3095
  br label %3105

3105:                                             ; preds = %3104
  br label %3106

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

3113:                                             ; preds = %3106
  %3114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3115 = call i32 @fileno(ptr noundef %3114) #11
  %3116 = call i32 @isatty(i32 noundef %3115) #11
  %3117 = icmp ne i32 %3116, 0
  br i1 %3117, label %3118, label %3135

3118:                                             ; preds = %3113
  %3119 = load i32, ptr %63, align 4, !tbaa !5
  %3120 = call ptr @__errno_location() #12
  store i32 %3119, ptr %3120, align 4, !tbaa !5
  %3121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3122 = load i32, ptr @test_count, align 4, !tbaa !5
  %3123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3124 = load i32, ptr %3123, align 4, !tbaa !5
  %3125 = call ptr @s2n_strerror(i32 noundef %3124, ptr noundef @.str.4)
  %3126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3127 = load i32, ptr %3126, align 4, !tbaa !5
  %3128 = call ptr @s2n_strerror_debug(i32 noundef %3127, ptr noundef @.str.4)
  %3129 = call ptr @__errno_location() #12
  %3130 = load i32, ptr %3129, align 4, !tbaa !5
  %3131 = call ptr @strerror(i32 noundef %3130) #11
  %3132 = call ptr @__errno_location() #12
  %3133 = load i32, ptr %3132, align 4, !tbaa !5
  %3134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3121, ptr noundef @.str.2, i32 noundef %3122, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 263, ptr noundef %3125, ptr noundef %3128, ptr noundef %3131, i32 noundef %3133) #11
  br label %3152

3135:                                             ; preds = %3113, %3106
  %3136 = load i32, ptr %63, align 4, !tbaa !5
  %3137 = call ptr @__errno_location() #12
  store i32 %3136, ptr %3137, align 4, !tbaa !5
  %3138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3139 = load i32, ptr @test_count, align 4, !tbaa !5
  %3140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3141 = load i32, ptr %3140, align 4, !tbaa !5
  %3142 = call ptr @s2n_strerror(i32 noundef %3141, ptr noundef @.str.4)
  %3143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3144 = load i32, ptr %3143, align 4, !tbaa !5
  %3145 = call ptr @s2n_strerror_debug(i32 noundef %3144, ptr noundef @.str.4)
  %3146 = call ptr @__errno_location() #12
  %3147 = load i32, ptr %3146, align 4, !tbaa !5
  %3148 = call ptr @strerror(i32 noundef %3147) #11
  %3149 = call ptr @__errno_location() #12
  %3150 = load i32, ptr %3149, align 4, !tbaa !5
  %3151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3138, ptr noundef @.str.5, i32 noundef %3139, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 263, ptr noundef %3142, ptr noundef %3145, ptr noundef %3148, i32 noundef %3150) #11
  br label %3152

3152:                                             ; preds = %3135, %3118
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %3153

3153:                                             ; preds = %3152
  br label %3154

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

3155:                                             ; No predecessors!
  br label %3156

3156:                                             ; preds = %3155
  br label %3157

3157:                                             ; preds = %3156, %3095
  br label %3158

3158:                                             ; preds = %3157
  br label %3159

3159:                                             ; preds = %3158
  br label %3160

3160:                                             ; preds = %3159
  %3161 = load i64, ptr %60, align 8, !tbaa !58
  %3162 = add i64 %3161, 1
  store i64 %3162, ptr %60, align 8, !tbaa !58
  br label %3010, !llvm.loop !67

3163:                                             ; preds = %3013
  call void @llvm.lifetime.end.p0(i64 144, ptr %59) #11
  call void @llvm.lifetime.end.p0(i64 168, ptr %47) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr %64) #11
  call void @llvm.memset.p0.i64(ptr align 8 %64, i8 0, i64 40, i1 false)
  br label %3164

3164:                                             ; preds = %3163
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = add nsw i32 %3165, 1
  store i32 %3166, ptr @test_count, align 4, !tbaa !5
  %3167 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %64, i32 noundef 0)
  %3168 = icmp eq i32 %3167, -1
  br i1 %3168, label %3169, label %3222

3169:                                             ; preds = %3164
  br label %3170

3170:                                             ; preds = %3169
  br label %3171

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

3178:                                             ; preds = %3171
  %3179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3180 = call i32 @fileno(ptr noundef %3179) #11
  %3181 = call i32 @isatty(i32 noundef %3180) #11
  %3182 = icmp ne i32 %3181, 0
  br i1 %3182, label %3183, label %3200

3183:                                             ; preds = %3178
  %3184 = load i32, ptr %65, align 4, !tbaa !5
  %3185 = call ptr @__errno_location() #12
  store i32 %3184, ptr %3185, align 4, !tbaa !5
  %3186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3187 = load i32, ptr @test_count, align 4, !tbaa !5
  %3188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3189 = load i32, ptr %3188, align 4, !tbaa !5
  %3190 = call ptr @s2n_strerror(i32 noundef %3189, ptr noundef @.str.4)
  %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_debug(i32 noundef %3192, ptr noundef @.str.4)
  %3194 = call ptr @__errno_location() #12
  %3195 = load i32, ptr %3194, align 4, !tbaa !5
  %3196 = call ptr @strerror(i32 noundef %3195) #11
  %3197 = call ptr @__errno_location() #12
  %3198 = load i32, ptr %3197, align 4, !tbaa !5
  %3199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3186, ptr noundef @.str.2, i32 noundef %3187, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 272, ptr noundef %3190, ptr noundef %3193, ptr noundef %3196, i32 noundef %3198) #11
  br label %3217

3200:                                             ; preds = %3178, %3171
  %3201 = load i32, ptr %65, align 4, !tbaa !5
  %3202 = call ptr @__errno_location() #12
  store i32 %3201, ptr %3202, align 4, !tbaa !5
  %3203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3204 = load i32, ptr @test_count, align 4, !tbaa !5
  %3205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3206 = load i32, ptr %3205, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror(i32 noundef %3206, ptr noundef @.str.4)
  %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_debug(i32 noundef %3209, ptr noundef @.str.4)
  %3211 = call ptr @__errno_location() #12
  %3212 = load i32, ptr %3211, align 4, !tbaa !5
  %3213 = call ptr @strerror(i32 noundef %3212) #11
  %3214 = call ptr @__errno_location() #12
  %3215 = load i32, ptr %3214, align 4, !tbaa !5
  %3216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3203, ptr noundef @.str.5, i32 noundef %3204, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 272, ptr noundef %3207, ptr noundef %3210, ptr noundef %3213, i32 noundef %3215) #11
  br label %3217

3217:                                             ; preds = %3200, %3183
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %3218

3218:                                             ; preds = %3217
  br label %3219

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

3220:                                             ; No predecessors!
  br label %3221

3221:                                             ; preds = %3220
  br label %3222

3222:                                             ; preds = %3221, %3164
  br label %3223

3223:                                             ; preds = %3222
  br label %3224

3224:                                             ; preds = %3223
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #11
  store ptr null, ptr %66, align 8, !tbaa !9
  br label %3225

3225:                                             ; preds = %3224
  %3226 = load i32, ptr @test_count, align 4, !tbaa !5
  %3227 = add nsw i32 %3226, 1
  store i32 %3227, ptr @test_count, align 4, !tbaa !5
  %3228 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3228, ptr %66, align 8, !tbaa !9
  %3229 = icmp eq ptr %3228, null
  br i1 %3229, label %3230, label %3283

3230:                                             ; preds = %3225
  br label %3231

3231:                                             ; preds = %3230
  br label %3232

3232:                                             ; preds = %3231
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %3233 = call ptr @__errno_location() #12
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  store i32 %3234, ptr %67, align 4, !tbaa !5
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = call i32 @s2n_print_stacktrace(ptr noundef %3235)
  %3237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3238 = trunc i8 %3237 to i1
  br i1 %3238, label %3239, label %3261

3239:                                             ; preds = %3232
  %3240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3241 = call i32 @fileno(ptr noundef %3240) #11
  %3242 = call i32 @isatty(i32 noundef %3241) #11
  %3243 = icmp ne i32 %3242, 0
  br i1 %3243, label %3244, label %3261

3244:                                             ; preds = %3239
  %3245 = load i32, ptr %67, align 4, !tbaa !5
  %3246 = call ptr @__errno_location() #12
  store i32 %3245, ptr %3246, align 4, !tbaa !5
  %3247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3248 = load i32, ptr @test_count, align 4, !tbaa !5
  %3249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3250 = load i32, ptr %3249, align 4, !tbaa !5
  %3251 = call ptr @s2n_strerror(i32 noundef %3250, ptr noundef @.str.4)
  %3252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3253 = load i32, ptr %3252, align 4, !tbaa !5
  %3254 = call ptr @s2n_strerror_debug(i32 noundef %3253, ptr noundef @.str.4)
  %3255 = call ptr @__errno_location() #12
  %3256 = load i32, ptr %3255, align 4, !tbaa !5
  %3257 = call ptr @strerror(i32 noundef %3256) #11
  %3258 = call ptr @__errno_location() #12
  %3259 = load i32, ptr %3258, align 4, !tbaa !5
  %3260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3247, ptr noundef @.str.2, i32 noundef %3248, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 275, ptr noundef %3251, ptr noundef %3254, ptr noundef %3257, i32 noundef %3259) #11
  br label %3278

3261:                                             ; preds = %3239, %3232
  %3262 = load i32, ptr %67, align 4, !tbaa !5
  %3263 = call ptr @__errno_location() #12
  store i32 %3262, ptr %3263, align 4, !tbaa !5
  %3264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3265 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3267, ptr noundef @.str.4)
  %3269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3270 = load i32, ptr %3269, align 4, !tbaa !5
  %3271 = call ptr @s2n_strerror_debug(i32 noundef %3270, ptr noundef @.str.4)
  %3272 = call ptr @__errno_location() #12
  %3273 = load i32, ptr %3272, align 4, !tbaa !5
  %3274 = call ptr @strerror(i32 noundef %3273) #11
  %3275 = call ptr @__errno_location() #12
  %3276 = load i32, ptr %3275, align 4, !tbaa !5
  %3277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3264, ptr noundef @.str.5, i32 noundef %3265, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 275, ptr noundef %3268, ptr noundef %3271, ptr noundef %3274, i32 noundef %3276) #11
  br label %3278

3278:                                             ; preds = %3261, %3244
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3279

3279:                                             ; preds = %3278
  br label %3280

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

3281:                                             ; No predecessors!
  br label %3282

3282:                                             ; preds = %3281
  br label %3283

3283:                                             ; preds = %3282, %3225
  br label %3284

3284:                                             ; preds = %3283
  br label %3285

3285:                                             ; preds = %3284
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #11
  store ptr null, ptr %68, align 8, !tbaa !9
  br label %3286

3286:                                             ; preds = %3285
  %3287 = load i32, ptr @test_count, align 4, !tbaa !5
  %3288 = add nsw i32 %3287, 1
  store i32 %3288, ptr @test_count, align 4, !tbaa !5
  %3289 = load ptr, ptr %66, align 8, !tbaa !9
  %3290 = getelementptr inbounds %struct.s2n_connection, ptr %3289, i32 0, i32 33
  %3291 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %3290, i32 0, i32 1
  %3292 = call i32 @s2n_array_pushback(ptr noundef %3291, ptr noundef %68)
  %3293 = getelementptr inbounds %struct.s2n_result, ptr %69, i32 0, i32 0
  store i32 %3292, ptr %3293, align 4
  %3294 = getelementptr inbounds %struct.s2n_result, ptr %69, i32 0, i32 0
  %3295 = load i32, ptr %3294, align 4
  %3296 = call zeroext i1 @s2n_result_is_ok(i32 %3295)
  br i1 %3296, label %3350, label %3297

3297:                                             ; preds = %3286
  br label %3298

3298:                                             ; preds = %3297
  br label %3299

3299:                                             ; preds = %3298
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3300 = call ptr @__errno_location() #12
  %3301 = load i32, ptr %3300, align 4, !tbaa !5
  store i32 %3301, ptr %70, align 4, !tbaa !5
  %3302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3303 = call i32 @s2n_print_stacktrace(ptr noundef %3302)
  %3304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3305 = trunc i8 %3304 to i1
  br i1 %3305, label %3306, label %3328

3306:                                             ; preds = %3299
  %3307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3308 = call i32 @fileno(ptr noundef %3307) #11
  %3309 = call i32 @isatty(i32 noundef %3308) #11
  %3310 = icmp ne i32 %3309, 0
  br i1 %3310, label %3311, label %3328

3311:                                             ; preds = %3306
  %3312 = load i32, ptr %70, align 4, !tbaa !5
  %3313 = call ptr @__errno_location() #12
  store i32 %3312, ptr %3313, align 4, !tbaa !5
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = load i32, ptr @test_count, align 4, !tbaa !5
  %3316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3317 = load i32, ptr %3316, align 4, !tbaa !5
  %3318 = call ptr @s2n_strerror(i32 noundef %3317, ptr noundef @.str.4)
  %3319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3320 = load i32, ptr %3319, align 4, !tbaa !5
  %3321 = call ptr @s2n_strerror_debug(i32 noundef %3320, ptr noundef @.str.4)
  %3322 = call ptr @__errno_location() #12
  %3323 = load i32, ptr %3322, align 4, !tbaa !5
  %3324 = call ptr @strerror(i32 noundef %3323) #11
  %3325 = call ptr @__errno_location() #12
  %3326 = load i32, ptr %3325, align 4, !tbaa !5
  %3327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3314, ptr noundef @.str.2, i32 noundef %3315, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 278, ptr noundef %3318, ptr noundef %3321, ptr noundef %3324, i32 noundef %3326) #11
  br label %3345

3328:                                             ; preds = %3306, %3299
  %3329 = load i32, ptr %70, align 4, !tbaa !5
  %3330 = call ptr @__errno_location() #12
  store i32 %3329, ptr %3330, align 4, !tbaa !5
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = load i32, ptr @test_count, align 4, !tbaa !5
  %3333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3334 = load i32, ptr %3333, align 4, !tbaa !5
  %3335 = call ptr @s2n_strerror(i32 noundef %3334, ptr noundef @.str.4)
  %3336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3337 = load i32, ptr %3336, align 4, !tbaa !5
  %3338 = call ptr @s2n_strerror_debug(i32 noundef %3337, ptr noundef @.str.4)
  %3339 = call ptr @__errno_location() #12
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  %3341 = call ptr @strerror(i32 noundef %3340) #11
  %3342 = call ptr @__errno_location() #12
  %3343 = load i32, ptr %3342, align 4, !tbaa !5
  %3344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3331, ptr noundef @.str.5, i32 noundef %3332, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 278, ptr noundef %3335, ptr noundef %3338, ptr noundef %3341, i32 noundef %3343) #11
  br label %3345

3345:                                             ; preds = %3328, %3311
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3346

3346:                                             ; preds = %3345
  br label %3347

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

3348:                                             ; No predecessors!
  br label %3349

3349:                                             ; preds = %3348
  br label %3350

3350:                                             ; preds = %3349, %3286
  br label %3351

3351:                                             ; preds = %3350
  br label %3352

3352:                                             ; preds = %3351
  br label %3353

3353:                                             ; preds = %3352
  %3354 = load i32, ptr @test_count, align 4, !tbaa !5
  %3355 = add nsw i32 %3354, 1
  store i32 %3355, ptr @test_count, align 4, !tbaa !5
  %3356 = load ptr, ptr %68, align 8, !tbaa !9
  %3357 = call i32 @s2n_psk_init(ptr noundef %3356, i32 noundef 1)
  %3358 = getelementptr inbounds %struct.s2n_result, ptr %71, i32 0, i32 0
  store i32 %3357, ptr %3358, align 4
  %3359 = getelementptr inbounds %struct.s2n_result, ptr %71, i32 0, i32 0
  %3360 = load i32, ptr %3359, align 4
  %3361 = call zeroext i1 @s2n_result_is_ok(i32 %3360)
  br i1 %3361, label %3415, label %3362

3362:                                             ; preds = %3353
  br label %3363

3363:                                             ; preds = %3362
  br label %3364

3364:                                             ; preds = %3363
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #11
  %3365 = call ptr @__errno_location() #12
  %3366 = load i32, ptr %3365, align 4, !tbaa !5
  store i32 %3366, ptr %72, align 4, !tbaa !5
  %3367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3368 = call i32 @s2n_print_stacktrace(ptr noundef %3367)
  %3369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3370 = trunc i8 %3369 to i1
  br i1 %3370, label %3371, label %3393

3371:                                             ; preds = %3364
  %3372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3373 = call i32 @fileno(ptr noundef %3372) #11
  %3374 = call i32 @isatty(i32 noundef %3373) #11
  %3375 = icmp ne i32 %3374, 0
  br i1 %3375, label %3376, label %3393

3376:                                             ; preds = %3371
  %3377 = load i32, ptr %72, align 4, !tbaa !5
  %3378 = call ptr @__errno_location() #12
  store i32 %3377, ptr %3378, align 4, !tbaa !5
  %3379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3380 = load i32, ptr @test_count, align 4, !tbaa !5
  %3381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3382 = load i32, ptr %3381, align 4, !tbaa !5
  %3383 = call ptr @s2n_strerror(i32 noundef %3382, ptr noundef @.str.4)
  %3384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3385 = load i32, ptr %3384, align 4, !tbaa !5
  %3386 = call ptr @s2n_strerror_debug(i32 noundef %3385, ptr noundef @.str.4)
  %3387 = call ptr @__errno_location() #12
  %3388 = load i32, ptr %3387, align 4, !tbaa !5
  %3389 = call ptr @strerror(i32 noundef %3388) #11
  %3390 = call ptr @__errno_location() #12
  %3391 = load i32, ptr %3390, align 4, !tbaa !5
  %3392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3379, ptr noundef @.str.2, i32 noundef %3380, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 279, ptr noundef %3383, ptr noundef %3386, ptr noundef %3389, i32 noundef %3391) #11
  br label %3410

3393:                                             ; preds = %3371, %3364
  %3394 = load i32, ptr %72, align 4, !tbaa !5
  %3395 = call ptr @__errno_location() #12
  store i32 %3394, ptr %3395, align 4, !tbaa !5
  %3396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3397 = load i32, ptr @test_count, align 4, !tbaa !5
  %3398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3399 = load i32, ptr %3398, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror(i32 noundef %3399, ptr noundef @.str.4)
  %3401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3402 = load i32, ptr %3401, align 4, !tbaa !5
  %3403 = call ptr @s2n_strerror_debug(i32 noundef %3402, ptr noundef @.str.4)
  %3404 = call ptr @__errno_location() #12
  %3405 = load i32, ptr %3404, align 4, !tbaa !5
  %3406 = call ptr @strerror(i32 noundef %3405) #11
  %3407 = call ptr @__errno_location() #12
  %3408 = load i32, ptr %3407, align 4, !tbaa !5
  %3409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3396, ptr noundef @.str.5, i32 noundef %3397, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 279, ptr noundef %3400, ptr noundef %3403, ptr noundef %3406, i32 noundef %3408) #11
  br label %3410

3410:                                             ; preds = %3393, %3376
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %3411

3411:                                             ; preds = %3410
  br label %3412

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

3413:                                             ; No predecessors!
  br label %3414

3414:                                             ; preds = %3413
  br label %3415

3415:                                             ; preds = %3414, %3353
  br label %3416

3416:                                             ; preds = %3415
  br label %3417

3417:                                             ; preds = %3416
  br label %3418

3418:                                             ; preds = %3417
  %3419 = load i32, ptr @test_count, align 4, !tbaa !5
  %3420 = add nsw i32 %3419, 1
  store i32 %3420, ptr @test_count, align 4, !tbaa !5
  %3421 = load ptr, ptr %68, align 8, !tbaa !9
  %3422 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  %3423 = call i32 @s2n_psk_set_identity(ptr noundef %3421, ptr noundef %3422, i16 noundef zeroext 14)
  %3424 = icmp eq i32 %3423, -1
  br i1 %3424, label %3425, label %3478

3425:                                             ; preds = %3418
  br label %3426

3426:                                             ; preds = %3425
  br label %3427

3427:                                             ; preds = %3426
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #11
  %3428 = call ptr @__errno_location() #12
  %3429 = load i32, ptr %3428, align 4, !tbaa !5
  store i32 %3429, ptr %73, align 4, !tbaa !5
  %3430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3431 = call i32 @s2n_print_stacktrace(ptr noundef %3430)
  %3432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3433 = trunc i8 %3432 to i1
  br i1 %3433, label %3434, label %3456

3434:                                             ; preds = %3427
  %3435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3436 = call i32 @fileno(ptr noundef %3435) #11
  %3437 = call i32 @isatty(i32 noundef %3436) #11
  %3438 = icmp ne i32 %3437, 0
  br i1 %3438, label %3439, label %3456

3439:                                             ; preds = %3434
  %3440 = load i32, ptr %73, align 4, !tbaa !5
  %3441 = call ptr @__errno_location() #12
  store i32 %3440, ptr %3441, align 4, !tbaa !5
  %3442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3443 = load i32, ptr @test_count, align 4, !tbaa !5
  %3444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3445 = load i32, ptr %3444, align 4, !tbaa !5
  %3446 = call ptr @s2n_strerror(i32 noundef %3445, ptr noundef @.str.4)
  %3447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3448 = load i32, ptr %3447, align 4, !tbaa !5
  %3449 = call ptr @s2n_strerror_debug(i32 noundef %3448, ptr noundef @.str.4)
  %3450 = call ptr @__errno_location() #12
  %3451 = load i32, ptr %3450, align 4, !tbaa !5
  %3452 = call ptr @strerror(i32 noundef %3451) #11
  %3453 = call ptr @__errno_location() #12
  %3454 = load i32, ptr %3453, align 4, !tbaa !5
  %3455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3442, ptr noundef @.str.2, i32 noundef %3443, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 280, ptr noundef %3446, ptr noundef %3449, ptr noundef %3452, i32 noundef %3454) #11
  br label %3473

3456:                                             ; preds = %3434, %3427
  %3457 = load i32, ptr %73, align 4, !tbaa !5
  %3458 = call ptr @__errno_location() #12
  store i32 %3457, ptr %3458, align 4, !tbaa !5
  %3459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3460 = load i32, ptr @test_count, align 4, !tbaa !5
  %3461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3462 = load i32, ptr %3461, align 4, !tbaa !5
  %3463 = call ptr @s2n_strerror(i32 noundef %3462, ptr noundef @.str.4)
  %3464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3465 = load i32, ptr %3464, align 4, !tbaa !5
  %3466 = call ptr @s2n_strerror_debug(i32 noundef %3465, ptr noundef @.str.4)
  %3467 = call ptr @__errno_location() #12
  %3468 = load i32, ptr %3467, align 4, !tbaa !5
  %3469 = call ptr @strerror(i32 noundef %3468) #11
  %3470 = call ptr @__errno_location() #12
  %3471 = load i32, ptr %3470, align 4, !tbaa !5
  %3472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3459, ptr noundef @.str.5, i32 noundef %3460, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 280, ptr noundef %3463, ptr noundef %3466, ptr noundef %3469, i32 noundef %3471) #11
  br label %3473

3473:                                             ; preds = %3456, %3439
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3474

3474:                                             ; preds = %3473
  br label %3475

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

3476:                                             ; No predecessors!
  br label %3477

3477:                                             ; preds = %3476
  br label %3478

3478:                                             ; preds = %3477, %3418
  br label %3479

3479:                                             ; preds = %3478
  br label %3480

3480:                                             ; preds = %3479
  %3481 = load ptr, ptr %68, align 8, !tbaa !9
  %3482 = getelementptr inbounds %struct.s2n_psk, ptr %3481, i32 0, i32 3
  store i32 5, ptr %3482, align 8, !tbaa !55
  br label %3483

3483:                                             ; preds = %3480
  %3484 = load i32, ptr @test_count, align 4, !tbaa !5
  %3485 = add nsw i32 %3484, 1
  store i32 %3485, ptr @test_count, align 4, !tbaa !5
  %3486 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 3), align 8, !tbaa !69
  %3487 = load ptr, ptr %66, align 8, !tbaa !9
  %3488 = call i32 %3486(ptr noundef %3487, ptr noundef %64)
  %3489 = icmp eq i32 %3488, -1
  br i1 %3489, label %3490, label %3543

3490:                                             ; preds = %3483
  br label %3491

3491:                                             ; preds = %3490
  br label %3492

3492:                                             ; preds = %3491
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %3493 = call ptr @__errno_location() #12
  %3494 = load i32, ptr %3493, align 4, !tbaa !5
  store i32 %3494, ptr %74, align 4, !tbaa !5
  %3495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3496 = call i32 @s2n_print_stacktrace(ptr noundef %3495)
  %3497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3498 = trunc i8 %3497 to i1
  br i1 %3498, label %3499, label %3521

3499:                                             ; preds = %3492
  %3500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3501 = call i32 @fileno(ptr noundef %3500) #11
  %3502 = call i32 @isatty(i32 noundef %3501) #11
  %3503 = icmp ne i32 %3502, 0
  br i1 %3503, label %3504, label %3521

3504:                                             ; preds = %3499
  %3505 = load i32, ptr %74, align 4, !tbaa !5
  %3506 = call ptr @__errno_location() #12
  store i32 %3505, ptr %3506, align 4, !tbaa !5
  %3507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3508 = load i32, ptr @test_count, align 4, !tbaa !5
  %3509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3510 = load i32, ptr %3509, align 4, !tbaa !5
  %3511 = call ptr @s2n_strerror(i32 noundef %3510, ptr noundef @.str.4)
  %3512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3513 = load i32, ptr %3512, align 4, !tbaa !5
  %3514 = call ptr @s2n_strerror_debug(i32 noundef %3513, ptr noundef @.str.4)
  %3515 = call ptr @__errno_location() #12
  %3516 = load i32, ptr %3515, align 4, !tbaa !5
  %3517 = call ptr @strerror(i32 noundef %3516) #11
  %3518 = call ptr @__errno_location() #12
  %3519 = load i32, ptr %3518, align 4, !tbaa !5
  %3520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3507, ptr noundef @.str.2, i32 noundef %3508, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 283, ptr noundef %3511, ptr noundef %3514, ptr noundef %3517, i32 noundef %3519) #11
  br label %3538

3521:                                             ; preds = %3499, %3492
  %3522 = load i32, ptr %74, align 4, !tbaa !5
  %3523 = call ptr @__errno_location() #12
  store i32 %3522, ptr %3523, align 4, !tbaa !5
  %3524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3525 = load i32, ptr @test_count, align 4, !tbaa !5
  %3526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3527 = load i32, ptr %3526, align 4, !tbaa !5
  %3528 = call ptr @s2n_strerror(i32 noundef %3527, ptr noundef @.str.4)
  %3529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3530 = load i32, ptr %3529, align 4, !tbaa !5
  %3531 = call ptr @s2n_strerror_debug(i32 noundef %3530, ptr noundef @.str.4)
  %3532 = call ptr @__errno_location() #12
  %3533 = load i32, ptr %3532, align 4, !tbaa !5
  %3534 = call ptr @strerror(i32 noundef %3533) #11
  %3535 = call ptr @__errno_location() #12
  %3536 = load i32, ptr %3535, align 4, !tbaa !5
  %3537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3524, ptr noundef @.str.5, i32 noundef %3525, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 283, ptr noundef %3528, ptr noundef %3531, ptr noundef %3534, i32 noundef %3536) #11
  br label %3538

3538:                                             ; preds = %3521, %3504
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %3539

3539:                                             ; preds = %3538
  br label %3540

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

3541:                                             ; No predecessors!
  br label %3542

3542:                                             ; preds = %3541
  br label %3543

3543:                                             ; preds = %3542, %3483
  br label %3544

3544:                                             ; preds = %3543
  br label %3545

3545:                                             ; preds = %3544
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  store i32 0, ptr %75, align 4, !tbaa !5
  br label %3546

3546:                                             ; preds = %3545
  %3547 = load i32, ptr @test_count, align 4, !tbaa !5
  %3548 = add nsw i32 %3547, 1
  store i32 %3548, ptr @test_count, align 4, !tbaa !5
  %3549 = load ptr, ptr %66, align 8, !tbaa !9
  %3550 = getelementptr inbounds %struct.s2n_connection, ptr %3549, i32 0, i32 33
  %3551 = call i32 @s2n_psk_parameters_offered_psks_size(ptr noundef %3550, ptr noundef %75)
  %3552 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  store i32 %3551, ptr %3552, align 4
  %3553 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  %3554 = load i32, ptr %3553, align 4
  %3555 = call zeroext i1 @s2n_result_is_ok(i32 %3554)
  br i1 %3555, label %3609, label %3556

3556:                                             ; preds = %3546
  br label %3557

3557:                                             ; preds = %3556
  br label %3558

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

3565:                                             ; preds = %3558
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = call i32 @fileno(ptr noundef %3566) #11
  %3568 = call i32 @isatty(i32 noundef %3567) #11
  %3569 = icmp ne i32 %3568, 0
  br i1 %3569, label %3570, label %3587

3570:                                             ; preds = %3565
  %3571 = load i32, ptr %77, align 4, !tbaa !5
  %3572 = call ptr @__errno_location() #12
  store i32 %3571, ptr %3572, align 4, !tbaa !5
  %3573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3574 = load i32, ptr @test_count, align 4, !tbaa !5
  %3575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3576 = load i32, ptr %3575, align 4, !tbaa !5
  %3577 = call ptr @s2n_strerror(i32 noundef %3576, ptr noundef @.str.4)
  %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_debug(i32 noundef %3579, ptr noundef @.str.4)
  %3581 = call ptr @__errno_location() #12
  %3582 = load i32, ptr %3581, align 4, !tbaa !5
  %3583 = call ptr @strerror(i32 noundef %3582) #11
  %3584 = call ptr @__errno_location() #12
  %3585 = load i32, ptr %3584, align 4, !tbaa !5
  %3586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3573, ptr noundef @.str.2, i32 noundef %3574, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 286, ptr noundef %3577, ptr noundef %3580, ptr noundef %3583, i32 noundef %3585) #11
  br label %3604

3587:                                             ; preds = %3565, %3558
  %3588 = load i32, ptr %77, align 4, !tbaa !5
  %3589 = call ptr @__errno_location() #12
  store i32 %3588, ptr %3589, align 4, !tbaa !5
  %3590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3591 = load i32, ptr @test_count, align 4, !tbaa !5
  %3592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  %3594 = call ptr @s2n_strerror(i32 noundef %3593, ptr noundef @.str.4)
  %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_debug(i32 noundef %3596, ptr noundef @.str.4)
  %3598 = call ptr @__errno_location() #12
  %3599 = load i32, ptr %3598, align 4, !tbaa !5
  %3600 = call ptr @strerror(i32 noundef %3599) #11
  %3601 = call ptr @__errno_location() #12
  %3602 = load i32, ptr %3601, align 4, !tbaa !5
  %3603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3590, ptr noundef @.str.5, i32 noundef %3591, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 286, ptr noundef %3594, ptr noundef %3597, ptr noundef %3600, i32 noundef %3602) #11
  br label %3604

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

3605:                                             ; preds = %3604
  br label %3606

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

3607:                                             ; No predecessors!
  br label %3608

3608:                                             ; preds = %3607
  br label %3609

3609:                                             ; preds = %3608, %3546
  br label %3610

3610:                                             ; preds = %3609
  br label %3611

3611:                                             ; preds = %3610
  br label %3612

3612:                                             ; preds = %3611
  %3613 = load i32, ptr @test_count, align 4, !tbaa !5
  %3614 = add nsw i32 %3613, 1
  store i32 %3614, ptr @test_count, align 4, !tbaa !5
  %3615 = load i32, ptr %75, align 4, !tbaa !5
  %3616 = getelementptr inbounds %struct.s2n_stuffer, ptr %64, i32 0, i32 2
  %3617 = load i32, ptr %3616, align 4, !tbaa !70
  %3618 = getelementptr inbounds %struct.s2n_stuffer, ptr %64, i32 0, i32 1
  %3619 = load i32, ptr %3618, align 8, !tbaa !71
  %3620 = sub i32 %3617, %3619
  %3621 = icmp eq i32 %3615, %3620
  br i1 %3621, label %3675, label %3622

3622:                                             ; preds = %3612
  br label %3623

3623:                                             ; preds = %3622
  br label %3624

3624:                                             ; preds = %3623
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %3625 = call ptr @__errno_location() #12
  %3626 = load i32, ptr %3625, align 4, !tbaa !5
  store i32 %3626, ptr %78, 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) #11
  %3634 = call i32 @isatty(i32 noundef %3633) #11
  %3635 = icmp ne i32 %3634, 0
  br i1 %3635, label %3636, label %3653

3636:                                             ; preds = %3631
  %3637 = load i32, ptr %78, align 4, !tbaa !5
  %3638 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %3647 = call ptr @__errno_location() #12
  %3648 = load i32, ptr %3647, align 4, !tbaa !5
  %3649 = call ptr @strerror(i32 noundef %3648) #11
  %3650 = call ptr @__errno_location() #12
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  %3652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3639, ptr noundef @.str.2, i32 noundef %3640, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 287, ptr noundef %3643, ptr noundef %3646, ptr noundef %3649, i32 noundef %3651) #11
  br label %3670

3653:                                             ; preds = %3631, %3624
  %3654 = load i32, ptr %78, align 4, !tbaa !5
  %3655 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %3664 = call ptr @__errno_location() #12
  %3665 = load i32, ptr %3664, align 4, !tbaa !5
  %3666 = call ptr @strerror(i32 noundef %3665) #11
  %3667 = call ptr @__errno_location() #12
  %3668 = load i32, ptr %3667, align 4, !tbaa !5
  %3669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3656, ptr noundef @.str.5, i32 noundef %3657, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 287, ptr noundef %3660, ptr noundef %3663, ptr noundef %3666, i32 noundef %3668) #11
  br label %3670

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

3671:                                             ; preds = %3670
  br label %3672

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

3673:                                             ; No predecessors!
  br label %3674

3674:                                             ; preds = %3673
  br label %3675

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

3676:                                             ; preds = %3675
  br label %3677

3677:                                             ; preds = %3676
  call void @llvm.lifetime.start.p0(i64 2, ptr %79) #11
  store i16 0, ptr %79, align 2, !tbaa !72
  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 i32 @s2n_stuffer_read_uint16(ptr noundef %64, ptr noundef %79)
  %3682 = icmp eq i32 %3681, -1
  br i1 %3682, label %3683, label %3736

3683:                                             ; preds = %3678
  br label %3684

3684:                                             ; preds = %3683
  br label %3685

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

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

3697:                                             ; preds = %3692
  %3698 = load i32, ptr %80, align 4, !tbaa !5
  %3699 = call ptr @__errno_location() #12
  store i32 %3698, ptr %3699, align 4, !tbaa !5
  %3700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3701 = load i32, ptr @test_count, align 4, !tbaa !5
  %3702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3703 = load i32, ptr %3702, align 4, !tbaa !5
  %3704 = call ptr @s2n_strerror(i32 noundef %3703, ptr noundef @.str.4)
  %3705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3706 = load i32, ptr %3705, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror_debug(i32 noundef %3706, ptr noundef @.str.4)
  %3708 = call ptr @__errno_location() #12
  %3709 = load i32, ptr %3708, align 4, !tbaa !5
  %3710 = call ptr @strerror(i32 noundef %3709) #11
  %3711 = call ptr @__errno_location() #12
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3700, ptr noundef @.str.2, i32 noundef %3701, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 290, ptr noundef %3704, ptr noundef %3707, ptr noundef %3710, i32 noundef %3712) #11
  br label %3731

3714:                                             ; preds = %3692, %3685
  %3715 = load i32, ptr %80, align 4, !tbaa !5
  %3716 = call ptr @__errno_location() #12
  store i32 %3715, ptr %3716, align 4, !tbaa !5
  %3717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3718 = load i32, ptr @test_count, align 4, !tbaa !5
  %3719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3720 = load i32, ptr %3719, align 4, !tbaa !5
  %3721 = call ptr @s2n_strerror(i32 noundef %3720, ptr noundef @.str.4)
  %3722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3723 = load i32, ptr %3722, align 4, !tbaa !5
  %3724 = call ptr @s2n_strerror_debug(i32 noundef %3723, ptr noundef @.str.4)
  %3725 = call ptr @__errno_location() #12
  %3726 = load i32, ptr %3725, align 4, !tbaa !5
  %3727 = call ptr @strerror(i32 noundef %3726) #11
  %3728 = call ptr @__errno_location() #12
  %3729 = load i32, ptr %3728, align 4, !tbaa !5
  %3730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3717, ptr noundef @.str.5, i32 noundef %3718, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 290, ptr noundef %3721, ptr noundef %3724, ptr noundef %3727, i32 noundef %3729) #11
  br label %3731

3731:                                             ; preds = %3714, %3697
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %3732

3732:                                             ; preds = %3731
  br label %3733

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

3734:                                             ; No predecessors!
  br label %3735

3735:                                             ; preds = %3734
  br label %3736

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

3737:                                             ; preds = %3736
  br label %3738

3738:                                             ; preds = %3737
  call void @llvm.lifetime.start.p0(i64 2, ptr %81) #11
  store i16 0, ptr %81, align 2, !tbaa !72
  br label %3739

3739:                                             ; preds = %3738
  %3740 = load i32, ptr @test_count, align 4, !tbaa !5
  %3741 = add nsw i32 %3740, 1
  store i32 %3741, ptr @test_count, align 4, !tbaa !5
  %3742 = call i32 @s2n_stuffer_read_uint16(ptr noundef %64, ptr noundef %81)
  %3743 = icmp eq i32 %3742, -1
  br i1 %3743, label %3744, label %3797

3744:                                             ; preds = %3739
  br label %3745

3745:                                             ; preds = %3744
  br label %3746

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

3753:                                             ; preds = %3746
  %3754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3755 = call i32 @fileno(ptr noundef %3754) #11
  %3756 = call i32 @isatty(i32 noundef %3755) #11
  %3757 = icmp ne i32 %3756, 0
  br i1 %3757, label %3758, label %3775

3758:                                             ; preds = %3753
  %3759 = load i32, ptr %82, align 4, !tbaa !5
  %3760 = call ptr @__errno_location() #12
  store i32 %3759, ptr %3760, align 4, !tbaa !5
  %3761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3762 = load i32, ptr @test_count, align 4, !tbaa !5
  %3763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3764 = load i32, ptr %3763, align 4, !tbaa !5
  %3765 = call ptr @s2n_strerror(i32 noundef %3764, ptr noundef @.str.4)
  %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_debug(i32 noundef %3767, ptr noundef @.str.4)
  %3769 = call ptr @__errno_location() #12
  %3770 = load i32, ptr %3769, align 4, !tbaa !5
  %3771 = call ptr @strerror(i32 noundef %3770) #11
  %3772 = call ptr @__errno_location() #12
  %3773 = load i32, ptr %3772, align 4, !tbaa !5
  %3774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3761, ptr noundef @.str.2, i32 noundef %3762, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 293, ptr noundef %3765, ptr noundef %3768, ptr noundef %3771, i32 noundef %3773) #11
  br label %3792

3775:                                             ; preds = %3753, %3746
  %3776 = load i32, ptr %82, align 4, !tbaa !5
  %3777 = call ptr @__errno_location() #12
  store i32 %3776, ptr %3777, align 4, !tbaa !5
  %3778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3779 = load i32, ptr @test_count, align 4, !tbaa !5
  %3780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3781 = load i32, ptr %3780, align 4, !tbaa !5
  %3782 = call ptr @s2n_strerror(i32 noundef %3781, ptr noundef @.str.4)
  %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_debug(i32 noundef %3784, ptr noundef @.str.4)
  %3786 = call ptr @__errno_location() #12
  %3787 = load i32, ptr %3786, align 4, !tbaa !5
  %3788 = call ptr @strerror(i32 noundef %3787) #11
  %3789 = call ptr @__errno_location() #12
  %3790 = load i32, ptr %3789, align 4, !tbaa !5
  %3791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3778, ptr noundef @.str.5, i32 noundef %3779, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 293, ptr noundef %3782, ptr noundef %3785, ptr noundef %3788, i32 noundef %3790) #11
  br label %3792

3792:                                             ; preds = %3775, %3758
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %3793

3793:                                             ; preds = %3792
  br label %3794

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

3795:                                             ; No predecessors!
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796, %3739
  br label %3798

3798:                                             ; preds = %3797
  br label %3799

3799:                                             ; preds = %3798
  br label %3800

3800:                                             ; preds = %3799
  %3801 = load i32, ptr @test_count, align 4, !tbaa !5
  %3802 = add nsw i32 %3801, 1
  store i32 %3802, ptr @test_count, align 4, !tbaa !5
  %3803 = load i16, ptr %81, align 2, !tbaa !72
  %3804 = zext i16 %3803 to i64
  %3805 = icmp eq i64 %3804, 14
  br i1 %3805, label %3859, label %3806

3806:                                             ; preds = %3800
  br label %3807

3807:                                             ; preds = %3806
  br label %3808

3808:                                             ; preds = %3807
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  %3809 = call ptr @__errno_location() #12
  %3810 = load i32, ptr %3809, align 4, !tbaa !5
  store i32 %3810, ptr %83, align 4, !tbaa !5
  %3811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3812 = call i32 @s2n_print_stacktrace(ptr noundef %3811)
  %3813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3814 = trunc i8 %3813 to i1
  br i1 %3814, label %3815, label %3837

3815:                                             ; preds = %3808
  %3816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3817 = call i32 @fileno(ptr noundef %3816) #11
  %3818 = call i32 @isatty(i32 noundef %3817) #11
  %3819 = icmp ne i32 %3818, 0
  br i1 %3819, label %3820, label %3837

3820:                                             ; preds = %3815
  %3821 = load i32, ptr %83, align 4, !tbaa !5
  %3822 = call ptr @__errno_location() #12
  store i32 %3821, ptr %3822, align 4, !tbaa !5
  %3823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3824 = load i32, ptr @test_count, align 4, !tbaa !5
  %3825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3826 = load i32, ptr %3825, align 4, !tbaa !5
  %3827 = call ptr @s2n_strerror(i32 noundef %3826, ptr noundef @.str.4)
  %3828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3829 = load i32, ptr %3828, align 4, !tbaa !5
  %3830 = call ptr @s2n_strerror_debug(i32 noundef %3829, ptr noundef @.str.4)
  %3831 = call ptr @__errno_location() #12
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  %3833 = call ptr @strerror(i32 noundef %3832) #11
  %3834 = call ptr @__errno_location() #12
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3823, ptr noundef @.str.2, i32 noundef %3824, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 294, ptr noundef %3827, ptr noundef %3830, ptr noundef %3833, i32 noundef %3835) #11
  br label %3854

3837:                                             ; preds = %3815, %3808
  %3838 = load i32, ptr %83, align 4, !tbaa !5
  %3839 = call ptr @__errno_location() #12
  store i32 %3838, ptr %3839, align 4, !tbaa !5
  %3840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3841 = load i32, ptr @test_count, align 4, !tbaa !5
  %3842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3843 = load i32, ptr %3842, align 4, !tbaa !5
  %3844 = call ptr @s2n_strerror(i32 noundef %3843, ptr noundef @.str.4)
  %3845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3846 = load i32, ptr %3845, align 4, !tbaa !5
  %3847 = call ptr @s2n_strerror_debug(i32 noundef %3846, ptr noundef @.str.4)
  %3848 = call ptr @__errno_location() #12
  %3849 = load i32, ptr %3848, align 4, !tbaa !5
  %3850 = call ptr @strerror(i32 noundef %3849) #11
  %3851 = call ptr @__errno_location() #12
  %3852 = load i32, ptr %3851, align 4, !tbaa !5
  %3853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3840, ptr noundef @.str.5, i32 noundef %3841, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 294, ptr noundef %3844, ptr noundef %3847, ptr noundef %3850, i32 noundef %3852) #11
  br label %3854

3854:                                             ; preds = %3837, %3820
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %3855

3855:                                             ; preds = %3854
  br label %3856

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

3857:                                             ; No predecessors!
  br label %3858

3858:                                             ; preds = %3857
  br label %3859

3859:                                             ; preds = %3858, %3800
  br label %3860

3860:                                             ; preds = %3859
  br label %3861

3861:                                             ; preds = %3860
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #11
  store ptr null, ptr %84, align 8, !tbaa !9
  br label %3862

3862:                                             ; preds = %3861
  %3863 = load i32, ptr @test_count, align 4, !tbaa !5
  %3864 = add nsw i32 %3863, 1
  store i32 %3864, ptr @test_count, align 4, !tbaa !5
  %3865 = load i16, ptr %81, align 2, !tbaa !72
  %3866 = zext i16 %3865 to i32
  %3867 = call ptr @s2n_stuffer_raw_read(ptr noundef %64, i32 noundef %3866)
  store ptr %3867, ptr %84, align 8, !tbaa !9
  %3868 = icmp eq ptr %3867, null
  br i1 %3868, label %3869, label %3922

3869:                                             ; preds = %3862
  br label %3870

3870:                                             ; preds = %3869
  br label %3871

3871:                                             ; preds = %3870
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %3872 = call ptr @__errno_location() #12
  %3873 = load i32, ptr %3872, align 4, !tbaa !5
  store i32 %3873, ptr %85, align 4, !tbaa !5
  %3874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3875 = call i32 @s2n_print_stacktrace(ptr noundef %3874)
  %3876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3877 = trunc i8 %3876 to i1
  br i1 %3877, label %3878, label %3900

3878:                                             ; preds = %3871
  %3879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3880 = call i32 @fileno(ptr noundef %3879) #11
  %3881 = call i32 @isatty(i32 noundef %3880) #11
  %3882 = icmp ne i32 %3881, 0
  br i1 %3882, label %3883, label %3900

3883:                                             ; preds = %3878
  %3884 = load i32, ptr %85, align 4, !tbaa !5
  %3885 = call ptr @__errno_location() #12
  store i32 %3884, ptr %3885, align 4, !tbaa !5
  %3886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3887 = load i32, ptr @test_count, align 4, !tbaa !5
  %3888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3889 = load i32, ptr %3888, align 4, !tbaa !5
  %3890 = call ptr @s2n_strerror(i32 noundef %3889, ptr noundef @.str.4)
  %3891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3892 = load i32, ptr %3891, align 4, !tbaa !5
  %3893 = call ptr @s2n_strerror_debug(i32 noundef %3892, ptr noundef @.str.4)
  %3894 = call ptr @__errno_location() #12
  %3895 = load i32, ptr %3894, align 4, !tbaa !5
  %3896 = call ptr @strerror(i32 noundef %3895) #11
  %3897 = call ptr @__errno_location() #12
  %3898 = load i32, ptr %3897, align 4, !tbaa !5
  %3899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3886, ptr noundef @.str.2, i32 noundef %3887, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 297, ptr noundef %3890, ptr noundef %3893, ptr noundef %3896, i32 noundef %3898) #11
  br label %3917

3900:                                             ; preds = %3878, %3871
  %3901 = load i32, ptr %85, align 4, !tbaa !5
  %3902 = call ptr @__errno_location() #12
  store i32 %3901, ptr %3902, align 4, !tbaa !5
  %3903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3904 = load i32, ptr @test_count, align 4, !tbaa !5
  %3905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3906 = load i32, ptr %3905, align 4, !tbaa !5
  %3907 = call ptr @s2n_strerror(i32 noundef %3906, ptr noundef @.str.4)
  %3908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3909 = load i32, ptr %3908, align 4, !tbaa !5
  %3910 = call ptr @s2n_strerror_debug(i32 noundef %3909, ptr noundef @.str.4)
  %3911 = call ptr @__errno_location() #12
  %3912 = load i32, ptr %3911, align 4, !tbaa !5
  %3913 = call ptr @strerror(i32 noundef %3912) #11
  %3914 = call ptr @__errno_location() #12
  %3915 = load i32, ptr %3914, align 4, !tbaa !5
  %3916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3903, ptr noundef @.str.5, i32 noundef %3904, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 297, ptr noundef %3907, ptr noundef %3910, ptr noundef %3913, i32 noundef %3915) #11
  br label %3917

3917:                                             ; preds = %3900, %3883
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %3918

3918:                                             ; preds = %3917
  br label %3919

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

3920:                                             ; No predecessors!
  br label %3921

3921:                                             ; preds = %3920
  br label %3922

3922:                                             ; preds = %3921, %3862
  br label %3923

3923:                                             ; preds = %3922
  br label %3924

3924:                                             ; preds = %3923
  br label %3925

3925:                                             ; preds = %3924
  br label %3926

3926:                                             ; preds = %3925
  %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 = load ptr, ptr %84, align 8, !tbaa !9
  %3930 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  %3931 = call i32 @memcmp(ptr noundef %3929, ptr noundef %3930, i64 noundef 14) #14
  %3932 = icmp eq i32 %3931, 0
  br i1 %3932, label %3986, label %3933

3933:                                             ; preds = %3926
  br label %3934

3934:                                             ; preds = %3933
  br label %3935

3935:                                             ; preds = %3934
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  %3936 = call ptr @__errno_location() #12
  %3937 = load i32, ptr %3936, align 4, !tbaa !5
  store i32 %3937, ptr %86, align 4, !tbaa !5
  %3938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3939 = call i32 @s2n_print_stacktrace(ptr noundef %3938)
  %3940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3941 = trunc i8 %3940 to i1
  br i1 %3941, label %3942, label %3964

3942:                                             ; preds = %3935
  %3943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3944 = call i32 @fileno(ptr noundef %3943) #11
  %3945 = call i32 @isatty(i32 noundef %3944) #11
  %3946 = icmp ne i32 %3945, 0
  br i1 %3946, label %3947, label %3964

3947:                                             ; preds = %3942
  %3948 = load i32, ptr %86, align 4, !tbaa !5
  %3949 = call ptr @__errno_location() #12
  store i32 %3948, ptr %3949, align 4, !tbaa !5
  %3950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3951 = load i32, ptr @test_count, align 4, !tbaa !5
  %3952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call ptr @s2n_strerror(i32 noundef %3953, ptr noundef @.str.4)
  %3955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3956 = load i32, ptr %3955, align 4, !tbaa !5
  %3957 = call ptr @s2n_strerror_debug(i32 noundef %3956, ptr noundef @.str.4)
  %3958 = call ptr @__errno_location() #12
  %3959 = load i32, ptr %3958, align 4, !tbaa !5
  %3960 = call ptr @strerror(i32 noundef %3959) #11
  %3961 = call ptr @__errno_location() #12
  %3962 = load i32, ptr %3961, align 4, !tbaa !5
  %3963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3950, ptr noundef @.str.2, i32 noundef %3951, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 298, ptr noundef %3954, ptr noundef %3957, ptr noundef %3960, i32 noundef %3962) #11
  br label %3981

3964:                                             ; preds = %3942, %3935
  %3965 = load i32, ptr %86, align 4, !tbaa !5
  %3966 = call ptr @__errno_location() #12
  store i32 %3965, ptr %3966, align 4, !tbaa !5
  %3967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3968 = load i32, ptr @test_count, align 4, !tbaa !5
  %3969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3970 = load i32, ptr %3969, align 4, !tbaa !5
  %3971 = call ptr @s2n_strerror(i32 noundef %3970, ptr noundef @.str.4)
  %3972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3973 = load i32, ptr %3972, align 4, !tbaa !5
  %3974 = call ptr @s2n_strerror_debug(i32 noundef %3973, ptr noundef @.str.4)
  %3975 = call ptr @__errno_location() #12
  %3976 = load i32, ptr %3975, align 4, !tbaa !5
  %3977 = call ptr @strerror(i32 noundef %3976) #11
  %3978 = call ptr @__errno_location() #12
  %3979 = load i32, ptr %3978, align 4, !tbaa !5
  %3980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3967, ptr noundef @.str.5, i32 noundef %3968, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 298, ptr noundef %3971, ptr noundef %3974, ptr noundef %3977, i32 noundef %3979) #11
  br label %3981

3981:                                             ; preds = %3964, %3947
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %3982

3982:                                             ; preds = %3981
  br label %3983

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

3984:                                             ; No predecessors!
  br label %3985

3985:                                             ; preds = %3984
  br label %3986

3986:                                             ; preds = %3985, %3926
  br label %3987

3987:                                             ; preds = %3986
  br label %3988

3988:                                             ; preds = %3987
  br label %3989

3989:                                             ; preds = %3988
  br label %3990

3990:                                             ; preds = %3989
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  store i32 0, ptr %87, align 4, !tbaa !5
  br label %3991

3991:                                             ; preds = %3990
  %3992 = load i32, ptr @test_count, align 4, !tbaa !5
  %3993 = add nsw i32 %3992, 1
  store i32 %3993, ptr @test_count, align 4, !tbaa !5
  %3994 = call i32 @s2n_stuffer_read_uint32(ptr noundef %64, ptr noundef %87)
  %3995 = icmp eq i32 %3994, -1
  br i1 %3995, label %3996, label %4049

3996:                                             ; preds = %3991
  br label %3997

3997:                                             ; preds = %3996
  br label %3998

3998:                                             ; preds = %3997
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #11
  %3999 = call ptr @__errno_location() #12
  %4000 = load i32, ptr %3999, align 4, !tbaa !5
  store i32 %4000, ptr %88, align 4, !tbaa !5
  %4001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4002 = call i32 @s2n_print_stacktrace(ptr noundef %4001)
  %4003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4004 = trunc i8 %4003 to i1
  br i1 %4004, label %4005, label %4027

4005:                                             ; preds = %3998
  %4006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4007 = call i32 @fileno(ptr noundef %4006) #11
  %4008 = call i32 @isatty(i32 noundef %4007) #11
  %4009 = icmp ne i32 %4008, 0
  br i1 %4009, label %4010, label %4027

4010:                                             ; preds = %4005
  %4011 = load i32, ptr %88, align 4, !tbaa !5
  %4012 = call ptr @__errno_location() #12
  store i32 %4011, ptr %4012, align 4, !tbaa !5
  %4013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4014 = load i32, ptr @test_count, align 4, !tbaa !5
  %4015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4016 = load i32, ptr %4015, align 4, !tbaa !5
  %4017 = call ptr @s2n_strerror(i32 noundef %4016, ptr noundef @.str.4)
  %4018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4019 = load i32, ptr %4018, align 4, !tbaa !5
  %4020 = call ptr @s2n_strerror_debug(i32 noundef %4019, ptr noundef @.str.4)
  %4021 = call ptr @__errno_location() #12
  %4022 = load i32, ptr %4021, align 4, !tbaa !5
  %4023 = call ptr @strerror(i32 noundef %4022) #11
  %4024 = call ptr @__errno_location() #12
  %4025 = load i32, ptr %4024, align 4, !tbaa !5
  %4026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4013, ptr noundef @.str.2, i32 noundef %4014, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 301, ptr noundef %4017, ptr noundef %4020, ptr noundef %4023, i32 noundef %4025) #11
  br label %4044

4027:                                             ; preds = %4005, %3998
  %4028 = load i32, ptr %88, align 4, !tbaa !5
  %4029 = call ptr @__errno_location() #12
  store i32 %4028, ptr %4029, align 4, !tbaa !5
  %4030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4031 = load i32, ptr @test_count, align 4, !tbaa !5
  %4032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4033 = load i32, ptr %4032, align 4, !tbaa !5
  %4034 = call ptr @s2n_strerror(i32 noundef %4033, ptr noundef @.str.4)
  %4035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4036 = load i32, ptr %4035, align 4, !tbaa !5
  %4037 = call ptr @s2n_strerror_debug(i32 noundef %4036, ptr noundef @.str.4)
  %4038 = call ptr @__errno_location() #12
  %4039 = load i32, ptr %4038, align 4, !tbaa !5
  %4040 = call ptr @strerror(i32 noundef %4039) #11
  %4041 = call ptr @__errno_location() #12
  %4042 = load i32, ptr %4041, align 4, !tbaa !5
  %4043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4030, ptr noundef @.str.5, i32 noundef %4031, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 301, ptr noundef %4034, ptr noundef %4037, ptr noundef %4040, i32 noundef %4042) #11
  br label %4044

4044:                                             ; preds = %4027, %4010
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %4045

4045:                                             ; preds = %4044
  br label %4046

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

4047:                                             ; No predecessors!
  br label %4048

4048:                                             ; preds = %4047
  br label %4049

4049:                                             ; preds = %4048, %3991
  br label %4050

4050:                                             ; preds = %4049
  br label %4051

4051:                                             ; preds = %4050
  br label %4052

4052:                                             ; preds = %4051
  %4053 = load i32, ptr @test_count, align 4, !tbaa !5
  %4054 = add nsw i32 %4053, 1
  store i32 %4054, ptr @test_count, align 4, !tbaa !5
  %4055 = load i32, ptr %87, align 4, !tbaa !5
  %4056 = icmp eq i32 %4055, 0
  br i1 %4056, label %4110, label %4057

4057:                                             ; preds = %4052
  br label %4058

4058:                                             ; preds = %4057
  br label %4059

4059:                                             ; preds = %4058
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #11
  %4060 = call ptr @__errno_location() #12
  %4061 = load i32, ptr %4060, align 4, !tbaa !5
  store i32 %4061, ptr %89, align 4, !tbaa !5
  %4062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4063 = call i32 @s2n_print_stacktrace(ptr noundef %4062)
  %4064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4065 = trunc i8 %4064 to i1
  br i1 %4065, label %4066, label %4088

4066:                                             ; preds = %4059
  %4067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4068 = call i32 @fileno(ptr noundef %4067) #11
  %4069 = call i32 @isatty(i32 noundef %4068) #11
  %4070 = icmp ne i32 %4069, 0
  br i1 %4070, label %4071, label %4088

4071:                                             ; preds = %4066
  %4072 = load i32, ptr %89, align 4, !tbaa !5
  %4073 = call ptr @__errno_location() #12
  store i32 %4072, ptr %4073, align 4, !tbaa !5
  %4074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4075 = load i32, ptr @test_count, align 4, !tbaa !5
  %4076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4077 = load i32, ptr %4076, align 4, !tbaa !5
  %4078 = call ptr @s2n_strerror(i32 noundef %4077, ptr noundef @.str.4)
  %4079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4080 = load i32, ptr %4079, align 4, !tbaa !5
  %4081 = call ptr @s2n_strerror_debug(i32 noundef %4080, ptr noundef @.str.4)
  %4082 = call ptr @__errno_location() #12
  %4083 = load i32, ptr %4082, align 4, !tbaa !5
  %4084 = call ptr @strerror(i32 noundef %4083) #11
  %4085 = call ptr @__errno_location() #12
  %4086 = load i32, ptr %4085, align 4, !tbaa !5
  %4087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4074, ptr noundef @.str.2, i32 noundef %4075, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 302, ptr noundef %4078, ptr noundef %4081, ptr noundef %4084, i32 noundef %4086) #11
  br label %4105

4088:                                             ; preds = %4066, %4059
  %4089 = load i32, ptr %89, align 4, !tbaa !5
  %4090 = call ptr @__errno_location() #12
  store i32 %4089, ptr %4090, align 4, !tbaa !5
  %4091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4092 = load i32, ptr @test_count, align 4, !tbaa !5
  %4093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4094 = load i32, ptr %4093, align 4, !tbaa !5
  %4095 = call ptr @s2n_strerror(i32 noundef %4094, ptr noundef @.str.4)
  %4096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4097 = load i32, ptr %4096, align 4, !tbaa !5
  %4098 = call ptr @s2n_strerror_debug(i32 noundef %4097, ptr noundef @.str.4)
  %4099 = call ptr @__errno_location() #12
  %4100 = load i32, ptr %4099, align 4, !tbaa !5
  %4101 = call ptr @strerror(i32 noundef %4100) #11
  %4102 = call ptr @__errno_location() #12
  %4103 = load i32, ptr %4102, align 4, !tbaa !5
  %4104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4091, ptr noundef @.str.5, i32 noundef %4092, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 302, ptr noundef %4095, ptr noundef %4098, ptr noundef %4101, i32 noundef %4103) #11
  br label %4105

4105:                                             ; preds = %4088, %4071
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %4106

4106:                                             ; preds = %4105
  br label %4107

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

4108:                                             ; No predecessors!
  br label %4109

4109:                                             ; preds = %4108
  br label %4110

4110:                                             ; preds = %4109, %4052
  br label %4111

4111:                                             ; preds = %4110
  br label %4112

4112:                                             ; preds = %4111
  br label %4113

4113:                                             ; preds = %4112
  %4114 = load i32, ptr @test_count, align 4, !tbaa !5
  %4115 = add nsw i32 %4114, 1
  store i32 %4115, ptr @test_count, align 4, !tbaa !5
  %4116 = getelementptr inbounds %struct.s2n_stuffer, ptr %64, i32 0, i32 2
  %4117 = load i32, ptr %4116, align 4, !tbaa !70
  %4118 = getelementptr inbounds %struct.s2n_stuffer, ptr %64, i32 0, i32 1
  %4119 = load i32, ptr %4118, align 8, !tbaa !71
  %4120 = sub i32 %4117, %4119
  %4121 = zext i32 %4120 to i64
  %4122 = icmp eq i64 %4121, 51
  br i1 %4122, label %4176, label %4123

4123:                                             ; preds = %4113
  br label %4124

4124:                                             ; preds = %4123
  br label %4125

4125:                                             ; preds = %4124
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #11
  %4126 = call ptr @__errno_location() #12
  %4127 = load i32, ptr %4126, align 4, !tbaa !5
  store i32 %4127, ptr %90, align 4, !tbaa !5
  %4128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4129 = call i32 @s2n_print_stacktrace(ptr noundef %4128)
  %4130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4131 = trunc i8 %4130 to i1
  br i1 %4131, label %4132, label %4154

4132:                                             ; preds = %4125
  %4133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4134 = call i32 @fileno(ptr noundef %4133) #11
  %4135 = call i32 @isatty(i32 noundef %4134) #11
  %4136 = icmp ne i32 %4135, 0
  br i1 %4136, label %4137, label %4154

4137:                                             ; preds = %4132
  %4138 = load i32, ptr %90, align 4, !tbaa !5
  %4139 = call ptr @__errno_location() #12
  store i32 %4138, ptr %4139, align 4, !tbaa !5
  %4140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4141 = load i32, ptr @test_count, align 4, !tbaa !5
  %4142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4143 = load i32, ptr %4142, align 4, !tbaa !5
  %4144 = call ptr @s2n_strerror(i32 noundef %4143, ptr noundef @.str.4)
  %4145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4146 = load i32, ptr %4145, align 4, !tbaa !5
  %4147 = call ptr @s2n_strerror_debug(i32 noundef %4146, ptr noundef @.str.4)
  %4148 = call ptr @__errno_location() #12
  %4149 = load i32, ptr %4148, align 4, !tbaa !5
  %4150 = call ptr @strerror(i32 noundef %4149) #11
  %4151 = call ptr @__errno_location() #12
  %4152 = load i32, ptr %4151, align 4, !tbaa !5
  %4153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4140, ptr noundef @.str.2, i32 noundef %4141, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 307, ptr noundef %4144, ptr noundef %4147, ptr noundef %4150, i32 noundef %4152) #11
  br label %4171

4154:                                             ; preds = %4132, %4125
  %4155 = load i32, ptr %90, align 4, !tbaa !5
  %4156 = call ptr @__errno_location() #12
  store i32 %4155, ptr %4156, align 4, !tbaa !5
  %4157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4158 = load i32, ptr @test_count, align 4, !tbaa !5
  %4159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4160 = load i32, ptr %4159, align 4, !tbaa !5
  %4161 = call ptr @s2n_strerror(i32 noundef %4160, ptr noundef @.str.4)
  %4162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4163 = load i32, ptr %4162, align 4, !tbaa !5
  %4164 = call ptr @s2n_strerror_debug(i32 noundef %4163, ptr noundef @.str.4)
  %4165 = call ptr @__errno_location() #12
  %4166 = load i32, ptr %4165, align 4, !tbaa !5
  %4167 = call ptr @strerror(i32 noundef %4166) #11
  %4168 = call ptr @__errno_location() #12
  %4169 = load i32, ptr %4168, align 4, !tbaa !5
  %4170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4157, ptr noundef @.str.5, i32 noundef %4158, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 307, ptr noundef %4161, ptr noundef %4164, ptr noundef %4167, i32 noundef %4169) #11
  br label %4171

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

4172:                                             ; preds = %4171
  br label %4173

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

4174:                                             ; No predecessors!
  br label %4175

4175:                                             ; preds = %4174
  br label %4176

4176:                                             ; preds = %4175, %4113
  br label %4177

4177:                                             ; preds = %4176
  br label %4178

4178:                                             ; preds = %4177
  br label %4179

4179:                                             ; preds = %4178
  %4180 = load i32, ptr @test_count, align 4, !tbaa !5
  %4181 = add nsw i32 %4180, 1
  store i32 %4181, ptr @test_count, align 4, !tbaa !5
  %4182 = load ptr, ptr %66, align 8, !tbaa !9
  %4183 = call i32 @s2n_connection_free(ptr noundef %4182)
  %4184 = icmp eq i32 %4183, -1
  br i1 %4184, label %4185, label %4238

4185:                                             ; preds = %4179
  br label %4186

4186:                                             ; preds = %4185
  br label %4187

4187:                                             ; preds = %4186
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #11
  %4188 = call ptr @__errno_location() #12
  %4189 = load i32, ptr %4188, align 4, !tbaa !5
  store i32 %4189, ptr %91, align 4, !tbaa !5
  %4190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4191 = call i32 @s2n_print_stacktrace(ptr noundef %4190)
  %4192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4193 = trunc i8 %4192 to i1
  br i1 %4193, label %4194, label %4216

4194:                                             ; preds = %4187
  %4195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4196 = call i32 @fileno(ptr noundef %4195) #11
  %4197 = call i32 @isatty(i32 noundef %4196) #11
  %4198 = icmp ne i32 %4197, 0
  br i1 %4198, label %4199, label %4216

4199:                                             ; preds = %4194
  %4200 = load i32, ptr %91, align 4, !tbaa !5
  %4201 = call ptr @__errno_location() #12
  store i32 %4200, ptr %4201, align 4, !tbaa !5
  %4202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4203 = load i32, ptr @test_count, align 4, !tbaa !5
  %4204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4205 = load i32, ptr %4204, align 4, !tbaa !5
  %4206 = call ptr @s2n_strerror(i32 noundef %4205, ptr noundef @.str.4)
  %4207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4208 = load i32, ptr %4207, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror_debug(i32 noundef %4208, ptr noundef @.str.4)
  %4210 = call ptr @__errno_location() #12
  %4211 = load i32, ptr %4210, align 4, !tbaa !5
  %4212 = call ptr @strerror(i32 noundef %4211) #11
  %4213 = call ptr @__errno_location() #12
  %4214 = load i32, ptr %4213, align 4, !tbaa !5
  %4215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4202, ptr noundef @.str.2, i32 noundef %4203, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 309, ptr noundef %4206, ptr noundef %4209, ptr noundef %4212, i32 noundef %4214) #11
  br label %4233

4216:                                             ; preds = %4194, %4187
  %4217 = load i32, ptr %91, align 4, !tbaa !5
  %4218 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %4227 = call ptr @__errno_location() #12
  %4228 = load i32, ptr %4227, align 4, !tbaa !5
  %4229 = call ptr @strerror(i32 noundef %4228) #11
  %4230 = call ptr @__errno_location() #12
  %4231 = load i32, ptr %4230, align 4, !tbaa !5
  %4232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4219, ptr noundef @.str.5, i32 noundef %4220, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 309, ptr noundef %4223, ptr noundef %4226, ptr noundef %4229, i32 noundef %4231) #11
  br label %4233

4233:                                             ; preds = %4216, %4199
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4234

4234:                                             ; preds = %4233
  br label %4235

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

4236:                                             ; No predecessors!
  br label %4237

4237:                                             ; preds = %4236
  br label %4238

4238:                                             ; preds = %4237, %4179
  br label %4239

4239:                                             ; preds = %4238
  br label %4240

4240:                                             ; preds = %4239
  br label %4241

4241:                                             ; preds = %4240
  %4242 = load i32, ptr @test_count, align 4, !tbaa !5
  %4243 = add nsw i32 %4242, 1
  store i32 %4243, ptr @test_count, align 4, !tbaa !5
  %4244 = call i32 @s2n_stuffer_free(ptr noundef %64)
  %4245 = icmp eq i32 %4244, -1
  br i1 %4245, label %4246, label %4299

4246:                                             ; preds = %4241
  br label %4247

4247:                                             ; preds = %4246
  br label %4248

4248:                                             ; preds = %4247
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %4249 = call ptr @__errno_location() #12
  %4250 = load i32, ptr %4249, align 4, !tbaa !5
  store i32 %4250, ptr %92, align 4, !tbaa !5
  %4251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4252 = call i32 @s2n_print_stacktrace(ptr noundef %4251)
  %4253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4254 = trunc i8 %4253 to i1
  br i1 %4254, label %4255, label %4277

4255:                                             ; preds = %4248
  %4256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4257 = call i32 @fileno(ptr noundef %4256) #11
  %4258 = call i32 @isatty(i32 noundef %4257) #11
  %4259 = icmp ne i32 %4258, 0
  br i1 %4259, label %4260, label %4277

4260:                                             ; preds = %4255
  %4261 = load i32, ptr %92, align 4, !tbaa !5
  %4262 = call ptr @__errno_location() #12
  store i32 %4261, ptr %4262, align 4, !tbaa !5
  %4263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4264 = load i32, ptr @test_count, align 4, !tbaa !5
  %4265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call ptr @s2n_strerror(i32 noundef %4266, ptr noundef @.str.4)
  %4268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4269 = load i32, ptr %4268, align 4, !tbaa !5
  %4270 = call ptr @s2n_strerror_debug(i32 noundef %4269, ptr noundef @.str.4)
  %4271 = call ptr @__errno_location() #12
  %4272 = load i32, ptr %4271, align 4, !tbaa !5
  %4273 = call ptr @strerror(i32 noundef %4272) #11
  %4274 = call ptr @__errno_location() #12
  %4275 = load i32, ptr %4274, align 4, !tbaa !5
  %4276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4263, ptr noundef @.str.2, i32 noundef %4264, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 310, ptr noundef %4267, ptr noundef %4270, ptr noundef %4273, i32 noundef %4275) #11
  br label %4294

4277:                                             ; preds = %4255, %4248
  %4278 = load i32, ptr %92, align 4, !tbaa !5
  %4279 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %4288 = call ptr @__errno_location() #12
  %4289 = load i32, ptr %4288, align 4, !tbaa !5
  %4290 = call ptr @strerror(i32 noundef %4289) #11
  %4291 = call ptr @__errno_location() #12
  %4292 = load i32, ptr %4291, align 4, !tbaa !5
  %4293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4280, ptr noundef @.str.5, i32 noundef %4281, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 310, ptr noundef %4284, ptr noundef %4287, ptr noundef %4290, i32 noundef %4292) #11
  br label %4294

4294:                                             ; preds = %4277, %4260
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4295

4295:                                             ; preds = %4294
  br label %4296

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

4297:                                             ; No predecessors!
  br label %4298

4298:                                             ; preds = %4297
  br label %4299

4299:                                             ; preds = %4298, %4241
  br label %4300

4300:                                             ; preds = %4299
  br label %4301

4301:                                             ; preds = %4300
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %81) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %79) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %64) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr %93) #11
  call void @llvm.memset.p0.i64(ptr align 8 %93, i8 0, i64 40, i1 false)
  br label %4302

4302:                                             ; preds = %4301
  %4303 = load i32, ptr @test_count, align 4, !tbaa !5
  %4304 = add nsw i32 %4303, 1
  store i32 %4304, ptr @test_count, align 4, !tbaa !5
  %4305 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %93, i32 noundef 0)
  %4306 = icmp eq i32 %4305, -1
  br i1 %4306, label %4307, label %4360

4307:                                             ; preds = %4302
  br label %4308

4308:                                             ; preds = %4307
  br label %4309

4309:                                             ; preds = %4308
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %4310 = call ptr @__errno_location() #12
  %4311 = load i32, ptr %4310, align 4, !tbaa !5
  store i32 %4311, ptr %94, align 4, !tbaa !5
  %4312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4313 = call i32 @s2n_print_stacktrace(ptr noundef %4312)
  %4314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4315 = trunc i8 %4314 to i1
  br i1 %4315, label %4316, label %4338

4316:                                             ; preds = %4309
  %4317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4318 = call i32 @fileno(ptr noundef %4317) #11
  %4319 = call i32 @isatty(i32 noundef %4318) #11
  %4320 = icmp ne i32 %4319, 0
  br i1 %4320, label %4321, label %4338

4321:                                             ; preds = %4316
  %4322 = load i32, ptr %94, align 4, !tbaa !5
  %4323 = call ptr @__errno_location() #12
  store i32 %4322, ptr %4323, align 4, !tbaa !5
  %4324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4325 = load i32, ptr @test_count, align 4, !tbaa !5
  %4326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4327 = load i32, ptr %4326, align 4, !tbaa !5
  %4328 = call ptr @s2n_strerror(i32 noundef %4327, ptr noundef @.str.4)
  %4329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4330 = load i32, ptr %4329, align 4, !tbaa !5
  %4331 = call ptr @s2n_strerror_debug(i32 noundef %4330, ptr noundef @.str.4)
  %4332 = call ptr @__errno_location() #12
  %4333 = load i32, ptr %4332, align 4, !tbaa !5
  %4334 = call ptr @strerror(i32 noundef %4333) #11
  %4335 = call ptr @__errno_location() #12
  %4336 = load i32, ptr %4335, align 4, !tbaa !5
  %4337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4324, ptr noundef @.str.2, i32 noundef %4325, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 316, ptr noundef %4328, ptr noundef %4331, ptr noundef %4334, i32 noundef %4336) #11
  br label %4355

4338:                                             ; preds = %4316, %4309
  %4339 = load i32, ptr %94, align 4, !tbaa !5
  %4340 = call ptr @__errno_location() #12
  store i32 %4339, ptr %4340, align 4, !tbaa !5
  %4341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4344 = load i32, ptr %4343, align 4, !tbaa !5
  %4345 = call ptr @s2n_strerror(i32 noundef %4344, ptr noundef @.str.4)
  %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_debug(i32 noundef %4347, ptr noundef @.str.4)
  %4349 = call ptr @__errno_location() #12
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  %4351 = call ptr @strerror(i32 noundef %4350) #11
  %4352 = call ptr @__errno_location() #12
  %4353 = load i32, ptr %4352, align 4, !tbaa !5
  %4354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4341, ptr noundef @.str.5, i32 noundef %4342, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 316, ptr noundef %4345, ptr noundef %4348, ptr noundef %4351, i32 noundef %4353) #11
  br label %4355

4355:                                             ; preds = %4338, %4321
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #11
  br label %4356

4356:                                             ; preds = %4355
  br label %4357

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

4358:                                             ; No predecessors!
  br label %4359

4359:                                             ; preds = %4358
  br label %4360

4360:                                             ; preds = %4359, %4302
  br label %4361

4361:                                             ; preds = %4360
  br label %4362

4362:                                             ; preds = %4361
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #11
  store ptr null, ptr %95, align 8, !tbaa !9
  br label %4363

4363:                                             ; preds = %4362
  %4364 = load i32, ptr @test_count, align 4, !tbaa !5
  %4365 = add nsw i32 %4364, 1
  store i32 %4365, ptr @test_count, align 4, !tbaa !5
  %4366 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4366, ptr %95, align 8, !tbaa !9
  %4367 = icmp eq ptr %4366, null
  br i1 %4367, label %4368, label %4421

4368:                                             ; preds = %4363
  br label %4369

4369:                                             ; preds = %4368
  br label %4370

4370:                                             ; preds = %4369
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  %4371 = call ptr @__errno_location() #12
  %4372 = load i32, ptr %4371, align 4, !tbaa !5
  store i32 %4372, ptr %96, align 4, !tbaa !5
  %4373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4374 = call i32 @s2n_print_stacktrace(ptr noundef %4373)
  %4375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4376 = trunc i8 %4375 to i1
  br i1 %4376, label %4377, label %4399

4377:                                             ; preds = %4370
  %4378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4379 = call i32 @fileno(ptr noundef %4378) #11
  %4380 = call i32 @isatty(i32 noundef %4379) #11
  %4381 = icmp ne i32 %4380, 0
  br i1 %4381, label %4382, label %4399

4382:                                             ; preds = %4377
  %4383 = load i32, ptr %96, align 4, !tbaa !5
  %4384 = call ptr @__errno_location() #12
  store i32 %4383, ptr %4384, align 4, !tbaa !5
  %4385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4386 = load i32, ptr @test_count, align 4, !tbaa !5
  %4387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4388 = load i32, ptr %4387, align 4, !tbaa !5
  %4389 = call ptr @s2n_strerror(i32 noundef %4388, ptr noundef @.str.4)
  %4390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4391 = load i32, ptr %4390, align 4, !tbaa !5
  %4392 = call ptr @s2n_strerror_debug(i32 noundef %4391, ptr noundef @.str.4)
  %4393 = call ptr @__errno_location() #12
  %4394 = load i32, ptr %4393, align 4, !tbaa !5
  %4395 = call ptr @strerror(i32 noundef %4394) #11
  %4396 = call ptr @__errno_location() #12
  %4397 = load i32, ptr %4396, align 4, !tbaa !5
  %4398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4385, ptr noundef @.str.2, i32 noundef %4386, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 319, ptr noundef %4389, ptr noundef %4392, ptr noundef %4395, i32 noundef %4397) #11
  br label %4416

4399:                                             ; preds = %4377, %4370
  %4400 = load i32, ptr %96, align 4, !tbaa !5
  %4401 = call ptr @__errno_location() #12
  store i32 %4400, ptr %4401, align 4, !tbaa !5
  %4402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4403 = load i32, ptr @test_count, align 4, !tbaa !5
  %4404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4405 = load i32, ptr %4404, align 4, !tbaa !5
  %4406 = call ptr @s2n_strerror(i32 noundef %4405, ptr noundef @.str.4)
  %4407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4408 = load i32, ptr %4407, align 4, !tbaa !5
  %4409 = call ptr @s2n_strerror_debug(i32 noundef %4408, ptr noundef @.str.4)
  %4410 = call ptr @__errno_location() #12
  %4411 = load i32, ptr %4410, align 4, !tbaa !5
  %4412 = call ptr @strerror(i32 noundef %4411) #11
  %4413 = call ptr @__errno_location() #12
  %4414 = load i32, ptr %4413, align 4, !tbaa !5
  %4415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4402, ptr noundef @.str.5, i32 noundef %4403, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 319, ptr noundef %4406, ptr noundef %4409, ptr noundef %4412, i32 noundef %4414) #11
  br label %4416

4416:                                             ; preds = %4399, %4382
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4417

4417:                                             ; preds = %4416
  br label %4418

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

4419:                                             ; No predecessors!
  br label %4420

4420:                                             ; preds = %4419
  br label %4421

4421:                                             ; preds = %4420, %4363
  br label %4422

4422:                                             ; preds = %4421
  br label %4423

4423:                                             ; preds = %4422
  call void @llvm.lifetime.start.p0(i64 48, ptr %97) #11
  %4424 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %97, i32 0, i32 0
  store i32 3, ptr %4424, align 8, !tbaa !73
  %4425 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %97, i32 0, i32 1
  store i8 28, ptr %4425, align 4, !tbaa !75
  %4426 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %97, i32 0, i32 2
  %4427 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  store ptr %4427, ptr %4426, align 8, !tbaa !76
  %4428 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %97, i32 0, i32 3
  store i64 14, ptr %4428, align 8, !tbaa !77
  %4429 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %97, i64 1
  %4430 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %4429, i32 0, i32 0
  store i32 5, ptr %4430, align 8, !tbaa !73
  %4431 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %4429, i32 0, i32 1
  store i8 48, ptr %4431, align 4, !tbaa !75
  %4432 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %4429, i32 0, i32 2
  %4433 = getelementptr inbounds [17 x i8], ptr %12, i64 0, i64 0
  store ptr %4433, ptr %4432, align 8, !tbaa !76
  %4434 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %4429, i32 0, i32 3
  store i64 17, ptr %4434, align 8, !tbaa !77
  call void @llvm.lifetime.start.p0(i64 2, ptr %98) #11
  store i16 0, ptr %98, align 2, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #11
  store i64 0, ptr %99, align 8, !tbaa !58
  br label %4435

4435:                                             ; preds = %4659, %4423
  %4436 = load i64, ptr %99, align 8, !tbaa !58
  %4437 = icmp ult i64 %4436, 2
  br i1 %4437, label %4439, label %4438

4438:                                             ; preds = %4435
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #11
  br label %4662

4439:                                             ; preds = %4435
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #11
  store ptr null, ptr %100, align 8, !tbaa !9
  br label %4440

4440:                                             ; preds = %4439
  %4441 = load i32, ptr @test_count, align 4, !tbaa !5
  %4442 = add nsw i32 %4441, 1
  store i32 %4442, ptr @test_count, align 4, !tbaa !5
  %4443 = load ptr, ptr %95, align 8, !tbaa !9
  %4444 = getelementptr inbounds %struct.s2n_connection, ptr %4443, i32 0, i32 33
  %4445 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %4444, i32 0, i32 1
  %4446 = call i32 @s2n_array_pushback(ptr noundef %4445, ptr noundef %100)
  %4447 = getelementptr inbounds %struct.s2n_result, ptr %101, i32 0, i32 0
  store i32 %4446, ptr %4447, align 4
  %4448 = getelementptr inbounds %struct.s2n_result, ptr %101, i32 0, i32 0
  %4449 = load i32, ptr %4448, align 4
  %4450 = call zeroext i1 @s2n_result_is_ok(i32 %4449)
  br i1 %4450, label %4504, label %4451

4451:                                             ; preds = %4440
  br label %4452

4452:                                             ; preds = %4451
  br label %4453

4453:                                             ; preds = %4452
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  %4454 = call ptr @__errno_location() #12
  %4455 = load i32, ptr %4454, align 4, !tbaa !5
  store i32 %4455, ptr %102, align 4, !tbaa !5
  %4456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4457 = call i32 @s2n_print_stacktrace(ptr noundef %4456)
  %4458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4459 = trunc i8 %4458 to i1
  br i1 %4459, label %4460, label %4482

4460:                                             ; preds = %4453
  %4461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4462 = call i32 @fileno(ptr noundef %4461) #11
  %4463 = call i32 @isatty(i32 noundef %4462) #11
  %4464 = icmp ne i32 %4463, 0
  br i1 %4464, label %4465, label %4482

4465:                                             ; preds = %4460
  %4466 = load i32, ptr %102, align 4, !tbaa !5
  %4467 = call ptr @__errno_location() #12
  store i32 %4466, ptr %4467, align 4, !tbaa !5
  %4468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4469 = load i32, ptr @test_count, align 4, !tbaa !5
  %4470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4471 = load i32, ptr %4470, align 4, !tbaa !5
  %4472 = call ptr @s2n_strerror(i32 noundef %4471, ptr noundef @.str.4)
  %4473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4474 = load i32, ptr %4473, align 4, !tbaa !5
  %4475 = call ptr @s2n_strerror_debug(i32 noundef %4474, ptr noundef @.str.4)
  %4476 = call ptr @__errno_location() #12
  %4477 = load i32, ptr %4476, align 4, !tbaa !5
  %4478 = call ptr @strerror(i32 noundef %4477) #11
  %4479 = call ptr @__errno_location() #12
  %4480 = load i32, ptr %4479, align 4, !tbaa !5
  %4481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4468, ptr noundef @.str.2, i32 noundef %4469, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 329, ptr noundef %4472, ptr noundef %4475, ptr noundef %4478, i32 noundef %4480) #11
  br label %4499

4482:                                             ; preds = %4460, %4453
  %4483 = load i32, ptr %102, align 4, !tbaa !5
  %4484 = call ptr @__errno_location() #12
  store i32 %4483, ptr %4484, align 4, !tbaa !5
  %4485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4486 = load i32, ptr @test_count, align 4, !tbaa !5
  %4487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4488 = load i32, ptr %4487, align 4, !tbaa !5
  %4489 = call ptr @s2n_strerror(i32 noundef %4488, ptr noundef @.str.4)
  %4490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4491 = load i32, ptr %4490, align 4, !tbaa !5
  %4492 = call ptr @s2n_strerror_debug(i32 noundef %4491, ptr noundef @.str.4)
  %4493 = call ptr @__errno_location() #12
  %4494 = load i32, ptr %4493, align 4, !tbaa !5
  %4495 = call ptr @strerror(i32 noundef %4494) #11
  %4496 = call ptr @__errno_location() #12
  %4497 = load i32, ptr %4496, align 4, !tbaa !5
  %4498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4485, ptr noundef @.str.5, i32 noundef %4486, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 329, ptr noundef %4489, ptr noundef %4492, ptr noundef %4495, i32 noundef %4497) #11
  br label %4499

4499:                                             ; preds = %4482, %4465
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %4500

4500:                                             ; preds = %4499
  br label %4501

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

4502:                                             ; No predecessors!
  br label %4503

4503:                                             ; preds = %4502
  br label %4504

4504:                                             ; preds = %4503, %4440
  br label %4505

4505:                                             ; preds = %4504
  br label %4506

4506:                                             ; preds = %4505
  br label %4507

4507:                                             ; preds = %4506
  %4508 = load i32, ptr @test_count, align 4, !tbaa !5
  %4509 = add nsw i32 %4508, 1
  store i32 %4509, ptr @test_count, align 4, !tbaa !5
  %4510 = load ptr, ptr %100, align 8, !tbaa !9
  %4511 = call i32 @s2n_psk_init(ptr noundef %4510, i32 noundef 1)
  %4512 = getelementptr inbounds %struct.s2n_result, ptr %103, i32 0, i32 0
  store i32 %4511, ptr %4512, align 4
  %4513 = getelementptr inbounds %struct.s2n_result, ptr %103, i32 0, i32 0
  %4514 = load i32, ptr %4513, align 4
  %4515 = call zeroext i1 @s2n_result_is_ok(i32 %4514)
  br i1 %4515, label %4569, label %4516

4516:                                             ; preds = %4507
  br label %4517

4517:                                             ; preds = %4516
  br label %4518

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

4525:                                             ; preds = %4518
  %4526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4527 = call i32 @fileno(ptr noundef %4526) #11
  %4528 = call i32 @isatty(i32 noundef %4527) #11
  %4529 = icmp ne i32 %4528, 0
  br i1 %4529, label %4530, label %4547

4530:                                             ; preds = %4525
  %4531 = load i32, ptr %104, align 4, !tbaa !5
  %4532 = call ptr @__errno_location() #12
  store i32 %4531, ptr %4532, align 4, !tbaa !5
  %4533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4534 = load i32, ptr @test_count, align 4, !tbaa !5
  %4535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4536 = load i32, ptr %4535, align 4, !tbaa !5
  %4537 = call ptr @s2n_strerror(i32 noundef %4536, ptr noundef @.str.4)
  %4538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4539 = load i32, ptr %4538, align 4, !tbaa !5
  %4540 = call ptr @s2n_strerror_debug(i32 noundef %4539, ptr noundef @.str.4)
  %4541 = call ptr @__errno_location() #12
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = call ptr @strerror(i32 noundef %4542) #11
  %4544 = call ptr @__errno_location() #12
  %4545 = load i32, ptr %4544, align 4, !tbaa !5
  %4546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4533, ptr noundef @.str.2, i32 noundef %4534, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 330, ptr noundef %4537, ptr noundef %4540, ptr noundef %4543, i32 noundef %4545) #11
  br label %4564

4547:                                             ; preds = %4525, %4518
  %4548 = load i32, ptr %104, align 4, !tbaa !5
  %4549 = call ptr @__errno_location() #12
  store i32 %4548, ptr %4549, align 4, !tbaa !5
  %4550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4551 = load i32, ptr @test_count, align 4, !tbaa !5
  %4552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4553 = load i32, ptr %4552, align 4, !tbaa !5
  %4554 = call ptr @s2n_strerror(i32 noundef %4553, ptr noundef @.str.4)
  %4555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4556 = load i32, ptr %4555, align 4, !tbaa !5
  %4557 = call ptr @s2n_strerror_debug(i32 noundef %4556, ptr noundef @.str.4)
  %4558 = call ptr @__errno_location() #12
  %4559 = load i32, ptr %4558, align 4, !tbaa !5
  %4560 = call ptr @strerror(i32 noundef %4559) #11
  %4561 = call ptr @__errno_location() #12
  %4562 = load i32, ptr %4561, align 4, !tbaa !5
  %4563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4550, ptr noundef @.str.5, i32 noundef %4551, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 330, ptr noundef %4554, ptr noundef %4557, ptr noundef %4560, i32 noundef %4562) #11
  br label %4564

4564:                                             ; preds = %4547, %4530
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %4565

4565:                                             ; preds = %4564
  br label %4566

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

4567:                                             ; No predecessors!
  br label %4568

4568:                                             ; preds = %4567
  br label %4569

4569:                                             ; preds = %4568, %4507
  br label %4570

4570:                                             ; preds = %4569
  br label %4571

4571:                                             ; preds = %4570
  br label %4572

4572:                                             ; preds = %4571
  %4573 = load i32, ptr @test_count, align 4, !tbaa !5
  %4574 = add nsw i32 %4573, 1
  store i32 %4574, ptr @test_count, align 4, !tbaa !5
  %4575 = load ptr, ptr %100, align 8, !tbaa !9
  %4576 = load i64, ptr %99, align 8, !tbaa !58
  %4577 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %97, i64 0, i64 %4576
  %4578 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %4577, i32 0, i32 2
  %4579 = load ptr, ptr %4578, align 8, !tbaa !76
  %4580 = load i64, ptr %99, align 8, !tbaa !58
  %4581 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %97, i64 0, i64 %4580
  %4582 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %4581, i32 0, i32 3
  %4583 = load i64, ptr %4582, align 8, !tbaa !77
  %4584 = trunc i64 %4583 to i16
  %4585 = call i32 @s2n_psk_set_identity(ptr noundef %4575, ptr noundef %4579, i16 noundef zeroext %4584)
  %4586 = icmp eq i32 %4585, -1
  br i1 %4586, label %4587, label %4640

4587:                                             ; preds = %4572
  br label %4588

4588:                                             ; preds = %4587
  br label %4589

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

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

4601:                                             ; preds = %4596
  %4602 = load i32, ptr %105, align 4, !tbaa !5
  %4603 = call ptr @__errno_location() #12
  store i32 %4602, ptr %4603, align 4, !tbaa !5
  %4604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4605 = load i32, ptr @test_count, align 4, !tbaa !5
  %4606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4607 = load i32, ptr %4606, align 4, !tbaa !5
  %4608 = call ptr @s2n_strerror(i32 noundef %4607, ptr noundef @.str.4)
  %4609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4610 = load i32, ptr %4609, align 4, !tbaa !5
  %4611 = call ptr @s2n_strerror_debug(i32 noundef %4610, ptr noundef @.str.4)
  %4612 = call ptr @__errno_location() #12
  %4613 = load i32, ptr %4612, align 4, !tbaa !5
  %4614 = call ptr @strerror(i32 noundef %4613) #11
  %4615 = call ptr @__errno_location() #12
  %4616 = load i32, ptr %4615, align 4, !tbaa !5
  %4617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4604, ptr noundef @.str.2, i32 noundef %4605, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 331, ptr noundef %4608, ptr noundef %4611, ptr noundef %4614, i32 noundef %4616) #11
  br label %4635

4618:                                             ; preds = %4596, %4589
  %4619 = load i32, ptr %105, align 4, !tbaa !5
  %4620 = call ptr @__errno_location() #12
  store i32 %4619, ptr %4620, align 4, !tbaa !5
  %4621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4622 = load i32, ptr @test_count, align 4, !tbaa !5
  %4623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4624 = load i32, ptr %4623, align 4, !tbaa !5
  %4625 = call ptr @s2n_strerror(i32 noundef %4624, ptr noundef @.str.4)
  %4626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4627 = load i32, ptr %4626, align 4, !tbaa !5
  %4628 = call ptr @s2n_strerror_debug(i32 noundef %4627, ptr noundef @.str.4)
  %4629 = call ptr @__errno_location() #12
  %4630 = load i32, ptr %4629, align 4, !tbaa !5
  %4631 = call ptr @strerror(i32 noundef %4630) #11
  %4632 = call ptr @__errno_location() #12
  %4633 = load i32, ptr %4632, align 4, !tbaa !5
  %4634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4621, ptr noundef @.str.5, i32 noundef %4622, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 331, ptr noundef %4625, ptr noundef %4628, ptr noundef %4631, i32 noundef %4633) #11
  br label %4635

4635:                                             ; preds = %4618, %4601
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %4636

4636:                                             ; preds = %4635
  br label %4637

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

4638:                                             ; No predecessors!
  br label %4639

4639:                                             ; preds = %4638
  br label %4640

4640:                                             ; preds = %4639, %4572
  br label %4641

4641:                                             ; preds = %4640
  br label %4642

4642:                                             ; preds = %4641
  %4643 = load i64, ptr %99, align 8, !tbaa !58
  %4644 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %97, i64 0, i64 %4643
  %4645 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %4644, i32 0, i32 0
  %4646 = load i32, ptr %4645, align 8, !tbaa !73
  %4647 = load ptr, ptr %100, align 8, !tbaa !9
  %4648 = getelementptr inbounds %struct.s2n_psk, ptr %4647, i32 0, i32 3
  store i32 %4646, ptr %4648, align 8, !tbaa !55
  %4649 = load i64, ptr %99, align 8, !tbaa !58
  %4650 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %97, i64 0, i64 %4649
  %4651 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %4650, i32 0, i32 1
  %4652 = load i8, ptr %4651, align 4, !tbaa !75
  %4653 = zext i8 %4652 to i64
  %4654 = add i64 %4653, 1
  %4655 = load i16, ptr %98, align 2, !tbaa !72
  %4656 = zext i16 %4655 to i64
  %4657 = add i64 %4656, %4654
  %4658 = trunc i64 %4657 to i16
  store i16 %4658, ptr %98, align 2, !tbaa !72
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #11
  br label %4659

4659:                                             ; preds = %4642
  %4660 = load i64, ptr %99, align 8, !tbaa !58
  %4661 = add i64 %4660, 1
  store i64 %4661, ptr %99, align 8, !tbaa !58
  br label %4435, !llvm.loop !78

4662:                                             ; preds = %4438
  br label %4663

4663:                                             ; preds = %4662
  %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 getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 3), align 8, !tbaa !69
  %4667 = load ptr, ptr %95, align 8, !tbaa !9
  %4668 = call i32 %4666(ptr noundef %4667, ptr noundef %93)
  %4669 = icmp eq i32 %4668, -1
  br i1 %4669, label %4670, label %4723

4670:                                             ; preds = %4663
  br label %4671

4671:                                             ; preds = %4670
  br label %4672

4672:                                             ; preds = %4671
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %4673 = call ptr @__errno_location() #12
  %4674 = load i32, ptr %4673, align 4, !tbaa !5
  store i32 %4674, ptr %106, align 4, !tbaa !5
  %4675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4676 = call i32 @s2n_print_stacktrace(ptr noundef %4675)
  %4677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4678 = trunc i8 %4677 to i1
  br i1 %4678, label %4679, label %4701

4679:                                             ; preds = %4672
  %4680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4681 = call i32 @fileno(ptr noundef %4680) #11
  %4682 = call i32 @isatty(i32 noundef %4681) #11
  %4683 = icmp ne i32 %4682, 0
  br i1 %4683, label %4684, label %4701

4684:                                             ; preds = %4679
  %4685 = load i32, ptr %106, align 4, !tbaa !5
  %4686 = call ptr @__errno_location() #12
  store i32 %4685, ptr %4686, align 4, !tbaa !5
  %4687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4688 = load i32, ptr @test_count, align 4, !tbaa !5
  %4689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4690 = load i32, ptr %4689, align 4, !tbaa !5
  %4691 = call ptr @s2n_strerror(i32 noundef %4690, ptr noundef @.str.4)
  %4692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4693 = load i32, ptr %4692, align 4, !tbaa !5
  %4694 = call ptr @s2n_strerror_debug(i32 noundef %4693, ptr noundef @.str.4)
  %4695 = call ptr @__errno_location() #12
  %4696 = load i32, ptr %4695, align 4, !tbaa !5
  %4697 = call ptr @strerror(i32 noundef %4696) #11
  %4698 = call ptr @__errno_location() #12
  %4699 = load i32, ptr %4698, align 4, !tbaa !5
  %4700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4687, ptr noundef @.str.2, i32 noundef %4688, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 338, ptr noundef %4691, ptr noundef %4694, ptr noundef %4697, i32 noundef %4699) #11
  br label %4718

4701:                                             ; preds = %4679, %4672
  %4702 = load i32, ptr %106, align 4, !tbaa !5
  %4703 = call ptr @__errno_location() #12
  store i32 %4702, ptr %4703, align 4, !tbaa !5
  %4704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4705 = load i32, ptr @test_count, align 4, !tbaa !5
  %4706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4707 = load i32, ptr %4706, align 4, !tbaa !5
  %4708 = call ptr @s2n_strerror(i32 noundef %4707, ptr noundef @.str.4)
  %4709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4710 = load i32, ptr %4709, align 4, !tbaa !5
  %4711 = call ptr @s2n_strerror_debug(i32 noundef %4710, ptr noundef @.str.4)
  %4712 = call ptr @__errno_location() #12
  %4713 = load i32, ptr %4712, align 4, !tbaa !5
  %4714 = call ptr @strerror(i32 noundef %4713) #11
  %4715 = call ptr @__errno_location() #12
  %4716 = load i32, ptr %4715, align 4, !tbaa !5
  %4717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4704, ptr noundef @.str.5, i32 noundef %4705, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 338, ptr noundef %4708, ptr noundef %4711, ptr noundef %4714, i32 noundef %4716) #11
  br label %4718

4718:                                             ; preds = %4701, %4684
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %4719

4719:                                             ; preds = %4718
  br label %4720

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

4721:                                             ; No predecessors!
  br label %4722

4722:                                             ; preds = %4721
  br label %4723

4723:                                             ; preds = %4722, %4663
  br label %4724

4724:                                             ; preds = %4723
  br label %4725

4725:                                             ; preds = %4724
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #11
  store i32 0, ptr %107, align 4, !tbaa !5
  br label %4726

4726:                                             ; preds = %4725
  %4727 = load i32, ptr @test_count, align 4, !tbaa !5
  %4728 = add nsw i32 %4727, 1
  store i32 %4728, ptr @test_count, align 4, !tbaa !5
  %4729 = load ptr, ptr %95, align 8, !tbaa !9
  %4730 = getelementptr inbounds %struct.s2n_connection, ptr %4729, i32 0, i32 33
  %4731 = call i32 @s2n_psk_parameters_offered_psks_size(ptr noundef %4730, ptr noundef %107)
  %4732 = getelementptr inbounds %struct.s2n_result, ptr %108, i32 0, i32 0
  store i32 %4731, ptr %4732, align 4
  %4733 = getelementptr inbounds %struct.s2n_result, ptr %108, i32 0, i32 0
  %4734 = load i32, ptr %4733, align 4
  %4735 = call zeroext i1 @s2n_result_is_ok(i32 %4734)
  br i1 %4735, label %4789, label %4736

4736:                                             ; preds = %4726
  br label %4737

4737:                                             ; preds = %4736
  br label %4738

4738:                                             ; preds = %4737
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %4739 = call ptr @__errno_location() #12
  %4740 = load i32, ptr %4739, align 4, !tbaa !5
  store i32 %4740, ptr %109, align 4, !tbaa !5
  %4741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4742 = call i32 @s2n_print_stacktrace(ptr noundef %4741)
  %4743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4744 = trunc i8 %4743 to i1
  br i1 %4744, label %4745, label %4767

4745:                                             ; preds = %4738
  %4746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4747 = call i32 @fileno(ptr noundef %4746) #11
  %4748 = call i32 @isatty(i32 noundef %4747) #11
  %4749 = icmp ne i32 %4748, 0
  br i1 %4749, label %4750, label %4767

4750:                                             ; preds = %4745
  %4751 = load i32, ptr %109, align 4, !tbaa !5
  %4752 = call ptr @__errno_location() #12
  store i32 %4751, ptr %4752, align 4, !tbaa !5
  %4753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4754 = load i32, ptr @test_count, align 4, !tbaa !5
  %4755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4756 = load i32, ptr %4755, align 4, !tbaa !5
  %4757 = call ptr @s2n_strerror(i32 noundef %4756, ptr noundef @.str.4)
  %4758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4759 = load i32, ptr %4758, align 4, !tbaa !5
  %4760 = call ptr @s2n_strerror_debug(i32 noundef %4759, ptr noundef @.str.4)
  %4761 = call ptr @__errno_location() #12
  %4762 = load i32, ptr %4761, align 4, !tbaa !5
  %4763 = call ptr @strerror(i32 noundef %4762) #11
  %4764 = call ptr @__errno_location() #12
  %4765 = load i32, ptr %4764, align 4, !tbaa !5
  %4766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4753, ptr noundef @.str.2, i32 noundef %4754, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 341, ptr noundef %4757, ptr noundef %4760, ptr noundef %4763, i32 noundef %4765) #11
  br label %4784

4767:                                             ; preds = %4745, %4738
  %4768 = load i32, ptr %109, align 4, !tbaa !5
  %4769 = call ptr @__errno_location() #12
  store i32 %4768, ptr %4769, align 4, !tbaa !5
  %4770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4771 = load i32, 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(i32 noundef %4773, ptr noundef @.str.4)
  %4775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4776 = load i32, ptr %4775, align 4, !tbaa !5
  %4777 = call ptr @s2n_strerror_debug(i32 noundef %4776, ptr noundef @.str.4)
  %4778 = call ptr @__errno_location() #12
  %4779 = load i32, ptr %4778, align 4, !tbaa !5
  %4780 = call ptr @strerror(i32 noundef %4779) #11
  %4781 = call ptr @__errno_location() #12
  %4782 = load i32, ptr %4781, align 4, !tbaa !5
  %4783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4770, ptr noundef @.str.5, i32 noundef %4771, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 341, ptr noundef %4774, ptr noundef %4777, ptr noundef %4780, i32 noundef %4782) #11
  br label %4784

4784:                                             ; preds = %4767, %4750
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %4785

4785:                                             ; preds = %4784
  br label %4786

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

4787:                                             ; No predecessors!
  br label %4788

4788:                                             ; preds = %4787
  br label %4789

4789:                                             ; preds = %4788, %4726
  br label %4790

4790:                                             ; preds = %4789
  br label %4791

4791:                                             ; preds = %4790
  br label %4792

4792:                                             ; preds = %4791
  %4793 = load i32, ptr @test_count, align 4, !tbaa !5
  %4794 = add nsw i32 %4793, 1
  store i32 %4794, ptr @test_count, align 4, !tbaa !5
  %4795 = load i32, ptr %107, align 4, !tbaa !5
  %4796 = getelementptr inbounds %struct.s2n_stuffer, ptr %93, i32 0, i32 2
  %4797 = load i32, ptr %4796, align 4, !tbaa !70
  %4798 = getelementptr inbounds %struct.s2n_stuffer, ptr %93, i32 0, i32 1
  %4799 = load i32, ptr %4798, align 8, !tbaa !71
  %4800 = sub i32 %4797, %4799
  %4801 = icmp eq i32 %4795, %4800
  br i1 %4801, label %4855, label %4802

4802:                                             ; preds = %4792
  br label %4803

4803:                                             ; preds = %4802
  br label %4804

4804:                                             ; preds = %4803
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %4805 = call ptr @__errno_location() #12
  %4806 = load i32, ptr %4805, align 4, !tbaa !5
  store i32 %4806, ptr %110, align 4, !tbaa !5
  %4807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4808 = call i32 @s2n_print_stacktrace(ptr noundef %4807)
  %4809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4810 = trunc i8 %4809 to i1
  br i1 %4810, label %4811, label %4833

4811:                                             ; preds = %4804
  %4812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4813 = call i32 @fileno(ptr noundef %4812) #11
  %4814 = call i32 @isatty(i32 noundef %4813) #11
  %4815 = icmp ne i32 %4814, 0
  br i1 %4815, label %4816, label %4833

4816:                                             ; preds = %4811
  %4817 = load i32, ptr %110, align 4, !tbaa !5
  %4818 = call ptr @__errno_location() #12
  store i32 %4817, ptr %4818, align 4, !tbaa !5
  %4819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4820 = load i32, ptr @test_count, align 4, !tbaa !5
  %4821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  %4823 = call ptr @s2n_strerror(i32 noundef %4822, ptr noundef @.str.4)
  %4824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4825 = load i32, ptr %4824, align 4, !tbaa !5
  %4826 = call ptr @s2n_strerror_debug(i32 noundef %4825, ptr noundef @.str.4)
  %4827 = call ptr @__errno_location() #12
  %4828 = load i32, ptr %4827, align 4, !tbaa !5
  %4829 = call ptr @strerror(i32 noundef %4828) #11
  %4830 = call ptr @__errno_location() #12
  %4831 = load i32, ptr %4830, align 4, !tbaa !5
  %4832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4819, ptr noundef @.str.2, i32 noundef %4820, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 342, ptr noundef %4823, ptr noundef %4826, ptr noundef %4829, i32 noundef %4831) #11
  br label %4850

4833:                                             ; preds = %4811, %4804
  %4834 = load i32, ptr %110, align 4, !tbaa !5
  %4835 = call ptr @__errno_location() #12
  store i32 %4834, ptr %4835, align 4, !tbaa !5
  %4836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4837 = load i32, ptr @test_count, align 4, !tbaa !5
  %4838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4839 = load i32, ptr %4838, align 4, !tbaa !5
  %4840 = call ptr @s2n_strerror(i32 noundef %4839, ptr noundef @.str.4)
  %4841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4842 = load i32, ptr %4841, align 4, !tbaa !5
  %4843 = call ptr @s2n_strerror_debug(i32 noundef %4842, ptr noundef @.str.4)
  %4844 = call ptr @__errno_location() #12
  %4845 = load i32, ptr %4844, align 4, !tbaa !5
  %4846 = call ptr @strerror(i32 noundef %4845) #11
  %4847 = call ptr @__errno_location() #12
  %4848 = load i32, ptr %4847, align 4, !tbaa !5
  %4849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4836, ptr noundef @.str.5, i32 noundef %4837, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 342, ptr noundef %4840, ptr noundef %4843, ptr noundef %4846, i32 noundef %4848) #11
  br label %4850

4850:                                             ; preds = %4833, %4816
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %4851

4851:                                             ; preds = %4850
  br label %4852

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

4853:                                             ; No predecessors!
  br label %4854

4854:                                             ; preds = %4853
  br label %4855

4855:                                             ; preds = %4854, %4792
  br label %4856

4856:                                             ; preds = %4855
  br label %4857

4857:                                             ; preds = %4856
  call void @llvm.lifetime.start.p0(i64 2, ptr %111) #11
  store i16 0, ptr %111, align 2, !tbaa !72
  br label %4858

4858:                                             ; preds = %4857
  %4859 = load i32, ptr @test_count, align 4, !tbaa !5
  %4860 = add nsw i32 %4859, 1
  store i32 %4860, ptr @test_count, align 4, !tbaa !5
  %4861 = call i32 @s2n_stuffer_read_uint16(ptr noundef %93, ptr noundef %111)
  %4862 = icmp eq i32 %4861, -1
  br i1 %4862, label %4863, label %4916

4863:                                             ; preds = %4858
  br label %4864

4864:                                             ; preds = %4863
  br label %4865

4865:                                             ; preds = %4864
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #11
  %4866 = call ptr @__errno_location() #12
  %4867 = load i32, ptr %4866, align 4, !tbaa !5
  store i32 %4867, ptr %112, align 4, !tbaa !5
  %4868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4869 = call i32 @s2n_print_stacktrace(ptr noundef %4868)
  %4870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4871 = trunc i8 %4870 to i1
  br i1 %4871, label %4872, label %4894

4872:                                             ; preds = %4865
  %4873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4874 = call i32 @fileno(ptr noundef %4873) #11
  %4875 = call i32 @isatty(i32 noundef %4874) #11
  %4876 = icmp ne i32 %4875, 0
  br i1 %4876, label %4877, label %4894

4877:                                             ; preds = %4872
  %4878 = load i32, ptr %112, align 4, !tbaa !5
  %4879 = call ptr @__errno_location() #12
  store i32 %4878, ptr %4879, align 4, !tbaa !5
  %4880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4881 = load i32, ptr @test_count, align 4, !tbaa !5
  %4882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4883 = load i32, ptr %4882, align 4, !tbaa !5
  %4884 = call ptr @s2n_strerror(i32 noundef %4883, ptr noundef @.str.4)
  %4885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4886 = load i32, ptr %4885, align 4, !tbaa !5
  %4887 = call ptr @s2n_strerror_debug(i32 noundef %4886, ptr noundef @.str.4)
  %4888 = call ptr @__errno_location() #12
  %4889 = load i32, ptr %4888, align 4, !tbaa !5
  %4890 = call ptr @strerror(i32 noundef %4889) #11
  %4891 = call ptr @__errno_location() #12
  %4892 = load i32, ptr %4891, align 4, !tbaa !5
  %4893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4880, ptr noundef @.str.2, i32 noundef %4881, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 345, ptr noundef %4884, ptr noundef %4887, ptr noundef %4890, i32 noundef %4892) #11
  br label %4911

4894:                                             ; preds = %4872, %4865
  %4895 = load i32, ptr %112, align 4, !tbaa !5
  %4896 = call ptr @__errno_location() #12
  store i32 %4895, ptr %4896, align 4, !tbaa !5
  %4897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4898 = load i32, ptr @test_count, align 4, !tbaa !5
  %4899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4900 = load i32, ptr %4899, align 4, !tbaa !5
  %4901 = call ptr @s2n_strerror(i32 noundef %4900, ptr noundef @.str.4)
  %4902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4903 = load i32, ptr %4902, align 4, !tbaa !5
  %4904 = call ptr @s2n_strerror_debug(i32 noundef %4903, ptr noundef @.str.4)
  %4905 = call ptr @__errno_location() #12
  %4906 = load i32, ptr %4905, align 4, !tbaa !5
  %4907 = call ptr @strerror(i32 noundef %4906) #11
  %4908 = call ptr @__errno_location() #12
  %4909 = load i32, ptr %4908, align 4, !tbaa !5
  %4910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4897, ptr noundef @.str.5, i32 noundef %4898, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 345, ptr noundef %4901, ptr noundef %4904, ptr noundef %4907, i32 noundef %4909) #11
  br label %4911

4911:                                             ; preds = %4894, %4877
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %4912

4912:                                             ; preds = %4911
  br label %4913

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

4914:                                             ; No predecessors!
  br label %4915

4915:                                             ; preds = %4914
  br label %4916

4916:                                             ; preds = %4915, %4858
  br label %4917

4917:                                             ; preds = %4916
  br label %4918

4918:                                             ; preds = %4917
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #11
  store i64 0, ptr %113, align 8, !tbaa !58
  br label %4919

4919:                                             ; preds = %5316, %4918
  %4920 = load i64, ptr %113, align 8, !tbaa !58
  %4921 = icmp ult i64 %4920, 2
  br i1 %4921, label %4923, label %4922

4922:                                             ; preds = %4919
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #11
  br label %5319

4923:                                             ; preds = %4919
  call void @llvm.lifetime.start.p0(i64 2, ptr %114) #11
  store i16 0, ptr %114, align 2, !tbaa !72
  br label %4924

4924:                                             ; preds = %4923
  %4925 = load i32, ptr @test_count, align 4, !tbaa !5
  %4926 = add nsw i32 %4925, 1
  store i32 %4926, ptr @test_count, align 4, !tbaa !5
  %4927 = call i32 @s2n_stuffer_read_uint16(ptr noundef %93, ptr noundef %114)
  %4928 = icmp eq i32 %4927, -1
  br i1 %4928, label %4929, label %4982

4929:                                             ; preds = %4924
  br label %4930

4930:                                             ; preds = %4929
  br label %4931

4931:                                             ; preds = %4930
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #11
  %4932 = call ptr @__errno_location() #12
  %4933 = load i32, ptr %4932, align 4, !tbaa !5
  store i32 %4933, ptr %115, align 4, !tbaa !5
  %4934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4935 = call i32 @s2n_print_stacktrace(ptr noundef %4934)
  %4936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4937 = trunc i8 %4936 to i1
  br i1 %4937, label %4938, label %4960

4938:                                             ; preds = %4931
  %4939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4940 = call i32 @fileno(ptr noundef %4939) #11
  %4941 = call i32 @isatty(i32 noundef %4940) #11
  %4942 = icmp ne i32 %4941, 0
  br i1 %4942, label %4943, label %4960

4943:                                             ; preds = %4938
  %4944 = load i32, ptr %115, align 4, !tbaa !5
  %4945 = call ptr @__errno_location() #12
  store i32 %4944, ptr %4945, align 4, !tbaa !5
  %4946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4947 = load i32, ptr @test_count, align 4, !tbaa !5
  %4948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4949 = load i32, ptr %4948, align 4, !tbaa !5
  %4950 = call ptr @s2n_strerror(i32 noundef %4949, ptr noundef @.str.4)
  %4951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4952 = load i32, ptr %4951, align 4, !tbaa !5
  %4953 = call ptr @s2n_strerror_debug(i32 noundef %4952, ptr noundef @.str.4)
  %4954 = call ptr @__errno_location() #12
  %4955 = load i32, ptr %4954, align 4, !tbaa !5
  %4956 = call ptr @strerror(i32 noundef %4955) #11
  %4957 = call ptr @__errno_location() #12
  %4958 = load i32, ptr %4957, align 4, !tbaa !5
  %4959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4946, ptr noundef @.str.2, i32 noundef %4947, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 349, ptr noundef %4950, ptr noundef %4953, ptr noundef %4956, i32 noundef %4958) #11
  br label %4977

4960:                                             ; preds = %4938, %4931
  %4961 = load i32, ptr %115, align 4, !tbaa !5
  %4962 = call ptr @__errno_location() #12
  store i32 %4961, ptr %4962, align 4, !tbaa !5
  %4963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4964 = load i32, ptr @test_count, align 4, !tbaa !5
  %4965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4966 = load i32, ptr %4965, align 4, !tbaa !5
  %4967 = call ptr @s2n_strerror(i32 noundef %4966, ptr noundef @.str.4)
  %4968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4969 = load i32, ptr %4968, align 4, !tbaa !5
  %4970 = call ptr @s2n_strerror_debug(i32 noundef %4969, ptr noundef @.str.4)
  %4971 = call ptr @__errno_location() #12
  %4972 = load i32, ptr %4971, align 4, !tbaa !5
  %4973 = call ptr @strerror(i32 noundef %4972) #11
  %4974 = call ptr @__errno_location() #12
  %4975 = load i32, ptr %4974, align 4, !tbaa !5
  %4976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4963, ptr noundef @.str.5, i32 noundef %4964, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 349, ptr noundef %4967, ptr noundef %4970, ptr noundef %4973, i32 noundef %4975) #11
  br label %4977

4977:                                             ; preds = %4960, %4943
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %4978

4978:                                             ; preds = %4977
  br label %4979

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

4980:                                             ; No predecessors!
  br label %4981

4981:                                             ; preds = %4980
  br label %4982

4982:                                             ; preds = %4981, %4924
  br label %4983

4983:                                             ; preds = %4982
  br label %4984

4984:                                             ; preds = %4983
  br label %4985

4985:                                             ; preds = %4984
  %4986 = load i32, ptr @test_count, align 4, !tbaa !5
  %4987 = add nsw i32 %4986, 1
  store i32 %4987, ptr @test_count, align 4, !tbaa !5
  %4988 = load i16, ptr %114, align 2, !tbaa !72
  %4989 = zext i16 %4988 to i64
  %4990 = load i64, ptr %113, align 8, !tbaa !58
  %4991 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %97, i64 0, i64 %4990
  %4992 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %4991, i32 0, i32 3
  %4993 = load i64, ptr %4992, align 8, !tbaa !77
  %4994 = icmp eq i64 %4989, %4993
  br i1 %4994, label %5048, label %4995

4995:                                             ; preds = %4985
  br label %4996

4996:                                             ; preds = %4995
  br label %4997

4997:                                             ; preds = %4996
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #11
  %4998 = call ptr @__errno_location() #12
  %4999 = load i32, ptr %4998, align 4, !tbaa !5
  store i32 %4999, ptr %116, align 4, !tbaa !5
  %5000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5001 = call i32 @s2n_print_stacktrace(ptr noundef %5000)
  %5002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5003 = trunc i8 %5002 to i1
  br i1 %5003, label %5004, label %5026

5004:                                             ; preds = %4997
  %5005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5006 = call i32 @fileno(ptr noundef %5005) #11
  %5007 = call i32 @isatty(i32 noundef %5006) #11
  %5008 = icmp ne i32 %5007, 0
  br i1 %5008, label %5009, label %5026

5009:                                             ; preds = %5004
  %5010 = load i32, ptr %116, align 4, !tbaa !5
  %5011 = call ptr @__errno_location() #12
  store i32 %5010, ptr %5011, align 4, !tbaa !5
  %5012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5013 = load i32, ptr @test_count, align 4, !tbaa !5
  %5014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5015 = load i32, ptr %5014, align 4, !tbaa !5
  %5016 = call ptr @s2n_strerror(i32 noundef %5015, ptr noundef @.str.4)
  %5017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5018 = load i32, ptr %5017, align 4, !tbaa !5
  %5019 = call ptr @s2n_strerror_debug(i32 noundef %5018, ptr noundef @.str.4)
  %5020 = call ptr @__errno_location() #12
  %5021 = load i32, ptr %5020, align 4, !tbaa !5
  %5022 = call ptr @strerror(i32 noundef %5021) #11
  %5023 = call ptr @__errno_location() #12
  %5024 = load i32, ptr %5023, align 4, !tbaa !5
  %5025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5012, ptr noundef @.str.2, i32 noundef %5013, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 350, ptr noundef %5016, ptr noundef %5019, ptr noundef %5022, i32 noundef %5024) #11
  br label %5043

5026:                                             ; preds = %5004, %4997
  %5027 = load i32, ptr %116, align 4, !tbaa !5
  %5028 = call ptr @__errno_location() #12
  store i32 %5027, ptr %5028, align 4, !tbaa !5
  %5029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5030 = load i32, ptr @test_count, align 4, !tbaa !5
  %5031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5032 = load i32, ptr %5031, align 4, !tbaa !5
  %5033 = call ptr @s2n_strerror(i32 noundef %5032, ptr noundef @.str.4)
  %5034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5035 = load i32, ptr %5034, align 4, !tbaa !5
  %5036 = call ptr @s2n_strerror_debug(i32 noundef %5035, ptr noundef @.str.4)
  %5037 = call ptr @__errno_location() #12
  %5038 = load i32, ptr %5037, align 4, !tbaa !5
  %5039 = call ptr @strerror(i32 noundef %5038) #11
  %5040 = call ptr @__errno_location() #12
  %5041 = load i32, ptr %5040, align 4, !tbaa !5
  %5042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5029, ptr noundef @.str.5, i32 noundef %5030, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 350, ptr noundef %5033, ptr noundef %5036, ptr noundef %5039, i32 noundef %5041) #11
  br label %5043

5043:                                             ; preds = %5026, %5009
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %5044

5044:                                             ; preds = %5043
  br label %5045

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

5046:                                             ; No predecessors!
  br label %5047

5047:                                             ; preds = %5046
  br label %5048

5048:                                             ; preds = %5047, %4985
  br label %5049

5049:                                             ; preds = %5048
  br label %5050

5050:                                             ; preds = %5049
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #11
  store ptr null, ptr %117, align 8, !tbaa !9
  br label %5051

5051:                                             ; preds = %5050
  %5052 = load i32, ptr @test_count, align 4, !tbaa !5
  %5053 = add nsw i32 %5052, 1
  store i32 %5053, ptr @test_count, align 4, !tbaa !5
  %5054 = load i16, ptr %114, align 2, !tbaa !72
  %5055 = zext i16 %5054 to i32
  %5056 = call ptr @s2n_stuffer_raw_read(ptr noundef %93, i32 noundef %5055)
  store ptr %5056, ptr %117, align 8, !tbaa !9
  %5057 = icmp eq ptr %5056, null
  br i1 %5057, label %5058, label %5111

5058:                                             ; preds = %5051
  br label %5059

5059:                                             ; preds = %5058
  br label %5060

5060:                                             ; preds = %5059
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %5061 = call ptr @__errno_location() #12
  %5062 = load i32, ptr %5061, align 4, !tbaa !5
  store i32 %5062, ptr %118, align 4, !tbaa !5
  %5063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5064 = call i32 @s2n_print_stacktrace(ptr noundef %5063)
  %5065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5066 = trunc i8 %5065 to i1
  br i1 %5066, label %5067, label %5089

5067:                                             ; preds = %5060
  %5068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5069 = call i32 @fileno(ptr noundef %5068) #11
  %5070 = call i32 @isatty(i32 noundef %5069) #11
  %5071 = icmp ne i32 %5070, 0
  br i1 %5071, label %5072, label %5089

5072:                                             ; preds = %5067
  %5073 = load i32, ptr %118, align 4, !tbaa !5
  %5074 = call ptr @__errno_location() #12
  store i32 %5073, ptr %5074, align 4, !tbaa !5
  %5075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5076 = load i32, ptr @test_count, align 4, !tbaa !5
  %5077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5078 = load i32, ptr %5077, align 4, !tbaa !5
  %5079 = call ptr @s2n_strerror(i32 noundef %5078, ptr noundef @.str.4)
  %5080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5081 = load i32, ptr %5080, align 4, !tbaa !5
  %5082 = call ptr @s2n_strerror_debug(i32 noundef %5081, ptr noundef @.str.4)
  %5083 = call ptr @__errno_location() #12
  %5084 = load i32, ptr %5083, align 4, !tbaa !5
  %5085 = call ptr @strerror(i32 noundef %5084) #11
  %5086 = call ptr @__errno_location() #12
  %5087 = load i32, ptr %5086, align 4, !tbaa !5
  %5088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5075, ptr noundef @.str.2, i32 noundef %5076, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 353, ptr noundef %5079, ptr noundef %5082, ptr noundef %5085, i32 noundef %5087) #11
  br label %5106

5089:                                             ; preds = %5067, %5060
  %5090 = load i32, ptr %118, align 4, !tbaa !5
  %5091 = call ptr @__errno_location() #12
  store i32 %5090, ptr %5091, align 4, !tbaa !5
  %5092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5093 = load i32, ptr @test_count, align 4, !tbaa !5
  %5094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5095 = load i32, ptr %5094, align 4, !tbaa !5
  %5096 = call ptr @s2n_strerror(i32 noundef %5095, ptr noundef @.str.4)
  %5097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5098 = load i32, ptr %5097, align 4, !tbaa !5
  %5099 = call ptr @s2n_strerror_debug(i32 noundef %5098, ptr noundef @.str.4)
  %5100 = call ptr @__errno_location() #12
  %5101 = load i32, ptr %5100, align 4, !tbaa !5
  %5102 = call ptr @strerror(i32 noundef %5101) #11
  %5103 = call ptr @__errno_location() #12
  %5104 = load i32, ptr %5103, align 4, !tbaa !5
  %5105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5092, ptr noundef @.str.5, i32 noundef %5093, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 353, ptr noundef %5096, ptr noundef %5099, ptr noundef %5102, i32 noundef %5104) #11
  br label %5106

5106:                                             ; preds = %5089, %5072
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %5107

5107:                                             ; preds = %5106
  br label %5108

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

5109:                                             ; No predecessors!
  br label %5110

5110:                                             ; preds = %5109
  br label %5111

5111:                                             ; preds = %5110, %5051
  br label %5112

5112:                                             ; preds = %5111
  br label %5113

5113:                                             ; preds = %5112
  br label %5114

5114:                                             ; preds = %5113
  %5115 = load i64, ptr %113, align 8, !tbaa !58
  %5116 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %97, i64 0, i64 %5115
  %5117 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %5116, i32 0, i32 3
  %5118 = load i64, ptr %5117, align 8, !tbaa !77
  %5119 = icmp ne i64 %5118, 0
  br i1 %5119, label %5120, label %5191

5120:                                             ; preds = %5114
  br label %5121

5121:                                             ; preds = %5120
  %5122 = load i32, ptr @test_count, align 4, !tbaa !5
  %5123 = add nsw i32 %5122, 1
  store i32 %5123, ptr @test_count, align 4, !tbaa !5
  %5124 = load ptr, ptr %117, align 8, !tbaa !9
  %5125 = load i64, ptr %113, align 8, !tbaa !58
  %5126 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %97, i64 0, i64 %5125
  %5127 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %5126, i32 0, i32 2
  %5128 = load ptr, ptr %5127, align 8, !tbaa !76
  %5129 = load i64, ptr %113, align 8, !tbaa !58
  %5130 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %97, i64 0, i64 %5129
  %5131 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %5130, i32 0, i32 3
  %5132 = load i64, ptr %5131, align 8, !tbaa !77
  %5133 = call i32 @memcmp(ptr noundef %5124, ptr noundef %5128, i64 noundef %5132) #14
  %5134 = icmp eq i32 %5133, 0
  br i1 %5134, label %5188, label %5135

5135:                                             ; preds = %5121
  br label %5136

5136:                                             ; preds = %5135
  br label %5137

5137:                                             ; preds = %5136
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #11
  %5138 = call ptr @__errno_location() #12
  %5139 = load i32, ptr %5138, align 4, !tbaa !5
  store i32 %5139, ptr %119, align 4, !tbaa !5
  %5140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5141 = call i32 @s2n_print_stacktrace(ptr noundef %5140)
  %5142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5143 = trunc i8 %5142 to i1
  br i1 %5143, label %5144, label %5166

5144:                                             ; preds = %5137
  %5145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5146 = call i32 @fileno(ptr noundef %5145) #11
  %5147 = call i32 @isatty(i32 noundef %5146) #11
  %5148 = icmp ne i32 %5147, 0
  br i1 %5148, label %5149, label %5166

5149:                                             ; preds = %5144
  %5150 = load i32, ptr %119, align 4, !tbaa !5
  %5151 = call ptr @__errno_location() #12
  store i32 %5150, ptr %5151, align 4, !tbaa !5
  %5152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5153 = load i32, ptr @test_count, align 4, !tbaa !5
  %5154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5155 = load i32, ptr %5154, align 4, !tbaa !5
  %5156 = call ptr @s2n_strerror(i32 noundef %5155, ptr noundef @.str.4)
  %5157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5158 = load i32, ptr %5157, align 4, !tbaa !5
  %5159 = call ptr @s2n_strerror_debug(i32 noundef %5158, ptr noundef @.str.4)
  %5160 = call ptr @__errno_location() #12
  %5161 = load i32, ptr %5160, align 4, !tbaa !5
  %5162 = call ptr @strerror(i32 noundef %5161) #11
  %5163 = call ptr @__errno_location() #12
  %5164 = load i32, ptr %5163, align 4, !tbaa !5
  %5165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5152, ptr noundef @.str.2, i32 noundef %5153, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 354, ptr noundef %5156, ptr noundef %5159, ptr noundef %5162, i32 noundef %5164) #11
  br label %5183

5166:                                             ; preds = %5144, %5137
  %5167 = load i32, ptr %119, align 4, !tbaa !5
  %5168 = call ptr @__errno_location() #12
  store i32 %5167, ptr %5168, align 4, !tbaa !5
  %5169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5170 = load i32, ptr @test_count, align 4, !tbaa !5
  %5171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5172 = load i32, ptr %5171, align 4, !tbaa !5
  %5173 = call ptr @s2n_strerror(i32 noundef %5172, ptr noundef @.str.4)
  %5174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5175 = load i32, ptr %5174, align 4, !tbaa !5
  %5176 = call ptr @s2n_strerror_debug(i32 noundef %5175, ptr noundef @.str.4)
  %5177 = call ptr @__errno_location() #12
  %5178 = load i32, ptr %5177, align 4, !tbaa !5
  %5179 = call ptr @strerror(i32 noundef %5178) #11
  %5180 = call ptr @__errno_location() #12
  %5181 = load i32, ptr %5180, align 4, !tbaa !5
  %5182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5169, ptr noundef @.str.5, i32 noundef %5170, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 354, ptr noundef %5173, ptr noundef %5176, ptr noundef %5179, i32 noundef %5181) #11
  br label %5183

5183:                                             ; preds = %5166, %5149
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %5184

5184:                                             ; preds = %5183
  br label %5185

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

5186:                                             ; No predecessors!
  br label %5187

5187:                                             ; preds = %5186
  br label %5188

5188:                                             ; preds = %5187, %5121
  br label %5189

5189:                                             ; preds = %5188
  br label %5190

5190:                                             ; preds = %5189
  br label %5191

5191:                                             ; preds = %5190, %5114
  br label %5192

5192:                                             ; preds = %5191
  br label %5193

5193:                                             ; preds = %5192
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #11
  store i32 0, ptr %120, align 4, !tbaa !5
  br label %5194

5194:                                             ; preds = %5193
  %5195 = load i32, ptr @test_count, align 4, !tbaa !5
  %5196 = add nsw i32 %5195, 1
  store i32 %5196, ptr @test_count, align 4, !tbaa !5
  %5197 = call i32 @s2n_stuffer_read_uint32(ptr noundef %93, ptr noundef %120)
  %5198 = icmp eq i32 %5197, -1
  br i1 %5198, label %5199, label %5252

5199:                                             ; preds = %5194
  br label %5200

5200:                                             ; preds = %5199
  br label %5201

5201:                                             ; preds = %5200
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #11
  %5202 = call ptr @__errno_location() #12
  %5203 = load i32, ptr %5202, align 4, !tbaa !5
  store i32 %5203, ptr %121, align 4, !tbaa !5
  %5204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5205 = call i32 @s2n_print_stacktrace(ptr noundef %5204)
  %5206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5207 = trunc i8 %5206 to i1
  br i1 %5207, label %5208, label %5230

5208:                                             ; preds = %5201
  %5209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5210 = call i32 @fileno(ptr noundef %5209) #11
  %5211 = call i32 @isatty(i32 noundef %5210) #11
  %5212 = icmp ne i32 %5211, 0
  br i1 %5212, label %5213, label %5230

5213:                                             ; preds = %5208
  %5214 = load i32, ptr %121, align 4, !tbaa !5
  %5215 = call ptr @__errno_location() #12
  store i32 %5214, ptr %5215, align 4, !tbaa !5
  %5216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5217 = load i32, ptr @test_count, align 4, !tbaa !5
  %5218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5219 = load i32, ptr %5218, align 4, !tbaa !5
  %5220 = call ptr @s2n_strerror(i32 noundef %5219, ptr noundef @.str.4)
  %5221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5222 = load i32, ptr %5221, align 4, !tbaa !5
  %5223 = call ptr @s2n_strerror_debug(i32 noundef %5222, ptr noundef @.str.4)
  %5224 = call ptr @__errno_location() #12
  %5225 = load i32, ptr %5224, align 4, !tbaa !5
  %5226 = call ptr @strerror(i32 noundef %5225) #11
  %5227 = call ptr @__errno_location() #12
  %5228 = load i32, ptr %5227, align 4, !tbaa !5
  %5229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5216, ptr noundef @.str.2, i32 noundef %5217, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 357, ptr noundef %5220, ptr noundef %5223, ptr noundef %5226, i32 noundef %5228) #11
  br label %5247

5230:                                             ; preds = %5208, %5201
  %5231 = load i32, ptr %121, align 4, !tbaa !5
  %5232 = call ptr @__errno_location() #12
  store i32 %5231, ptr %5232, align 4, !tbaa !5
  %5233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5234 = load i32, ptr @test_count, align 4, !tbaa !5
  %5235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5236 = load i32, ptr %5235, align 4, !tbaa !5
  %5237 = call ptr @s2n_strerror(i32 noundef %5236, ptr noundef @.str.4)
  %5238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5239 = load i32, ptr %5238, align 4, !tbaa !5
  %5240 = call ptr @s2n_strerror_debug(i32 noundef %5239, ptr noundef @.str.4)
  %5241 = call ptr @__errno_location() #12
  %5242 = load i32, ptr %5241, align 4, !tbaa !5
  %5243 = call ptr @strerror(i32 noundef %5242) #11
  %5244 = call ptr @__errno_location() #12
  %5245 = load i32, ptr %5244, align 4, !tbaa !5
  %5246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5233, ptr noundef @.str.5, i32 noundef %5234, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 357, ptr noundef %5237, ptr noundef %5240, ptr noundef %5243, i32 noundef %5245) #11
  br label %5247

5247:                                             ; preds = %5230, %5213
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %5248

5248:                                             ; preds = %5247
  br label %5249

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

5250:                                             ; No predecessors!
  br label %5251

5251:                                             ; preds = %5250
  br label %5252

5252:                                             ; preds = %5251, %5194
  br label %5253

5253:                                             ; preds = %5252
  br label %5254

5254:                                             ; preds = %5253
  br label %5255

5255:                                             ; preds = %5254
  %5256 = load i32, ptr @test_count, align 4, !tbaa !5
  %5257 = add nsw i32 %5256, 1
  store i32 %5257, ptr @test_count, align 4, !tbaa !5
  %5258 = load i32, ptr %120, align 4, !tbaa !5
  %5259 = icmp eq i32 %5258, 0
  br i1 %5259, label %5313, label %5260

5260:                                             ; preds = %5255
  br label %5261

5261:                                             ; preds = %5260
  br label %5262

5262:                                             ; preds = %5261
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %5263 = call ptr @__errno_location() #12
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  store i32 %5264, ptr %122, align 4, !tbaa !5
  %5265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5266 = call i32 @s2n_print_stacktrace(ptr noundef %5265)
  %5267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5268 = trunc i8 %5267 to i1
  br i1 %5268, label %5269, label %5291

5269:                                             ; preds = %5262
  %5270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5271 = call i32 @fileno(ptr noundef %5270) #11
  %5272 = call i32 @isatty(i32 noundef %5271) #11
  %5273 = icmp ne i32 %5272, 0
  br i1 %5273, label %5274, label %5291

5274:                                             ; preds = %5269
  %5275 = load i32, ptr %122, align 4, !tbaa !5
  %5276 = call ptr @__errno_location() #12
  store i32 %5275, ptr %5276, align 4, !tbaa !5
  %5277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5278 = load i32, ptr @test_count, align 4, !tbaa !5
  %5279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5280 = load i32, ptr %5279, align 4, !tbaa !5
  %5281 = call ptr @s2n_strerror(i32 noundef %5280, ptr noundef @.str.4)
  %5282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5283 = load i32, ptr %5282, align 4, !tbaa !5
  %5284 = call ptr @s2n_strerror_debug(i32 noundef %5283, ptr noundef @.str.4)
  %5285 = call ptr @__errno_location() #12
  %5286 = load i32, ptr %5285, align 4, !tbaa !5
  %5287 = call ptr @strerror(i32 noundef %5286) #11
  %5288 = call ptr @__errno_location() #12
  %5289 = load i32, ptr %5288, align 4, !tbaa !5
  %5290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5277, ptr noundef @.str.2, i32 noundef %5278, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 358, ptr noundef %5281, ptr noundef %5284, ptr noundef %5287, i32 noundef %5289) #11
  br label %5308

5291:                                             ; preds = %5269, %5262
  %5292 = load i32, ptr %122, align 4, !tbaa !5
  %5293 = call ptr @__errno_location() #12
  store i32 %5292, ptr %5293, align 4, !tbaa !5
  %5294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5295 = load i32, ptr @test_count, align 4, !tbaa !5
  %5296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5297 = load i32, ptr %5296, align 4, !tbaa !5
  %5298 = call ptr @s2n_strerror(i32 noundef %5297, ptr noundef @.str.4)
  %5299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5300 = load i32, ptr %5299, align 4, !tbaa !5
  %5301 = call ptr @s2n_strerror_debug(i32 noundef %5300, ptr noundef @.str.4)
  %5302 = call ptr @__errno_location() #12
  %5303 = load i32, ptr %5302, align 4, !tbaa !5
  %5304 = call ptr @strerror(i32 noundef %5303) #11
  %5305 = call ptr @__errno_location() #12
  %5306 = load i32, ptr %5305, align 4, !tbaa !5
  %5307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5294, ptr noundef @.str.5, i32 noundef %5295, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 358, ptr noundef %5298, ptr noundef %5301, ptr noundef %5304, i32 noundef %5306) #11
  br label %5308

5308:                                             ; preds = %5291, %5274
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %5309

5309:                                             ; preds = %5308
  br label %5310

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

5311:                                             ; No predecessors!
  br label %5312

5312:                                             ; preds = %5311
  br label %5313

5313:                                             ; preds = %5312, %5255
  br label %5314

5314:                                             ; preds = %5313
  br label %5315

5315:                                             ; preds = %5314
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %114) #11
  br label %5316

5316:                                             ; preds = %5315
  %5317 = load i64, ptr %113, align 8, !tbaa !58
  %5318 = add i64 %5317, 1
  store i64 %5318, ptr %113, align 8, !tbaa !58
  br label %4919, !llvm.loop !79

5319:                                             ; preds = %4922
  br label %5320

5320:                                             ; preds = %5319
  %5321 = load i32, ptr @test_count, align 4, !tbaa !5
  %5322 = add nsw i32 %5321, 1
  store i32 %5322, ptr @test_count, align 4, !tbaa !5
  %5323 = getelementptr inbounds %struct.s2n_stuffer, ptr %93, i32 0, i32 2
  %5324 = load i32, ptr %5323, align 4, !tbaa !70
  %5325 = getelementptr inbounds %struct.s2n_stuffer, ptr %93, i32 0, i32 1
  %5326 = load i32, ptr %5325, align 8, !tbaa !71
  %5327 = sub i32 %5324, %5326
  %5328 = zext i32 %5327 to i64
  %5329 = load i16, ptr %98, align 2, !tbaa !72
  %5330 = zext i16 %5329 to i64
  %5331 = add i64 %5330, 2
  %5332 = icmp eq i64 %5328, %5331
  br i1 %5332, label %5386, label %5333

5333:                                             ; preds = %5320
  br label %5334

5334:                                             ; preds = %5333
  br label %5335

5335:                                             ; preds = %5334
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %5336 = call ptr @__errno_location() #12
  %5337 = load i32, ptr %5336, align 4, !tbaa !5
  store i32 %5337, ptr %123, align 4, !tbaa !5
  %5338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5339 = call i32 @s2n_print_stacktrace(ptr noundef %5338)
  %5340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5341 = trunc i8 %5340 to i1
  br i1 %5341, label %5342, label %5364

5342:                                             ; preds = %5335
  %5343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5344 = call i32 @fileno(ptr noundef %5343) #11
  %5345 = call i32 @isatty(i32 noundef %5344) #11
  %5346 = icmp ne i32 %5345, 0
  br i1 %5346, label %5347, label %5364

5347:                                             ; preds = %5342
  %5348 = load i32, ptr %123, align 4, !tbaa !5
  %5349 = call ptr @__errno_location() #12
  store i32 %5348, ptr %5349, align 4, !tbaa !5
  %5350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5351 = load i32, ptr @test_count, align 4, !tbaa !5
  %5352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5353 = load i32, ptr %5352, align 4, !tbaa !5
  %5354 = call ptr @s2n_strerror(i32 noundef %5353, ptr noundef @.str.4)
  %5355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5356 = load i32, ptr %5355, align 4, !tbaa !5
  %5357 = call ptr @s2n_strerror_debug(i32 noundef %5356, ptr noundef @.str.4)
  %5358 = call ptr @__errno_location() #12
  %5359 = load i32, ptr %5358, align 4, !tbaa !5
  %5360 = call ptr @strerror(i32 noundef %5359) #11
  %5361 = call ptr @__errno_location() #12
  %5362 = load i32, ptr %5361, align 4, !tbaa !5
  %5363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5350, ptr noundef @.str.2, i32 noundef %5351, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 363, ptr noundef %5354, ptr noundef %5357, ptr noundef %5360, i32 noundef %5362) #11
  br label %5381

5364:                                             ; preds = %5342, %5335
  %5365 = load i32, ptr %123, align 4, !tbaa !5
  %5366 = call ptr @__errno_location() #12
  store i32 %5365, ptr %5366, align 4, !tbaa !5
  %5367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5368 = load i32, ptr @test_count, align 4, !tbaa !5
  %5369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5370 = load i32, ptr %5369, align 4, !tbaa !5
  %5371 = call ptr @s2n_strerror(i32 noundef %5370, ptr noundef @.str.4)
  %5372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5373 = load i32, ptr %5372, align 4, !tbaa !5
  %5374 = call ptr @s2n_strerror_debug(i32 noundef %5373, ptr noundef @.str.4)
  %5375 = call ptr @__errno_location() #12
  %5376 = load i32, ptr %5375, align 4, !tbaa !5
  %5377 = call ptr @strerror(i32 noundef %5376) #11
  %5378 = call ptr @__errno_location() #12
  %5379 = load i32, ptr %5378, align 4, !tbaa !5
  %5380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5367, ptr noundef @.str.5, i32 noundef %5368, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 363, ptr noundef %5371, ptr noundef %5374, ptr noundef %5377, i32 noundef %5379) #11
  br label %5381

5381:                                             ; preds = %5364, %5347
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %5382

5382:                                             ; preds = %5381
  br label %5383

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

5384:                                             ; No predecessors!
  br label %5385

5385:                                             ; preds = %5384
  br label %5386

5386:                                             ; preds = %5385, %5320
  br label %5387

5387:                                             ; preds = %5386
  br label %5388

5388:                                             ; preds = %5387
  br label %5389

5389:                                             ; preds = %5388
  %5390 = load i32, ptr @test_count, align 4, !tbaa !5
  %5391 = add nsw i32 %5390, 1
  store i32 %5391, ptr @test_count, align 4, !tbaa !5
  %5392 = load ptr, ptr %95, align 8, !tbaa !9
  %5393 = call i32 @s2n_connection_free(ptr noundef %5392)
  %5394 = icmp eq i32 %5393, -1
  br i1 %5394, label %5395, label %5448

5395:                                             ; preds = %5389
  br label %5396

5396:                                             ; preds = %5395
  br label %5397

5397:                                             ; preds = %5396
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %5398 = call ptr @__errno_location() #12
  %5399 = load i32, ptr %5398, align 4, !tbaa !5
  store i32 %5399, ptr %124, align 4, !tbaa !5
  %5400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5401 = call i32 @s2n_print_stacktrace(ptr noundef %5400)
  %5402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5403 = trunc i8 %5402 to i1
  br i1 %5403, label %5404, label %5426

5404:                                             ; preds = %5397
  %5405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5406 = call i32 @fileno(ptr noundef %5405) #11
  %5407 = call i32 @isatty(i32 noundef %5406) #11
  %5408 = icmp ne i32 %5407, 0
  br i1 %5408, label %5409, label %5426

5409:                                             ; preds = %5404
  %5410 = load i32, ptr %124, align 4, !tbaa !5
  %5411 = call ptr @__errno_location() #12
  store i32 %5410, ptr %5411, align 4, !tbaa !5
  %5412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5413 = load i32, ptr @test_count, align 4, !tbaa !5
  %5414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5415 = load i32, ptr %5414, align 4, !tbaa !5
  %5416 = call ptr @s2n_strerror(i32 noundef %5415, ptr noundef @.str.4)
  %5417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5418 = load i32, ptr %5417, align 4, !tbaa !5
  %5419 = call ptr @s2n_strerror_debug(i32 noundef %5418, ptr noundef @.str.4)
  %5420 = call ptr @__errno_location() #12
  %5421 = load i32, ptr %5420, align 4, !tbaa !5
  %5422 = call ptr @strerror(i32 noundef %5421) #11
  %5423 = call ptr @__errno_location() #12
  %5424 = load i32, ptr %5423, align 4, !tbaa !5
  %5425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5412, ptr noundef @.str.2, i32 noundef %5413, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 365, ptr noundef %5416, ptr noundef %5419, ptr noundef %5422, i32 noundef %5424) #11
  br label %5443

5426:                                             ; preds = %5404, %5397
  %5427 = load i32, ptr %124, align 4, !tbaa !5
  %5428 = call ptr @__errno_location() #12
  store i32 %5427, ptr %5428, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = load i32, ptr @test_count, align 4, !tbaa !5
  %5431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5432 = load i32, ptr %5431, align 4, !tbaa !5
  %5433 = call ptr @s2n_strerror(i32 noundef %5432, ptr noundef @.str.4)
  %5434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5435 = load i32, ptr %5434, align 4, !tbaa !5
  %5436 = call ptr @s2n_strerror_debug(i32 noundef %5435, ptr noundef @.str.4)
  %5437 = call ptr @__errno_location() #12
  %5438 = load i32, ptr %5437, align 4, !tbaa !5
  %5439 = call ptr @strerror(i32 noundef %5438) #11
  %5440 = call ptr @__errno_location() #12
  %5441 = load i32, ptr %5440, align 4, !tbaa !5
  %5442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5429, ptr noundef @.str.5, i32 noundef %5430, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 365, ptr noundef %5433, ptr noundef %5436, ptr noundef %5439, i32 noundef %5441) #11
  br label %5443

5443:                                             ; preds = %5426, %5409
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %5444

5444:                                             ; preds = %5443
  br label %5445

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

5446:                                             ; No predecessors!
  br label %5447

5447:                                             ; preds = %5446
  br label %5448

5448:                                             ; preds = %5447, %5389
  br label %5449

5449:                                             ; preds = %5448
  br label %5450

5450:                                             ; preds = %5449
  br label %5451

5451:                                             ; preds = %5450
  %5452 = load i32, ptr @test_count, align 4, !tbaa !5
  %5453 = add nsw i32 %5452, 1
  store i32 %5453, ptr @test_count, align 4, !tbaa !5
  %5454 = call i32 @s2n_stuffer_free(ptr noundef %93)
  %5455 = icmp eq i32 %5454, -1
  br i1 %5455, label %5456, label %5509

5456:                                             ; preds = %5451
  br label %5457

5457:                                             ; preds = %5456
  br label %5458

5458:                                             ; preds = %5457
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %5459 = call ptr @__errno_location() #12
  %5460 = load i32, ptr %5459, align 4, !tbaa !5
  store i32 %5460, ptr %125, align 4, !tbaa !5
  %5461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5462 = call i32 @s2n_print_stacktrace(ptr noundef %5461)
  %5463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5464 = trunc i8 %5463 to i1
  br i1 %5464, label %5465, label %5487

5465:                                             ; preds = %5458
  %5466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5467 = call i32 @fileno(ptr noundef %5466) #11
  %5468 = call i32 @isatty(i32 noundef %5467) #11
  %5469 = icmp ne i32 %5468, 0
  br i1 %5469, label %5470, label %5487

5470:                                             ; preds = %5465
  %5471 = load i32, ptr %125, align 4, !tbaa !5
  %5472 = call ptr @__errno_location() #12
  store i32 %5471, ptr %5472, align 4, !tbaa !5
  %5473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5474 = load i32, ptr @test_count, align 4, !tbaa !5
  %5475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5476 = load i32, ptr %5475, align 4, !tbaa !5
  %5477 = call ptr @s2n_strerror(i32 noundef %5476, ptr noundef @.str.4)
  %5478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5479 = load i32, ptr %5478, align 4, !tbaa !5
  %5480 = call ptr @s2n_strerror_debug(i32 noundef %5479, ptr noundef @.str.4)
  %5481 = call ptr @__errno_location() #12
  %5482 = load i32, ptr %5481, align 4, !tbaa !5
  %5483 = call ptr @strerror(i32 noundef %5482) #11
  %5484 = call ptr @__errno_location() #12
  %5485 = load i32, ptr %5484, align 4, !tbaa !5
  %5486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5473, ptr noundef @.str.2, i32 noundef %5474, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 366, ptr noundef %5477, ptr noundef %5480, ptr noundef %5483, i32 noundef %5485) #11
  br label %5504

5487:                                             ; preds = %5465, %5458
  %5488 = load i32, ptr %125, align 4, !tbaa !5
  %5489 = call ptr @__errno_location() #12
  store i32 %5488, ptr %5489, align 4, !tbaa !5
  %5490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5491 = load i32, ptr @test_count, align 4, !tbaa !5
  %5492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5493 = load i32, ptr %5492, align 4, !tbaa !5
  %5494 = call ptr @s2n_strerror(i32 noundef %5493, ptr noundef @.str.4)
  %5495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5496 = load i32, ptr %5495, align 4, !tbaa !5
  %5497 = call ptr @s2n_strerror_debug(i32 noundef %5496, ptr noundef @.str.4)
  %5498 = call ptr @__errno_location() #12
  %5499 = load i32, ptr %5498, align 4, !tbaa !5
  %5500 = call ptr @strerror(i32 noundef %5499) #11
  %5501 = call ptr @__errno_location() #12
  %5502 = load i32, ptr %5501, align 4, !tbaa !5
  %5503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5490, ptr noundef @.str.5, i32 noundef %5491, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 366, ptr noundef %5494, ptr noundef %5497, ptr noundef %5500, i32 noundef %5502) #11
  br label %5504

5504:                                             ; preds = %5487, %5470
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %5505

5505:                                             ; preds = %5504
  br label %5506

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

5507:                                             ; No predecessors!
  br label %5508

5508:                                             ; preds = %5507
  br label %5509

5509:                                             ; preds = %5508, %5451
  br label %5510

5510:                                             ; preds = %5509
  br label %5511

5511:                                             ; preds = %5510
  call void @llvm.lifetime.end.p0(i64 2, ptr %111) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %98) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr %97) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %93) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr %126) #11
  call void @llvm.memset.p0.i64(ptr align 8 %126, i8 0, i64 40, i1 false)
  br label %5512

5512:                                             ; preds = %5511
  %5513 = load i32, ptr @test_count, align 4, !tbaa !5
  %5514 = add nsw i32 %5513, 1
  store i32 %5514, ptr @test_count, align 4, !tbaa !5
  %5515 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %126, i32 noundef 0)
  %5516 = icmp eq i32 %5515, -1
  br i1 %5516, label %5517, label %5570

5517:                                             ; preds = %5512
  br label %5518

5518:                                             ; preds = %5517
  br label %5519

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

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

5531:                                             ; preds = %5526
  %5532 = load i32, ptr %127, align 4, !tbaa !5
  %5533 = call ptr @__errno_location() #12
  store i32 %5532, ptr %5533, align 4, !tbaa !5
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5537, ptr noundef @.str.4)
  %5539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5540 = load i32, ptr %5539, align 4, !tbaa !5
  %5541 = call ptr @s2n_strerror_debug(i32 noundef %5540, ptr noundef @.str.4)
  %5542 = call ptr @__errno_location() #12
  %5543 = load i32, ptr %5542, align 4, !tbaa !5
  %5544 = call ptr @strerror(i32 noundef %5543) #11
  %5545 = call ptr @__errno_location() #12
  %5546 = load i32, ptr %5545, align 4, !tbaa !5
  %5547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5534, ptr noundef @.str.2, i32 noundef %5535, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 372, ptr noundef %5538, ptr noundef %5541, ptr noundef %5544, i32 noundef %5546) #11
  br label %5565

5548:                                             ; preds = %5526, %5519
  %5549 = load i32, ptr %127, align 4, !tbaa !5
  %5550 = call ptr @__errno_location() #12
  store i32 %5549, ptr %5550, align 4, !tbaa !5
  %5551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5552 = load i32, ptr @test_count, align 4, !tbaa !5
  %5553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5554 = load i32, ptr %5553, align 4, !tbaa !5
  %5555 = call ptr @s2n_strerror(i32 noundef %5554, ptr noundef @.str.4)
  %5556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5557 = load i32, ptr %5556, align 4, !tbaa !5
  %5558 = call ptr @s2n_strerror_debug(i32 noundef %5557, ptr noundef @.str.4)
  %5559 = call ptr @__errno_location() #12
  %5560 = load i32, ptr %5559, align 4, !tbaa !5
  %5561 = call ptr @strerror(i32 noundef %5560) #11
  %5562 = call ptr @__errno_location() #12
  %5563 = load i32, ptr %5562, align 4, !tbaa !5
  %5564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5551, ptr noundef @.str.5, i32 noundef %5552, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 372, ptr noundef %5555, ptr noundef %5558, ptr noundef %5561, i32 noundef %5563) #11
  br label %5565

5565:                                             ; preds = %5548, %5531
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %5566

5566:                                             ; preds = %5565
  br label %5567

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

5568:                                             ; No predecessors!
  br label %5569

5569:                                             ; preds = %5568
  br label %5570

5570:                                             ; preds = %5569, %5512
  br label %5571

5571:                                             ; preds = %5570
  br label %5572

5572:                                             ; preds = %5571
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #11
  store ptr null, ptr %128, align 8, !tbaa !9
  br label %5573

5573:                                             ; preds = %5572
  %5574 = load i32, ptr @test_count, align 4, !tbaa !5
  %5575 = add nsw i32 %5574, 1
  store i32 %5575, ptr @test_count, align 4, !tbaa !5
  %5576 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5576, ptr %128, align 8, !tbaa !9
  %5577 = icmp eq ptr %5576, null
  br i1 %5577, label %5578, label %5631

5578:                                             ; preds = %5573
  br label %5579

5579:                                             ; preds = %5578
  br label %5580

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

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

5592:                                             ; preds = %5587
  %5593 = load i32, ptr %129, align 4, !tbaa !5
  %5594 = call ptr @__errno_location() #12
  store i32 %5593, ptr %5594, align 4, !tbaa !5
  %5595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5596 = load i32, ptr @test_count, align 4, !tbaa !5
  %5597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5598 = load i32, ptr %5597, align 4, !tbaa !5
  %5599 = call ptr @s2n_strerror(i32 noundef %5598, ptr noundef @.str.4)
  %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_debug(i32 noundef %5601, ptr noundef @.str.4)
  %5603 = call ptr @__errno_location() #12
  %5604 = load i32, ptr %5603, align 4, !tbaa !5
  %5605 = call ptr @strerror(i32 noundef %5604) #11
  %5606 = call ptr @__errno_location() #12
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5595, ptr noundef @.str.2, i32 noundef %5596, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 375, ptr noundef %5599, ptr noundef %5602, ptr noundef %5605, i32 noundef %5607) #11
  br label %5626

5609:                                             ; preds = %5587, %5580
  %5610 = load i32, ptr %129, align 4, !tbaa !5
  %5611 = call ptr @__errno_location() #12
  store i32 %5610, ptr %5611, align 4, !tbaa !5
  %5612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5613 = load i32, ptr @test_count, align 4, !tbaa !5
  %5614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5615 = load i32, ptr %5614, align 4, !tbaa !5
  %5616 = call ptr @s2n_strerror(i32 noundef %5615, ptr noundef @.str.4)
  %5617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5618 = load i32, ptr %5617, align 4, !tbaa !5
  %5619 = call ptr @s2n_strerror_debug(i32 noundef %5618, ptr noundef @.str.4)
  %5620 = call ptr @__errno_location() #12
  %5621 = load i32, ptr %5620, align 4, !tbaa !5
  %5622 = call ptr @strerror(i32 noundef %5621) #11
  %5623 = call ptr @__errno_location() #12
  %5624 = load i32, ptr %5623, align 4, !tbaa !5
  %5625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5612, ptr noundef @.str.5, i32 noundef %5613, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 375, ptr noundef %5616, ptr noundef %5619, ptr noundef %5622, i32 noundef %5624) #11
  br label %5626

5626:                                             ; preds = %5609, %5592
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %5627

5627:                                             ; preds = %5626
  br label %5628

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

5629:                                             ; No predecessors!
  br label %5630

5630:                                             ; preds = %5629
  br label %5631

5631:                                             ; preds = %5630, %5573
  br label %5632

5632:                                             ; preds = %5631
  br label %5633

5633:                                             ; preds = %5632
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #11
  %5634 = call ptr @s2n_config_new()
  store ptr %5634, ptr %130, align 8, !tbaa !9
  br label %5635

5635:                                             ; preds = %5633
  %5636 = load i32, ptr @test_count, align 4, !tbaa !5
  %5637 = add nsw i32 %5636, 1
  store i32 %5637, ptr @test_count, align 4, !tbaa !5
  %5638 = load ptr, ptr %130, align 8, !tbaa !9
  %5639 = icmp eq ptr %5638, null
  br i1 %5639, label %5640, label %5693

5640:                                             ; preds = %5635
  br label %5641

5641:                                             ; preds = %5640
  br label %5642

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

5649:                                             ; preds = %5642
  %5650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5651 = call i32 @fileno(ptr noundef %5650) #11
  %5652 = call i32 @isatty(i32 noundef %5651) #11
  %5653 = icmp ne i32 %5652, 0
  br i1 %5653, label %5654, label %5671

5654:                                             ; preds = %5649
  %5655 = load i32, ptr %131, align 4, !tbaa !5
  %5656 = call ptr @__errno_location() #12
  store i32 %5655, ptr %5656, align 4, !tbaa !5
  %5657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5658 = load i32, ptr @test_count, align 4, !tbaa !5
  %5659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5660 = load i32, ptr %5659, align 4, !tbaa !5
  %5661 = call ptr @s2n_strerror(i32 noundef %5660, ptr noundef @.str.4)
  %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_debug(i32 noundef %5663, ptr noundef @.str.4)
  %5665 = call ptr @__errno_location() #12
  %5666 = load i32, ptr %5665, align 4, !tbaa !5
  %5667 = call ptr @strerror(i32 noundef %5666) #11
  %5668 = call ptr @__errno_location() #12
  %5669 = load i32, ptr %5668, align 4, !tbaa !5
  %5670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5657, ptr noundef @.str.2, i32 noundef %5658, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 378, ptr noundef %5661, ptr noundef %5664, ptr noundef %5667, i32 noundef %5669) #11
  br label %5688

5671:                                             ; preds = %5649, %5642
  %5672 = load i32, ptr %131, align 4, !tbaa !5
  %5673 = call ptr @__errno_location() #12
  store i32 %5672, ptr %5673, align 4, !tbaa !5
  %5674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5675 = load i32, ptr @test_count, align 4, !tbaa !5
  %5676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5677 = load i32, ptr %5676, align 4, !tbaa !5
  %5678 = call ptr @s2n_strerror(i32 noundef %5677, ptr noundef @.str.4)
  %5679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5680 = load i32, ptr %5679, align 4, !tbaa !5
  %5681 = call ptr @s2n_strerror_debug(i32 noundef %5680, ptr noundef @.str.4)
  %5682 = call ptr @__errno_location() #12
  %5683 = load i32, ptr %5682, align 4, !tbaa !5
  %5684 = call ptr @strerror(i32 noundef %5683) #11
  %5685 = call ptr @__errno_location() #12
  %5686 = load i32, ptr %5685, align 4, !tbaa !5
  %5687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5674, ptr noundef @.str.5, i32 noundef %5675, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 378, ptr noundef %5678, ptr noundef %5681, ptr noundef %5684, i32 noundef %5686) #11
  br label %5688

5688:                                             ; preds = %5671, %5654
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %5689

5689:                                             ; preds = %5688
  br label %5690

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

5691:                                             ; No predecessors!
  br label %5692

5692:                                             ; preds = %5691
  br label %5693

5693:                                             ; preds = %5692, %5635
  br label %5694

5694:                                             ; preds = %5693
  br label %5695

5695:                                             ; preds = %5694
  br label %5696

5696:                                             ; preds = %5695
  %5697 = load i32, ptr @test_count, align 4, !tbaa !5
  %5698 = add nsw i32 %5697, 1
  store i32 %5698, ptr @test_count, align 4, !tbaa !5
  %5699 = load ptr, ptr %130, align 8, !tbaa !9
  %5700 = call i32 @s2n_config_set_wall_clock(ptr noundef %5699, ptr noundef @mock_time, ptr noundef null)
  %5701 = icmp eq i32 %5700, -1
  br i1 %5701, label %5702, label %5755

5702:                                             ; preds = %5696
  br label %5703

5703:                                             ; preds = %5702
  br label %5704

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

5711:                                             ; preds = %5704
  %5712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5713 = call i32 @fileno(ptr noundef %5712) #11
  %5714 = call i32 @isatty(i32 noundef %5713) #11
  %5715 = icmp ne i32 %5714, 0
  br i1 %5715, label %5716, label %5733

5716:                                             ; preds = %5711
  %5717 = load i32, ptr %132, align 4, !tbaa !5
  %5718 = call ptr @__errno_location() #12
  store i32 %5717, ptr %5718, align 4, !tbaa !5
  %5719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5720 = load i32, ptr @test_count, align 4, !tbaa !5
  %5721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5722 = load i32, ptr %5721, align 4, !tbaa !5
  %5723 = call ptr @s2n_strerror(i32 noundef %5722, ptr noundef @.str.4)
  %5724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5725 = load i32, ptr %5724, align 4, !tbaa !5
  %5726 = call ptr @s2n_strerror_debug(i32 noundef %5725, ptr noundef @.str.4)
  %5727 = call ptr @__errno_location() #12
  %5728 = load i32, ptr %5727, align 4, !tbaa !5
  %5729 = call ptr @strerror(i32 noundef %5728) #11
  %5730 = call ptr @__errno_location() #12
  %5731 = load i32, ptr %5730, align 4, !tbaa !5
  %5732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5719, ptr noundef @.str.2, i32 noundef %5720, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 379, ptr noundef %5723, ptr noundef %5726, ptr noundef %5729, i32 noundef %5731) #11
  br label %5750

5733:                                             ; preds = %5711, %5704
  %5734 = load i32, ptr %132, align 4, !tbaa !5
  %5735 = call ptr @__errno_location() #12
  store i32 %5734, ptr %5735, align 4, !tbaa !5
  %5736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5737 = load i32, ptr @test_count, align 4, !tbaa !5
  %5738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5739 = load i32, ptr %5738, align 4, !tbaa !5
  %5740 = call ptr @s2n_strerror(i32 noundef %5739, ptr noundef @.str.4)
  %5741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5742 = load i32, ptr %5741, align 4, !tbaa !5
  %5743 = call ptr @s2n_strerror_debug(i32 noundef %5742, ptr noundef @.str.4)
  %5744 = call ptr @__errno_location() #12
  %5745 = load i32, ptr %5744, align 4, !tbaa !5
  %5746 = call ptr @strerror(i32 noundef %5745) #11
  %5747 = call ptr @__errno_location() #12
  %5748 = load i32, ptr %5747, align 4, !tbaa !5
  %5749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5736, ptr noundef @.str.5, i32 noundef %5737, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 379, ptr noundef %5740, ptr noundef %5743, ptr noundef %5746, i32 noundef %5748) #11
  br label %5750

5750:                                             ; preds = %5733, %5716
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %5751

5751:                                             ; preds = %5750
  br label %5752

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

5753:                                             ; No predecessors!
  br label %5754

5754:                                             ; preds = %5753
  br label %5755

5755:                                             ; preds = %5754, %5696
  br label %5756

5756:                                             ; preds = %5755
  br label %5757

5757:                                             ; preds = %5756
  br label %5758

5758:                                             ; preds = %5757
  %5759 = load i32, ptr @test_count, align 4, !tbaa !5
  %5760 = add nsw i32 %5759, 1
  store i32 %5760, ptr @test_count, align 4, !tbaa !5
  %5761 = load ptr, ptr %128, align 8, !tbaa !9
  %5762 = load ptr, ptr %130, align 8, !tbaa !9
  %5763 = call i32 @s2n_connection_set_config(ptr noundef %5761, ptr noundef %5762)
  %5764 = icmp eq i32 %5763, -1
  br i1 %5764, label %5765, label %5818

5765:                                             ; preds = %5758
  br label %5766

5766:                                             ; preds = %5765
  br label %5767

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

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

5779:                                             ; preds = %5774
  %5780 = load i32, ptr %133, align 4, !tbaa !5
  %5781 = call ptr @__errno_location() #12
  store i32 %5780, ptr %5781, align 4, !tbaa !5
  %5782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5783 = load i32, ptr @test_count, align 4, !tbaa !5
  %5784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5785 = load i32, ptr %5784, align 4, !tbaa !5
  %5786 = call ptr @s2n_strerror(i32 noundef %5785, ptr noundef @.str.4)
  %5787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5788 = load i32, ptr %5787, align 4, !tbaa !5
  %5789 = call ptr @s2n_strerror_debug(i32 noundef %5788, ptr noundef @.str.4)
  %5790 = call ptr @__errno_location() #12
  %5791 = load i32, ptr %5790, align 4, !tbaa !5
  %5792 = call ptr @strerror(i32 noundef %5791) #11
  %5793 = call ptr @__errno_location() #12
  %5794 = load i32, ptr %5793, align 4, !tbaa !5
  %5795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5782, ptr noundef @.str.2, i32 noundef %5783, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 380, ptr noundef %5786, ptr noundef %5789, ptr noundef %5792, i32 noundef %5794) #11
  br label %5813

5796:                                             ; preds = %5774, %5767
  %5797 = load i32, ptr %133, align 4, !tbaa !5
  %5798 = call ptr @__errno_location() #12
  store i32 %5797, ptr %5798, align 4, !tbaa !5
  %5799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5800 = load i32, ptr @test_count, align 4, !tbaa !5
  %5801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5802 = load i32, ptr %5801, align 4, !tbaa !5
  %5803 = call ptr @s2n_strerror(i32 noundef %5802, ptr noundef @.str.4)
  %5804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5805 = load i32, ptr %5804, align 4, !tbaa !5
  %5806 = call ptr @s2n_strerror_debug(i32 noundef %5805, ptr noundef @.str.4)
  %5807 = call ptr @__errno_location() #12
  %5808 = load i32, ptr %5807, align 4, !tbaa !5
  %5809 = call ptr @strerror(i32 noundef %5808) #11
  %5810 = call ptr @__errno_location() #12
  %5811 = load i32, ptr %5810, align 4, !tbaa !5
  %5812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5799, ptr noundef @.str.5, i32 noundef %5800, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 380, ptr noundef %5803, ptr noundef %5806, ptr noundef %5809, i32 noundef %5811) #11
  br label %5813

5813:                                             ; preds = %5796, %5779
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %5814

5814:                                             ; preds = %5813
  br label %5815

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

5816:                                             ; No predecessors!
  br label %5817

5817:                                             ; preds = %5816
  br label %5818

5818:                                             ; preds = %5817, %5758
  br label %5819

5819:                                             ; preds = %5818
  br label %5820

5820:                                             ; preds = %5819
  call void @llvm.lifetime.start.p0(i64 8, ptr %134) #11
  store ptr null, ptr %134, align 8, !tbaa !9
  br label %5821

5821:                                             ; preds = %5820
  %5822 = load i32, ptr @test_count, align 4, !tbaa !5
  %5823 = add nsw i32 %5822, 1
  store i32 %5823, ptr @test_count, align 4, !tbaa !5
  %5824 = load ptr, ptr %128, align 8, !tbaa !9
  %5825 = getelementptr inbounds %struct.s2n_connection, ptr %5824, i32 0, i32 33
  %5826 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %5825, i32 0, i32 1
  %5827 = call i32 @s2n_array_pushback(ptr noundef %5826, ptr noundef %134)
  %5828 = getelementptr inbounds %struct.s2n_result, ptr %135, i32 0, i32 0
  store i32 %5827, ptr %5828, align 4
  %5829 = getelementptr inbounds %struct.s2n_result, ptr %135, i32 0, i32 0
  %5830 = load i32, ptr %5829, align 4
  %5831 = call zeroext i1 @s2n_result_is_ok(i32 %5830)
  br i1 %5831, label %5885, label %5832

5832:                                             ; preds = %5821
  br label %5833

5833:                                             ; preds = %5832
  br label %5834

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

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

5846:                                             ; preds = %5841
  %5847 = load i32, ptr %136, align 4, !tbaa !5
  %5848 = call ptr @__errno_location() #12
  store i32 %5847, ptr %5848, align 4, !tbaa !5
  %5849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5850 = load i32, ptr @test_count, align 4, !tbaa !5
  %5851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5852 = load i32, ptr %5851, align 4, !tbaa !5
  %5853 = call ptr @s2n_strerror(i32 noundef %5852, ptr noundef @.str.4)
  %5854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5855 = load i32, ptr %5854, align 4, !tbaa !5
  %5856 = call ptr @s2n_strerror_debug(i32 noundef %5855, ptr noundef @.str.4)
  %5857 = call ptr @__errno_location() #12
  %5858 = load i32, ptr %5857, align 4, !tbaa !5
  %5859 = call ptr @strerror(i32 noundef %5858) #11
  %5860 = call ptr @__errno_location() #12
  %5861 = load i32, ptr %5860, align 4, !tbaa !5
  %5862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5849, ptr noundef @.str.2, i32 noundef %5850, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 383, ptr noundef %5853, ptr noundef %5856, ptr noundef %5859, i32 noundef %5861) #11
  br label %5880

5863:                                             ; preds = %5841, %5834
  %5864 = load i32, ptr %136, align 4, !tbaa !5
  %5865 = call ptr @__errno_location() #12
  store i32 %5864, ptr %5865, align 4, !tbaa !5
  %5866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5867 = load i32, ptr @test_count, align 4, !tbaa !5
  %5868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5869 = load i32, ptr %5868, align 4, !tbaa !5
  %5870 = call ptr @s2n_strerror(i32 noundef %5869, ptr noundef @.str.4)
  %5871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5872 = load i32, ptr %5871, align 4, !tbaa !5
  %5873 = call ptr @s2n_strerror_debug(i32 noundef %5872, ptr noundef @.str.4)
  %5874 = call ptr @__errno_location() #12
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call ptr @strerror(i32 noundef %5875) #11
  %5877 = call ptr @__errno_location() #12
  %5878 = load i32, ptr %5877, align 4, !tbaa !5
  %5879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5866, ptr noundef @.str.5, i32 noundef %5867, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 383, ptr noundef %5870, ptr noundef %5873, ptr noundef %5876, i32 noundef %5878) #11
  br label %5880

5880:                                             ; preds = %5863, %5846
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %5881

5881:                                             ; preds = %5880
  br label %5882

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

5883:                                             ; No predecessors!
  br label %5884

5884:                                             ; preds = %5883
  br label %5885

5885:                                             ; preds = %5884, %5821
  br label %5886

5886:                                             ; preds = %5885
  br label %5887

5887:                                             ; preds = %5886
  br label %5888

5888:                                             ; preds = %5887
  %5889 = load i32, ptr @test_count, align 4, !tbaa !5
  %5890 = add nsw i32 %5889, 1
  store i32 %5890, ptr @test_count, align 4, !tbaa !5
  %5891 = load ptr, ptr %134, align 8, !tbaa !9
  %5892 = call i32 @s2n_psk_init(ptr noundef %5891, i32 noundef 0)
  %5893 = getelementptr inbounds %struct.s2n_result, ptr %137, i32 0, i32 0
  store i32 %5892, ptr %5893, align 4
  %5894 = getelementptr inbounds %struct.s2n_result, ptr %137, i32 0, i32 0
  %5895 = load i32, ptr %5894, align 4
  %5896 = call zeroext i1 @s2n_result_is_ok(i32 %5895)
  br i1 %5896, label %5950, label %5897

5897:                                             ; preds = %5888
  br label %5898

5898:                                             ; preds = %5897
  br label %5899

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

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

5911:                                             ; preds = %5906
  %5912 = load i32, ptr %138, align 4, !tbaa !5
  %5913 = call ptr @__errno_location() #12
  store i32 %5912, ptr %5913, align 4, !tbaa !5
  %5914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5915 = load i32, ptr @test_count, align 4, !tbaa !5
  %5916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5917 = load i32, ptr %5916, align 4, !tbaa !5
  %5918 = call ptr @s2n_strerror(i32 noundef %5917, ptr noundef @.str.4)
  %5919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5920 = load i32, ptr %5919, align 4, !tbaa !5
  %5921 = call ptr @s2n_strerror_debug(i32 noundef %5920, ptr noundef @.str.4)
  %5922 = call ptr @__errno_location() #12
  %5923 = load i32, ptr %5922, align 4, !tbaa !5
  %5924 = call ptr @strerror(i32 noundef %5923) #11
  %5925 = call ptr @__errno_location() #12
  %5926 = load i32, ptr %5925, align 4, !tbaa !5
  %5927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5914, ptr noundef @.str.2, i32 noundef %5915, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 384, ptr noundef %5918, ptr noundef %5921, ptr noundef %5924, i32 noundef %5926) #11
  br label %5945

5928:                                             ; preds = %5906, %5899
  %5929 = load i32, ptr %138, align 4, !tbaa !5
  %5930 = call ptr @__errno_location() #12
  store i32 %5929, ptr %5930, align 4, !tbaa !5
  %5931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5932 = load i32, ptr @test_count, align 4, !tbaa !5
  %5933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5934 = load i32, ptr %5933, align 4, !tbaa !5
  %5935 = call ptr @s2n_strerror(i32 noundef %5934, ptr noundef @.str.4)
  %5936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5937 = load i32, ptr %5936, align 4, !tbaa !5
  %5938 = call ptr @s2n_strerror_debug(i32 noundef %5937, ptr noundef @.str.4)
  %5939 = call ptr @__errno_location() #12
  %5940 = load i32, ptr %5939, align 4, !tbaa !5
  %5941 = call ptr @strerror(i32 noundef %5940) #11
  %5942 = call ptr @__errno_location() #12
  %5943 = load i32, ptr %5942, align 4, !tbaa !5
  %5944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5931, ptr noundef @.str.5, i32 noundef %5932, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 384, ptr noundef %5935, ptr noundef %5938, ptr noundef %5941, i32 noundef %5943) #11
  br label %5945

5945:                                             ; preds = %5928, %5911
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %5946

5946:                                             ; preds = %5945
  br label %5947

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

5948:                                             ; No predecessors!
  br label %5949

5949:                                             ; preds = %5948
  br label %5950

5950:                                             ; preds = %5949, %5888
  br label %5951

5951:                                             ; preds = %5950
  br label %5952

5952:                                             ; preds = %5951
  br label %5953

5953:                                             ; preds = %5952
  %5954 = load i32, ptr @test_count, align 4, !tbaa !5
  %5955 = add nsw i32 %5954, 1
  store i32 %5955, ptr @test_count, align 4, !tbaa !5
  %5956 = load ptr, ptr %134, align 8, !tbaa !9
  %5957 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  %5958 = call i32 @s2n_psk_set_identity(ptr noundef %5956, ptr noundef %5957, i16 noundef zeroext 14)
  %5959 = icmp eq i32 %5958, -1
  br i1 %5959, label %5960, label %6013

5960:                                             ; preds = %5953
  br label %5961

5961:                                             ; preds = %5960
  br label %5962

5962:                                             ; preds = %5961
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %5963 = call ptr @__errno_location() #12
  %5964 = load i32, ptr %5963, align 4, !tbaa !5
  store i32 %5964, ptr %139, align 4, !tbaa !5
  %5965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5966 = call i32 @s2n_print_stacktrace(ptr noundef %5965)
  %5967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5968 = trunc i8 %5967 to i1
  br i1 %5968, label %5969, label %5991

5969:                                             ; preds = %5962
  %5970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5971 = call i32 @fileno(ptr noundef %5970) #11
  %5972 = call i32 @isatty(i32 noundef %5971) #11
  %5973 = icmp ne i32 %5972, 0
  br i1 %5973, label %5974, label %5991

5974:                                             ; preds = %5969
  %5975 = load i32, ptr %139, align 4, !tbaa !5
  %5976 = call ptr @__errno_location() #12
  store i32 %5975, ptr %5976, align 4, !tbaa !5
  %5977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5978 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5980, ptr noundef @.str.4)
  %5982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5983 = load i32, ptr %5982, align 4, !tbaa !5
  %5984 = call ptr @s2n_strerror_debug(i32 noundef %5983, ptr noundef @.str.4)
  %5985 = call ptr @__errno_location() #12
  %5986 = load i32, ptr %5985, align 4, !tbaa !5
  %5987 = call ptr @strerror(i32 noundef %5986) #11
  %5988 = call ptr @__errno_location() #12
  %5989 = load i32, ptr %5988, align 4, !tbaa !5
  %5990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5977, ptr noundef @.str.2, i32 noundef %5978, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 385, ptr noundef %5981, ptr noundef %5984, ptr noundef %5987, i32 noundef %5989) #11
  br label %6008

5991:                                             ; preds = %5969, %5962
  %5992 = load i32, ptr %139, align 4, !tbaa !5
  %5993 = call ptr @__errno_location() #12
  store i32 %5992, ptr %5993, align 4, !tbaa !5
  %5994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5995 = load i32, ptr @test_count, align 4, !tbaa !5
  %5996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5997 = load i32, ptr %5996, align 4, !tbaa !5
  %5998 = call ptr @s2n_strerror(i32 noundef %5997, ptr noundef @.str.4)
  %5999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6000 = load i32, ptr %5999, align 4, !tbaa !5
  %6001 = call ptr @s2n_strerror_debug(i32 noundef %6000, ptr noundef @.str.4)
  %6002 = call ptr @__errno_location() #12
  %6003 = load i32, ptr %6002, align 4, !tbaa !5
  %6004 = call ptr @strerror(i32 noundef %6003) #11
  %6005 = call ptr @__errno_location() #12
  %6006 = load i32, ptr %6005, align 4, !tbaa !5
  %6007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5994, ptr noundef @.str.5, i32 noundef %5995, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 385, ptr noundef %5998, ptr noundef %6001, ptr noundef %6004, i32 noundef %6006) #11
  br label %6008

6008:                                             ; preds = %5991, %5974
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %6009

6009:                                             ; preds = %6008
  br label %6010

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

6011:                                             ; No predecessors!
  br label %6012

6012:                                             ; preds = %6011
  br label %6013

6013:                                             ; preds = %6012, %5953
  br label %6014

6014:                                             ; preds = %6013
  br label %6015

6015:                                             ; preds = %6014
  %6016 = load ptr, ptr %134, align 8, !tbaa !9
  %6017 = getelementptr inbounds %struct.s2n_psk, ptr %6016, i32 0, i32 3
  store i32 5, ptr %6017, align 8, !tbaa !55
  %6018 = load ptr, ptr %134, align 8, !tbaa !9
  %6019 = getelementptr inbounds %struct.s2n_psk, ptr %6018, i32 0, i32 4
  store i32 50, ptr %6019, align 4, !tbaa !65
  %6020 = load ptr, ptr %134, align 8, !tbaa !9
  %6021 = getelementptr inbounds %struct.s2n_psk, ptr %6020, i32 0, i32 5
  store i64 0, ptr %6021, align 8, !tbaa !60
  br label %6022

6022:                                             ; preds = %6015
  %6023 = load i32, ptr @test_count, align 4, !tbaa !5
  %6024 = add nsw i32 %6023, 1
  store i32 %6024, ptr @test_count, align 4, !tbaa !5
  %6025 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 3), align 8, !tbaa !69
  %6026 = load ptr, ptr %128, align 8, !tbaa !9
  %6027 = call i32 %6025(ptr noundef %6026, ptr noundef %126)
  %6028 = icmp eq i32 %6027, -1
  br i1 %6028, label %6029, label %6082

6029:                                             ; preds = %6022
  br label %6030

6030:                                             ; preds = %6029
  br label %6031

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

6038:                                             ; preds = %6031
  %6039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6040 = call i32 @fileno(ptr noundef %6039) #11
  %6041 = call i32 @isatty(i32 noundef %6040) #11
  %6042 = icmp ne i32 %6041, 0
  br i1 %6042, label %6043, label %6060

6043:                                             ; preds = %6038
  %6044 = load i32, ptr %140, align 4, !tbaa !5
  %6045 = call ptr @__errno_location() #12
  store i32 %6044, ptr %6045, align 4, !tbaa !5
  %6046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6047 = load i32, ptr @test_count, align 4, !tbaa !5
  %6048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6049 = load i32, ptr %6048, align 4, !tbaa !5
  %6050 = call ptr @s2n_strerror(i32 noundef %6049, ptr noundef @.str.4)
  %6051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6052 = load i32, ptr %6051, align 4, !tbaa !5
  %6053 = call ptr @s2n_strerror_debug(i32 noundef %6052, ptr noundef @.str.4)
  %6054 = call ptr @__errno_location() #12
  %6055 = load i32, ptr %6054, align 4, !tbaa !5
  %6056 = call ptr @strerror(i32 noundef %6055) #11
  %6057 = call ptr @__errno_location() #12
  %6058 = load i32, ptr %6057, align 4, !tbaa !5
  %6059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6046, ptr noundef @.str.2, i32 noundef %6047, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 390, ptr noundef %6050, ptr noundef %6053, ptr noundef %6056, i32 noundef %6058) #11
  br label %6077

6060:                                             ; preds = %6038, %6031
  %6061 = load i32, ptr %140, align 4, !tbaa !5
  %6062 = call ptr @__errno_location() #12
  store i32 %6061, ptr %6062, align 4, !tbaa !5
  %6063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6064 = load i32, ptr @test_count, align 4, !tbaa !5
  %6065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6066 = load i32, ptr %6065, align 4, !tbaa !5
  %6067 = call ptr @s2n_strerror(i32 noundef %6066, ptr noundef @.str.4)
  %6068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6069 = load i32, ptr %6068, align 4, !tbaa !5
  %6070 = call ptr @s2n_strerror_debug(i32 noundef %6069, ptr noundef @.str.4)
  %6071 = call ptr @__errno_location() #12
  %6072 = load i32, ptr %6071, align 4, !tbaa !5
  %6073 = call ptr @strerror(i32 noundef %6072) #11
  %6074 = call ptr @__errno_location() #12
  %6075 = load i32, ptr %6074, align 4, !tbaa !5
  %6076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6063, ptr noundef @.str.5, i32 noundef %6064, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 390, ptr noundef %6067, ptr noundef %6070, ptr noundef %6073, i32 noundef %6075) #11
  br label %6077

6077:                                             ; preds = %6060, %6043
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %6078

6078:                                             ; preds = %6077
  br label %6079

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

6080:                                             ; No predecessors!
  br label %6081

6081:                                             ; preds = %6080
  br label %6082

6082:                                             ; preds = %6081, %6022
  br label %6083

6083:                                             ; preds = %6082
  br label %6084

6084:                                             ; preds = %6083
  br label %6085

6085:                                             ; preds = %6084
  %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 = call i32 @s2n_stuffer_skip_read(ptr noundef %126, i32 noundef 18)
  %6089 = icmp eq i32 %6088, -1
  br i1 %6089, label %6090, label %6143

6090:                                             ; preds = %6085
  br label %6091

6091:                                             ; preds = %6090
  br label %6092

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

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

6104:                                             ; preds = %6099
  %6105 = load i32, ptr %141, align 4, !tbaa !5
  %6106 = call ptr @__errno_location() #12
  store i32 %6105, ptr %6106, align 4, !tbaa !5
  %6107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6108 = load i32, ptr @test_count, align 4, !tbaa !5
  %6109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6110 = load i32, ptr %6109, align 4, !tbaa !5
  %6111 = call ptr @s2n_strerror(i32 noundef %6110, ptr noundef @.str.4)
  %6112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6113 = load i32, ptr %6112, align 4, !tbaa !5
  %6114 = call ptr @s2n_strerror_debug(i32 noundef %6113, ptr noundef @.str.4)
  %6115 = call ptr @__errno_location() #12
  %6116 = load i32, ptr %6115, align 4, !tbaa !5
  %6117 = call ptr @strerror(i32 noundef %6116) #11
  %6118 = call ptr @__errno_location() #12
  %6119 = load i32, ptr %6118, align 4, !tbaa !5
  %6120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6107, ptr noundef @.str.2, i32 noundef %6108, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 392, ptr noundef %6111, ptr noundef %6114, ptr noundef %6117, i32 noundef %6119) #11
  br label %6138

6121:                                             ; preds = %6099, %6092
  %6122 = load i32, ptr %141, align 4, !tbaa !5
  %6123 = call ptr @__errno_location() #12
  store i32 %6122, ptr %6123, align 4, !tbaa !5
  %6124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6125 = load i32, ptr @test_count, align 4, !tbaa !5
  %6126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6127 = load i32, ptr %6126, align 4, !tbaa !5
  %6128 = call ptr @s2n_strerror(i32 noundef %6127, ptr noundef @.str.4)
  %6129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6130 = load i32, ptr %6129, align 4, !tbaa !5
  %6131 = call ptr @s2n_strerror_debug(i32 noundef %6130, ptr noundef @.str.4)
  %6132 = call ptr @__errno_location() #12
  %6133 = load i32, ptr %6132, align 4, !tbaa !5
  %6134 = call ptr @strerror(i32 noundef %6133) #11
  %6135 = call ptr @__errno_location() #12
  %6136 = load i32, ptr %6135, align 4, !tbaa !5
  %6137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6124, ptr noundef @.str.5, i32 noundef %6125, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 392, ptr noundef %6128, ptr noundef %6131, ptr noundef %6134, i32 noundef %6136) #11
  br label %6138

6138:                                             ; preds = %6121, %6104
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %6139

6139:                                             ; preds = %6138
  br label %6140

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

6141:                                             ; No predecessors!
  br label %6142

6142:                                             ; preds = %6141
  br label %6143

6143:                                             ; preds = %6142, %6085
  br label %6144

6144:                                             ; preds = %6143
  br label %6145

6145:                                             ; preds = %6144
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  store i32 0, ptr %142, align 4, !tbaa !5
  br label %6146

6146:                                             ; preds = %6145
  %6147 = load i32, ptr @test_count, align 4, !tbaa !5
  %6148 = add nsw i32 %6147, 1
  store i32 %6148, ptr @test_count, align 4, !tbaa !5
  %6149 = call i32 @s2n_stuffer_read_uint32(ptr noundef %126, ptr noundef %142)
  %6150 = icmp eq i32 %6149, -1
  br i1 %6150, label %6151, label %6204

6151:                                             ; preds = %6146
  br label %6152

6152:                                             ; preds = %6151
  br label %6153

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

6160:                                             ; preds = %6153
  %6161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6162 = call i32 @fileno(ptr noundef %6161) #11
  %6163 = call i32 @isatty(i32 noundef %6162) #11
  %6164 = icmp ne i32 %6163, 0
  br i1 %6164, label %6165, label %6182

6165:                                             ; preds = %6160
  %6166 = load i32, ptr %143, align 4, !tbaa !5
  %6167 = call ptr @__errno_location() #12
  store i32 %6166, ptr %6167, align 4, !tbaa !5
  %6168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6169 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6171, ptr noundef @.str.4)
  %6173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6174 = load i32, ptr %6173, align 4, !tbaa !5
  %6175 = call ptr @s2n_strerror_debug(i32 noundef %6174, ptr noundef @.str.4)
  %6176 = call ptr @__errno_location() #12
  %6177 = load i32, ptr %6176, align 4, !tbaa !5
  %6178 = call ptr @strerror(i32 noundef %6177) #11
  %6179 = call ptr @__errno_location() #12
  %6180 = load i32, ptr %6179, align 4, !tbaa !5
  %6181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6168, ptr noundef @.str.2, i32 noundef %6169, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 395, ptr noundef %6172, ptr noundef %6175, ptr noundef %6178, i32 noundef %6180) #11
  br label %6199

6182:                                             ; preds = %6160, %6153
  %6183 = load i32, ptr %143, align 4, !tbaa !5
  %6184 = call ptr @__errno_location() #12
  store i32 %6183, ptr %6184, align 4, !tbaa !5
  %6185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6186 = load i32, ptr @test_count, align 4, !tbaa !5
  %6187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6188 = load i32, ptr %6187, align 4, !tbaa !5
  %6189 = call ptr @s2n_strerror(i32 noundef %6188, ptr noundef @.str.4)
  %6190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6191 = load i32, ptr %6190, align 4, !tbaa !5
  %6192 = call ptr @s2n_strerror_debug(i32 noundef %6191, ptr noundef @.str.4)
  %6193 = call ptr @__errno_location() #12
  %6194 = load i32, ptr %6193, align 4, !tbaa !5
  %6195 = call ptr @strerror(i32 noundef %6194) #11
  %6196 = call ptr @__errno_location() #12
  %6197 = load i32, ptr %6196, align 4, !tbaa !5
  %6198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6185, ptr noundef @.str.5, i32 noundef %6186, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 395, ptr noundef %6189, ptr noundef %6192, ptr noundef %6195, i32 noundef %6197) #11
  br label %6199

6199:                                             ; preds = %6182, %6165
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %6200

6200:                                             ; preds = %6199
  br label %6201

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

6202:                                             ; No predecessors!
  br label %6203

6203:                                             ; preds = %6202
  br label %6204

6204:                                             ; preds = %6203, %6146
  br label %6205

6205:                                             ; preds = %6204
  br label %6206

6206:                                             ; preds = %6205
  br label %6207

6207:                                             ; preds = %6206
  %6208 = load i32, ptr @test_count, align 4, !tbaa !5
  %6209 = add nsw i32 %6208, 1
  store i32 %6209, ptr @test_count, align 4, !tbaa !5
  %6210 = load i32, ptr %142, align 4, !tbaa !5
  %6211 = icmp eq i32 %6210, 550
  br i1 %6211, label %6265, label %6212

6212:                                             ; preds = %6207
  br label %6213

6213:                                             ; preds = %6212
  br label %6214

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

6221:                                             ; preds = %6214
  %6222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6223 = call i32 @fileno(ptr noundef %6222) #11
  %6224 = call i32 @isatty(i32 noundef %6223) #11
  %6225 = icmp ne i32 %6224, 0
  br i1 %6225, label %6226, label %6243

6226:                                             ; preds = %6221
  %6227 = load i32, ptr %144, align 4, !tbaa !5
  %6228 = call ptr @__errno_location() #12
  store i32 %6227, ptr %6228, align 4, !tbaa !5
  %6229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6230 = load i32, ptr @test_count, align 4, !tbaa !5
  %6231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6232 = load i32, ptr %6231, align 4, !tbaa !5
  %6233 = call ptr @s2n_strerror(i32 noundef %6232, ptr noundef @.str.4)
  %6234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6235 = load i32, ptr %6234, align 4, !tbaa !5
  %6236 = call ptr @s2n_strerror_debug(i32 noundef %6235, ptr noundef @.str.4)
  %6237 = call ptr @__errno_location() #12
  %6238 = load i32, ptr %6237, align 4, !tbaa !5
  %6239 = call ptr @strerror(i32 noundef %6238) #11
  %6240 = call ptr @__errno_location() #12
  %6241 = load i32, ptr %6240, align 4, !tbaa !5
  %6242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6229, ptr noundef @.str.2, i32 noundef %6230, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 396, ptr noundef %6233, ptr noundef %6236, ptr noundef %6239, i32 noundef %6241) #11
  br label %6260

6243:                                             ; preds = %6221, %6214
  %6244 = load i32, ptr %144, align 4, !tbaa !5
  %6245 = call ptr @__errno_location() #12
  store i32 %6244, ptr %6245, align 4, !tbaa !5
  %6246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6247 = load i32, ptr @test_count, align 4, !tbaa !5
  %6248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6249 = load i32, ptr %6248, align 4, !tbaa !5
  %6250 = call ptr @s2n_strerror(i32 noundef %6249, ptr noundef @.str.4)
  %6251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6252 = load i32, ptr %6251, align 4, !tbaa !5
  %6253 = call ptr @s2n_strerror_debug(i32 noundef %6252, ptr noundef @.str.4)
  %6254 = call ptr @__errno_location() #12
  %6255 = load i32, ptr %6254, align 4, !tbaa !5
  %6256 = call ptr @strerror(i32 noundef %6255) #11
  %6257 = call ptr @__errno_location() #12
  %6258 = load i32, ptr %6257, align 4, !tbaa !5
  %6259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6246, ptr noundef @.str.5, i32 noundef %6247, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 396, ptr noundef %6250, ptr noundef %6253, ptr noundef %6256, i32 noundef %6258) #11
  br label %6260

6260:                                             ; preds = %6243, %6226
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %6261

6261:                                             ; preds = %6260
  br label %6262

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

6263:                                             ; No predecessors!
  br label %6264

6264:                                             ; preds = %6263
  br label %6265

6265:                                             ; preds = %6264, %6207
  br label %6266

6266:                                             ; preds = %6265
  br label %6267

6267:                                             ; preds = %6266
  br label %6268

6268:                                             ; preds = %6267
  %6269 = load i32, ptr @test_count, align 4, !tbaa !5
  %6270 = add nsw i32 %6269, 1
  store i32 %6270, ptr @test_count, align 4, !tbaa !5
  %6271 = load ptr, ptr %128, align 8, !tbaa !9
  %6272 = call i32 @s2n_connection_free(ptr noundef %6271)
  %6273 = icmp eq i32 %6272, -1
  br i1 %6273, label %6274, label %6327

6274:                                             ; preds = %6268
  br label %6275

6275:                                             ; preds = %6274
  br label %6276

6276:                                             ; preds = %6275
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %6277 = call ptr @__errno_location() #12
  %6278 = load i32, ptr %6277, align 4, !tbaa !5
  store i32 %6278, ptr %145, align 4, !tbaa !5
  %6279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6280 = call i32 @s2n_print_stacktrace(ptr noundef %6279)
  %6281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6282 = trunc i8 %6281 to i1
  br i1 %6282, label %6283, label %6305

6283:                                             ; preds = %6276
  %6284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6285 = call i32 @fileno(ptr noundef %6284) #11
  %6286 = call i32 @isatty(i32 noundef %6285) #11
  %6287 = icmp ne i32 %6286, 0
  br i1 %6287, label %6288, label %6305

6288:                                             ; preds = %6283
  %6289 = load i32, ptr %145, align 4, !tbaa !5
  %6290 = call ptr @__errno_location() #12
  store i32 %6289, ptr %6290, align 4, !tbaa !5
  %6291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6292 = load i32, ptr @test_count, align 4, !tbaa !5
  %6293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6294 = load i32, ptr %6293, align 4, !tbaa !5
  %6295 = call ptr @s2n_strerror(i32 noundef %6294, ptr noundef @.str.4)
  %6296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6297 = load i32, ptr %6296, align 4, !tbaa !5
  %6298 = call ptr @s2n_strerror_debug(i32 noundef %6297, ptr noundef @.str.4)
  %6299 = call ptr @__errno_location() #12
  %6300 = load i32, ptr %6299, align 4, !tbaa !5
  %6301 = call ptr @strerror(i32 noundef %6300) #11
  %6302 = call ptr @__errno_location() #12
  %6303 = load i32, ptr %6302, align 4, !tbaa !5
  %6304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6291, ptr noundef @.str.2, i32 noundef %6292, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 398, ptr noundef %6295, ptr noundef %6298, ptr noundef %6301, i32 noundef %6303) #11
  br label %6322

6305:                                             ; preds = %6283, %6276
  %6306 = load i32, ptr %145, align 4, !tbaa !5
  %6307 = call ptr @__errno_location() #12
  store i32 %6306, ptr %6307, align 4, !tbaa !5
  %6308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6309 = load i32, ptr @test_count, align 4, !tbaa !5
  %6310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6311 = load i32, ptr %6310, align 4, !tbaa !5
  %6312 = call ptr @s2n_strerror(i32 noundef %6311, ptr noundef @.str.4)
  %6313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6314 = load i32, ptr %6313, align 4, !tbaa !5
  %6315 = call ptr @s2n_strerror_debug(i32 noundef %6314, ptr noundef @.str.4)
  %6316 = call ptr @__errno_location() #12
  %6317 = load i32, ptr %6316, align 4, !tbaa !5
  %6318 = call ptr @strerror(i32 noundef %6317) #11
  %6319 = call ptr @__errno_location() #12
  %6320 = load i32, ptr %6319, align 4, !tbaa !5
  %6321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6308, ptr noundef @.str.5, i32 noundef %6309, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 398, ptr noundef %6312, ptr noundef %6315, ptr noundef %6318, i32 noundef %6320) #11
  br label %6322

6322:                                             ; preds = %6305, %6288
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %6323

6323:                                             ; preds = %6322
  br label %6324

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

6325:                                             ; No predecessors!
  br label %6326

6326:                                             ; preds = %6325
  br label %6327

6327:                                             ; preds = %6326, %6268
  br label %6328

6328:                                             ; preds = %6327
  br label %6329

6329:                                             ; preds = %6328
  br label %6330

6330:                                             ; preds = %6329
  %6331 = load i32, ptr @test_count, align 4, !tbaa !5
  %6332 = add nsw i32 %6331, 1
  store i32 %6332, ptr @test_count, align 4, !tbaa !5
  %6333 = load ptr, ptr %130, align 8, !tbaa !9
  %6334 = call i32 @s2n_config_free(ptr noundef %6333)
  %6335 = icmp eq i32 %6334, -1
  br i1 %6335, label %6336, label %6389

6336:                                             ; preds = %6330
  br label %6337

6337:                                             ; preds = %6336
  br label %6338

6338:                                             ; preds = %6337
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %6339 = call ptr @__errno_location() #12
  %6340 = load i32, ptr %6339, align 4, !tbaa !5
  store i32 %6340, ptr %146, align 4, !tbaa !5
  %6341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6342 = call i32 @s2n_print_stacktrace(ptr noundef %6341)
  %6343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6344 = trunc i8 %6343 to i1
  br i1 %6344, label %6345, label %6367

6345:                                             ; preds = %6338
  %6346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6347 = call i32 @fileno(ptr noundef %6346) #11
  %6348 = call i32 @isatty(i32 noundef %6347) #11
  %6349 = icmp ne i32 %6348, 0
  br i1 %6349, label %6350, label %6367

6350:                                             ; preds = %6345
  %6351 = load i32, ptr %146, align 4, !tbaa !5
  %6352 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %6361 = call ptr @__errno_location() #12
  %6362 = load i32, ptr %6361, align 4, !tbaa !5
  %6363 = call ptr @strerror(i32 noundef %6362) #11
  %6364 = call ptr @__errno_location() #12
  %6365 = load i32, ptr %6364, align 4, !tbaa !5
  %6366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6353, ptr noundef @.str.2, i32 noundef %6354, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 399, ptr noundef %6357, ptr noundef %6360, ptr noundef %6363, i32 noundef %6365) #11
  br label %6384

6367:                                             ; preds = %6345, %6338
  %6368 = load i32, ptr %146, align 4, !tbaa !5
  %6369 = call ptr @__errno_location() #12
  store i32 %6368, ptr %6369, align 4, !tbaa !5
  %6370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6371 = load i32, ptr @test_count, align 4, !tbaa !5
  %6372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6373 = load i32, ptr %6372, align 4, !tbaa !5
  %6374 = call ptr @s2n_strerror(i32 noundef %6373, ptr noundef @.str.4)
  %6375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6376 = load i32, ptr %6375, align 4, !tbaa !5
  %6377 = call ptr @s2n_strerror_debug(i32 noundef %6376, ptr noundef @.str.4)
  %6378 = call ptr @__errno_location() #12
  %6379 = load i32, ptr %6378, align 4, !tbaa !5
  %6380 = call ptr @strerror(i32 noundef %6379) #11
  %6381 = call ptr @__errno_location() #12
  %6382 = load i32, ptr %6381, align 4, !tbaa !5
  %6383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6370, ptr noundef @.str.5, i32 noundef %6371, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 399, ptr noundef %6374, ptr noundef %6377, ptr noundef %6380, i32 noundef %6382) #11
  br label %6384

6384:                                             ; preds = %6367, %6350
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %6385

6385:                                             ; preds = %6384
  br label %6386

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

6387:                                             ; No predecessors!
  br label %6388

6388:                                             ; preds = %6387
  br label %6389

6389:                                             ; preds = %6388, %6330
  br label %6390

6390:                                             ; preds = %6389
  br label %6391

6391:                                             ; preds = %6390
  br label %6392

6392:                                             ; preds = %6391
  %6393 = load i32, ptr @test_count, align 4, !tbaa !5
  %6394 = add nsw i32 %6393, 1
  store i32 %6394, ptr @test_count, align 4, !tbaa !5
  %6395 = call i32 @s2n_stuffer_free(ptr noundef %126)
  %6396 = icmp eq i32 %6395, -1
  br i1 %6396, label %6397, label %6450

6397:                                             ; preds = %6392
  br label %6398

6398:                                             ; preds = %6397
  br label %6399

6399:                                             ; preds = %6398
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %6400 = call ptr @__errno_location() #12
  %6401 = load i32, ptr %6400, align 4, !tbaa !5
  store i32 %6401, ptr %147, align 4, !tbaa !5
  %6402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6403 = call i32 @s2n_print_stacktrace(ptr noundef %6402)
  %6404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6405 = trunc i8 %6404 to i1
  br i1 %6405, label %6406, label %6428

6406:                                             ; preds = %6399
  %6407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6408 = call i32 @fileno(ptr noundef %6407) #11
  %6409 = call i32 @isatty(i32 noundef %6408) #11
  %6410 = icmp ne i32 %6409, 0
  br i1 %6410, label %6411, label %6428

6411:                                             ; preds = %6406
  %6412 = load i32, ptr %147, align 4, !tbaa !5
  %6413 = call ptr @__errno_location() #12
  store i32 %6412, ptr %6413, align 4, !tbaa !5
  %6414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6415 = load i32, ptr @test_count, align 4, !tbaa !5
  %6416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6417 = load i32, ptr %6416, align 4, !tbaa !5
  %6418 = call ptr @s2n_strerror(i32 noundef %6417, ptr noundef @.str.4)
  %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_debug(i32 noundef %6420, ptr noundef @.str.4)
  %6422 = call ptr @__errno_location() #12
  %6423 = load i32, ptr %6422, align 4, !tbaa !5
  %6424 = call ptr @strerror(i32 noundef %6423) #11
  %6425 = call ptr @__errno_location() #12
  %6426 = load i32, ptr %6425, align 4, !tbaa !5
  %6427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6414, ptr noundef @.str.2, i32 noundef %6415, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 400, ptr noundef %6418, ptr noundef %6421, ptr noundef %6424, i32 noundef %6426) #11
  br label %6445

6428:                                             ; preds = %6406, %6399
  %6429 = load i32, ptr %147, align 4, !tbaa !5
  %6430 = call ptr @__errno_location() #12
  store i32 %6429, ptr %6430, align 4, !tbaa !5
  %6431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6432 = load i32, ptr @test_count, align 4, !tbaa !5
  %6433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6434 = load i32, ptr %6433, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror(i32 noundef %6434, ptr noundef @.str.4)
  %6436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6437 = load i32, ptr %6436, align 4, !tbaa !5
  %6438 = call ptr @s2n_strerror_debug(i32 noundef %6437, ptr noundef @.str.4)
  %6439 = call ptr @__errno_location() #12
  %6440 = load i32, ptr %6439, align 4, !tbaa !5
  %6441 = call ptr @strerror(i32 noundef %6440) #11
  %6442 = call ptr @__errno_location() #12
  %6443 = load i32, ptr %6442, align 4, !tbaa !5
  %6444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6431, ptr noundef @.str.5, i32 noundef %6432, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 400, ptr noundef %6435, ptr noundef %6438, ptr noundef %6441, i32 noundef %6443) #11
  br label %6445

6445:                                             ; preds = %6428, %6411
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %6446

6446:                                             ; preds = %6445
  br label %6447

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

6448:                                             ; No predecessors!
  br label %6449

6449:                                             ; preds = %6448
  br label %6450

6450:                                             ; preds = %6449, %6392
  br label %6451

6451:                                             ; preds = %6450
  br label %6452

6452:                                             ; preds = %6451
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %126) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr %148) #11
  call void @llvm.memset.p0.i64(ptr align 8 %148, i8 0, i64 40, i1 false)
  br label %6453

6453:                                             ; preds = %6452
  %6454 = load i32, ptr @test_count, align 4, !tbaa !5
  %6455 = add nsw i32 %6454, 1
  store i32 %6455, ptr @test_count, align 4, !tbaa !5
  %6456 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %148, i32 noundef 0)
  %6457 = icmp eq i32 %6456, -1
  br i1 %6457, label %6458, label %6511

6458:                                             ; preds = %6453
  br label %6459

6459:                                             ; preds = %6458
  br label %6460

6460:                                             ; preds = %6459
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %6461 = call ptr @__errno_location() #12
  %6462 = load i32, ptr %6461, align 4, !tbaa !5
  store i32 %6462, ptr %149, align 4, !tbaa !5
  %6463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6464 = call i32 @s2n_print_stacktrace(ptr noundef %6463)
  %6465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6466 = trunc i8 %6465 to i1
  br i1 %6466, label %6467, label %6489

6467:                                             ; preds = %6460
  %6468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6469 = call i32 @fileno(ptr noundef %6468) #11
  %6470 = call i32 @isatty(i32 noundef %6469) #11
  %6471 = icmp ne i32 %6470, 0
  br i1 %6471, label %6472, label %6489

6472:                                             ; preds = %6467
  %6473 = load i32, ptr %149, align 4, !tbaa !5
  %6474 = call ptr @__errno_location() #12
  store i32 %6473, ptr %6474, align 4, !tbaa !5
  %6475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6476 = load i32, ptr @test_count, align 4, !tbaa !5
  %6477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6478 = load i32, ptr %6477, align 4, !tbaa !5
  %6479 = call ptr @s2n_strerror(i32 noundef %6478, ptr noundef @.str.4)
  %6480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6481 = load i32, ptr %6480, align 4, !tbaa !5
  %6482 = call ptr @s2n_strerror_debug(i32 noundef %6481, ptr noundef @.str.4)
  %6483 = call ptr @__errno_location() #12
  %6484 = load i32, ptr %6483, align 4, !tbaa !5
  %6485 = call ptr @strerror(i32 noundef %6484) #11
  %6486 = call ptr @__errno_location() #12
  %6487 = load i32, ptr %6486, align 4, !tbaa !5
  %6488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6475, ptr noundef @.str.2, i32 noundef %6476, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 414, ptr noundef %6479, ptr noundef %6482, ptr noundef %6485, i32 noundef %6487) #11
  br label %6506

6489:                                             ; preds = %6467, %6460
  %6490 = load i32, ptr %149, align 4, !tbaa !5
  %6491 = call ptr @__errno_location() #12
  store i32 %6490, ptr %6491, align 4, !tbaa !5
  %6492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6493 = load i32, ptr @test_count, align 4, !tbaa !5
  %6494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6495 = load i32, ptr %6494, align 4, !tbaa !5
  %6496 = call ptr @s2n_strerror(i32 noundef %6495, ptr noundef @.str.4)
  %6497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6498 = load i32, ptr %6497, align 4, !tbaa !5
  %6499 = call ptr @s2n_strerror_debug(i32 noundef %6498, ptr noundef @.str.4)
  %6500 = call ptr @__errno_location() #12
  %6501 = load i32, ptr %6500, align 4, !tbaa !5
  %6502 = call ptr @strerror(i32 noundef %6501) #11
  %6503 = call ptr @__errno_location() #12
  %6504 = load i32, ptr %6503, align 4, !tbaa !5
  %6505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6492, ptr noundef @.str.5, i32 noundef %6493, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 414, ptr noundef %6496, ptr noundef %6499, ptr noundef %6502, i32 noundef %6504) #11
  br label %6506

6506:                                             ; preds = %6489, %6472
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %6507

6507:                                             ; preds = %6506
  br label %6508

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

6509:                                             ; No predecessors!
  br label %6510

6510:                                             ; preds = %6509
  br label %6511

6511:                                             ; preds = %6510, %6453
  br label %6512

6512:                                             ; preds = %6511
  br label %6513

6513:                                             ; preds = %6512
  call void @llvm.lifetime.start.p0(i64 24, ptr %150) #11
  %6514 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 0
  store i32 5, ptr %6514, align 8, !tbaa !73
  %6515 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 1
  store i8 48, ptr %6515, align 4, !tbaa !75
  %6516 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 2
  %6517 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  store ptr %6517, ptr %6516, align 8, !tbaa !76
  %6518 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 3
  store i64 14, ptr %6518, align 8, !tbaa !77
  call void @llvm.lifetime.start.p0(i64 24, ptr %151) #11
  %6519 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %151, i32 0, i32 0
  store i32 3, ptr %6519, align 8, !tbaa !73
  %6520 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %151, i32 0, i32 1
  store i8 28, ptr %6520, align 4, !tbaa !75
  %6521 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %151, i32 0, i32 2
  %6522 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  store ptr %6522, ptr %6521, align 8, !tbaa !76
  %6523 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %151, i32 0, i32 3
  store i64 14, ptr %6523, align 8, !tbaa !77
  call void @llvm.lifetime.start.p0(i64 48, ptr %152) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %152, ptr align 8 %150, i64 24, i1 false), !tbaa.struct !80
  %6524 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %152, i64 1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6524, ptr align 8 %151, i64 24, i1 false), !tbaa.struct !80
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #11
  store ptr null, ptr %153, align 8, !tbaa !9
  br label %6525

6525:                                             ; preds = %6513
  %6526 = load i32, ptr @test_count, align 4, !tbaa !5
  %6527 = add nsw i32 %6526, 1
  store i32 %6527, ptr @test_count, align 4, !tbaa !5
  %6528 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6528, ptr %153, align 8, !tbaa !9
  %6529 = icmp eq ptr %6528, null
  br i1 %6529, label %6530, label %6583

6530:                                             ; preds = %6525
  br label %6531

6531:                                             ; preds = %6530
  br label %6532

6532:                                             ; preds = %6531
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %6533 = call ptr @__errno_location() #12
  %6534 = load i32, ptr %6533, align 4, !tbaa !5
  store i32 %6534, ptr %154, align 4, !tbaa !5
  %6535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6536 = call i32 @s2n_print_stacktrace(ptr noundef %6535)
  %6537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6538 = trunc i8 %6537 to i1
  br i1 %6538, label %6539, label %6561

6539:                                             ; preds = %6532
  %6540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6541 = call i32 @fileno(ptr noundef %6540) #11
  %6542 = call i32 @isatty(i32 noundef %6541) #11
  %6543 = icmp ne i32 %6542, 0
  br i1 %6543, label %6544, label %6561

6544:                                             ; preds = %6539
  %6545 = load i32, ptr %154, align 4, !tbaa !5
  %6546 = call ptr @__errno_location() #12
  store i32 %6545, ptr %6546, align 4, !tbaa !5
  %6547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6548 = load i32, ptr @test_count, align 4, !tbaa !5
  %6549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6550 = load i32, ptr %6549, align 4, !tbaa !5
  %6551 = call ptr @s2n_strerror(i32 noundef %6550, ptr noundef @.str.4)
  %6552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6553 = load i32, ptr %6552, align 4, !tbaa !5
  %6554 = call ptr @s2n_strerror_debug(i32 noundef %6553, ptr noundef @.str.4)
  %6555 = call ptr @__errno_location() #12
  %6556 = load i32, ptr %6555, align 4, !tbaa !5
  %6557 = call ptr @strerror(i32 noundef %6556) #11
  %6558 = call ptr @__errno_location() #12
  %6559 = load i32, ptr %6558, align 4, !tbaa !5
  %6560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6547, ptr noundef @.str.2, i32 noundef %6548, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 431, ptr noundef %6551, ptr noundef %6554, ptr noundef %6557, i32 noundef %6559) #11
  br label %6578

6561:                                             ; preds = %6539, %6532
  %6562 = load i32, ptr %154, align 4, !tbaa !5
  %6563 = call ptr @__errno_location() #12
  store i32 %6562, ptr %6563, align 4, !tbaa !5
  %6564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6565 = load i32, ptr @test_count, align 4, !tbaa !5
  %6566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6567 = load i32, ptr %6566, align 4, !tbaa !5
  %6568 = call ptr @s2n_strerror(i32 noundef %6567, ptr noundef @.str.4)
  %6569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6570 = load i32, ptr %6569, align 4, !tbaa !5
  %6571 = call ptr @s2n_strerror_debug(i32 noundef %6570, ptr noundef @.str.4)
  %6572 = call ptr @__errno_location() #12
  %6573 = load i32, ptr %6572, align 4, !tbaa !5
  %6574 = call ptr @strerror(i32 noundef %6573) #11
  %6575 = call ptr @__errno_location() #12
  %6576 = load i32, ptr %6575, align 4, !tbaa !5
  %6577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6564, ptr noundef @.str.5, i32 noundef %6565, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 431, ptr noundef %6568, ptr noundef %6571, ptr noundef %6574, i32 noundef %6576) #11
  br label %6578

6578:                                             ; preds = %6561, %6544
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %6579

6579:                                             ; preds = %6578
  br label %6580

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

6581:                                             ; No predecessors!
  br label %6582

6582:                                             ; preds = %6581
  br label %6583

6583:                                             ; preds = %6582, %6525
  br label %6584

6584:                                             ; preds = %6583
  br label %6585

6585:                                             ; preds = %6584
  %6586 = load ptr, ptr %153, align 8, !tbaa !9
  %6587 = getelementptr inbounds %struct.s2n_connection, ptr %6586, i32 0, i32 52
  %6588 = getelementptr inbounds %struct.s2n_handshake, ptr %6587, i32 0, i32 6
  store i32 16, ptr %6588, align 4, !tbaa !54
  %6589 = load ptr, ptr %153, align 8, !tbaa !9
  %6590 = getelementptr inbounds %struct.s2n_connection, ptr %6589, i32 0, i32 27
  %6591 = load ptr, ptr %6590, align 8, !tbaa !46
  %6592 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %6591, i32 0, i32 0
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %6592, align 8, !tbaa !47
  br label %6593

6593:                                             ; preds = %6585
  %6594 = load i32, ptr @test_count, align 4, !tbaa !5
  %6595 = add nsw i32 %6594, 1
  store i32 %6595, ptr @test_count, align 4, !tbaa !5
  %6596 = load ptr, ptr %153, align 8, !tbaa !9
  %6597 = getelementptr inbounds %struct.s2n_connection, ptr %6596, i32 0, i32 27
  %6598 = load ptr, ptr %6597, align 8, !tbaa !46
  %6599 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %6598, i32 0, i32 0
  %6600 = load ptr, ptr %6599, align 8, !tbaa !47
  %6601 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %6600, i32 0, i32 11
  %6602 = load i32, ptr %6601, align 8, !tbaa !52
  %6603 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 0
  %6604 = load i32, ptr %6603, align 8, !tbaa !73
  %6605 = icmp eq i32 %6602, %6604
  br i1 %6605, label %6659, label %6606

6606:                                             ; preds = %6593
  br label %6607

6607:                                             ; preds = %6606
  br label %6608

6608:                                             ; preds = %6607
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %6609 = call ptr @__errno_location() #12
  %6610 = load i32, ptr %6609, align 4, !tbaa !5
  store i32 %6610, ptr %155, align 4, !tbaa !5
  %6611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6612 = call i32 @s2n_print_stacktrace(ptr noundef %6611)
  %6613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6614 = trunc i8 %6613 to i1
  br i1 %6614, label %6615, label %6637

6615:                                             ; preds = %6608
  %6616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6617 = call i32 @fileno(ptr noundef %6616) #11
  %6618 = call i32 @isatty(i32 noundef %6617) #11
  %6619 = icmp ne i32 %6618, 0
  br i1 %6619, label %6620, label %6637

6620:                                             ; preds = %6615
  %6621 = load i32, ptr %155, align 4, !tbaa !5
  %6622 = call ptr @__errno_location() #12
  store i32 %6621, ptr %6622, align 4, !tbaa !5
  %6623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6624 = load i32, ptr @test_count, align 4, !tbaa !5
  %6625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6626 = load i32, ptr %6625, align 4, !tbaa !5
  %6627 = call ptr @s2n_strerror(i32 noundef %6626, ptr noundef @.str.4)
  %6628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6629 = load i32, ptr %6628, align 4, !tbaa !5
  %6630 = call ptr @s2n_strerror_debug(i32 noundef %6629, ptr noundef @.str.4)
  %6631 = call ptr @__errno_location() #12
  %6632 = load i32, ptr %6631, align 4, !tbaa !5
  %6633 = call ptr @strerror(i32 noundef %6632) #11
  %6634 = call ptr @__errno_location() #12
  %6635 = load i32, ptr %6634, align 4, !tbaa !5
  %6636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6623, ptr noundef @.str.2, i32 noundef %6624, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 434, ptr noundef %6627, ptr noundef %6630, ptr noundef %6633, i32 noundef %6635) #11
  br label %6654

6637:                                             ; preds = %6615, %6608
  %6638 = load i32, ptr %155, align 4, !tbaa !5
  %6639 = call ptr @__errno_location() #12
  store i32 %6638, ptr %6639, align 4, !tbaa !5
  %6640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6641 = load i32, ptr @test_count, align 4, !tbaa !5
  %6642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6643 = load i32, ptr %6642, align 4, !tbaa !5
  %6644 = call ptr @s2n_strerror(i32 noundef %6643, ptr noundef @.str.4)
  %6645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6646 = load i32, ptr %6645, align 4, !tbaa !5
  %6647 = call ptr @s2n_strerror_debug(i32 noundef %6646, ptr noundef @.str.4)
  %6648 = call ptr @__errno_location() #12
  %6649 = load i32, ptr %6648, align 4, !tbaa !5
  %6650 = call ptr @strerror(i32 noundef %6649) #11
  %6651 = call ptr @__errno_location() #12
  %6652 = load i32, ptr %6651, align 4, !tbaa !5
  %6653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6640, ptr noundef @.str.5, i32 noundef %6641, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 434, ptr noundef %6644, ptr noundef %6647, ptr noundef %6650, i32 noundef %6652) #11
  br label %6654

6654:                                             ; preds = %6637, %6620
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %6655

6655:                                             ; preds = %6654
  br label %6656

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

6657:                                             ; No predecessors!
  br label %6658

6658:                                             ; preds = %6657
  br label %6659

6659:                                             ; preds = %6658, %6593
  br label %6660

6660:                                             ; preds = %6659
  br label %6661

6661:                                             ; preds = %6660
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #11
  store i64 0, ptr %156, align 8, !tbaa !58
  br label %6662

6662:                                             ; preds = %6876, %6661
  %6663 = load i64, ptr %156, align 8, !tbaa !58
  %6664 = icmp ult i64 %6663, 2
  br i1 %6664, label %6666, label %6665

6665:                                             ; preds = %6662
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #11
  br label %6879

6666:                                             ; preds = %6662
  call void @llvm.lifetime.start.p0(i64 8, ptr %157) #11
  store ptr null, ptr %157, align 8, !tbaa !9
  br label %6667

6667:                                             ; preds = %6666
  %6668 = load i32, ptr @test_count, align 4, !tbaa !5
  %6669 = add nsw i32 %6668, 1
  store i32 %6669, ptr @test_count, align 4, !tbaa !5
  %6670 = load ptr, ptr %153, align 8, !tbaa !9
  %6671 = getelementptr inbounds %struct.s2n_connection, ptr %6670, i32 0, i32 33
  %6672 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %6671, i32 0, i32 1
  %6673 = call i32 @s2n_array_pushback(ptr noundef %6672, ptr noundef %157)
  %6674 = getelementptr inbounds %struct.s2n_result, ptr %158, i32 0, i32 0
  store i32 %6673, ptr %6674, align 4
  %6675 = getelementptr inbounds %struct.s2n_result, ptr %158, i32 0, i32 0
  %6676 = load i32, ptr %6675, align 4
  %6677 = call zeroext i1 @s2n_result_is_ok(i32 %6676)
  br i1 %6677, label %6731, label %6678

6678:                                             ; preds = %6667
  br label %6679

6679:                                             ; preds = %6678
  br label %6680

6680:                                             ; preds = %6679
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %6681 = call ptr @__errno_location() #12
  %6682 = load i32, ptr %6681, align 4, !tbaa !5
  store i32 %6682, ptr %159, align 4, !tbaa !5
  %6683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6684 = call i32 @s2n_print_stacktrace(ptr noundef %6683)
  %6685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6686 = trunc i8 %6685 to i1
  br i1 %6686, label %6687, label %6709

6687:                                             ; preds = %6680
  %6688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6689 = call i32 @fileno(ptr noundef %6688) #11
  %6690 = call i32 @isatty(i32 noundef %6689) #11
  %6691 = icmp ne i32 %6690, 0
  br i1 %6691, label %6692, label %6709

6692:                                             ; preds = %6687
  %6693 = load i32, ptr %159, align 4, !tbaa !5
  %6694 = call ptr @__errno_location() #12
  store i32 %6693, ptr %6694, align 4, !tbaa !5
  %6695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6696 = load i32, ptr @test_count, align 4, !tbaa !5
  %6697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6698 = load i32, ptr %6697, align 4, !tbaa !5
  %6699 = call ptr @s2n_strerror(i32 noundef %6698, ptr noundef @.str.4)
  %6700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6701 = load i32, ptr %6700, align 4, !tbaa !5
  %6702 = call ptr @s2n_strerror_debug(i32 noundef %6701, ptr noundef @.str.4)
  %6703 = call ptr @__errno_location() #12
  %6704 = load i32, ptr %6703, align 4, !tbaa !5
  %6705 = call ptr @strerror(i32 noundef %6704) #11
  %6706 = call ptr @__errno_location() #12
  %6707 = load i32, ptr %6706, align 4, !tbaa !5
  %6708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6695, ptr noundef @.str.2, i32 noundef %6696, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 438, ptr noundef %6699, ptr noundef %6702, ptr noundef %6705, i32 noundef %6707) #11
  br label %6726

6709:                                             ; preds = %6687, %6680
  %6710 = load i32, ptr %159, align 4, !tbaa !5
  %6711 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %6720 = call ptr @__errno_location() #12
  %6721 = load i32, ptr %6720, align 4, !tbaa !5
  %6722 = call ptr @strerror(i32 noundef %6721) #11
  %6723 = call ptr @__errno_location() #12
  %6724 = load i32, ptr %6723, align 4, !tbaa !5
  %6725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6712, ptr noundef @.str.5, i32 noundef %6713, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 438, ptr noundef %6716, ptr noundef %6719, ptr noundef %6722, i32 noundef %6724) #11
  br label %6726

6726:                                             ; preds = %6709, %6692
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %6727

6727:                                             ; preds = %6726
  br label %6728

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

6729:                                             ; No predecessors!
  br label %6730

6730:                                             ; preds = %6729
  br label %6731

6731:                                             ; preds = %6730, %6667
  br label %6732

6732:                                             ; preds = %6731
  br label %6733

6733:                                             ; preds = %6732
  br label %6734

6734:                                             ; preds = %6733
  %6735 = load i32, ptr @test_count, align 4, !tbaa !5
  %6736 = add nsw i32 %6735, 1
  store i32 %6736, ptr @test_count, align 4, !tbaa !5
  %6737 = load ptr, ptr %157, align 8, !tbaa !9
  %6738 = call i32 @s2n_psk_init(ptr noundef %6737, i32 noundef 1)
  %6739 = getelementptr inbounds %struct.s2n_result, ptr %160, i32 0, i32 0
  store i32 %6738, ptr %6739, align 4
  %6740 = getelementptr inbounds %struct.s2n_result, ptr %160, i32 0, i32 0
  %6741 = load i32, ptr %6740, align 4
  %6742 = call zeroext i1 @s2n_result_is_ok(i32 %6741)
  br i1 %6742, label %6796, label %6743

6743:                                             ; preds = %6734
  br label %6744

6744:                                             ; preds = %6743
  br label %6745

6745:                                             ; preds = %6744
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %6746 = call ptr @__errno_location() #12
  %6747 = load i32, ptr %6746, align 4, !tbaa !5
  store i32 %6747, ptr %161, align 4, !tbaa !5
  %6748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6749 = call i32 @s2n_print_stacktrace(ptr noundef %6748)
  %6750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6751 = trunc i8 %6750 to i1
  br i1 %6751, label %6752, label %6774

6752:                                             ; preds = %6745
  %6753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6754 = call i32 @fileno(ptr noundef %6753) #11
  %6755 = call i32 @isatty(i32 noundef %6754) #11
  %6756 = icmp ne i32 %6755, 0
  br i1 %6756, label %6757, label %6774

6757:                                             ; preds = %6752
  %6758 = load i32, ptr %161, align 4, !tbaa !5
  %6759 = call ptr @__errno_location() #12
  store i32 %6758, ptr %6759, align 4, !tbaa !5
  %6760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6761 = load i32, ptr @test_count, align 4, !tbaa !5
  %6762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6763 = load i32, ptr %6762, align 4, !tbaa !5
  %6764 = call ptr @s2n_strerror(i32 noundef %6763, ptr noundef @.str.4)
  %6765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6766 = load i32, ptr %6765, align 4, !tbaa !5
  %6767 = call ptr @s2n_strerror_debug(i32 noundef %6766, ptr noundef @.str.4)
  %6768 = call ptr @__errno_location() #12
  %6769 = load i32, ptr %6768, align 4, !tbaa !5
  %6770 = call ptr @strerror(i32 noundef %6769) #11
  %6771 = call ptr @__errno_location() #12
  %6772 = load i32, ptr %6771, align 4, !tbaa !5
  %6773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6760, ptr noundef @.str.2, i32 noundef %6761, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 439, ptr noundef %6764, ptr noundef %6767, ptr noundef %6770, i32 noundef %6772) #11
  br label %6791

6774:                                             ; preds = %6752, %6745
  %6775 = load i32, ptr %161, align 4, !tbaa !5
  %6776 = call ptr @__errno_location() #12
  store i32 %6775, ptr %6776, align 4, !tbaa !5
  %6777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6778 = load i32, ptr @test_count, align 4, !tbaa !5
  %6779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6780 = load i32, ptr %6779, align 4, !tbaa !5
  %6781 = call ptr @s2n_strerror(i32 noundef %6780, ptr noundef @.str.4)
  %6782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6783 = load i32, ptr %6782, align 4, !tbaa !5
  %6784 = call ptr @s2n_strerror_debug(i32 noundef %6783, ptr noundef @.str.4)
  %6785 = call ptr @__errno_location() #12
  %6786 = load i32, ptr %6785, align 4, !tbaa !5
  %6787 = call ptr @strerror(i32 noundef %6786) #11
  %6788 = call ptr @__errno_location() #12
  %6789 = load i32, ptr %6788, align 4, !tbaa !5
  %6790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6777, ptr noundef @.str.5, i32 noundef %6778, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 439, ptr noundef %6781, ptr noundef %6784, ptr noundef %6787, i32 noundef %6789) #11
  br label %6791

6791:                                             ; preds = %6774, %6757
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %6792

6792:                                             ; preds = %6791
  br label %6793

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

6794:                                             ; No predecessors!
  br label %6795

6795:                                             ; preds = %6794
  br label %6796

6796:                                             ; preds = %6795, %6734
  br label %6797

6797:                                             ; preds = %6796
  br label %6798

6798:                                             ; preds = %6797
  br label %6799

6799:                                             ; preds = %6798
  %6800 = load i32, ptr @test_count, align 4, !tbaa !5
  %6801 = add nsw i32 %6800, 1
  store i32 %6801, ptr @test_count, align 4, !tbaa !5
  %6802 = load ptr, ptr %157, align 8, !tbaa !9
  %6803 = load i64, ptr %156, align 8, !tbaa !58
  %6804 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %152, i64 0, i64 %6803
  %6805 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %6804, i32 0, i32 2
  %6806 = load ptr, ptr %6805, align 8, !tbaa !76
  %6807 = load i64, ptr %156, align 8, !tbaa !58
  %6808 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %152, i64 0, i64 %6807
  %6809 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %6808, i32 0, i32 3
  %6810 = load i64, ptr %6809, align 8, !tbaa !77
  %6811 = trunc i64 %6810 to i16
  %6812 = call i32 @s2n_psk_set_identity(ptr noundef %6802, ptr noundef %6806, i16 noundef zeroext %6811)
  %6813 = icmp eq i32 %6812, -1
  br i1 %6813, label %6814, label %6867

6814:                                             ; preds = %6799
  br label %6815

6815:                                             ; preds = %6814
  br label %6816

6816:                                             ; preds = %6815
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %6817 = call ptr @__errno_location() #12
  %6818 = load i32, ptr %6817, align 4, !tbaa !5
  store i32 %6818, ptr %162, align 4, !tbaa !5
  %6819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6820 = call i32 @s2n_print_stacktrace(ptr noundef %6819)
  %6821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6822 = trunc i8 %6821 to i1
  br i1 %6822, label %6823, label %6845

6823:                                             ; preds = %6816
  %6824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6825 = call i32 @fileno(ptr noundef %6824) #11
  %6826 = call i32 @isatty(i32 noundef %6825) #11
  %6827 = icmp ne i32 %6826, 0
  br i1 %6827, label %6828, label %6845

6828:                                             ; preds = %6823
  %6829 = load i32, ptr %162, align 4, !tbaa !5
  %6830 = call ptr @__errno_location() #12
  store i32 %6829, ptr %6830, align 4, !tbaa !5
  %6831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6832 = load i32, ptr @test_count, align 4, !tbaa !5
  %6833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6834 = load i32, ptr %6833, align 4, !tbaa !5
  %6835 = call ptr @s2n_strerror(i32 noundef %6834, ptr noundef @.str.4)
  %6836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6837 = load i32, ptr %6836, align 4, !tbaa !5
  %6838 = call ptr @s2n_strerror_debug(i32 noundef %6837, ptr noundef @.str.4)
  %6839 = call ptr @__errno_location() #12
  %6840 = load i32, ptr %6839, align 4, !tbaa !5
  %6841 = call ptr @strerror(i32 noundef %6840) #11
  %6842 = call ptr @__errno_location() #12
  %6843 = load i32, ptr %6842, align 4, !tbaa !5
  %6844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6831, ptr noundef @.str.2, i32 noundef %6832, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 440, ptr noundef %6835, ptr noundef %6838, ptr noundef %6841, i32 noundef %6843) #11
  br label %6862

6845:                                             ; preds = %6823, %6816
  %6846 = load i32, ptr %162, align 4, !tbaa !5
  %6847 = call ptr @__errno_location() #12
  store i32 %6846, ptr %6847, align 4, !tbaa !5
  %6848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6849 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6851, ptr noundef @.str.4)
  %6853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call ptr @s2n_strerror_debug(i32 noundef %6854, ptr noundef @.str.4)
  %6856 = call ptr @__errno_location() #12
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call ptr @strerror(i32 noundef %6857) #11
  %6859 = call ptr @__errno_location() #12
  %6860 = load i32, ptr %6859, align 4, !tbaa !5
  %6861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6848, ptr noundef @.str.5, i32 noundef %6849, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 440, ptr noundef %6852, ptr noundef %6855, ptr noundef %6858, i32 noundef %6860) #11
  br label %6862

6862:                                             ; preds = %6845, %6828
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %6863

6863:                                             ; preds = %6862
  br label %6864

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

6865:                                             ; No predecessors!
  br label %6866

6866:                                             ; preds = %6865
  br label %6867

6867:                                             ; preds = %6866, %6799
  br label %6868

6868:                                             ; preds = %6867
  br label %6869

6869:                                             ; preds = %6868
  %6870 = load i64, ptr %156, align 8, !tbaa !58
  %6871 = getelementptr inbounds [2 x %struct.s2n_psk_test_case], ptr %152, i64 0, i64 %6870
  %6872 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %6871, i32 0, i32 0
  %6873 = load i32, ptr %6872, align 8, !tbaa !73
  %6874 = load ptr, ptr %157, align 8, !tbaa !9
  %6875 = getelementptr inbounds %struct.s2n_psk, ptr %6874, i32 0, i32 3
  store i32 %6873, ptr %6875, align 8, !tbaa !55
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #11
  br label %6876

6876:                                             ; preds = %6869
  %6877 = load i64, ptr %156, align 8, !tbaa !58
  %6878 = add i64 %6877, 1
  store i64 %6878, ptr %156, align 8, !tbaa !58
  br label %6662, !llvm.loop !82

6879:                                             ; preds = %6665
  br label %6880

6880:                                             ; preds = %6879
  %6881 = load i32, ptr @test_count, align 4, !tbaa !5
  %6882 = add nsw i32 %6881, 1
  store i32 %6882, ptr @test_count, align 4, !tbaa !5
  %6883 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 3), align 8, !tbaa !69
  %6884 = load ptr, ptr %153, align 8, !tbaa !9
  %6885 = call i32 %6883(ptr noundef %6884, ptr noundef %148)
  %6886 = icmp eq i32 %6885, -1
  br i1 %6886, label %6887, label %6940

6887:                                             ; preds = %6880
  br label %6888

6888:                                             ; preds = %6887
  br label %6889

6889:                                             ; preds = %6888
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %6890 = call ptr @__errno_location() #12
  %6891 = load i32, ptr %6890, align 4, !tbaa !5
  store i32 %6891, ptr %163, align 4, !tbaa !5
  %6892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6893 = call i32 @s2n_print_stacktrace(ptr noundef %6892)
  %6894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6895 = trunc i8 %6894 to i1
  br i1 %6895, label %6896, label %6918

6896:                                             ; preds = %6889
  %6897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6898 = call i32 @fileno(ptr noundef %6897) #11
  %6899 = call i32 @isatty(i32 noundef %6898) #11
  %6900 = icmp ne i32 %6899, 0
  br i1 %6900, label %6901, label %6918

6901:                                             ; preds = %6896
  %6902 = load i32, ptr %163, align 4, !tbaa !5
  %6903 = call ptr @__errno_location() #12
  store i32 %6902, ptr %6903, align 4, !tbaa !5
  %6904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6905 = load i32, ptr @test_count, align 4, !tbaa !5
  %6906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6907 = load i32, ptr %6906, align 4, !tbaa !5
  %6908 = call ptr @s2n_strerror(i32 noundef %6907, ptr noundef @.str.4)
  %6909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6910 = load i32, ptr %6909, align 4, !tbaa !5
  %6911 = call ptr @s2n_strerror_debug(i32 noundef %6910, ptr noundef @.str.4)
  %6912 = call ptr @__errno_location() #12
  %6913 = load i32, ptr %6912, align 4, !tbaa !5
  %6914 = call ptr @strerror(i32 noundef %6913) #11
  %6915 = call ptr @__errno_location() #12
  %6916 = load i32, ptr %6915, align 4, !tbaa !5
  %6917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6904, ptr noundef @.str.2, i32 noundef %6905, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 444, ptr noundef %6908, ptr noundef %6911, ptr noundef %6914, i32 noundef %6916) #11
  br label %6935

6918:                                             ; preds = %6896, %6889
  %6919 = load i32, ptr %163, align 4, !tbaa !5
  %6920 = call ptr @__errno_location() #12
  store i32 %6919, ptr %6920, align 4, !tbaa !5
  %6921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6922 = load i32, ptr @test_count, align 4, !tbaa !5
  %6923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6924 = load i32, ptr %6923, align 4, !tbaa !5
  %6925 = call ptr @s2n_strerror(i32 noundef %6924, ptr noundef @.str.4)
  %6926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6927 = load i32, ptr %6926, align 4, !tbaa !5
  %6928 = call ptr @s2n_strerror_debug(i32 noundef %6927, ptr noundef @.str.4)
  %6929 = call ptr @__errno_location() #12
  %6930 = load i32, ptr %6929, align 4, !tbaa !5
  %6931 = call ptr @strerror(i32 noundef %6930) #11
  %6932 = call ptr @__errno_location() #12
  %6933 = load i32, ptr %6932, align 4, !tbaa !5
  %6934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6921, ptr noundef @.str.5, i32 noundef %6922, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 444, ptr noundef %6925, ptr noundef %6928, ptr noundef %6931, i32 noundef %6933) #11
  br label %6935

6935:                                             ; preds = %6918, %6901
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %6936

6936:                                             ; preds = %6935
  br label %6937

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

6938:                                             ; No predecessors!
  br label %6939

6939:                                             ; preds = %6938
  br label %6940

6940:                                             ; preds = %6939, %6880
  br label %6941

6941:                                             ; preds = %6940
  br label %6942

6942:                                             ; preds = %6941
  call void @llvm.lifetime.start.p0(i64 2, ptr %164) #11
  store i16 0, ptr %164, align 2, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 2, ptr %165) #11
  store i16 0, ptr %165, align 2, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #11
  store ptr null, ptr %166, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  store i32 0, ptr %167, align 4, !tbaa !5
  br label %6943

6943:                                             ; preds = %6942
  %6944 = load i32, ptr @test_count, align 4, !tbaa !5
  %6945 = add nsw i32 %6944, 1
  store i32 %6945, ptr @test_count, align 4, !tbaa !5
  %6946 = call i32 @s2n_stuffer_read_uint16(ptr noundef %148, ptr noundef %164)
  %6947 = icmp eq i32 %6946, -1
  br i1 %6947, label %6948, label %7001

6948:                                             ; preds = %6943
  br label %6949

6949:                                             ; preds = %6948
  br label %6950

6950:                                             ; preds = %6949
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %6951 = call ptr @__errno_location() #12
  %6952 = load i32, ptr %6951, align 4, !tbaa !5
  store i32 %6952, ptr %168, align 4, !tbaa !5
  %6953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6954 = call i32 @s2n_print_stacktrace(ptr noundef %6953)
  %6955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6956 = trunc i8 %6955 to i1
  br i1 %6956, label %6957, label %6979

6957:                                             ; preds = %6950
  %6958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6959 = call i32 @fileno(ptr noundef %6958) #11
  %6960 = call i32 @isatty(i32 noundef %6959) #11
  %6961 = icmp ne i32 %6960, 0
  br i1 %6961, label %6962, label %6979

6962:                                             ; preds = %6957
  %6963 = load i32, ptr %168, align 4, !tbaa !5
  %6964 = call ptr @__errno_location() #12
  store i32 %6963, ptr %6964, align 4, !tbaa !5
  %6965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6966 = load i32, ptr @test_count, align 4, !tbaa !5
  %6967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6968 = load i32, ptr %6967, align 4, !tbaa !5
  %6969 = call ptr @s2n_strerror(i32 noundef %6968, ptr noundef @.str.4)
  %6970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6971 = load i32, ptr %6970, align 4, !tbaa !5
  %6972 = call ptr @s2n_strerror_debug(i32 noundef %6971, ptr noundef @.str.4)
  %6973 = call ptr @__errno_location() #12
  %6974 = load i32, ptr %6973, align 4, !tbaa !5
  %6975 = call ptr @strerror(i32 noundef %6974) #11
  %6976 = call ptr @__errno_location() #12
  %6977 = load i32, ptr %6976, align 4, !tbaa !5
  %6978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6965, ptr noundef @.str.2, i32 noundef %6966, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 454, ptr noundef %6969, ptr noundef %6972, ptr noundef %6975, i32 noundef %6977) #11
  br label %6996

6979:                                             ; preds = %6957, %6950
  %6980 = load i32, ptr %168, align 4, !tbaa !5
  %6981 = call ptr @__errno_location() #12
  store i32 %6980, ptr %6981, align 4, !tbaa !5
  %6982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6983 = load i32, ptr @test_count, align 4, !tbaa !5
  %6984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6985 = load i32, ptr %6984, align 4, !tbaa !5
  %6986 = call ptr @s2n_strerror(i32 noundef %6985, ptr noundef @.str.4)
  %6987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6988 = load i32, ptr %6987, align 4, !tbaa !5
  %6989 = call ptr @s2n_strerror_debug(i32 noundef %6988, ptr noundef @.str.4)
  %6990 = call ptr @__errno_location() #12
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  %6992 = call ptr @strerror(i32 noundef %6991) #11
  %6993 = call ptr @__errno_location() #12
  %6994 = load i32, ptr %6993, align 4, !tbaa !5
  %6995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6982, ptr noundef @.str.5, i32 noundef %6983, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 454, ptr noundef %6986, ptr noundef %6989, ptr noundef %6992, i32 noundef %6994) #11
  br label %6996

6996:                                             ; preds = %6979, %6962
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %6997

6997:                                             ; preds = %6996
  br label %6998

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

6999:                                             ; No predecessors!
  br label %7000

7000:                                             ; preds = %6999
  br label %7001

7001:                                             ; preds = %7000, %6943
  br label %7002

7002:                                             ; preds = %7001
  br label %7003

7003:                                             ; preds = %7002
  br label %7004

7004:                                             ; preds = %7003
  %7005 = load i32, ptr @test_count, align 4, !tbaa !5
  %7006 = add nsw i32 %7005, 1
  store i32 %7006, ptr @test_count, align 4, !tbaa !5
  %7007 = load i16, ptr %164, align 2, !tbaa !72
  %7008 = zext i16 %7007 to i64
  %7009 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 3
  %7010 = load i64, ptr %7009, align 8, !tbaa !77
  %7011 = add i64 2, %7010
  %7012 = add i64 %7011, 4
  %7013 = icmp eq i64 %7008, %7012
  br i1 %7013, label %7067, label %7014

7014:                                             ; preds = %7004
  br label %7015

7015:                                             ; preds = %7014
  br label %7016

7016:                                             ; preds = %7015
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %7017 = call ptr @__errno_location() #12
  %7018 = load i32, ptr %7017, align 4, !tbaa !5
  store i32 %7018, ptr %169, 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) #11
  %7026 = call i32 @isatty(i32 noundef %7025) #11
  %7027 = icmp ne i32 %7026, 0
  br i1 %7027, label %7028, label %7045

7028:                                             ; preds = %7023
  %7029 = load i32, ptr %169, align 4, !tbaa !5
  %7030 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %7039 = call ptr @__errno_location() #12
  %7040 = load i32, ptr %7039, align 4, !tbaa !5
  %7041 = call ptr @strerror(i32 noundef %7040) #11
  %7042 = call ptr @__errno_location() #12
  %7043 = load i32, ptr %7042, align 4, !tbaa !5
  %7044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7031, ptr noundef @.str.2, i32 noundef %7032, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 455, ptr noundef %7035, ptr noundef %7038, ptr noundef %7041, i32 noundef %7043) #11
  br label %7062

7045:                                             ; preds = %7023, %7016
  %7046 = load i32, ptr %169, align 4, !tbaa !5
  %7047 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %7056 = call ptr @__errno_location() #12
  %7057 = load i32, ptr %7056, align 4, !tbaa !5
  %7058 = call ptr @strerror(i32 noundef %7057) #11
  %7059 = call ptr @__errno_location() #12
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7048, ptr noundef @.str.5, i32 noundef %7049, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 455, ptr noundef %7052, ptr noundef %7055, ptr noundef %7058, i32 noundef %7060) #11
  br label %7062

7062:                                             ; preds = %7045, %7028
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %7063

7063:                                             ; preds = %7062
  br label %7064

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

7065:                                             ; No predecessors!
  br label %7066

7066:                                             ; preds = %7065
  br label %7067

7067:                                             ; preds = %7066, %7004
  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 i32 @s2n_stuffer_read_uint16(ptr noundef %148, ptr noundef %165)
  %7074 = icmp eq i32 %7073, -1
  br i1 %7074, label %7075, label %7128

7075:                                             ; preds = %7070
  br label %7076

7076:                                             ; preds = %7075
  br label %7077

7077:                                             ; preds = %7076
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %7078 = call ptr @__errno_location() #12
  %7079 = load i32, ptr %7078, align 4, !tbaa !5
  store i32 %7079, ptr %170, align 4, !tbaa !5
  %7080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7081 = call i32 @s2n_print_stacktrace(ptr noundef %7080)
  %7082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7083 = trunc i8 %7082 to i1
  br i1 %7083, label %7084, label %7106

7084:                                             ; preds = %7077
  %7085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7086 = call i32 @fileno(ptr noundef %7085) #11
  %7087 = call i32 @isatty(i32 noundef %7086) #11
  %7088 = icmp ne i32 %7087, 0
  br i1 %7088, label %7089, label %7106

7089:                                             ; preds = %7084
  %7090 = load i32, ptr %170, align 4, !tbaa !5
  %7091 = call ptr @__errno_location() #12
  store i32 %7090, ptr %7091, align 4, !tbaa !5
  %7092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7093 = load i32, ptr @test_count, align 4, !tbaa !5
  %7094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7095 = load i32, ptr %7094, align 4, !tbaa !5
  %7096 = call ptr @s2n_strerror(i32 noundef %7095, ptr noundef @.str.4)
  %7097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7098 = load i32, ptr %7097, align 4, !tbaa !5
  %7099 = call ptr @s2n_strerror_debug(i32 noundef %7098, ptr noundef @.str.4)
  %7100 = call ptr @__errno_location() #12
  %7101 = load i32, ptr %7100, align 4, !tbaa !5
  %7102 = call ptr @strerror(i32 noundef %7101) #11
  %7103 = call ptr @__errno_location() #12
  %7104 = load i32, ptr %7103, align 4, !tbaa !5
  %7105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7092, ptr noundef @.str.2, i32 noundef %7093, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 457, ptr noundef %7096, ptr noundef %7099, ptr noundef %7102, i32 noundef %7104) #11
  br label %7123

7106:                                             ; preds = %7084, %7077
  %7107 = load i32, ptr %170, align 4, !tbaa !5
  %7108 = call ptr @__errno_location() #12
  store i32 %7107, ptr %7108, align 4, !tbaa !5
  %7109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7110 = load i32, ptr @test_count, align 4, !tbaa !5
  %7111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7112 = load i32, ptr %7111, align 4, !tbaa !5
  %7113 = call ptr @s2n_strerror(i32 noundef %7112, ptr noundef @.str.4)
  %7114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7115 = load i32, ptr %7114, align 4, !tbaa !5
  %7116 = call ptr @s2n_strerror_debug(i32 noundef %7115, ptr noundef @.str.4)
  %7117 = call ptr @__errno_location() #12
  %7118 = load i32, ptr %7117, align 4, !tbaa !5
  %7119 = call ptr @strerror(i32 noundef %7118) #11
  %7120 = call ptr @__errno_location() #12
  %7121 = load i32, ptr %7120, align 4, !tbaa !5
  %7122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7109, ptr noundef @.str.5, i32 noundef %7110, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 457, ptr noundef %7113, ptr noundef %7116, ptr noundef %7119, i32 noundef %7121) #11
  br label %7123

7123:                                             ; preds = %7106, %7089
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %7124

7124:                                             ; preds = %7123
  br label %7125

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

7126:                                             ; No predecessors!
  br label %7127

7127:                                             ; preds = %7126
  br label %7128

7128:                                             ; preds = %7127, %7070
  br label %7129

7129:                                             ; preds = %7128
  br label %7130

7130:                                             ; preds = %7129
  br label %7131

7131:                                             ; preds = %7130
  %7132 = load i32, ptr @test_count, align 4, !tbaa !5
  %7133 = add nsw i32 %7132, 1
  store i32 %7133, ptr @test_count, align 4, !tbaa !5
  %7134 = load i16, ptr %165, align 2, !tbaa !72
  %7135 = zext i16 %7134 to i64
  %7136 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 3
  %7137 = load i64, ptr %7136, align 8, !tbaa !77
  %7138 = icmp eq i64 %7135, %7137
  br i1 %7138, label %7192, label %7139

7139:                                             ; preds = %7131
  br label %7140

7140:                                             ; preds = %7139
  br label %7141

7141:                                             ; preds = %7140
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %7142 = call ptr @__errno_location() #12
  %7143 = load i32, ptr %7142, align 4, !tbaa !5
  store i32 %7143, ptr %171, align 4, !tbaa !5
  %7144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7145 = call i32 @s2n_print_stacktrace(ptr noundef %7144)
  %7146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7147 = trunc i8 %7146 to i1
  br i1 %7147, label %7148, label %7170

7148:                                             ; preds = %7141
  %7149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7150 = call i32 @fileno(ptr noundef %7149) #11
  %7151 = call i32 @isatty(i32 noundef %7150) #11
  %7152 = icmp ne i32 %7151, 0
  br i1 %7152, label %7153, label %7170

7153:                                             ; preds = %7148
  %7154 = load i32, ptr %171, align 4, !tbaa !5
  %7155 = call ptr @__errno_location() #12
  store i32 %7154, ptr %7155, align 4, !tbaa !5
  %7156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7157 = load i32, ptr @test_count, align 4, !tbaa !5
  %7158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  %7160 = call ptr @s2n_strerror(i32 noundef %7159, ptr noundef @.str.4)
  %7161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7162 = load i32, ptr %7161, align 4, !tbaa !5
  %7163 = call ptr @s2n_strerror_debug(i32 noundef %7162, ptr noundef @.str.4)
  %7164 = call ptr @__errno_location() #12
  %7165 = load i32, ptr %7164, align 4, !tbaa !5
  %7166 = call ptr @strerror(i32 noundef %7165) #11
  %7167 = call ptr @__errno_location() #12
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  %7169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7156, ptr noundef @.str.2, i32 noundef %7157, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 458, ptr noundef %7160, ptr noundef %7163, ptr noundef %7166, i32 noundef %7168) #11
  br label %7187

7170:                                             ; preds = %7148, %7141
  %7171 = load i32, ptr %171, align 4, !tbaa !5
  %7172 = call ptr @__errno_location() #12
  store i32 %7171, ptr %7172, align 4, !tbaa !5
  %7173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7174 = load i32, ptr @test_count, align 4, !tbaa !5
  %7175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7176 = load i32, ptr %7175, align 4, !tbaa !5
  %7177 = call ptr @s2n_strerror(i32 noundef %7176, ptr noundef @.str.4)
  %7178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7179 = load i32, ptr %7178, align 4, !tbaa !5
  %7180 = call ptr @s2n_strerror_debug(i32 noundef %7179, ptr noundef @.str.4)
  %7181 = call ptr @__errno_location() #12
  %7182 = load i32, ptr %7181, align 4, !tbaa !5
  %7183 = call ptr @strerror(i32 noundef %7182) #11
  %7184 = call ptr @__errno_location() #12
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  %7186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7173, ptr noundef @.str.5, i32 noundef %7174, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 458, ptr noundef %7177, ptr noundef %7180, ptr noundef %7183, i32 noundef %7185) #11
  br label %7187

7187:                                             ; preds = %7170, %7153
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %7188

7188:                                             ; preds = %7187
  br label %7189

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

7190:                                             ; No predecessors!
  br label %7191

7191:                                             ; preds = %7190
  br label %7192

7192:                                             ; preds = %7191, %7131
  br label %7193

7193:                                             ; preds = %7192
  br label %7194

7194:                                             ; preds = %7193
  br label %7195

7195:                                             ; preds = %7194
  %7196 = load i32, ptr @test_count, align 4, !tbaa !5
  %7197 = add nsw i32 %7196, 1
  store i32 %7197, ptr @test_count, align 4, !tbaa !5
  %7198 = load i16, ptr %165, align 2, !tbaa !72
  %7199 = zext i16 %7198 to i32
  %7200 = call ptr @s2n_stuffer_raw_read(ptr noundef %148, i32 noundef %7199)
  store ptr %7200, ptr %166, align 8, !tbaa !9
  %7201 = icmp eq ptr %7200, null
  br i1 %7201, label %7202, label %7255

7202:                                             ; preds = %7195
  br label %7203

7203:                                             ; preds = %7202
  br label %7204

7204:                                             ; preds = %7203
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %7205 = call ptr @__errno_location() #12
  %7206 = load i32, ptr %7205, align 4, !tbaa !5
  store i32 %7206, ptr %172, align 4, !tbaa !5
  %7207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7208 = call i32 @s2n_print_stacktrace(ptr noundef %7207)
  %7209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7210 = trunc i8 %7209 to i1
  br i1 %7210, label %7211, label %7233

7211:                                             ; preds = %7204
  %7212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7213 = call i32 @fileno(ptr noundef %7212) #11
  %7214 = call i32 @isatty(i32 noundef %7213) #11
  %7215 = icmp ne i32 %7214, 0
  br i1 %7215, label %7216, label %7233

7216:                                             ; preds = %7211
  %7217 = load i32, ptr %172, align 4, !tbaa !5
  %7218 = call ptr @__errno_location() #12
  store i32 %7217, ptr %7218, align 4, !tbaa !5
  %7219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7220 = load i32, ptr @test_count, align 4, !tbaa !5
  %7221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7222 = load i32, ptr %7221, align 4, !tbaa !5
  %7223 = call ptr @s2n_strerror(i32 noundef %7222, ptr noundef @.str.4)
  %7224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7225 = load i32, ptr %7224, align 4, !tbaa !5
  %7226 = call ptr @s2n_strerror_debug(i32 noundef %7225, ptr noundef @.str.4)
  %7227 = call ptr @__errno_location() #12
  %7228 = load i32, ptr %7227, align 4, !tbaa !5
  %7229 = call ptr @strerror(i32 noundef %7228) #11
  %7230 = call ptr @__errno_location() #12
  %7231 = load i32, ptr %7230, align 4, !tbaa !5
  %7232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7219, ptr noundef @.str.2, i32 noundef %7220, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 459, ptr noundef %7223, ptr noundef %7226, ptr noundef %7229, i32 noundef %7231) #11
  br label %7250

7233:                                             ; preds = %7211, %7204
  %7234 = load i32, ptr %172, align 4, !tbaa !5
  %7235 = call ptr @__errno_location() #12
  store i32 %7234, ptr %7235, align 4, !tbaa !5
  %7236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7237 = load i32, ptr @test_count, align 4, !tbaa !5
  %7238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7239 = load i32, ptr %7238, align 4, !tbaa !5
  %7240 = call ptr @s2n_strerror(i32 noundef %7239, ptr noundef @.str.4)
  %7241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7242 = load i32, ptr %7241, align 4, !tbaa !5
  %7243 = call ptr @s2n_strerror_debug(i32 noundef %7242, ptr noundef @.str.4)
  %7244 = call ptr @__errno_location() #12
  %7245 = load i32, ptr %7244, align 4, !tbaa !5
  %7246 = call ptr @strerror(i32 noundef %7245) #11
  %7247 = call ptr @__errno_location() #12
  %7248 = load i32, ptr %7247, align 4, !tbaa !5
  %7249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7236, ptr noundef @.str.5, i32 noundef %7237, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 459, ptr noundef %7240, ptr noundef %7243, ptr noundef %7246, i32 noundef %7248) #11
  br label %7250

7250:                                             ; preds = %7233, %7216
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %7251

7251:                                             ; preds = %7250
  br label %7252

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

7253:                                             ; No predecessors!
  br label %7254

7254:                                             ; preds = %7253
  br label %7255

7255:                                             ; preds = %7254, %7195
  br label %7256

7256:                                             ; preds = %7255
  br label %7257

7257:                                             ; preds = %7256
  br label %7258

7258:                                             ; preds = %7257
  %7259 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 3
  %7260 = load i64, ptr %7259, align 8, !tbaa !77
  %7261 = icmp ne i64 %7260, 0
  br i1 %7261, label %7262, label %7329

7262:                                             ; preds = %7258
  br label %7263

7263:                                             ; preds = %7262
  %7264 = load i32, ptr @test_count, align 4, !tbaa !5
  %7265 = add nsw i32 %7264, 1
  store i32 %7265, ptr @test_count, align 4, !tbaa !5
  %7266 = load ptr, ptr %166, align 8, !tbaa !9
  %7267 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 2
  %7268 = load ptr, ptr %7267, align 8, !tbaa !76
  %7269 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 3
  %7270 = load i64, ptr %7269, align 8, !tbaa !77
  %7271 = call i32 @memcmp(ptr noundef %7266, ptr noundef %7268, i64 noundef %7270) #14
  %7272 = icmp eq i32 %7271, 0
  br i1 %7272, label %7326, label %7273

7273:                                             ; preds = %7263
  br label %7274

7274:                                             ; preds = %7273
  br label %7275

7275:                                             ; preds = %7274
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %7276 = call ptr @__errno_location() #12
  %7277 = load i32, ptr %7276, align 4, !tbaa !5
  store i32 %7277, ptr %173, align 4, !tbaa !5
  %7278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7279 = call i32 @s2n_print_stacktrace(ptr noundef %7278)
  %7280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7281 = trunc i8 %7280 to i1
  br i1 %7281, label %7282, label %7304

7282:                                             ; preds = %7275
  %7283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7284 = call i32 @fileno(ptr noundef %7283) #11
  %7285 = call i32 @isatty(i32 noundef %7284) #11
  %7286 = icmp ne i32 %7285, 0
  br i1 %7286, label %7287, label %7304

7287:                                             ; preds = %7282
  %7288 = load i32, ptr %173, align 4, !tbaa !5
  %7289 = call ptr @__errno_location() #12
  store i32 %7288, ptr %7289, align 4, !tbaa !5
  %7290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7291 = load i32, ptr @test_count, align 4, !tbaa !5
  %7292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7293 = load i32, ptr %7292, align 4, !tbaa !5
  %7294 = call ptr @s2n_strerror(i32 noundef %7293, ptr noundef @.str.4)
  %7295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7296 = load i32, ptr %7295, align 4, !tbaa !5
  %7297 = call ptr @s2n_strerror_debug(i32 noundef %7296, ptr noundef @.str.4)
  %7298 = call ptr @__errno_location() #12
  %7299 = load i32, ptr %7298, align 4, !tbaa !5
  %7300 = call ptr @strerror(i32 noundef %7299) #11
  %7301 = call ptr @__errno_location() #12
  %7302 = load i32, ptr %7301, align 4, !tbaa !5
  %7303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7290, ptr noundef @.str.2, i32 noundef %7291, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 460, ptr noundef %7294, ptr noundef %7297, ptr noundef %7300, i32 noundef %7302) #11
  br label %7321

7304:                                             ; preds = %7282, %7275
  %7305 = load i32, ptr %173, align 4, !tbaa !5
  %7306 = call ptr @__errno_location() #12
  store i32 %7305, ptr %7306, align 4, !tbaa !5
  %7307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7308 = load i32, ptr @test_count, align 4, !tbaa !5
  %7309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7310 = load i32, ptr %7309, align 4, !tbaa !5
  %7311 = call ptr @s2n_strerror(i32 noundef %7310, ptr noundef @.str.4)
  %7312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7313 = load i32, ptr %7312, align 4, !tbaa !5
  %7314 = call ptr @s2n_strerror_debug(i32 noundef %7313, ptr noundef @.str.4)
  %7315 = call ptr @__errno_location() #12
  %7316 = load i32, ptr %7315, align 4, !tbaa !5
  %7317 = call ptr @strerror(i32 noundef %7316) #11
  %7318 = call ptr @__errno_location() #12
  %7319 = load i32, ptr %7318, align 4, !tbaa !5
  %7320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7307, ptr noundef @.str.5, i32 noundef %7308, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 460, ptr noundef %7311, ptr noundef %7314, ptr noundef %7317, i32 noundef %7319) #11
  br label %7321

7321:                                             ; preds = %7304, %7287
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %7322

7322:                                             ; preds = %7321
  br label %7323

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

7324:                                             ; No predecessors!
  br label %7325

7325:                                             ; preds = %7324
  br label %7326

7326:                                             ; preds = %7325, %7263
  br label %7327

7327:                                             ; preds = %7326
  br label %7328

7328:                                             ; preds = %7327
  br label %7329

7329:                                             ; preds = %7328, %7258
  br label %7330

7330:                                             ; preds = %7329
  br label %7331

7331:                                             ; preds = %7330
  br label %7332

7332:                                             ; preds = %7331
  %7333 = load i32, ptr @test_count, align 4, !tbaa !5
  %7334 = add nsw i32 %7333, 1
  store i32 %7334, ptr @test_count, align 4, !tbaa !5
  %7335 = call i32 @s2n_stuffer_read_uint32(ptr noundef %148, ptr noundef %167)
  %7336 = icmp eq i32 %7335, -1
  br i1 %7336, label %7337, label %7390

7337:                                             ; preds = %7332
  br label %7338

7338:                                             ; preds = %7337
  br label %7339

7339:                                             ; preds = %7338
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %7340 = call ptr @__errno_location() #12
  %7341 = load i32, ptr %7340, align 4, !tbaa !5
  store i32 %7341, ptr %174, align 4, !tbaa !5
  %7342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7343 = call i32 @s2n_print_stacktrace(ptr noundef %7342)
  %7344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7345 = trunc i8 %7344 to i1
  br i1 %7345, label %7346, label %7368

7346:                                             ; preds = %7339
  %7347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7348 = call i32 @fileno(ptr noundef %7347) #11
  %7349 = call i32 @isatty(i32 noundef %7348) #11
  %7350 = icmp ne i32 %7349, 0
  br i1 %7350, label %7351, label %7368

7351:                                             ; preds = %7346
  %7352 = load i32, ptr %174, align 4, !tbaa !5
  %7353 = call ptr @__errno_location() #12
  store i32 %7352, ptr %7353, align 4, !tbaa !5
  %7354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7355 = load i32, ptr @test_count, align 4, !tbaa !5
  %7356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7357 = load i32, ptr %7356, align 4, !tbaa !5
  %7358 = call ptr @s2n_strerror(i32 noundef %7357, ptr noundef @.str.4)
  %7359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7360 = load i32, ptr %7359, align 4, !tbaa !5
  %7361 = call ptr @s2n_strerror_debug(i32 noundef %7360, ptr noundef @.str.4)
  %7362 = call ptr @__errno_location() #12
  %7363 = load i32, ptr %7362, align 4, !tbaa !5
  %7364 = call ptr @strerror(i32 noundef %7363) #11
  %7365 = call ptr @__errno_location() #12
  %7366 = load i32, ptr %7365, align 4, !tbaa !5
  %7367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7354, ptr noundef @.str.2, i32 noundef %7355, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 462, ptr noundef %7358, ptr noundef %7361, ptr noundef %7364, i32 noundef %7366) #11
  br label %7385

7368:                                             ; preds = %7346, %7339
  %7369 = load i32, ptr %174, align 4, !tbaa !5
  %7370 = call ptr @__errno_location() #12
  store i32 %7369, ptr %7370, align 4, !tbaa !5
  %7371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7372 = load i32, ptr @test_count, align 4, !tbaa !5
  %7373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7374 = load i32, ptr %7373, align 4, !tbaa !5
  %7375 = call ptr @s2n_strerror(i32 noundef %7374, ptr noundef @.str.4)
  %7376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7377 = load i32, ptr %7376, align 4, !tbaa !5
  %7378 = call ptr @s2n_strerror_debug(i32 noundef %7377, ptr noundef @.str.4)
  %7379 = call ptr @__errno_location() #12
  %7380 = load i32, ptr %7379, align 4, !tbaa !5
  %7381 = call ptr @strerror(i32 noundef %7380) #11
  %7382 = call ptr @__errno_location() #12
  %7383 = load i32, ptr %7382, align 4, !tbaa !5
  %7384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7371, ptr noundef @.str.5, i32 noundef %7372, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 462, ptr noundef %7375, ptr noundef %7378, ptr noundef %7381, i32 noundef %7383) #11
  br label %7385

7385:                                             ; preds = %7368, %7351
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %7386

7386:                                             ; preds = %7385
  br label %7387

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

7388:                                             ; No predecessors!
  br label %7389

7389:                                             ; preds = %7388
  br label %7390

7390:                                             ; preds = %7389, %7332
  br label %7391

7391:                                             ; preds = %7390
  br label %7392

7392:                                             ; preds = %7391
  br label %7393

7393:                                             ; preds = %7392
  %7394 = load i32, ptr @test_count, align 4, !tbaa !5
  %7395 = add nsw i32 %7394, 1
  store i32 %7395, ptr @test_count, align 4, !tbaa !5
  %7396 = getelementptr inbounds %struct.s2n_stuffer, ptr %148, i32 0, i32 2
  %7397 = load i32, ptr %7396, align 4, !tbaa !70
  %7398 = getelementptr inbounds %struct.s2n_stuffer, ptr %148, i32 0, i32 1
  %7399 = load i32, ptr %7398, align 8, !tbaa !71
  %7400 = sub i32 %7397, %7399
  %7401 = zext i32 %7400 to i64
  %7402 = getelementptr inbounds %struct.s2n_psk_test_case, ptr %150, i32 0, i32 1
  %7403 = load i8, ptr %7402, align 4, !tbaa !75
  %7404 = zext i8 %7403 to i64
  %7405 = add i64 %7404, 1
  %7406 = add i64 %7405, 2
  %7407 = icmp eq i64 %7401, %7406
  br i1 %7407, label %7461, label %7408

7408:                                             ; preds = %7393
  br label %7409

7409:                                             ; preds = %7408
  br label %7410

7410:                                             ; preds = %7409
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %7411 = call ptr @__errno_location() #12
  %7412 = load i32, ptr %7411, align 4, !tbaa !5
  store i32 %7412, ptr %175, align 4, !tbaa !5
  %7413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7414 = call i32 @s2n_print_stacktrace(ptr noundef %7413)
  %7415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7416 = trunc i8 %7415 to i1
  br i1 %7416, label %7417, label %7439

7417:                                             ; preds = %7410
  %7418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7419 = call i32 @fileno(ptr noundef %7418) #11
  %7420 = call i32 @isatty(i32 noundef %7419) #11
  %7421 = icmp ne i32 %7420, 0
  br i1 %7421, label %7422, label %7439

7422:                                             ; preds = %7417
  %7423 = load i32, ptr %175, align 4, !tbaa !5
  %7424 = call ptr @__errno_location() #12
  store i32 %7423, ptr %7424, align 4, !tbaa !5
  %7425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7426 = load i32, ptr @test_count, align 4, !tbaa !5
  %7427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7428 = load i32, ptr %7427, align 4, !tbaa !5
  %7429 = call ptr @s2n_strerror(i32 noundef %7428, ptr noundef @.str.4)
  %7430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7431 = load i32, ptr %7430, align 4, !tbaa !5
  %7432 = call ptr @s2n_strerror_debug(i32 noundef %7431, ptr noundef @.str.4)
  %7433 = call ptr @__errno_location() #12
  %7434 = load i32, ptr %7433, align 4, !tbaa !5
  %7435 = call ptr @strerror(i32 noundef %7434) #11
  %7436 = call ptr @__errno_location() #12
  %7437 = load i32, ptr %7436, align 4, !tbaa !5
  %7438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7425, ptr noundef @.str.2, i32 noundef %7426, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 469, ptr noundef %7429, ptr noundef %7432, ptr noundef %7435, i32 noundef %7437) #11
  br label %7456

7439:                                             ; preds = %7417, %7410
  %7440 = load i32, ptr %175, align 4, !tbaa !5
  %7441 = call ptr @__errno_location() #12
  store i32 %7440, ptr %7441, align 4, !tbaa !5
  %7442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7443 = load i32, ptr @test_count, align 4, !tbaa !5
  %7444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7445 = load i32, ptr %7444, align 4, !tbaa !5
  %7446 = call ptr @s2n_strerror(i32 noundef %7445, ptr noundef @.str.4)
  %7447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7448 = load i32, ptr %7447, align 4, !tbaa !5
  %7449 = call ptr @s2n_strerror_debug(i32 noundef %7448, ptr noundef @.str.4)
  %7450 = call ptr @__errno_location() #12
  %7451 = load i32, ptr %7450, align 4, !tbaa !5
  %7452 = call ptr @strerror(i32 noundef %7451) #11
  %7453 = call ptr @__errno_location() #12
  %7454 = load i32, ptr %7453, align 4, !tbaa !5
  %7455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7442, ptr noundef @.str.5, i32 noundef %7443, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 469, ptr noundef %7446, ptr noundef %7449, ptr noundef %7452, i32 noundef %7454) #11
  br label %7456

7456:                                             ; preds = %7439, %7422
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %7457

7457:                                             ; preds = %7456
  br label %7458

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

7459:                                             ; No predecessors!
  br label %7460

7460:                                             ; preds = %7459
  br label %7461

7461:                                             ; preds = %7460, %7393
  br label %7462

7462:                                             ; preds = %7461
  br label %7463

7463:                                             ; preds = %7462
  br label %7464

7464:                                             ; preds = %7463
  %7465 = load i32, ptr @test_count, align 4, !tbaa !5
  %7466 = add nsw i32 %7465, 1
  store i32 %7466, ptr @test_count, align 4, !tbaa !5
  %7467 = load ptr, ptr %153, align 8, !tbaa !9
  %7468 = call i32 @s2n_connection_free(ptr noundef %7467)
  %7469 = icmp eq i32 %7468, -1
  br i1 %7469, label %7470, label %7523

7470:                                             ; preds = %7464
  br label %7471

7471:                                             ; preds = %7470
  br label %7472

7472:                                             ; preds = %7471
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %7473 = call ptr @__errno_location() #12
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  store i32 %7474, ptr %176, align 4, !tbaa !5
  %7475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7476 = call i32 @s2n_print_stacktrace(ptr noundef %7475)
  %7477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7478 = trunc i8 %7477 to i1
  br i1 %7478, label %7479, label %7501

7479:                                             ; preds = %7472
  %7480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7481 = call i32 @fileno(ptr noundef %7480) #11
  %7482 = call i32 @isatty(i32 noundef %7481) #11
  %7483 = icmp ne i32 %7482, 0
  br i1 %7483, label %7484, label %7501

7484:                                             ; preds = %7479
  %7485 = load i32, ptr %176, align 4, !tbaa !5
  %7486 = call ptr @__errno_location() #12
  store i32 %7485, ptr %7486, align 4, !tbaa !5
  %7487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7488 = load i32, ptr @test_count, align 4, !tbaa !5
  %7489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7490 = load i32, ptr %7489, align 4, !tbaa !5
  %7491 = call ptr @s2n_strerror(i32 noundef %7490, ptr noundef @.str.4)
  %7492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7493 = load i32, ptr %7492, align 4, !tbaa !5
  %7494 = call ptr @s2n_strerror_debug(i32 noundef %7493, ptr noundef @.str.4)
  %7495 = call ptr @__errno_location() #12
  %7496 = load i32, ptr %7495, align 4, !tbaa !5
  %7497 = call ptr @strerror(i32 noundef %7496) #11
  %7498 = call ptr @__errno_location() #12
  %7499 = load i32, ptr %7498, align 4, !tbaa !5
  %7500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7487, ptr noundef @.str.2, i32 noundef %7488, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 472, ptr noundef %7491, ptr noundef %7494, ptr noundef %7497, i32 noundef %7499) #11
  br label %7518

7501:                                             ; preds = %7479, %7472
  %7502 = load i32, ptr %176, align 4, !tbaa !5
  %7503 = call ptr @__errno_location() #12
  store i32 %7502, ptr %7503, align 4, !tbaa !5
  %7504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7505 = load i32, ptr @test_count, align 4, !tbaa !5
  %7506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7507 = load i32, ptr %7506, align 4, !tbaa !5
  %7508 = call ptr @s2n_strerror(i32 noundef %7507, ptr noundef @.str.4)
  %7509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7510 = load i32, ptr %7509, align 4, !tbaa !5
  %7511 = call ptr @s2n_strerror_debug(i32 noundef %7510, ptr noundef @.str.4)
  %7512 = call ptr @__errno_location() #12
  %7513 = load i32, ptr %7512, align 4, !tbaa !5
  %7514 = call ptr @strerror(i32 noundef %7513) #11
  %7515 = call ptr @__errno_location() #12
  %7516 = load i32, ptr %7515, align 4, !tbaa !5
  %7517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7504, ptr noundef @.str.5, i32 noundef %7505, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 472, ptr noundef %7508, ptr noundef %7511, ptr noundef %7514, i32 noundef %7516) #11
  br label %7518

7518:                                             ; preds = %7501, %7484
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %7519

7519:                                             ; preds = %7518
  br label %7520

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

7521:                                             ; No predecessors!
  br label %7522

7522:                                             ; preds = %7521
  br label %7523

7523:                                             ; preds = %7522, %7464
  br label %7524

7524:                                             ; preds = %7523
  br label %7525

7525:                                             ; preds = %7524
  br label %7526

7526:                                             ; preds = %7525
  %7527 = load i32, ptr @test_count, align 4, !tbaa !5
  %7528 = add nsw i32 %7527, 1
  store i32 %7528, ptr @test_count, align 4, !tbaa !5
  %7529 = call i32 @s2n_stuffer_free(ptr noundef %148)
  %7530 = icmp eq i32 %7529, -1
  br i1 %7530, label %7531, label %7584

7531:                                             ; preds = %7526
  br label %7532

7532:                                             ; preds = %7531
  br label %7533

7533:                                             ; preds = %7532
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %7534 = call ptr @__errno_location() #12
  %7535 = load i32, ptr %7534, align 4, !tbaa !5
  store i32 %7535, ptr %177, align 4, !tbaa !5
  %7536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7537 = call i32 @s2n_print_stacktrace(ptr noundef %7536)
  %7538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7539 = trunc i8 %7538 to i1
  br i1 %7539, label %7540, label %7562

7540:                                             ; preds = %7533
  %7541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7542 = call i32 @fileno(ptr noundef %7541) #11
  %7543 = call i32 @isatty(i32 noundef %7542) #11
  %7544 = icmp ne i32 %7543, 0
  br i1 %7544, label %7545, label %7562

7545:                                             ; preds = %7540
  %7546 = load i32, ptr %177, align 4, !tbaa !5
  %7547 = call ptr @__errno_location() #12
  store i32 %7546, ptr %7547, align 4, !tbaa !5
  %7548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7549 = load i32, ptr @test_count, align 4, !tbaa !5
  %7550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7551 = load i32, ptr %7550, align 4, !tbaa !5
  %7552 = call ptr @s2n_strerror(i32 noundef %7551, ptr noundef @.str.4)
  %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_debug(i32 noundef %7554, ptr noundef @.str.4)
  %7556 = call ptr @__errno_location() #12
  %7557 = load i32, ptr %7556, align 4, !tbaa !5
  %7558 = call ptr @strerror(i32 noundef %7557) #11
  %7559 = call ptr @__errno_location() #12
  %7560 = load i32, ptr %7559, align 4, !tbaa !5
  %7561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7548, ptr noundef @.str.2, i32 noundef %7549, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 473, ptr noundef %7552, ptr noundef %7555, ptr noundef %7558, i32 noundef %7560) #11
  br label %7579

7562:                                             ; preds = %7540, %7533
  %7563 = load i32, ptr %177, align 4, !tbaa !5
  %7564 = call ptr @__errno_location() #12
  store i32 %7563, ptr %7564, align 4, !tbaa !5
  %7565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7566 = load i32, ptr @test_count, align 4, !tbaa !5
  %7567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7568 = load i32, ptr %7567, align 4, !tbaa !5
  %7569 = call ptr @s2n_strerror(i32 noundef %7568, ptr noundef @.str.4)
  %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_debug(i32 noundef %7571, ptr noundef @.str.4)
  %7573 = call ptr @__errno_location() #12
  %7574 = load i32, ptr %7573, align 4, !tbaa !5
  %7575 = call ptr @strerror(i32 noundef %7574) #11
  %7576 = call ptr @__errno_location() #12
  %7577 = load i32, ptr %7576, align 4, !tbaa !5
  %7578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7565, ptr noundef @.str.5, i32 noundef %7566, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 473, ptr noundef %7569, ptr noundef %7572, ptr noundef %7575, i32 noundef %7577) #11
  br label %7579

7579:                                             ; preds = %7562, %7545
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %7580

7580:                                             ; preds = %7579
  br label %7581

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

7582:                                             ; No predecessors!
  br label %7583

7583:                                             ; preds = %7582
  br label %7584

7584:                                             ; preds = %7583, %7526
  br label %7585

7585:                                             ; preds = %7584
  br label %7586

7586:                                             ; preds = %7585
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %165) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %164) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr %152) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %151) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %150) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %148) #11
  %7587 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %7587, label %7588, label %8738

7588:                                             ; preds = %7586
  call void @llvm.lifetime.start.p0(i64 8, ptr %178) #11
  store ptr null, ptr %178, align 8, !tbaa !9
  br label %7589

7589:                                             ; preds = %7588
  %7590 = load i32, ptr @test_count, align 4, !tbaa !5
  %7591 = add nsw i32 %7590, 1
  store i32 %7591, ptr @test_count, align 4, !tbaa !5
  %7592 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %178, ptr noundef @.str.58, ptr noundef @.str.59)
  %7593 = icmp eq i32 %7592, -1
  br i1 %7593, label %7594, label %7647

7594:                                             ; preds = %7589
  br label %7595

7595:                                             ; preds = %7594
  br label %7596

7596:                                             ; preds = %7595
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %7597 = call ptr @__errno_location() #12
  %7598 = load i32, ptr %7597, align 4, !tbaa !5
  store i32 %7598, ptr %179, align 4, !tbaa !5
  %7599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7600 = call i32 @s2n_print_stacktrace(ptr noundef %7599)
  %7601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7602 = trunc i8 %7601 to i1
  br i1 %7602, label %7603, label %7625

7603:                                             ; preds = %7596
  %7604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7605 = call i32 @fileno(ptr noundef %7604) #11
  %7606 = call i32 @isatty(i32 noundef %7605) #11
  %7607 = icmp ne i32 %7606, 0
  br i1 %7607, label %7608, label %7625

7608:                                             ; preds = %7603
  %7609 = load i32, ptr %179, align 4, !tbaa !5
  %7610 = call ptr @__errno_location() #12
  store i32 %7609, ptr %7610, align 4, !tbaa !5
  %7611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7612 = load i32, ptr @test_count, align 4, !tbaa !5
  %7613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7614 = load i32, ptr %7613, align 4, !tbaa !5
  %7615 = call ptr @s2n_strerror(i32 noundef %7614, ptr noundef @.str.4)
  %7616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7617 = load i32, ptr %7616, align 4, !tbaa !5
  %7618 = call ptr @s2n_strerror_debug(i32 noundef %7617, ptr noundef @.str.4)
  %7619 = call ptr @__errno_location() #12
  %7620 = load i32, ptr %7619, align 4, !tbaa !5
  %7621 = call ptr @strerror(i32 noundef %7620) #11
  %7622 = call ptr @__errno_location() #12
  %7623 = load i32, ptr %7622, align 4, !tbaa !5
  %7624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7611, ptr noundef @.str.2, i32 noundef %7612, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 489, ptr noundef %7615, ptr noundef %7618, ptr noundef %7621, i32 noundef %7623) #11
  br label %7642

7625:                                             ; preds = %7603, %7596
  %7626 = load i32, ptr %179, align 4, !tbaa !5
  %7627 = call ptr @__errno_location() #12
  store i32 %7626, ptr %7627, align 4, !tbaa !5
  %7628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7629 = load i32, ptr @test_count, align 4, !tbaa !5
  %7630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7631 = load i32, ptr %7630, align 4, !tbaa !5
  %7632 = call ptr @s2n_strerror(i32 noundef %7631, ptr noundef @.str.4)
  %7633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7634 = load i32, ptr %7633, align 4, !tbaa !5
  %7635 = call ptr @s2n_strerror_debug(i32 noundef %7634, ptr noundef @.str.4)
  %7636 = call ptr @__errno_location() #12
  %7637 = load i32, ptr %7636, align 4, !tbaa !5
  %7638 = call ptr @strerror(i32 noundef %7637) #11
  %7639 = call ptr @__errno_location() #12
  %7640 = load i32, ptr %7639, align 4, !tbaa !5
  %7641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7628, ptr noundef @.str.5, i32 noundef %7629, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 489, ptr noundef %7632, ptr noundef %7635, ptr noundef %7638, i32 noundef %7640) #11
  br label %7642

7642:                                             ; preds = %7625, %7608
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %7643

7643:                                             ; preds = %7642
  br label %7644

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

7645:                                             ; No predecessors!
  br label %7646

7646:                                             ; preds = %7645
  br label %7647

7647:                                             ; preds = %7646, %7589
  br label %7648

7648:                                             ; preds = %7647
  br label %7649

7649:                                             ; preds = %7648
  call void @llvm.lifetime.start.p0(i64 8, ptr %180) #11
  %7650 = call ptr @s2n_config_new()
  store ptr %7650, ptr %180, align 8, !tbaa !9
  br label %7651

7651:                                             ; preds = %7649
  %7652 = load i32, ptr @test_count, align 4, !tbaa !5
  %7653 = add nsw i32 %7652, 1
  store i32 %7653, ptr @test_count, align 4, !tbaa !5
  %7654 = load ptr, ptr %180, align 8, !tbaa !9
  %7655 = load ptr, ptr %178, align 8, !tbaa !9
  %7656 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7654, ptr noundef %7655)
  %7657 = icmp eq i32 %7656, -1
  br i1 %7657, label %7658, label %7711

7658:                                             ; preds = %7651
  br label %7659

7659:                                             ; preds = %7658
  br label %7660

7660:                                             ; preds = %7659
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %7661 = call ptr @__errno_location() #12
  %7662 = load i32, ptr %7661, align 4, !tbaa !5
  store i32 %7662, ptr %181, align 4, !tbaa !5
  %7663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7664 = call i32 @s2n_print_stacktrace(ptr noundef %7663)
  %7665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7666 = trunc i8 %7665 to i1
  br i1 %7666, label %7667, label %7689

7667:                                             ; preds = %7660
  %7668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7669 = call i32 @fileno(ptr noundef %7668) #11
  %7670 = call i32 @isatty(i32 noundef %7669) #11
  %7671 = icmp ne i32 %7670, 0
  br i1 %7671, label %7672, label %7689

7672:                                             ; preds = %7667
  %7673 = load i32, ptr %181, align 4, !tbaa !5
  %7674 = call ptr @__errno_location() #12
  store i32 %7673, ptr %7674, align 4, !tbaa !5
  %7675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7676 = load i32, ptr @test_count, align 4, !tbaa !5
  %7677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7678 = load i32, ptr %7677, align 4, !tbaa !5
  %7679 = call ptr @s2n_strerror(i32 noundef %7678, ptr noundef @.str.4)
  %7680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7681 = load i32, ptr %7680, align 4, !tbaa !5
  %7682 = call ptr @s2n_strerror_debug(i32 noundef %7681, ptr noundef @.str.4)
  %7683 = call ptr @__errno_location() #12
  %7684 = load i32, ptr %7683, align 4, !tbaa !5
  %7685 = call ptr @strerror(i32 noundef %7684) #11
  %7686 = call ptr @__errno_location() #12
  %7687 = load i32, ptr %7686, align 4, !tbaa !5
  %7688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7675, ptr noundef @.str.2, i32 noundef %7676, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 493, ptr noundef %7679, ptr noundef %7682, ptr noundef %7685, i32 noundef %7687) #11
  br label %7706

7689:                                             ; preds = %7667, %7660
  %7690 = load i32, ptr %181, align 4, !tbaa !5
  %7691 = call ptr @__errno_location() #12
  store i32 %7690, ptr %7691, align 4, !tbaa !5
  %7692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7693 = load i32, ptr @test_count, align 4, !tbaa !5
  %7694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7695 = load i32, ptr %7694, align 4, !tbaa !5
  %7696 = call ptr @s2n_strerror(i32 noundef %7695, ptr noundef @.str.4)
  %7697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7698 = load i32, ptr %7697, align 4, !tbaa !5
  %7699 = call ptr @s2n_strerror_debug(i32 noundef %7698, ptr noundef @.str.4)
  %7700 = call ptr @__errno_location() #12
  %7701 = load i32, ptr %7700, align 4, !tbaa !5
  %7702 = call ptr @strerror(i32 noundef %7701) #11
  %7703 = call ptr @__errno_location() #12
  %7704 = load i32, ptr %7703, align 4, !tbaa !5
  %7705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7692, ptr noundef @.str.5, i32 noundef %7693, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 493, ptr noundef %7696, ptr noundef %7699, ptr noundef %7702, i32 noundef %7704) #11
  br label %7706

7706:                                             ; preds = %7689, %7672
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %7707

7707:                                             ; preds = %7706
  br label %7708

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

7709:                                             ; No predecessors!
  br label %7710

7710:                                             ; preds = %7709
  br label %7711

7711:                                             ; preds = %7710, %7651
  br label %7712

7712:                                             ; preds = %7711
  br label %7713

7713:                                             ; preds = %7712
  br label %7714

7714:                                             ; preds = %7713
  %7715 = load i32, ptr @test_count, align 4, !tbaa !5
  %7716 = add nsw i32 %7715, 1
  store i32 %7716, ptr @test_count, align 4, !tbaa !5
  %7717 = load ptr, ptr %180, align 8, !tbaa !9
  %7718 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %7717, ptr noundef @.str.62)
  %7719 = icmp eq i32 %7718, -1
  br i1 %7719, label %7720, label %7773

7720:                                             ; preds = %7714
  br label %7721

7721:                                             ; preds = %7720
  br label %7722

7722:                                             ; preds = %7721
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %7723 = call ptr @__errno_location() #12
  %7724 = load i32, ptr %7723, align 4, !tbaa !5
  store i32 %7724, ptr %182, align 4, !tbaa !5
  %7725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7726 = call i32 @s2n_print_stacktrace(ptr noundef %7725)
  %7727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7728 = trunc i8 %7727 to i1
  br i1 %7728, label %7729, label %7751

7729:                                             ; preds = %7722
  %7730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7731 = call i32 @fileno(ptr noundef %7730) #11
  %7732 = call i32 @isatty(i32 noundef %7731) #11
  %7733 = icmp ne i32 %7732, 0
  br i1 %7733, label %7734, label %7751

7734:                                             ; preds = %7729
  %7735 = load i32, ptr %182, align 4, !tbaa !5
  %7736 = call ptr @__errno_location() #12
  store i32 %7735, ptr %7736, align 4, !tbaa !5
  %7737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7738 = load i32, ptr @test_count, align 4, !tbaa !5
  %7739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7740 = load i32, ptr %7739, align 4, !tbaa !5
  %7741 = call ptr @s2n_strerror(i32 noundef %7740, ptr noundef @.str.4)
  %7742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7743 = load i32, ptr %7742, align 4, !tbaa !5
  %7744 = call ptr @s2n_strerror_debug(i32 noundef %7743, ptr noundef @.str.4)
  %7745 = call ptr @__errno_location() #12
  %7746 = load i32, ptr %7745, align 4, !tbaa !5
  %7747 = call ptr @strerror(i32 noundef %7746) #11
  %7748 = call ptr @__errno_location() #12
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  %7750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7737, ptr noundef @.str.2, i32 noundef %7738, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 494, ptr noundef %7741, ptr noundef %7744, ptr noundef %7747, i32 noundef %7749) #11
  br label %7768

7751:                                             ; preds = %7729, %7722
  %7752 = load i32, ptr %182, align 4, !tbaa !5
  %7753 = call ptr @__errno_location() #12
  store i32 %7752, ptr %7753, align 4, !tbaa !5
  %7754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7755 = load i32, ptr @test_count, align 4, !tbaa !5
  %7756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7757 = load i32, ptr %7756, align 4, !tbaa !5
  %7758 = call ptr @s2n_strerror(i32 noundef %7757, ptr noundef @.str.4)
  %7759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7760 = load i32, ptr %7759, align 4, !tbaa !5
  %7761 = call ptr @s2n_strerror_debug(i32 noundef %7760, ptr noundef @.str.4)
  %7762 = call ptr @__errno_location() #12
  %7763 = load i32, ptr %7762, align 4, !tbaa !5
  %7764 = call ptr @strerror(i32 noundef %7763) #11
  %7765 = call ptr @__errno_location() #12
  %7766 = load i32, ptr %7765, align 4, !tbaa !5
  %7767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7754, ptr noundef @.str.5, i32 noundef %7755, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 494, ptr noundef %7758, ptr noundef %7761, ptr noundef %7764, i32 noundef %7766) #11
  br label %7768

7768:                                             ; preds = %7751, %7734
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %7769

7769:                                             ; preds = %7768
  br label %7770

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

7771:                                             ; No predecessors!
  br label %7772

7772:                                             ; preds = %7771
  br label %7773

7773:                                             ; preds = %7772, %7714
  br label %7774

7774:                                             ; preds = %7773
  br label %7775

7775:                                             ; preds = %7774
  br label %7776

7776:                                             ; preds = %7775
  %7777 = load i32, ptr @test_count, align 4, !tbaa !5
  %7778 = add nsw i32 %7777, 1
  store i32 %7778, ptr @test_count, align 4, !tbaa !5
  %7779 = load ptr, ptr %180, align 8, !tbaa !9
  %7780 = call i32 @s2n_config_disable_x509_verification(ptr noundef %7779)
  %7781 = icmp eq i32 %7780, -1
  br i1 %7781, label %7782, label %7835

7782:                                             ; preds = %7776
  br label %7783

7783:                                             ; preds = %7782
  br label %7784

7784:                                             ; preds = %7783
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %7785 = call ptr @__errno_location() #12
  %7786 = load i32, ptr %7785, align 4, !tbaa !5
  store i32 %7786, ptr %183, align 4, !tbaa !5
  %7787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7788 = call i32 @s2n_print_stacktrace(ptr noundef %7787)
  %7789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7790 = trunc i8 %7789 to i1
  br i1 %7790, label %7791, label %7813

7791:                                             ; preds = %7784
  %7792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7793 = call i32 @fileno(ptr noundef %7792) #11
  %7794 = call i32 @isatty(i32 noundef %7793) #11
  %7795 = icmp ne i32 %7794, 0
  br i1 %7795, label %7796, label %7813

7796:                                             ; preds = %7791
  %7797 = load i32, ptr %183, align 4, !tbaa !5
  %7798 = call ptr @__errno_location() #12
  store i32 %7797, ptr %7798, align 4, !tbaa !5
  %7799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7800 = load i32, ptr @test_count, align 4, !tbaa !5
  %7801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7802 = load i32, ptr %7801, align 4, !tbaa !5
  %7803 = call ptr @s2n_strerror(i32 noundef %7802, ptr noundef @.str.4)
  %7804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7805 = load i32, ptr %7804, align 4, !tbaa !5
  %7806 = call ptr @s2n_strerror_debug(i32 noundef %7805, ptr noundef @.str.4)
  %7807 = call ptr @__errno_location() #12
  %7808 = load i32, ptr %7807, align 4, !tbaa !5
  %7809 = call ptr @strerror(i32 noundef %7808) #11
  %7810 = call ptr @__errno_location() #12
  %7811 = load i32, ptr %7810, align 4, !tbaa !5
  %7812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7799, ptr noundef @.str.2, i32 noundef %7800, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 495, ptr noundef %7803, ptr noundef %7806, ptr noundef %7809, i32 noundef %7811) #11
  br label %7830

7813:                                             ; preds = %7791, %7784
  %7814 = load i32, ptr %183, align 4, !tbaa !5
  %7815 = call ptr @__errno_location() #12
  store i32 %7814, ptr %7815, align 4, !tbaa !5
  %7816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7817 = load i32, ptr @test_count, align 4, !tbaa !5
  %7818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7819 = load i32, ptr %7818, align 4, !tbaa !5
  %7820 = call ptr @s2n_strerror(i32 noundef %7819, ptr noundef @.str.4)
  %7821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7822 = load i32, ptr %7821, align 4, !tbaa !5
  %7823 = call ptr @s2n_strerror_debug(i32 noundef %7822, ptr noundef @.str.4)
  %7824 = call ptr @__errno_location() #12
  %7825 = load i32, ptr %7824, align 4, !tbaa !5
  %7826 = call ptr @strerror(i32 noundef %7825) #11
  %7827 = call ptr @__errno_location() #12
  %7828 = load i32, ptr %7827, align 4, !tbaa !5
  %7829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7816, ptr noundef @.str.5, i32 noundef %7817, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 495, ptr noundef %7820, ptr noundef %7823, ptr noundef %7826, i32 noundef %7828) #11
  br label %7830

7830:                                             ; preds = %7813, %7796
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %7831

7831:                                             ; preds = %7830
  br label %7832

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

7833:                                             ; No predecessors!
  br label %7834

7834:                                             ; preds = %7833
  br label %7835

7835:                                             ; preds = %7834, %7776
  br label %7836

7836:                                             ; preds = %7835
  br label %7837

7837:                                             ; preds = %7836
  call void @llvm.lifetime.start.p0(i64 8, ptr %184) #11
  %7838 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7838, ptr %184, align 8, !tbaa !9
  br label %7839

7839:                                             ; preds = %7837
  %7840 = load i32, ptr @test_count, align 4, !tbaa !5
  %7841 = add nsw i32 %7840, 1
  store i32 %7841, ptr @test_count, align 4, !tbaa !5
  %7842 = load ptr, ptr %184, align 8, !tbaa !9
  %7843 = icmp eq ptr %7842, null
  br i1 %7843, label %7844, label %7897

7844:                                             ; preds = %7839
  br label %7845

7845:                                             ; preds = %7844
  br label %7846

7846:                                             ; preds = %7845
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %7847 = call ptr @__errno_location() #12
  %7848 = load i32, ptr %7847, align 4, !tbaa !5
  store i32 %7848, ptr %185, align 4, !tbaa !5
  %7849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7850 = call i32 @s2n_print_stacktrace(ptr noundef %7849)
  %7851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7852 = trunc i8 %7851 to i1
  br i1 %7852, label %7853, label %7875

7853:                                             ; preds = %7846
  %7854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7855 = call i32 @fileno(ptr noundef %7854) #11
  %7856 = call i32 @isatty(i32 noundef %7855) #11
  %7857 = icmp ne i32 %7856, 0
  br i1 %7857, label %7858, label %7875

7858:                                             ; preds = %7853
  %7859 = load i32, ptr %185, align 4, !tbaa !5
  %7860 = call ptr @__errno_location() #12
  store i32 %7859, ptr %7860, align 4, !tbaa !5
  %7861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7862 = load i32, ptr @test_count, align 4, !tbaa !5
  %7863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7864 = load i32, ptr %7863, align 4, !tbaa !5
  %7865 = call ptr @s2n_strerror(i32 noundef %7864, ptr noundef @.str.4)
  %7866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7867 = load i32, ptr %7866, align 4, !tbaa !5
  %7868 = call ptr @s2n_strerror_debug(i32 noundef %7867, ptr noundef @.str.4)
  %7869 = call ptr @__errno_location() #12
  %7870 = load i32, ptr %7869, align 4, !tbaa !5
  %7871 = call ptr @strerror(i32 noundef %7870) #11
  %7872 = call ptr @__errno_location() #12
  %7873 = load i32, ptr %7872, align 4, !tbaa !5
  %7874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7861, ptr noundef @.str.2, i32 noundef %7862, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 499, ptr noundef %7865, ptr noundef %7868, ptr noundef %7871, i32 noundef %7873) #11
  br label %7892

7875:                                             ; preds = %7853, %7846
  %7876 = load i32, ptr %185, align 4, !tbaa !5
  %7877 = call ptr @__errno_location() #12
  store i32 %7876, ptr %7877, align 4, !tbaa !5
  %7878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7879 = load i32, ptr @test_count, align 4, !tbaa !5
  %7880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7881 = load i32, ptr %7880, align 4, !tbaa !5
  %7882 = call ptr @s2n_strerror(i32 noundef %7881, ptr noundef @.str.4)
  %7883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7884 = load i32, ptr %7883, align 4, !tbaa !5
  %7885 = call ptr @s2n_strerror_debug(i32 noundef %7884, ptr noundef @.str.4)
  %7886 = call ptr @__errno_location() #12
  %7887 = load i32, ptr %7886, align 4, !tbaa !5
  %7888 = call ptr @strerror(i32 noundef %7887) #11
  %7889 = call ptr @__errno_location() #12
  %7890 = load i32, ptr %7889, align 4, !tbaa !5
  %7891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7878, ptr noundef @.str.5, i32 noundef %7879, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 499, ptr noundef %7882, ptr noundef %7885, ptr noundef %7888, i32 noundef %7890) #11
  br label %7892

7892:                                             ; preds = %7875, %7858
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %7893

7893:                                             ; preds = %7892
  br label %7894

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

7895:                                             ; No predecessors!
  br label %7896

7896:                                             ; preds = %7895
  br label %7897

7897:                                             ; preds = %7896, %7839
  br label %7898

7898:                                             ; preds = %7897
  br label %7899

7899:                                             ; preds = %7898
  br label %7900

7900:                                             ; preds = %7899
  %7901 = load i32, ptr @test_count, align 4, !tbaa !5
  %7902 = add nsw i32 %7901, 1
  store i32 %7902, ptr @test_count, align 4, !tbaa !5
  %7903 = load ptr, ptr %184, align 8, !tbaa !9
  %7904 = load ptr, ptr %180, align 8, !tbaa !9
  %7905 = call i32 @s2n_connection_set_config(ptr noundef %7903, ptr noundef %7904)
  %7906 = icmp eq i32 %7905, -1
  br i1 %7906, label %7907, label %7960

7907:                                             ; preds = %7900
  br label %7908

7908:                                             ; preds = %7907
  br label %7909

7909:                                             ; preds = %7908
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %7910 = call ptr @__errno_location() #12
  %7911 = load i32, ptr %7910, align 4, !tbaa !5
  store i32 %7911, ptr %186, align 4, !tbaa !5
  %7912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7913 = call i32 @s2n_print_stacktrace(ptr noundef %7912)
  %7914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7915 = trunc i8 %7914 to i1
  br i1 %7915, label %7916, label %7938

7916:                                             ; preds = %7909
  %7917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7918 = call i32 @fileno(ptr noundef %7917) #11
  %7919 = call i32 @isatty(i32 noundef %7918) #11
  %7920 = icmp ne i32 %7919, 0
  br i1 %7920, label %7921, label %7938

7921:                                             ; preds = %7916
  %7922 = load i32, ptr %186, align 4, !tbaa !5
  %7923 = call ptr @__errno_location() #12
  store i32 %7922, ptr %7923, align 4, !tbaa !5
  %7924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7925 = load i32, ptr @test_count, align 4, !tbaa !5
  %7926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7927 = load i32, ptr %7926, align 4, !tbaa !5
  %7928 = call ptr @s2n_strerror(i32 noundef %7927, ptr noundef @.str.4)
  %7929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7930 = load i32, ptr %7929, align 4, !tbaa !5
  %7931 = call ptr @s2n_strerror_debug(i32 noundef %7930, ptr noundef @.str.4)
  %7932 = call ptr @__errno_location() #12
  %7933 = load i32, ptr %7932, align 4, !tbaa !5
  %7934 = call ptr @strerror(i32 noundef %7933) #11
  %7935 = call ptr @__errno_location() #12
  %7936 = load i32, ptr %7935, align 4, !tbaa !5
  %7937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7924, ptr noundef @.str.2, i32 noundef %7925, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 500, ptr noundef %7928, ptr noundef %7931, ptr noundef %7934, i32 noundef %7936) #11
  br label %7955

7938:                                             ; preds = %7916, %7909
  %7939 = load i32, ptr %186, align 4, !tbaa !5
  %7940 = call ptr @__errno_location() #12
  store i32 %7939, ptr %7940, align 4, !tbaa !5
  %7941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7942 = load i32, ptr @test_count, align 4, !tbaa !5
  %7943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7944 = load i32, ptr %7943, align 4, !tbaa !5
  %7945 = call ptr @s2n_strerror(i32 noundef %7944, ptr noundef @.str.4)
  %7946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7947 = load i32, ptr %7946, align 4, !tbaa !5
  %7948 = call ptr @s2n_strerror_debug(i32 noundef %7947, ptr noundef @.str.4)
  %7949 = call ptr @__errno_location() #12
  %7950 = load i32, ptr %7949, align 4, !tbaa !5
  %7951 = call ptr @strerror(i32 noundef %7950) #11
  %7952 = call ptr @__errno_location() #12
  %7953 = load i32, ptr %7952, align 4, !tbaa !5
  %7954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7941, ptr noundef @.str.5, i32 noundef %7942, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 500, ptr noundef %7945, ptr noundef %7948, ptr noundef %7951, i32 noundef %7953) #11
  br label %7955

7955:                                             ; preds = %7938, %7921
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %7956

7956:                                             ; preds = %7955
  br label %7957

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

7958:                                             ; No predecessors!
  br label %7959

7959:                                             ; preds = %7958
  br label %7960

7960:                                             ; preds = %7959, %7900
  br label %7961

7961:                                             ; preds = %7960
  br label %7962

7962:                                             ; preds = %7961
  call void @llvm.lifetime.start.p0(i64 8, ptr %187) #11
  %7963 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7963, ptr %187, align 8, !tbaa !9
  br label %7964

7964:                                             ; preds = %7962
  %7965 = load i32, ptr @test_count, align 4, !tbaa !5
  %7966 = add nsw i32 %7965, 1
  store i32 %7966, ptr @test_count, align 4, !tbaa !5
  %7967 = load ptr, ptr %184, align 8, !tbaa !9
  %7968 = icmp eq ptr %7967, null
  br i1 %7968, label %7969, label %8022

7969:                                             ; preds = %7964
  br label %7970

7970:                                             ; preds = %7969
  br label %7971

7971:                                             ; preds = %7970
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %7972 = call ptr @__errno_location() #12
  %7973 = load i32, ptr %7972, align 4, !tbaa !5
  store i32 %7973, ptr %188, align 4, !tbaa !5
  %7974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7975 = call i32 @s2n_print_stacktrace(ptr noundef %7974)
  %7976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7977 = trunc i8 %7976 to i1
  br i1 %7977, label %7978, label %8000

7978:                                             ; preds = %7971
  %7979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7980 = call i32 @fileno(ptr noundef %7979) #11
  %7981 = call i32 @isatty(i32 noundef %7980) #11
  %7982 = icmp ne i32 %7981, 0
  br i1 %7982, label %7983, label %8000

7983:                                             ; preds = %7978
  %7984 = load i32, ptr %188, align 4, !tbaa !5
  %7985 = call ptr @__errno_location() #12
  store i32 %7984, ptr %7985, align 4, !tbaa !5
  %7986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7987 = load i32, ptr @test_count, align 4, !tbaa !5
  %7988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7989 = load i32, ptr %7988, align 4, !tbaa !5
  %7990 = call ptr @s2n_strerror(i32 noundef %7989, ptr noundef @.str.4)
  %7991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7992 = load i32, ptr %7991, align 4, !tbaa !5
  %7993 = call ptr @s2n_strerror_debug(i32 noundef %7992, ptr noundef @.str.4)
  %7994 = call ptr @__errno_location() #12
  %7995 = load i32, ptr %7994, align 4, !tbaa !5
  %7996 = call ptr @strerror(i32 noundef %7995) #11
  %7997 = call ptr @__errno_location() #12
  %7998 = load i32, ptr %7997, align 4, !tbaa !5
  %7999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7986, ptr noundef @.str.2, i32 noundef %7987, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 504, ptr noundef %7990, ptr noundef %7993, ptr noundef %7996, i32 noundef %7998) #11
  br label %8017

8000:                                             ; preds = %7978, %7971
  %8001 = load i32, ptr %188, align 4, !tbaa !5
  %8002 = call ptr @__errno_location() #12
  store i32 %8001, ptr %8002, align 4, !tbaa !5
  %8003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8004 = load i32, ptr @test_count, align 4, !tbaa !5
  %8005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8006 = load i32, ptr %8005, align 4, !tbaa !5
  %8007 = call ptr @s2n_strerror(i32 noundef %8006, ptr noundef @.str.4)
  %8008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8009 = load i32, ptr %8008, align 4, !tbaa !5
  %8010 = call ptr @s2n_strerror_debug(i32 noundef %8009, ptr noundef @.str.4)
  %8011 = call ptr @__errno_location() #12
  %8012 = load i32, ptr %8011, align 4, !tbaa !5
  %8013 = call ptr @strerror(i32 noundef %8012) #11
  %8014 = call ptr @__errno_location() #12
  %8015 = load i32, ptr %8014, align 4, !tbaa !5
  %8016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8003, ptr noundef @.str.5, i32 noundef %8004, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 504, ptr noundef %8007, ptr noundef %8010, ptr noundef %8013, i32 noundef %8015) #11
  br label %8017

8017:                                             ; preds = %8000, %7983
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %8018

8018:                                             ; preds = %8017
  br label %8019

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

8020:                                             ; No predecessors!
  br label %8021

8021:                                             ; preds = %8020
  br label %8022

8022:                                             ; preds = %8021, %7964
  br label %8023

8023:                                             ; preds = %8022
  br label %8024

8024:                                             ; preds = %8023
  br label %8025

8025:                                             ; preds = %8024
  %8026 = load i32, ptr @test_count, align 4, !tbaa !5
  %8027 = add nsw i32 %8026, 1
  store i32 %8027, ptr @test_count, align 4, !tbaa !5
  %8028 = load ptr, ptr %187, align 8, !tbaa !9
  %8029 = load ptr, ptr %180, align 8, !tbaa !9
  %8030 = call i32 @s2n_connection_set_config(ptr noundef %8028, ptr noundef %8029)
  %8031 = icmp eq i32 %8030, -1
  br i1 %8031, label %8032, label %8085

8032:                                             ; preds = %8025
  br label %8033

8033:                                             ; preds = %8032
  br label %8034

8034:                                             ; preds = %8033
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %8035 = call ptr @__errno_location() #12
  %8036 = load i32, ptr %8035, align 4, !tbaa !5
  store i32 %8036, ptr %189, align 4, !tbaa !5
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = call i32 @s2n_print_stacktrace(ptr noundef %8037)
  %8039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8040 = trunc i8 %8039 to i1
  br i1 %8040, label %8041, label %8063

8041:                                             ; preds = %8034
  %8042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8043 = call i32 @fileno(ptr noundef %8042) #11
  %8044 = call i32 @isatty(i32 noundef %8043) #11
  %8045 = icmp ne i32 %8044, 0
  br i1 %8045, label %8046, label %8063

8046:                                             ; preds = %8041
  %8047 = load i32, ptr %189, align 4, !tbaa !5
  %8048 = call ptr @__errno_location() #12
  store i32 %8047, ptr %8048, align 4, !tbaa !5
  %8049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8050 = load i32, ptr @test_count, align 4, !tbaa !5
  %8051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8052 = load i32, ptr %8051, align 4, !tbaa !5
  %8053 = call ptr @s2n_strerror(i32 noundef %8052, ptr noundef @.str.4)
  %8054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8055 = load i32, ptr %8054, align 4, !tbaa !5
  %8056 = call ptr @s2n_strerror_debug(i32 noundef %8055, ptr noundef @.str.4)
  %8057 = call ptr @__errno_location() #12
  %8058 = load i32, ptr %8057, align 4, !tbaa !5
  %8059 = call ptr @strerror(i32 noundef %8058) #11
  %8060 = call ptr @__errno_location() #12
  %8061 = load i32, ptr %8060, align 4, !tbaa !5
  %8062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8049, ptr noundef @.str.2, i32 noundef %8050, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 505, ptr noundef %8053, ptr noundef %8056, ptr noundef %8059, i32 noundef %8061) #11
  br label %8080

8063:                                             ; preds = %8041, %8034
  %8064 = load i32, ptr %189, align 4, !tbaa !5
  %8065 = call ptr @__errno_location() #12
  store i32 %8064, ptr %8065, align 4, !tbaa !5
  %8066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8067 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8069, ptr noundef @.str.4)
  %8071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8072 = load i32, ptr %8071, align 4, !tbaa !5
  %8073 = call ptr @s2n_strerror_debug(i32 noundef %8072, ptr noundef @.str.4)
  %8074 = call ptr @__errno_location() #12
  %8075 = load i32, ptr %8074, align 4, !tbaa !5
  %8076 = call ptr @strerror(i32 noundef %8075) #11
  %8077 = call ptr @__errno_location() #12
  %8078 = load i32, ptr %8077, align 4, !tbaa !5
  %8079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8066, ptr noundef @.str.5, i32 noundef %8067, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 505, ptr noundef %8070, ptr noundef %8073, ptr noundef %8076, i32 noundef %8078) #11
  br label %8080

8080:                                             ; preds = %8063, %8046
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %8081

8081:                                             ; preds = %8080
  br label %8082

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

8083:                                             ; No predecessors!
  br label %8084

8084:                                             ; preds = %8083
  br label %8085

8085:                                             ; preds = %8084, %8025
  br label %8086

8086:                                             ; preds = %8085
  br label %8087

8087:                                             ; preds = %8086
  call void @llvm.lifetime.start.p0(i64 8, ptr %190) #11
  call void @llvm.memset.p0.i64(ptr align 4 %190, i8 0, i64 8, i1 false)
  br label %8088

8088:                                             ; preds = %8087
  %8089 = load i32, ptr @test_count, align 4, !tbaa !5
  %8090 = add nsw i32 %8089, 1
  store i32 %8090, ptr @test_count, align 4, !tbaa !5
  %8091 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %190)
  %8092 = icmp eq i32 %8091, -1
  br i1 %8092, label %8093, label %8146

8093:                                             ; preds = %8088
  br label %8094

8094:                                             ; preds = %8093
  br label %8095

8095:                                             ; preds = %8094
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %8096 = call ptr @__errno_location() #12
  %8097 = load i32, ptr %8096, align 4, !tbaa !5
  store i32 %8097, ptr %191, align 4, !tbaa !5
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @s2n_print_stacktrace(ptr noundef %8098)
  %8100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8101 = trunc i8 %8100 to i1
  br i1 %8101, label %8102, label %8124

8102:                                             ; preds = %8095
  %8103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8104 = call i32 @fileno(ptr noundef %8103) #11
  %8105 = call i32 @isatty(i32 noundef %8104) #11
  %8106 = icmp ne i32 %8105, 0
  br i1 %8106, label %8107, label %8124

8107:                                             ; preds = %8102
  %8108 = load i32, ptr %191, align 4, !tbaa !5
  %8109 = call ptr @__errno_location() #12
  store i32 %8108, ptr %8109, align 4, !tbaa !5
  %8110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8111 = load i32, ptr @test_count, align 4, !tbaa !5
  %8112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8113 = load i32, ptr %8112, align 4, !tbaa !5
  %8114 = call ptr @s2n_strerror(i32 noundef %8113, ptr noundef @.str.4)
  %8115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8116 = load i32, ptr %8115, align 4, !tbaa !5
  %8117 = call ptr @s2n_strerror_debug(i32 noundef %8116, ptr noundef @.str.4)
  %8118 = call ptr @__errno_location() #12
  %8119 = load i32, ptr %8118, align 4, !tbaa !5
  %8120 = call ptr @strerror(i32 noundef %8119) #11
  %8121 = call ptr @__errno_location() #12
  %8122 = load i32, ptr %8121, align 4, !tbaa !5
  %8123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8110, ptr noundef @.str.2, i32 noundef %8111, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 508, ptr noundef %8114, ptr noundef %8117, ptr noundef %8120, i32 noundef %8122) #11
  br label %8141

8124:                                             ; preds = %8102, %8095
  %8125 = load i32, ptr %191, align 4, !tbaa !5
  %8126 = call ptr @__errno_location() #12
  store i32 %8125, ptr %8126, align 4, !tbaa !5
  %8127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8128 = load i32, ptr @test_count, align 4, !tbaa !5
  %8129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8130 = load i32, ptr %8129, align 4, !tbaa !5
  %8131 = call ptr @s2n_strerror(i32 noundef %8130, ptr noundef @.str.4)
  %8132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8133 = load i32, ptr %8132, align 4, !tbaa !5
  %8134 = call ptr @s2n_strerror_debug(i32 noundef %8133, ptr noundef @.str.4)
  %8135 = call ptr @__errno_location() #12
  %8136 = load i32, ptr %8135, align 4, !tbaa !5
  %8137 = call ptr @strerror(i32 noundef %8136) #11
  %8138 = call ptr @__errno_location() #12
  %8139 = load i32, ptr %8138, align 4, !tbaa !5
  %8140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8127, ptr noundef @.str.5, i32 noundef %8128, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 508, ptr noundef %8131, ptr noundef %8134, ptr noundef %8137, i32 noundef %8139) #11
  br label %8141

8141:                                             ; preds = %8124, %8107
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

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

8144:                                             ; No predecessors!
  br label %8145

8145:                                             ; preds = %8144
  br label %8146

8146:                                             ; preds = %8145, %8088
  br label %8147

8147:                                             ; preds = %8146
  br label %8148

8148:                                             ; preds = %8147
  br label %8149

8149:                                             ; preds = %8148
  %8150 = load i32, ptr @test_count, align 4, !tbaa !5
  %8151 = add nsw i32 %8150, 1
  store i32 %8151, ptr @test_count, align 4, !tbaa !5
  %8152 = load ptr, ptr %187, align 8, !tbaa !9
  %8153 = load ptr, ptr %184, align 8, !tbaa !9
  %8154 = call i32 @s2n_connections_set_io_pair(ptr noundef %8152, ptr noundef %8153, ptr noundef %190)
  %8155 = icmp eq i32 %8154, -1
  br i1 %8155, label %8156, label %8209

8156:                                             ; preds = %8149
  br label %8157

8157:                                             ; preds = %8156
  br label %8158

8158:                                             ; preds = %8157
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %8159 = call ptr @__errno_location() #12
  %8160 = load i32, ptr %8159, align 4, !tbaa !5
  store i32 %8160, ptr %192, align 4, !tbaa !5
  %8161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8162 = call i32 @s2n_print_stacktrace(ptr noundef %8161)
  %8163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8164 = trunc i8 %8163 to i1
  br i1 %8164, label %8165, label %8187

8165:                                             ; preds = %8158
  %8166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8167 = call i32 @fileno(ptr noundef %8166) #11
  %8168 = call i32 @isatty(i32 noundef %8167) #11
  %8169 = icmp ne i32 %8168, 0
  br i1 %8169, label %8170, label %8187

8170:                                             ; preds = %8165
  %8171 = load i32, ptr %192, align 4, !tbaa !5
  %8172 = call ptr @__errno_location() #12
  store i32 %8171, ptr %8172, align 4, !tbaa !5
  %8173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8174 = load i32, ptr @test_count, align 4, !tbaa !5
  %8175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8176 = load i32, ptr %8175, align 4, !tbaa !5
  %8177 = call ptr @s2n_strerror(i32 noundef %8176, ptr noundef @.str.4)
  %8178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8179 = load i32, ptr %8178, align 4, !tbaa !5
  %8180 = call ptr @s2n_strerror_debug(i32 noundef %8179, ptr noundef @.str.4)
  %8181 = call ptr @__errno_location() #12
  %8182 = load i32, ptr %8181, align 4, !tbaa !5
  %8183 = call ptr @strerror(i32 noundef %8182) #11
  %8184 = call ptr @__errno_location() #12
  %8185 = load i32, ptr %8184, align 4, !tbaa !5
  %8186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8173, ptr noundef @.str.2, i32 noundef %8174, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 509, ptr noundef %8177, ptr noundef %8180, ptr noundef %8183, i32 noundef %8185) #11
  br label %8204

8187:                                             ; preds = %8165, %8158
  %8188 = load i32, ptr %192, align 4, !tbaa !5
  %8189 = call ptr @__errno_location() #12
  store i32 %8188, ptr %8189, align 4, !tbaa !5
  %8190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8191 = load i32, ptr @test_count, align 4, !tbaa !5
  %8192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8193 = load i32, ptr %8192, align 4, !tbaa !5
  %8194 = call ptr @s2n_strerror(i32 noundef %8193, ptr noundef @.str.4)
  %8195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @s2n_strerror_debug(i32 noundef %8196, ptr noundef @.str.4)
  %8198 = call ptr @__errno_location() #12
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call ptr @strerror(i32 noundef %8199) #11
  %8201 = call ptr @__errno_location() #12
  %8202 = load i32, ptr %8201, align 4, !tbaa !5
  %8203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8190, ptr noundef @.str.5, i32 noundef %8191, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 509, ptr noundef %8194, ptr noundef %8197, ptr noundef %8200, i32 noundef %8202) #11
  br label %8204

8204:                                             ; preds = %8187, %8170
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %8205

8205:                                             ; preds = %8204
  br label %8206

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

8207:                                             ; No predecessors!
  br label %8208

8208:                                             ; preds = %8207
  br label %8209

8209:                                             ; preds = %8208, %8149
  br label %8210

8210:                                             ; preds = %8209
  br label %8211

8211:                                             ; preds = %8210
  %8212 = load ptr, ptr %187, align 8, !tbaa !9
  %8213 = getelementptr inbounds %struct.s2n_connection, ptr %8212, i32 0, i32 2
  store ptr @security_policy_test_tls13_retry, ptr %8213, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %193) #11
  %8214 = load ptr, ptr %187, align 8, !tbaa !9
  %8215 = call ptr @s2n_test_psk_new(ptr noundef %8214)
  store ptr %8215, ptr %193, align 8, !tbaa !9
  %8216 = load ptr, ptr %193, align 8, !tbaa !9
  %8217 = getelementptr inbounds %struct.s2n_psk, ptr %8216, i32 0, i32 3
  store i32 5, ptr %8217, align 8, !tbaa !55
  br label %8218

8218:                                             ; preds = %8211
  %8219 = load i32, ptr @test_count, align 4, !tbaa !5
  %8220 = add nsw i32 %8219, 1
  store i32 %8220, ptr @test_count, align 4, !tbaa !5
  %8221 = load ptr, ptr %187, align 8, !tbaa !9
  %8222 = load ptr, ptr %193, align 8, !tbaa !9
  %8223 = call i32 @s2n_connection_append_psk(ptr noundef %8221, ptr noundef %8222)
  %8224 = icmp eq i32 %8223, -1
  br i1 %8224, label %8225, label %8278

8225:                                             ; preds = %8218
  br label %8226

8226:                                             ; preds = %8225
  br label %8227

8227:                                             ; preds = %8226
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %8228 = call ptr @__errno_location() #12
  %8229 = load i32, ptr %8228, align 4, !tbaa !5
  store i32 %8229, ptr %194, align 4, !tbaa !5
  %8230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8231 = call i32 @s2n_print_stacktrace(ptr noundef %8230)
  %8232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8233 = trunc i8 %8232 to i1
  br i1 %8233, label %8234, label %8256

8234:                                             ; preds = %8227
  %8235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8236 = call i32 @fileno(ptr noundef %8235) #11
  %8237 = call i32 @isatty(i32 noundef %8236) #11
  %8238 = icmp ne i32 %8237, 0
  br i1 %8238, label %8239, label %8256

8239:                                             ; preds = %8234
  %8240 = load i32, ptr %194, align 4, !tbaa !5
  %8241 = call ptr @__errno_location() #12
  store i32 %8240, ptr %8241, align 4, !tbaa !5
  %8242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8243 = load i32, ptr @test_count, align 4, !tbaa !5
  %8244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8245 = load i32, ptr %8244, align 4, !tbaa !5
  %8246 = call ptr @s2n_strerror(i32 noundef %8245, ptr noundef @.str.4)
  %8247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8248 = load i32, ptr %8247, align 4, !tbaa !5
  %8249 = call ptr @s2n_strerror_debug(i32 noundef %8248, ptr noundef @.str.4)
  %8250 = call ptr @__errno_location() #12
  %8251 = load i32, ptr %8250, align 4, !tbaa !5
  %8252 = call ptr @strerror(i32 noundef %8251) #11
  %8253 = call ptr @__errno_location() #12
  %8254 = load i32, ptr %8253, align 4, !tbaa !5
  %8255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8242, ptr noundef @.str.2, i32 noundef %8243, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 520, ptr noundef %8246, ptr noundef %8249, ptr noundef %8252, i32 noundef %8254) #11
  br label %8273

8256:                                             ; preds = %8234, %8227
  %8257 = load i32, ptr %194, align 4, !tbaa !5
  %8258 = call ptr @__errno_location() #12
  store i32 %8257, ptr %8258, align 4, !tbaa !5
  %8259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8260 = load i32, ptr @test_count, align 4, !tbaa !5
  %8261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  %8263 = call ptr @s2n_strerror(i32 noundef %8262, ptr noundef @.str.4)
  %8264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8265 = load i32, ptr %8264, align 4, !tbaa !5
  %8266 = call ptr @s2n_strerror_debug(i32 noundef %8265, ptr noundef @.str.4)
  %8267 = call ptr @__errno_location() #12
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call ptr @strerror(i32 noundef %8268) #11
  %8270 = call ptr @__errno_location() #12
  %8271 = load i32, ptr %8270, align 4, !tbaa !5
  %8272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8259, ptr noundef @.str.5, i32 noundef %8260, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 520, ptr noundef %8263, ptr noundef %8266, ptr noundef %8269, i32 noundef %8271) #11
  br label %8273

8273:                                             ; preds = %8256, %8239
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %8274

8274:                                             ; preds = %8273
  br label %8275

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

8276:                                             ; No predecessors!
  br label %8277

8277:                                             ; preds = %8276
  br label %8278

8278:                                             ; preds = %8277, %8218
  br label %8279

8279:                                             ; preds = %8278
  br label %8280

8280:                                             ; preds = %8279
  br label %8281

8281:                                             ; preds = %8280
  %8282 = load i32, ptr @test_count, align 4, !tbaa !5
  %8283 = add nsw i32 %8282, 1
  store i32 %8283, ptr @test_count, align 4, !tbaa !5
  %8284 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 5), align 8, !tbaa !44
  %8285 = load ptr, ptr %187, align 8, !tbaa !9
  %8286 = call zeroext i1 %8284(ptr noundef %8285)
  br i1 %8286, label %8340, label %8287

8287:                                             ; preds = %8281
  br label %8288

8288:                                             ; preds = %8287
  br label %8289

8289:                                             ; preds = %8288
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %8290 = call ptr @__errno_location() #12
  %8291 = load i32, ptr %8290, align 4, !tbaa !5
  store i32 %8291, ptr %195, align 4, !tbaa !5
  %8292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8293 = call i32 @s2n_print_stacktrace(ptr noundef %8292)
  %8294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8295 = trunc i8 %8294 to i1
  br i1 %8295, label %8296, label %8318

8296:                                             ; preds = %8289
  %8297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8298 = call i32 @fileno(ptr noundef %8297) #11
  %8299 = call i32 @isatty(i32 noundef %8298) #11
  %8300 = icmp ne i32 %8299, 0
  br i1 %8300, label %8301, label %8318

8301:                                             ; preds = %8296
  %8302 = load i32, ptr %195, align 4, !tbaa !5
  %8303 = call ptr @__errno_location() #12
  store i32 %8302, ptr %8303, align 4, !tbaa !5
  %8304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8305 = load i32, ptr @test_count, align 4, !tbaa !5
  %8306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8307 = load i32, ptr %8306, align 4, !tbaa !5
  %8308 = call ptr @s2n_strerror(i32 noundef %8307, ptr noundef @.str.4)
  %8309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8310 = load i32, ptr %8309, align 4, !tbaa !5
  %8311 = call ptr @s2n_strerror_debug(i32 noundef %8310, ptr noundef @.str.4)
  %8312 = call ptr @__errno_location() #12
  %8313 = load i32, ptr %8312, align 4, !tbaa !5
  %8314 = call ptr @strerror(i32 noundef %8313) #11
  %8315 = call ptr @__errno_location() #12
  %8316 = load i32, ptr %8315, align 4, !tbaa !5
  %8317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8304, ptr noundef @.str.2, i32 noundef %8305, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 521, ptr noundef %8308, ptr noundef %8311, ptr noundef %8314, i32 noundef %8316) #11
  br label %8335

8318:                                             ; preds = %8296, %8289
  %8319 = load i32, ptr %195, align 4, !tbaa !5
  %8320 = call ptr @__errno_location() #12
  store i32 %8319, ptr %8320, align 4, !tbaa !5
  %8321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8322 = load i32, ptr @test_count, align 4, !tbaa !5
  %8323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8324 = load i32, ptr %8323, align 4, !tbaa !5
  %8325 = call ptr @s2n_strerror(i32 noundef %8324, ptr noundef @.str.4)
  %8326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8327 = load i32, ptr %8326, align 4, !tbaa !5
  %8328 = call ptr @s2n_strerror_debug(i32 noundef %8327, ptr noundef @.str.4)
  %8329 = call ptr @__errno_location() #12
  %8330 = load i32, ptr %8329, align 4, !tbaa !5
  %8331 = call ptr @strerror(i32 noundef %8330) #11
  %8332 = call ptr @__errno_location() #12
  %8333 = load i32, ptr %8332, align 4, !tbaa !5
  %8334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8321, ptr noundef @.str.5, i32 noundef %8322, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 521, ptr noundef %8325, ptr noundef %8328, ptr noundef %8331, i32 noundef %8333) #11
  br label %8335

8335:                                             ; preds = %8318, %8301
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %8336

8336:                                             ; preds = %8335
  br label %8337

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

8338:                                             ; No predecessors!
  br label %8339

8339:                                             ; preds = %8338
  br label %8340

8340:                                             ; preds = %8339, %8281
  br label %8341

8341:                                             ; preds = %8340
  br label %8342

8342:                                             ; preds = %8341
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  store i32 0, ptr %196, align 4, !tbaa !5
  br label %8343

8343:                                             ; preds = %8342
  %8344 = load i32, ptr @test_count, align 4, !tbaa !5
  %8345 = add nsw i32 %8344, 1
  store i32 %8345, ptr @test_count, align 4, !tbaa !5
  %8346 = load ptr, ptr %187, align 8, !tbaa !9
  %8347 = call i32 @s2n_negotiate_until_message(ptr noundef %8346, ptr noundef %196, i32 noundef 1)
  %8348 = getelementptr inbounds %struct.s2n_result, ptr %197, i32 0, i32 0
  store i32 %8347, ptr %8348, align 4
  %8349 = getelementptr inbounds %struct.s2n_result, ptr %197, i32 0, i32 0
  %8350 = load i32, ptr %8349, align 4
  %8351 = call zeroext i1 @s2n_result_is_ok(i32 %8350)
  br i1 %8351, label %8405, label %8352

8352:                                             ; preds = %8343
  br label %8353

8353:                                             ; preds = %8352
  br label %8354

8354:                                             ; preds = %8353
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %8355 = call ptr @__errno_location() #12
  %8356 = load i32, ptr %8355, align 4, !tbaa !5
  store i32 %8356, ptr %198, align 4, !tbaa !5
  %8357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8358 = call i32 @s2n_print_stacktrace(ptr noundef %8357)
  %8359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8360 = trunc i8 %8359 to i1
  br i1 %8360, label %8361, label %8383

8361:                                             ; preds = %8354
  %8362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8363 = call i32 @fileno(ptr noundef %8362) #11
  %8364 = call i32 @isatty(i32 noundef %8363) #11
  %8365 = icmp ne i32 %8364, 0
  br i1 %8365, label %8366, label %8383

8366:                                             ; preds = %8361
  %8367 = load i32, ptr %198, align 4, !tbaa !5
  %8368 = call ptr @__errno_location() #12
  store i32 %8367, ptr %8368, align 4, !tbaa !5
  %8369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8370 = load i32, ptr @test_count, align 4, !tbaa !5
  %8371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8372 = load i32, ptr %8371, align 4, !tbaa !5
  %8373 = call ptr @s2n_strerror(i32 noundef %8372, ptr noundef @.str.4)
  %8374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8375 = load i32, ptr %8374, align 4, !tbaa !5
  %8376 = call ptr @s2n_strerror_debug(i32 noundef %8375, ptr noundef @.str.4)
  %8377 = call ptr @__errno_location() #12
  %8378 = load i32, ptr %8377, align 4, !tbaa !5
  %8379 = call ptr @strerror(i32 noundef %8378) #11
  %8380 = call ptr @__errno_location() #12
  %8381 = load i32, ptr %8380, align 4, !tbaa !5
  %8382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8369, ptr noundef @.str.2, i32 noundef %8370, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 525, ptr noundef %8373, ptr noundef %8376, ptr noundef %8379, i32 noundef %8381) #11
  br label %8400

8383:                                             ; preds = %8361, %8354
  %8384 = load i32, ptr %198, align 4, !tbaa !5
  %8385 = call ptr @__errno_location() #12
  store i32 %8384, ptr %8385, align 4, !tbaa !5
  %8386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8387 = load i32, ptr @test_count, align 4, !tbaa !5
  %8388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call ptr @s2n_strerror(i32 noundef %8389, ptr noundef @.str.4)
  %8391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call ptr @s2n_strerror_debug(i32 noundef %8392, ptr noundef @.str.4)
  %8394 = call ptr @__errno_location() #12
  %8395 = load i32, ptr %8394, align 4, !tbaa !5
  %8396 = call ptr @strerror(i32 noundef %8395) #11
  %8397 = call ptr @__errno_location() #12
  %8398 = load i32, ptr %8397, align 4, !tbaa !5
  %8399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8386, ptr noundef @.str.5, i32 noundef %8387, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 525, ptr noundef %8390, ptr noundef %8393, ptr noundef %8396, i32 noundef %8398) #11
  br label %8400

8400:                                             ; preds = %8383, %8366
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %8401

8401:                                             ; preds = %8400
  br label %8402

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

8403:                                             ; No predecessors!
  br label %8404

8404:                                             ; preds = %8403
  br label %8405

8405:                                             ; preds = %8404, %8343
  br label %8406

8406:                                             ; preds = %8405
  br label %8407

8407:                                             ; preds = %8406
  br label %8408

8408:                                             ; preds = %8407
  %8409 = load i32, ptr @test_count, align 4, !tbaa !5
  %8410 = add nsw i32 %8409, 1
  store i32 %8410, ptr @test_count, align 4, !tbaa !5
  %8411 = load ptr, ptr %184, align 8, !tbaa !9
  %8412 = call i32 @s2n_negotiate_until_message(ptr noundef %8411, ptr noundef %196, i32 noundef 18)
  %8413 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  store i32 %8412, ptr %8413, align 4
  %8414 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  %8415 = load i32, ptr %8414, align 4
  %8416 = call zeroext i1 @s2n_result_is_ok(i32 %8415)
  br i1 %8416, label %8470, label %8417

8417:                                             ; preds = %8408
  br label %8418

8418:                                             ; preds = %8417
  br label %8419

8419:                                             ; preds = %8418
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %8420 = call ptr @__errno_location() #12
  %8421 = load i32, ptr %8420, align 4, !tbaa !5
  store i32 %8421, ptr %200, align 4, !tbaa !5
  %8422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8423 = call i32 @s2n_print_stacktrace(ptr noundef %8422)
  %8424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8425 = trunc i8 %8424 to i1
  br i1 %8425, label %8426, label %8448

8426:                                             ; preds = %8419
  %8427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8428 = call i32 @fileno(ptr noundef %8427) #11
  %8429 = call i32 @isatty(i32 noundef %8428) #11
  %8430 = icmp ne i32 %8429, 0
  br i1 %8430, label %8431, label %8448

8431:                                             ; preds = %8426
  %8432 = load i32, ptr %200, align 4, !tbaa !5
  %8433 = call ptr @__errno_location() #12
  store i32 %8432, ptr %8433, align 4, !tbaa !5
  %8434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8435 = load i32, ptr @test_count, align 4, !tbaa !5
  %8436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8437 = load i32, ptr %8436, align 4, !tbaa !5
  %8438 = call ptr @s2n_strerror(i32 noundef %8437, ptr noundef @.str.4)
  %8439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8440 = load i32, ptr %8439, align 4, !tbaa !5
  %8441 = call ptr @s2n_strerror_debug(i32 noundef %8440, ptr noundef @.str.4)
  %8442 = call ptr @__errno_location() #12
  %8443 = load i32, ptr %8442, align 4, !tbaa !5
  %8444 = call ptr @strerror(i32 noundef %8443) #11
  %8445 = call ptr @__errno_location() #12
  %8446 = load i32, ptr %8445, align 4, !tbaa !5
  %8447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8434, ptr noundef @.str.2, i32 noundef %8435, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 526, ptr noundef %8438, ptr noundef %8441, ptr noundef %8444, i32 noundef %8446) #11
  br label %8465

8448:                                             ; preds = %8426, %8419
  %8449 = load i32, ptr %200, align 4, !tbaa !5
  %8450 = call ptr @__errno_location() #12
  store i32 %8449, ptr %8450, align 4, !tbaa !5
  %8451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8452 = load i32, ptr @test_count, align 4, !tbaa !5
  %8453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8454 = load i32, ptr %8453, align 4, !tbaa !5
  %8455 = call ptr @s2n_strerror(i32 noundef %8454, ptr noundef @.str.4)
  %8456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8457 = load i32, ptr %8456, align 4, !tbaa !5
  %8458 = call ptr @s2n_strerror_debug(i32 noundef %8457, ptr noundef @.str.4)
  %8459 = call ptr @__errno_location() #12
  %8460 = load i32, ptr %8459, align 4, !tbaa !5
  %8461 = call ptr @strerror(i32 noundef %8460) #11
  %8462 = call ptr @__errno_location() #12
  %8463 = load i32, ptr %8462, align 4, !tbaa !5
  %8464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8451, ptr noundef @.str.5, i32 noundef %8452, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 526, ptr noundef %8455, ptr noundef %8458, ptr noundef %8461, i32 noundef %8463) #11
  br label %8465

8465:                                             ; preds = %8448, %8431
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %8466

8466:                                             ; preds = %8465
  br label %8467

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

8468:                                             ; No predecessors!
  br label %8469

8469:                                             ; preds = %8468
  br label %8470

8470:                                             ; preds = %8469, %8408
  br label %8471

8471:                                             ; preds = %8470
  br label %8472

8472:                                             ; preds = %8471
  br label %8473

8473:                                             ; preds = %8472
  %8474 = load i32, ptr @test_count, align 4, !tbaa !5
  %8475 = add nsw i32 %8474, 1
  store i32 %8475, ptr @test_count, align 4, !tbaa !5
  %8476 = load ptr, ptr %184, align 8, !tbaa !9
  %8477 = call i32 @s2n_negotiate_until_message(ptr noundef %8476, ptr noundef %196, i32 noundef 0)
  %8478 = getelementptr inbounds %struct.s2n_result, ptr %201, i32 0, i32 0
  store i32 %8477, ptr %8478, align 4
  %8479 = getelementptr inbounds %struct.s2n_result, ptr %201, i32 0, i32 0
  %8480 = load i32, ptr %8479, align 4
  %8481 = call zeroext i1 @s2n_result_is_ok(i32 %8480)
  br i1 %8481, label %8535, label %8482

8482:                                             ; preds = %8473
  br label %8483

8483:                                             ; preds = %8482
  br label %8484

8484:                                             ; preds = %8483
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %8485 = call ptr @__errno_location() #12
  %8486 = load i32, ptr %8485, align 4, !tbaa !5
  store i32 %8486, ptr %202, 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) #11
  %8494 = call i32 @isatty(i32 noundef %8493) #11
  %8495 = icmp ne i32 %8494, 0
  br i1 %8495, label %8496, label %8513

8496:                                             ; preds = %8491
  %8497 = load i32, ptr %202, align 4, !tbaa !5
  %8498 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %8507 = call ptr @__errno_location() #12
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  %8509 = call ptr @strerror(i32 noundef %8508) #11
  %8510 = call ptr @__errno_location() #12
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8499, ptr noundef @.str.2, i32 noundef %8500, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 527, ptr noundef %8503, ptr noundef %8506, ptr noundef %8509, i32 noundef %8511) #11
  br label %8530

8513:                                             ; preds = %8491, %8484
  %8514 = load i32, ptr %202, align 4, !tbaa !5
  %8515 = call ptr @__errno_location() #12
  store i32 %8514, ptr %8515, align 4, !tbaa !5
  %8516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8517 = load i32, ptr @test_count, align 4, !tbaa !5
  %8518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8519 = load i32, ptr %8518, align 4, !tbaa !5
  %8520 = call ptr @s2n_strerror(i32 noundef %8519, ptr noundef @.str.4)
  %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.4)
  %8524 = call ptr @__errno_location() #12
  %8525 = load i32, ptr %8524, align 4, !tbaa !5
  %8526 = call ptr @strerror(i32 noundef %8525) #11
  %8527 = call ptr @__errno_location() #12
  %8528 = load i32, ptr %8527, align 4, !tbaa !5
  %8529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8516, ptr noundef @.str.5, i32 noundef %8517, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 527, ptr noundef %8520, ptr noundef %8523, ptr noundef %8526, i32 noundef %8528) #11
  br label %8530

8530:                                             ; preds = %8513, %8496
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %8531

8531:                                             ; preds = %8530
  br label %8532

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

8533:                                             ; No predecessors!
  br label %8534

8534:                                             ; preds = %8533
  br label %8535

8535:                                             ; preds = %8534, %8473
  br label %8536

8536:                                             ; preds = %8535
  br label %8537

8537:                                             ; preds = %8536
  br label %8538

8538:                                             ; preds = %8537
  %8539 = load i32, ptr @test_count, align 4, !tbaa !5
  %8540 = add nsw i32 %8539, 1
  store i32 %8540, ptr @test_count, align 4, !tbaa !5
  %8541 = load ptr, ptr %187, align 8, !tbaa !9
  %8542 = call i32 @s2n_negotiate_until_message(ptr noundef %8541, ptr noundef %196, i32 noundef 0)
  %8543 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  store i32 %8542, ptr %8543, align 4
  %8544 = getelementptr inbounds %struct.s2n_result, ptr %203, i32 0, i32 0
  %8545 = load i32, ptr %8544, align 4
  %8546 = call zeroext i1 @s2n_result_is_ok(i32 %8545)
  br i1 %8546, label %8600, label %8547

8547:                                             ; preds = %8538
  br label %8548

8548:                                             ; preds = %8547
  br label %8549

8549:                                             ; preds = %8548
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %8550 = call ptr @__errno_location() #12
  %8551 = load i32, ptr %8550, align 4, !tbaa !5
  store i32 %8551, ptr %204, align 4, !tbaa !5
  %8552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8553 = call i32 @s2n_print_stacktrace(ptr noundef %8552)
  %8554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8555 = trunc i8 %8554 to i1
  br i1 %8555, label %8556, label %8578

8556:                                             ; preds = %8549
  %8557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8558 = call i32 @fileno(ptr noundef %8557) #11
  %8559 = call i32 @isatty(i32 noundef %8558) #11
  %8560 = icmp ne i32 %8559, 0
  br i1 %8560, label %8561, label %8578

8561:                                             ; preds = %8556
  %8562 = load i32, ptr %204, align 4, !tbaa !5
  %8563 = call ptr @__errno_location() #12
  store i32 %8562, ptr %8563, align 4, !tbaa !5
  %8564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8565 = load i32, ptr @test_count, align 4, !tbaa !5
  %8566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8567 = load i32, ptr %8566, align 4, !tbaa !5
  %8568 = call ptr @s2n_strerror(i32 noundef %8567, ptr noundef @.str.4)
  %8569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8570 = load i32, ptr %8569, align 4, !tbaa !5
  %8571 = call ptr @s2n_strerror_debug(i32 noundef %8570, ptr noundef @.str.4)
  %8572 = call ptr @__errno_location() #12
  %8573 = load i32, ptr %8572, align 4, !tbaa !5
  %8574 = call ptr @strerror(i32 noundef %8573) #11
  %8575 = call ptr @__errno_location() #12
  %8576 = load i32, ptr %8575, align 4, !tbaa !5
  %8577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8564, ptr noundef @.str.2, i32 noundef %8565, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 528, ptr noundef %8568, ptr noundef %8571, ptr noundef %8574, i32 noundef %8576) #11
  br label %8595

8578:                                             ; preds = %8556, %8549
  %8579 = load i32, ptr %204, align 4, !tbaa !5
  %8580 = call ptr @__errno_location() #12
  store i32 %8579, ptr %8580, align 4, !tbaa !5
  %8581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8582 = load i32, ptr @test_count, align 4, !tbaa !5
  %8583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8584 = load i32, ptr %8583, align 4, !tbaa !5
  %8585 = call ptr @s2n_strerror(i32 noundef %8584, ptr noundef @.str.4)
  %8586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8587 = load i32, ptr %8586, align 4, !tbaa !5
  %8588 = call ptr @s2n_strerror_debug(i32 noundef %8587, ptr noundef @.str.4)
  %8589 = call ptr @__errno_location() #12
  %8590 = load i32, ptr %8589, align 4, !tbaa !5
  %8591 = call ptr @strerror(i32 noundef %8590) #11
  %8592 = call ptr @__errno_location() #12
  %8593 = load i32, ptr %8592, align 4, !tbaa !5
  %8594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8581, ptr noundef @.str.5, i32 noundef %8582, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 528, ptr noundef %8585, ptr noundef %8588, ptr noundef %8591, i32 noundef %8593) #11
  br label %8595

8595:                                             ; preds = %8578, %8561
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %8596

8596:                                             ; preds = %8595
  br label %8597

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

8598:                                             ; No predecessors!
  br label %8599

8599:                                             ; preds = %8598
  br label %8600

8600:                                             ; preds = %8599, %8538
  br label %8601

8601:                                             ; preds = %8600
  br label %8602

8602:                                             ; preds = %8601
  br label %8603

8603:                                             ; preds = %8602
  %8604 = load i32, ptr @test_count, align 4, !tbaa !5
  %8605 = add nsw i32 %8604, 1
  store i32 %8605, ptr @test_count, align 4, !tbaa !5
  %8606 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 5), align 8, !tbaa !44
  %8607 = load ptr, ptr %187, align 8, !tbaa !9
  %8608 = call zeroext i1 %8606(ptr noundef %8607)
  br i1 %8608, label %8609, label %8662

8609:                                             ; preds = %8603
  br label %8610

8610:                                             ; preds = %8609
  br label %8611

8611:                                             ; preds = %8610
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %8612 = call ptr @__errno_location() #12
  %8613 = load i32, ptr %8612, align 4, !tbaa !5
  store i32 %8613, ptr %205, align 4, !tbaa !5
  %8614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8615 = call i32 @s2n_print_stacktrace(ptr noundef %8614)
  %8616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8617 = trunc i8 %8616 to i1
  br i1 %8617, label %8618, label %8640

8618:                                             ; preds = %8611
  %8619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8620 = call i32 @fileno(ptr noundef %8619) #11
  %8621 = call i32 @isatty(i32 noundef %8620) #11
  %8622 = icmp ne i32 %8621, 0
  br i1 %8622, label %8623, label %8640

8623:                                             ; preds = %8618
  %8624 = load i32, ptr %205, align 4, !tbaa !5
  %8625 = call ptr @__errno_location() #12
  store i32 %8624, ptr %8625, align 4, !tbaa !5
  %8626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8627 = load i32, ptr @test_count, align 4, !tbaa !5
  %8628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8629 = load i32, ptr %8628, align 4, !tbaa !5
  %8630 = call ptr @s2n_strerror(i32 noundef %8629, ptr noundef @.str.4)
  %8631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8632 = load i32, ptr %8631, align 4, !tbaa !5
  %8633 = call ptr @s2n_strerror_debug(i32 noundef %8632, ptr noundef @.str.4)
  %8634 = call ptr @__errno_location() #12
  %8635 = load i32, ptr %8634, align 4, !tbaa !5
  %8636 = call ptr @strerror(i32 noundef %8635) #11
  %8637 = call ptr @__errno_location() #12
  %8638 = load i32, ptr %8637, align 4, !tbaa !5
  %8639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8626, ptr noundef @.str.2, i32 noundef %8627, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 531, ptr noundef %8630, ptr noundef %8633, ptr noundef %8636, i32 noundef %8638) #11
  br label %8657

8640:                                             ; preds = %8618, %8611
  %8641 = load i32, ptr %205, align 4, !tbaa !5
  %8642 = call ptr @__errno_location() #12
  store i32 %8641, ptr %8642, align 4, !tbaa !5
  %8643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8644 = load i32, ptr @test_count, align 4, !tbaa !5
  %8645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  %8647 = call ptr @s2n_strerror(i32 noundef %8646, ptr noundef @.str.4)
  %8648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8649 = load i32, ptr %8648, align 4, !tbaa !5
  %8650 = call ptr @s2n_strerror_debug(i32 noundef %8649, ptr noundef @.str.4)
  %8651 = call ptr @__errno_location() #12
  %8652 = load i32, ptr %8651, align 4, !tbaa !5
  %8653 = call ptr @strerror(i32 noundef %8652) #11
  %8654 = call ptr @__errno_location() #12
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8643, ptr noundef @.str.5, i32 noundef %8644, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 531, ptr noundef %8647, ptr noundef %8650, ptr noundef %8653, i32 noundef %8655) #11
  br label %8657

8657:                                             ; preds = %8640, %8623
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %8658

8658:                                             ; preds = %8657
  br label %8659

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

8660:                                             ; No predecessors!
  br label %8661

8661:                                             ; preds = %8660
  br label %8662

8662:                                             ; preds = %8661, %8603
  br label %8663

8663:                                             ; preds = %8662
  br label %8664

8664:                                             ; preds = %8663
  br label %8665

8665:                                             ; preds = %8664
  %8666 = load i32, ptr @test_count, align 4, !tbaa !5
  %8667 = add nsw i32 %8666, 1
  store i32 %8667, ptr @test_count, align 4, !tbaa !5
  %8668 = load ptr, ptr %184, align 8, !tbaa !9
  %8669 = load ptr, ptr %187, align 8, !tbaa !9
  %8670 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8668, ptr noundef %8669)
  %8671 = icmp eq i32 %8670, -1
  br i1 %8671, label %8672, label %8725

8672:                                             ; preds = %8665
  br label %8673

8673:                                             ; preds = %8672
  br label %8674

8674:                                             ; preds = %8673
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %8675 = call ptr @__errno_location() #12
  %8676 = load i32, ptr %8675, align 4, !tbaa !5
  store i32 %8676, ptr %206, align 4, !tbaa !5
  %8677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8678 = call i32 @s2n_print_stacktrace(ptr noundef %8677)
  %8679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8680 = trunc i8 %8679 to i1
  br i1 %8680, label %8681, label %8703

8681:                                             ; preds = %8674
  %8682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8683 = call i32 @fileno(ptr noundef %8682) #11
  %8684 = call i32 @isatty(i32 noundef %8683) #11
  %8685 = icmp ne i32 %8684, 0
  br i1 %8685, label %8686, label %8703

8686:                                             ; preds = %8681
  %8687 = load i32, ptr %206, align 4, !tbaa !5
  %8688 = call ptr @__errno_location() #12
  store i32 %8687, ptr %8688, align 4, !tbaa !5
  %8689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8690 = load i32, ptr @test_count, align 4, !tbaa !5
  %8691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8692 = load i32, ptr %8691, align 4, !tbaa !5
  %8693 = call ptr @s2n_strerror(i32 noundef %8692, ptr noundef @.str.4)
  %8694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8695 = load i32, ptr %8694, align 4, !tbaa !5
  %8696 = call ptr @s2n_strerror_debug(i32 noundef %8695, ptr noundef @.str.4)
  %8697 = call ptr @__errno_location() #12
  %8698 = load i32, ptr %8697, align 4, !tbaa !5
  %8699 = call ptr @strerror(i32 noundef %8698) #11
  %8700 = call ptr @__errno_location() #12
  %8701 = load i32, ptr %8700, align 4, !tbaa !5
  %8702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8689, ptr noundef @.str.2, i32 noundef %8690, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 534, ptr noundef %8693, ptr noundef %8696, ptr noundef %8699, i32 noundef %8701) #11
  br label %8720

8703:                                             ; preds = %8681, %8674
  %8704 = load i32, ptr %206, align 4, !tbaa !5
  %8705 = call ptr @__errno_location() #12
  store i32 %8704, ptr %8705, align 4, !tbaa !5
  %8706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8707 = load i32, ptr @test_count, align 4, !tbaa !5
  %8708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  %8710 = call ptr @s2n_strerror(i32 noundef %8709, ptr noundef @.str.4)
  %8711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8712 = load i32, ptr %8711, align 4, !tbaa !5
  %8713 = call ptr @s2n_strerror_debug(i32 noundef %8712, ptr noundef @.str.4)
  %8714 = call ptr @__errno_location() #12
  %8715 = load i32, ptr %8714, align 4, !tbaa !5
  %8716 = call ptr @strerror(i32 noundef %8715) #11
  %8717 = call ptr @__errno_location() #12
  %8718 = load i32, ptr %8717, align 4, !tbaa !5
  %8719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8706, ptr noundef @.str.5, i32 noundef %8707, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 534, ptr noundef %8710, ptr noundef %8713, ptr noundef %8716, i32 noundef %8718) #11
  br label %8720

8720:                                             ; preds = %8703, %8686
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %8721

8721:                                             ; preds = %8720
  br label %8722

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

8723:                                             ; No predecessors!
  br label %8724

8724:                                             ; preds = %8723
  br label %8725

8725:                                             ; preds = %8724, %8665
  br label %8726

8726:                                             ; preds = %8725
  br label %8727

8727:                                             ; preds = %8726
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  %8728 = call i32 @s2n_psk_free(ptr noundef %193)
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #11
  %8729 = call i32 @s2n_io_pair_close(ptr noundef %190)
  call void @llvm.lifetime.end.p0(i64 8, ptr %190) #11
  %8730 = call i32 @s2n_connection_ptr_free(ptr noundef %187)
  %8731 = getelementptr inbounds %struct.s2n_result, ptr %207, i32 0, i32 0
  store i32 %8730, ptr %8731, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %187) #11
  %8732 = call i32 @s2n_connection_ptr_free(ptr noundef %184)
  %8733 = getelementptr inbounds %struct.s2n_result, ptr %208, i32 0, i32 0
  store i32 %8732, ptr %8733, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #11
  %8734 = call i32 @s2n_config_ptr_free(ptr noundef %180)
  %8735 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  store i32 %8734, ptr %8735, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #11
  %8736 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %178)
  %8737 = getelementptr inbounds %struct.s2n_result, ptr %210, i32 0, i32 0
  store i32 %8736, ptr %8737, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #11
  br label %8738

8738:                                             ; preds = %8727, %7586
  call void @llvm.lifetime.start.p0(i64 8, ptr %211) #11
  store ptr null, ptr %211, align 8, !tbaa !9
  br label %8739

8739:                                             ; preds = %8738
  %8740 = load i32, ptr @test_count, align 4, !tbaa !5
  %8741 = add nsw i32 %8740, 1
  store i32 %8741, ptr @test_count, align 4, !tbaa !5
  %8742 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8742, ptr %211, align 8, !tbaa !9
  %8743 = icmp eq ptr %8742, null
  br i1 %8743, label %8744, label %8797

8744:                                             ; preds = %8739
  br label %8745

8745:                                             ; preds = %8744
  br label %8746

8746:                                             ; preds = %8745
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %8747 = call ptr @__errno_location() #12
  %8748 = load i32, ptr %8747, align 4, !tbaa !5
  store i32 %8748, ptr %212, align 4, !tbaa !5
  %8749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8750 = call i32 @s2n_print_stacktrace(ptr noundef %8749)
  %8751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8752 = trunc i8 %8751 to i1
  br i1 %8752, label %8753, label %8775

8753:                                             ; preds = %8746
  %8754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8755 = call i32 @fileno(ptr noundef %8754) #11
  %8756 = call i32 @isatty(i32 noundef %8755) #11
  %8757 = icmp ne i32 %8756, 0
  br i1 %8757, label %8758, label %8775

8758:                                             ; preds = %8753
  %8759 = load i32, ptr %212, align 4, !tbaa !5
  %8760 = call ptr @__errno_location() #12
  store i32 %8759, ptr %8760, align 4, !tbaa !5
  %8761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8762 = load i32, ptr @test_count, align 4, !tbaa !5
  %8763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8764 = load i32, ptr %8763, align 4, !tbaa !5
  %8765 = call ptr @s2n_strerror(i32 noundef %8764, ptr noundef @.str.4)
  %8766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8767 = load i32, ptr %8766, align 4, !tbaa !5
  %8768 = call ptr @s2n_strerror_debug(i32 noundef %8767, ptr noundef @.str.4)
  %8769 = call ptr @__errno_location() #12
  %8770 = load i32, ptr %8769, align 4, !tbaa !5
  %8771 = call ptr @strerror(i32 noundef %8770) #11
  %8772 = call ptr @__errno_location() #12
  %8773 = load i32, ptr %8772, align 4, !tbaa !5
  %8774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8761, ptr noundef @.str.2, i32 noundef %8762, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 543, ptr noundef %8765, ptr noundef %8768, ptr noundef %8771, i32 noundef %8773) #11
  br label %8792

8775:                                             ; preds = %8753, %8746
  %8776 = load i32, ptr %212, align 4, !tbaa !5
  %8777 = call ptr @__errno_location() #12
  store i32 %8776, ptr %8777, align 4, !tbaa !5
  %8778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8779 = load i32, ptr @test_count, align 4, !tbaa !5
  %8780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8781 = load i32, ptr %8780, align 4, !tbaa !5
  %8782 = call ptr @s2n_strerror(i32 noundef %8781, ptr noundef @.str.4)
  %8783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8784 = load i32, ptr %8783, align 4, !tbaa !5
  %8785 = call ptr @s2n_strerror_debug(i32 noundef %8784, ptr noundef @.str.4)
  %8786 = call ptr @__errno_location() #12
  %8787 = load i32, ptr %8786, align 4, !tbaa !5
  %8788 = call ptr @strerror(i32 noundef %8787) #11
  %8789 = call ptr @__errno_location() #12
  %8790 = load i32, ptr %8789, align 4, !tbaa !5
  %8791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8778, ptr noundef @.str.5, i32 noundef %8779, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 543, ptr noundef %8782, ptr noundef %8785, ptr noundef %8788, i32 noundef %8790) #11
  br label %8792

8792:                                             ; preds = %8775, %8758
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %8793

8793:                                             ; preds = %8792
  br label %8794

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

8795:                                             ; No predecessors!
  br label %8796

8796:                                             ; preds = %8795
  br label %8797

8797:                                             ; preds = %8796, %8739
  br label %8798

8798:                                             ; preds = %8797
  br label %8799

8799:                                             ; preds = %8798
  br label %8800

8800:                                             ; preds = %8799
  br label %8801

8801:                                             ; preds = %8800
  br label %8802

8802:                                             ; preds = %8801
  %8803 = load i32, ptr @test_count, align 4, !tbaa !5
  %8804 = add nsw i32 %8803, 1
  store i32 %8804, ptr @test_count, align 4, !tbaa !5
  %8805 = load ptr, ptr %211, align 8, !tbaa !9
  %8806 = call i32 @s2n_select_external_psk(ptr noundef %8805, ptr noundef null)
  %8807 = getelementptr inbounds %struct.s2n_result, ptr %213, i32 0, i32 0
  store i32 %8806, ptr %8807, align 4
  %8808 = getelementptr inbounds %struct.s2n_result, ptr %213, i32 0, i32 0
  %8809 = load i32, ptr %8808, align 4
  %8810 = call zeroext i1 @s2n_result_is_error(i32 %8809)
  br i1 %8810, label %8864, label %8811

8811:                                             ; preds = %8802
  br label %8812

8812:                                             ; preds = %8811
  br label %8813

8813:                                             ; preds = %8812
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %8814 = call ptr @__errno_location() #12
  %8815 = load i32, ptr %8814, align 4, !tbaa !5
  store i32 %8815, ptr %214, align 4, !tbaa !5
  %8816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8817 = call i32 @s2n_print_stacktrace(ptr noundef %8816)
  %8818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8819 = trunc i8 %8818 to i1
  br i1 %8819, label %8820, label %8842

8820:                                             ; preds = %8813
  %8821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8822 = call i32 @fileno(ptr noundef %8821) #11
  %8823 = call i32 @isatty(i32 noundef %8822) #11
  %8824 = icmp ne i32 %8823, 0
  br i1 %8824, label %8825, label %8842

8825:                                             ; preds = %8820
  %8826 = load i32, ptr %214, align 4, !tbaa !5
  %8827 = call ptr @__errno_location() #12
  store i32 %8826, ptr %8827, align 4, !tbaa !5
  %8828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8829 = load i32, ptr @test_count, align 4, !tbaa !5
  %8830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8831 = load i32, ptr %8830, align 4, !tbaa !5
  %8832 = call ptr @s2n_strerror(i32 noundef %8831, ptr noundef @.str.4)
  %8833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8834 = load i32, ptr %8833, align 4, !tbaa !5
  %8835 = call ptr @s2n_strerror_debug(i32 noundef %8834, ptr noundef @.str.4)
  %8836 = call ptr @__errno_location() #12
  %8837 = load i32, ptr %8836, align 4, !tbaa !5
  %8838 = call ptr @strerror(i32 noundef %8837) #11
  %8839 = call ptr @__errno_location() #12
  %8840 = load i32, ptr %8839, align 4, !tbaa !5
  %8841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8828, ptr noundef @.str.2, i32 noundef %8829, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 545, ptr noundef %8832, ptr noundef %8835, ptr noundef %8838, i32 noundef %8840) #11
  br label %8859

8842:                                             ; preds = %8820, %8813
  %8843 = load i32, ptr %214, align 4, !tbaa !5
  %8844 = call ptr @__errno_location() #12
  store i32 %8843, ptr %8844, align 4, !tbaa !5
  %8845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8846 = load i32, ptr @test_count, align 4, !tbaa !5
  %8847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8848 = load i32, ptr %8847, align 4, !tbaa !5
  %8849 = call ptr @s2n_strerror(i32 noundef %8848, ptr noundef @.str.4)
  %8850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8851 = load i32, ptr %8850, align 4, !tbaa !5
  %8852 = call ptr @s2n_strerror_debug(i32 noundef %8851, ptr noundef @.str.4)
  %8853 = call ptr @__errno_location() #12
  %8854 = load i32, ptr %8853, align 4, !tbaa !5
  %8855 = call ptr @strerror(i32 noundef %8854) #11
  %8856 = call ptr @__errno_location() #12
  %8857 = load i32, ptr %8856, align 4, !tbaa !5
  %8858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8845, ptr noundef @.str.5, i32 noundef %8846, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 545, ptr noundef %8849, ptr noundef %8852, ptr noundef %8855, i32 noundef %8857) #11
  br label %8859

8859:                                             ; preds = %8842, %8825
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %8860

8860:                                             ; preds = %8859
  br label %8861

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

8862:                                             ; No predecessors!
  br label %8863

8863:                                             ; preds = %8862
  br label %8864

8864:                                             ; preds = %8863, %8802
  br label %8865

8865:                                             ; preds = %8864
  br label %8866

8866:                                             ; preds = %8865
  br label %8867

8867:                                             ; preds = %8866
  %8868 = load i32, ptr @test_count, align 4, !tbaa !5
  %8869 = add nsw i32 %8868, 1
  store i32 %8869, ptr @test_count, align 4, !tbaa !5
  %8870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  %8872 = icmp eq i32 %8871, 402653193
  br i1 %8872, label %8926, label %8873

8873:                                             ; preds = %8867
  br label %8874

8874:                                             ; preds = %8873
  br label %8875

8875:                                             ; preds = %8874
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %8876 = call ptr @__errno_location() #12
  %8877 = load i32, ptr %8876, align 4, !tbaa !5
  store i32 %8877, ptr %215, align 4, !tbaa !5
  %8878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8879 = call i32 @s2n_print_stacktrace(ptr noundef %8878)
  %8880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8881 = trunc i8 %8880 to i1
  br i1 %8881, label %8882, label %8904

8882:                                             ; preds = %8875
  %8883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8884 = call i32 @fileno(ptr noundef %8883) #11
  %8885 = call i32 @isatty(i32 noundef %8884) #11
  %8886 = icmp ne i32 %8885, 0
  br i1 %8886, label %8887, label %8904

8887:                                             ; preds = %8882
  %8888 = load i32, ptr %215, align 4, !tbaa !5
  %8889 = call ptr @__errno_location() #12
  store i32 %8888, ptr %8889, align 4, !tbaa !5
  %8890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8891 = load i32, ptr @test_count, align 4, !tbaa !5
  %8892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8893 = load i32, ptr %8892, align 4, !tbaa !5
  %8894 = call ptr @s2n_strerror(i32 noundef %8893, ptr noundef @.str.4)
  %8895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call ptr @s2n_strerror_debug(i32 noundef %8896, ptr noundef @.str.4)
  %8898 = call ptr @__errno_location() #12
  %8899 = load i32, ptr %8898, align 4, !tbaa !5
  %8900 = call ptr @strerror(i32 noundef %8899) #11
  %8901 = call ptr @__errno_location() #12
  %8902 = load i32, ptr %8901, align 4, !tbaa !5
  %8903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8890, ptr noundef @.str.2, i32 noundef %8891, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 545, ptr noundef %8894, ptr noundef %8897, ptr noundef %8900, i32 noundef %8902) #11
  br label %8921

8904:                                             ; preds = %8882, %8875
  %8905 = load i32, ptr %215, align 4, !tbaa !5
  %8906 = call ptr @__errno_location() #12
  store i32 %8905, ptr %8906, align 4, !tbaa !5
  %8907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8908 = load i32, ptr @test_count, align 4, !tbaa !5
  %8909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8910 = load i32, ptr %8909, align 4, !tbaa !5
  %8911 = call ptr @s2n_strerror(i32 noundef %8910, ptr noundef @.str.4)
  %8912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8913 = load i32, ptr %8912, align 4, !tbaa !5
  %8914 = call ptr @s2n_strerror_debug(i32 noundef %8913, ptr noundef @.str.4)
  %8915 = call ptr @__errno_location() #12
  %8916 = load i32, ptr %8915, align 4, !tbaa !5
  %8917 = call ptr @strerror(i32 noundef %8916) #11
  %8918 = call ptr @__errno_location() #12
  %8919 = load i32, ptr %8918, align 4, !tbaa !5
  %8920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8907, ptr noundef @.str.5, i32 noundef %8908, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 545, ptr noundef %8911, ptr noundef %8914, ptr noundef %8917, i32 noundef %8919) #11
  br label %8921

8921:                                             ; preds = %8904, %8887
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %8922

8922:                                             ; preds = %8921
  br label %8923

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

8924:                                             ; No predecessors!
  br label %8925

8925:                                             ; preds = %8924
  br label %8926

8926:                                             ; preds = %8925, %8867
  br label %8927

8927:                                             ; preds = %8926
  br label %8928

8928:                                             ; preds = %8927
  br label %8929

8929:                                             ; preds = %8928
  %8930 = load i32, ptr @test_count, align 4, !tbaa !5
  %8931 = add nsw i32 %8930, 1
  store i32 %8931, ptr @test_count, align 4, !tbaa !5
  %8932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8933 = load i32, ptr %8932, align 4, !tbaa !5
  %8934 = call ptr @s2n_strerror_debug(i32 noundef %8933, ptr noundef @.str.4)
  %8935 = icmp eq ptr %8934, null
  br i1 %8935, label %8936, label %8989

8936:                                             ; preds = %8929
  br label %8937

8937:                                             ; preds = %8936
  br label %8938

8938:                                             ; preds = %8937
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %8939 = call ptr @__errno_location() #12
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  store i32 %8940, ptr %216, align 4, !tbaa !5
  %8941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8942 = call i32 @s2n_print_stacktrace(ptr noundef %8941)
  %8943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8944 = trunc i8 %8943 to i1
  br i1 %8944, label %8945, label %8967

8945:                                             ; preds = %8938
  %8946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8947 = call i32 @fileno(ptr noundef %8946) #11
  %8948 = call i32 @isatty(i32 noundef %8947) #11
  %8949 = icmp ne i32 %8948, 0
  br i1 %8949, label %8950, label %8967

8950:                                             ; preds = %8945
  %8951 = load i32, ptr %216, align 4, !tbaa !5
  %8952 = call ptr @__errno_location() #12
  store i32 %8951, ptr %8952, align 4, !tbaa !5
  %8953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8954 = load i32, ptr @test_count, align 4, !tbaa !5
  %8955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8956 = load i32, ptr %8955, align 4, !tbaa !5
  %8957 = call ptr @s2n_strerror(i32 noundef %8956, ptr noundef @.str.4)
  %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_debug(i32 noundef %8959, ptr noundef @.str.4)
  %8961 = call ptr @__errno_location() #12
  %8962 = load i32, ptr %8961, align 4, !tbaa !5
  %8963 = call ptr @strerror(i32 noundef %8962) #11
  %8964 = call ptr @__errno_location() #12
  %8965 = load i32, ptr %8964, align 4, !tbaa !5
  %8966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8953, ptr noundef @.str.2, i32 noundef %8954, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 545, ptr noundef %8957, ptr noundef %8960, ptr noundef %8963, i32 noundef %8965) #11
  br label %8984

8967:                                             ; preds = %8945, %8938
  %8968 = load i32, ptr %216, align 4, !tbaa !5
  %8969 = call ptr @__errno_location() #12
  store i32 %8968, ptr %8969, align 4, !tbaa !5
  %8970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8971 = load i32, ptr @test_count, align 4, !tbaa !5
  %8972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8973 = load i32, ptr %8972, align 4, !tbaa !5
  %8974 = call ptr @s2n_strerror(i32 noundef %8973, ptr noundef @.str.4)
  %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_debug(i32 noundef %8976, ptr noundef @.str.4)
  %8978 = call ptr @__errno_location() #12
  %8979 = load i32, ptr %8978, align 4, !tbaa !5
  %8980 = call ptr @strerror(i32 noundef %8979) #11
  %8981 = call ptr @__errno_location() #12
  %8982 = load i32, ptr %8981, align 4, !tbaa !5
  %8983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8970, ptr noundef @.str.5, i32 noundef %8971, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 545, ptr noundef %8974, ptr noundef %8977, ptr noundef %8980, i32 noundef %8982) #11
  br label %8984

8984:                                             ; preds = %8967, %8950
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %8985

8985:                                             ; preds = %8984
  br label %8986

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

8987:                                             ; No predecessors!
  br label %8988

8988:                                             ; preds = %8987
  br label %8989

8989:                                             ; preds = %8988, %8929
  br label %8990

8990:                                             ; preds = %8989
  br label %8991

8991:                                             ; preds = %8990
  br label %8992

8992:                                             ; preds = %8991
  br label %8993

8993:                                             ; preds = %8992
  br label %8994

8994:                                             ; preds = %8993
  %8995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8995, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8996 = call ptr @__errno_location() #12
  store i32 0, ptr %8996, align 4, !tbaa !5
  br label %8997

8997:                                             ; preds = %8994
  br label %8998

8998:                                             ; preds = %8997
  br label %8999

8999:                                             ; preds = %8998
  br label %9000

9000:                                             ; preds = %8999
  call void @llvm.lifetime.start.p0(i64 56, ptr %217) #11
  call void @llvm.memset.p0.i64(ptr align 8 %217, i8 0, i64 56, i1 false)
  br label %9001

9001:                                             ; preds = %9000
  br label %9002

9002:                                             ; preds = %9001
  br label %9003

9003:                                             ; preds = %9002
  %9004 = load i32, ptr @test_count, align 4, !tbaa !5
  %9005 = add nsw i32 %9004, 1
  store i32 %9005, ptr @test_count, align 4, !tbaa !5
  %9006 = call i32 @s2n_select_external_psk(ptr noundef null, ptr noundef %217)
  %9007 = getelementptr inbounds %struct.s2n_result, ptr %218, i32 0, i32 0
  store i32 %9006, ptr %9007, align 4
  %9008 = getelementptr inbounds %struct.s2n_result, ptr %218, i32 0, i32 0
  %9009 = load i32, ptr %9008, align 4
  %9010 = call zeroext i1 @s2n_result_is_error(i32 %9009)
  br i1 %9010, label %9064, label %9011

9011:                                             ; preds = %9003
  br label %9012

9012:                                             ; preds = %9011
  br label %9013

9013:                                             ; preds = %9012
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %9014 = call ptr @__errno_location() #12
  %9015 = load i32, ptr %9014, align 4, !tbaa !5
  store i32 %9015, ptr %219, align 4, !tbaa !5
  %9016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9017 = call i32 @s2n_print_stacktrace(ptr noundef %9016)
  %9018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9019 = trunc i8 %9018 to i1
  br i1 %9019, label %9020, label %9042

9020:                                             ; preds = %9013
  %9021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9022 = call i32 @fileno(ptr noundef %9021) #11
  %9023 = call i32 @isatty(i32 noundef %9022) #11
  %9024 = icmp ne i32 %9023, 0
  br i1 %9024, label %9025, label %9042

9025:                                             ; preds = %9020
  %9026 = load i32, ptr %219, align 4, !tbaa !5
  %9027 = call ptr @__errno_location() #12
  store i32 %9026, ptr %9027, align 4, !tbaa !5
  %9028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9029 = load i32, ptr @test_count, align 4, !tbaa !5
  %9030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9031 = load i32, ptr %9030, align 4, !tbaa !5
  %9032 = call ptr @s2n_strerror(i32 noundef %9031, ptr noundef @.str.4)
  %9033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9034 = load i32, ptr %9033, align 4, !tbaa !5
  %9035 = call ptr @s2n_strerror_debug(i32 noundef %9034, ptr noundef @.str.4)
  %9036 = call ptr @__errno_location() #12
  %9037 = load i32, ptr %9036, align 4, !tbaa !5
  %9038 = call ptr @strerror(i32 noundef %9037) #11
  %9039 = call ptr @__errno_location() #12
  %9040 = load i32, ptr %9039, align 4, !tbaa !5
  %9041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9028, ptr noundef @.str.2, i32 noundef %9029, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9032, ptr noundef %9035, ptr noundef %9038, i32 noundef %9040) #11
  br label %9059

9042:                                             ; preds = %9020, %9013
  %9043 = load i32, ptr %219, align 4, !tbaa !5
  %9044 = call ptr @__errno_location() #12
  store i32 %9043, ptr %9044, align 4, !tbaa !5
  %9045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9046 = load i32, ptr @test_count, align 4, !tbaa !5
  %9047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9048 = load i32, ptr %9047, align 4, !tbaa !5
  %9049 = call ptr @s2n_strerror(i32 noundef %9048, ptr noundef @.str.4)
  %9050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9051 = load i32, ptr %9050, align 4, !tbaa !5
  %9052 = call ptr @s2n_strerror_debug(i32 noundef %9051, ptr noundef @.str.4)
  %9053 = call ptr @__errno_location() #12
  %9054 = load i32, ptr %9053, align 4, !tbaa !5
  %9055 = call ptr @strerror(i32 noundef %9054) #11
  %9056 = call ptr @__errno_location() #12
  %9057 = load i32, ptr %9056, align 4, !tbaa !5
  %9058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9045, ptr noundef @.str.5, i32 noundef %9046, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9049, ptr noundef %9052, ptr noundef %9055, i32 noundef %9057) #11
  br label %9059

9059:                                             ; preds = %9042, %9025
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %9060

9060:                                             ; preds = %9059
  br label %9061

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

9062:                                             ; No predecessors!
  br label %9063

9063:                                             ; preds = %9062
  br label %9064

9064:                                             ; preds = %9063, %9003
  br label %9065

9065:                                             ; preds = %9064
  br label %9066

9066:                                             ; preds = %9065
  br label %9067

9067:                                             ; preds = %9066
  %9068 = load i32, ptr @test_count, align 4, !tbaa !5
  %9069 = add nsw i32 %9068, 1
  store i32 %9069, ptr @test_count, align 4, !tbaa !5
  %9070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9071 = load i32, ptr %9070, align 4, !tbaa !5
  %9072 = icmp eq i32 %9071, 402653193
  br i1 %9072, label %9126, label %9073

9073:                                             ; preds = %9067
  br label %9074

9074:                                             ; preds = %9073
  br label %9075

9075:                                             ; preds = %9074
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %9076 = call ptr @__errno_location() #12
  %9077 = load i32, ptr %9076, align 4, !tbaa !5
  store i32 %9077, ptr %220, align 4, !tbaa !5
  %9078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9079 = call i32 @s2n_print_stacktrace(ptr noundef %9078)
  %9080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9081 = trunc i8 %9080 to i1
  br i1 %9081, label %9082, label %9104

9082:                                             ; preds = %9075
  %9083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9084 = call i32 @fileno(ptr noundef %9083) #11
  %9085 = call i32 @isatty(i32 noundef %9084) #11
  %9086 = icmp ne i32 %9085, 0
  br i1 %9086, label %9087, label %9104

9087:                                             ; preds = %9082
  %9088 = load i32, ptr %220, align 4, !tbaa !5
  %9089 = call ptr @__errno_location() #12
  store i32 %9088, ptr %9089, align 4, !tbaa !5
  %9090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9091 = load i32, ptr @test_count, align 4, !tbaa !5
  %9092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9093 = load i32, ptr %9092, align 4, !tbaa !5
  %9094 = call ptr @s2n_strerror(i32 noundef %9093, ptr noundef @.str.4)
  %9095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9096 = load i32, ptr %9095, align 4, !tbaa !5
  %9097 = call ptr @s2n_strerror_debug(i32 noundef %9096, ptr noundef @.str.4)
  %9098 = call ptr @__errno_location() #12
  %9099 = load i32, ptr %9098, align 4, !tbaa !5
  %9100 = call ptr @strerror(i32 noundef %9099) #11
  %9101 = call ptr @__errno_location() #12
  %9102 = load i32, ptr %9101, align 4, !tbaa !5
  %9103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9090, ptr noundef @.str.2, i32 noundef %9091, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9094, ptr noundef %9097, ptr noundef %9100, i32 noundef %9102) #11
  br label %9121

9104:                                             ; preds = %9082, %9075
  %9105 = load i32, ptr %220, align 4, !tbaa !5
  %9106 = call ptr @__errno_location() #12
  store i32 %9105, ptr %9106, align 4, !tbaa !5
  %9107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9108 = load i32, ptr @test_count, align 4, !tbaa !5
  %9109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9110 = load i32, ptr %9109, align 4, !tbaa !5
  %9111 = call ptr @s2n_strerror(i32 noundef %9110, ptr noundef @.str.4)
  %9112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9113 = load i32, ptr %9112, align 4, !tbaa !5
  %9114 = call ptr @s2n_strerror_debug(i32 noundef %9113, ptr noundef @.str.4)
  %9115 = call ptr @__errno_location() #12
  %9116 = load i32, ptr %9115, align 4, !tbaa !5
  %9117 = call ptr @strerror(i32 noundef %9116) #11
  %9118 = call ptr @__errno_location() #12
  %9119 = load i32, ptr %9118, align 4, !tbaa !5
  %9120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9107, ptr noundef @.str.5, i32 noundef %9108, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9111, ptr noundef %9114, ptr noundef %9117, i32 noundef %9119) #11
  br label %9121

9121:                                             ; preds = %9104, %9087
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %9122

9122:                                             ; preds = %9121
  br label %9123

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

9124:                                             ; No predecessors!
  br label %9125

9125:                                             ; preds = %9124
  br label %9126

9126:                                             ; preds = %9125, %9067
  br label %9127

9127:                                             ; preds = %9126
  br label %9128

9128:                                             ; preds = %9127
  br label %9129

9129:                                             ; preds = %9128
  %9130 = load i32, ptr @test_count, align 4, !tbaa !5
  %9131 = add nsw i32 %9130, 1
  store i32 %9131, ptr @test_count, align 4, !tbaa !5
  %9132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  %9134 = call ptr @s2n_strerror_debug(i32 noundef %9133, ptr noundef @.str.4)
  %9135 = icmp eq ptr %9134, null
  br i1 %9135, label %9136, label %9189

9136:                                             ; preds = %9129
  br label %9137

9137:                                             ; preds = %9136
  br label %9138

9138:                                             ; preds = %9137
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %9139 = call ptr @__errno_location() #12
  %9140 = load i32, ptr %9139, align 4, !tbaa !5
  store i32 %9140, ptr %221, align 4, !tbaa !5
  %9141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9142 = call i32 @s2n_print_stacktrace(ptr noundef %9141)
  %9143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9144 = trunc i8 %9143 to i1
  br i1 %9144, label %9145, label %9167

9145:                                             ; preds = %9138
  %9146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9147 = call i32 @fileno(ptr noundef %9146) #11
  %9148 = call i32 @isatty(i32 noundef %9147) #11
  %9149 = icmp ne i32 %9148, 0
  br i1 %9149, label %9150, label %9167

9150:                                             ; preds = %9145
  %9151 = load i32, ptr %221, align 4, !tbaa !5
  %9152 = call ptr @__errno_location() #12
  store i32 %9151, ptr %9152, align 4, !tbaa !5
  %9153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9154 = load i32, ptr @test_count, align 4, !tbaa !5
  %9155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9156 = load i32, ptr %9155, align 4, !tbaa !5
  %9157 = call ptr @s2n_strerror(i32 noundef %9156, ptr noundef @.str.4)
  %9158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9159 = load i32, ptr %9158, align 4, !tbaa !5
  %9160 = call ptr @s2n_strerror_debug(i32 noundef %9159, ptr noundef @.str.4)
  %9161 = call ptr @__errno_location() #12
  %9162 = load i32, ptr %9161, align 4, !tbaa !5
  %9163 = call ptr @strerror(i32 noundef %9162) #11
  %9164 = call ptr @__errno_location() #12
  %9165 = load i32, ptr %9164, align 4, !tbaa !5
  %9166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9153, ptr noundef @.str.2, i32 noundef %9154, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9157, ptr noundef %9160, ptr noundef %9163, i32 noundef %9165) #11
  br label %9184

9167:                                             ; preds = %9145, %9138
  %9168 = load i32, ptr %221, align 4, !tbaa !5
  %9169 = call ptr @__errno_location() #12
  store i32 %9168, ptr %9169, align 4, !tbaa !5
  %9170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9171 = load i32, ptr @test_count, align 4, !tbaa !5
  %9172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9173 = load i32, ptr %9172, align 4, !tbaa !5
  %9174 = call ptr @s2n_strerror(i32 noundef %9173, ptr noundef @.str.4)
  %9175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9176 = load i32, ptr %9175, align 4, !tbaa !5
  %9177 = call ptr @s2n_strerror_debug(i32 noundef %9176, ptr noundef @.str.4)
  %9178 = call ptr @__errno_location() #12
  %9179 = load i32, ptr %9178, align 4, !tbaa !5
  %9180 = call ptr @strerror(i32 noundef %9179) #11
  %9181 = call ptr @__errno_location() #12
  %9182 = load i32, ptr %9181, align 4, !tbaa !5
  %9183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9170, ptr noundef @.str.5, i32 noundef %9171, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9174, ptr noundef %9177, ptr noundef %9180, i32 noundef %9182) #11
  br label %9184

9184:                                             ; preds = %9167, %9150
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %9185

9185:                                             ; preds = %9184
  br label %9186

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

9187:                                             ; No predecessors!
  br label %9188

9188:                                             ; preds = %9187
  br label %9189

9189:                                             ; preds = %9188, %9129
  br label %9190

9190:                                             ; preds = %9189
  br label %9191

9191:                                             ; preds = %9190
  br label %9192

9192:                                             ; preds = %9191
  br label %9193

9193:                                             ; preds = %9192
  br label %9194

9194:                                             ; preds = %9193
  %9195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9195, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9196 = call ptr @__errno_location() #12
  store i32 0, ptr %9196, align 4, !tbaa !5
  br label %9197

9197:                                             ; preds = %9194
  br label %9198

9198:                                             ; preds = %9197
  br label %9199

9199:                                             ; preds = %9198
  br label %9200

9200:                                             ; preds = %9199
  br label %9201

9201:                                             ; preds = %9200
  %9202 = load i32, ptr @test_count, align 4, !tbaa !5
  %9203 = add nsw i32 %9202, 1
  store i32 %9203, ptr @test_count, align 4, !tbaa !5
  %9204 = load ptr, ptr %211, align 8, !tbaa !9
  %9205 = call i32 @s2n_connection_free(ptr noundef %9204)
  %9206 = icmp eq i32 %9205, -1
  br i1 %9206, label %9207, label %9260

9207:                                             ; preds = %9201
  br label %9208

9208:                                             ; preds = %9207
  br label %9209

9209:                                             ; preds = %9208
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %9210 = call ptr @__errno_location() #12
  %9211 = load i32, ptr %9210, align 4, !tbaa !5
  store i32 %9211, ptr %222, align 4, !tbaa !5
  %9212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9213 = call i32 @s2n_print_stacktrace(ptr noundef %9212)
  %9214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9215 = trunc i8 %9214 to i1
  br i1 %9215, label %9216, label %9238

9216:                                             ; preds = %9209
  %9217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9218 = call i32 @fileno(ptr noundef %9217) #11
  %9219 = call i32 @isatty(i32 noundef %9218) #11
  %9220 = icmp ne i32 %9219, 0
  br i1 %9220, label %9221, label %9238

9221:                                             ; preds = %9216
  %9222 = load i32, ptr %222, align 4, !tbaa !5
  %9223 = call ptr @__errno_location() #12
  store i32 %9222, ptr %9223, align 4, !tbaa !5
  %9224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9225 = load i32, ptr @test_count, align 4, !tbaa !5
  %9226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9227 = load i32, ptr %9226, align 4, !tbaa !5
  %9228 = call ptr @s2n_strerror(i32 noundef %9227, ptr noundef @.str.4)
  %9229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9230 = load i32, ptr %9229, align 4, !tbaa !5
  %9231 = call ptr @s2n_strerror_debug(i32 noundef %9230, ptr noundef @.str.4)
  %9232 = call ptr @__errno_location() #12
  %9233 = load i32, ptr %9232, align 4, !tbaa !5
  %9234 = call ptr @strerror(i32 noundef %9233) #11
  %9235 = call ptr @__errno_location() #12
  %9236 = load i32, ptr %9235, align 4, !tbaa !5
  %9237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9224, ptr noundef @.str.2, i32 noundef %9225, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 550, ptr noundef %9228, ptr noundef %9231, ptr noundef %9234, i32 noundef %9236) #11
  br label %9255

9238:                                             ; preds = %9216, %9209
  %9239 = load i32, ptr %222, align 4, !tbaa !5
  %9240 = call ptr @__errno_location() #12
  store i32 %9239, ptr %9240, align 4, !tbaa !5
  %9241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9242 = load i32, ptr @test_count, align 4, !tbaa !5
  %9243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9244 = load i32, ptr %9243, align 4, !tbaa !5
  %9245 = call ptr @s2n_strerror(i32 noundef %9244, ptr noundef @.str.4)
  %9246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9247 = load i32, ptr %9246, align 4, !tbaa !5
  %9248 = call ptr @s2n_strerror_debug(i32 noundef %9247, ptr noundef @.str.4)
  %9249 = call ptr @__errno_location() #12
  %9250 = load i32, ptr %9249, align 4, !tbaa !5
  %9251 = call ptr @strerror(i32 noundef %9250) #11
  %9252 = call ptr @__errno_location() #12
  %9253 = load i32, ptr %9252, align 4, !tbaa !5
  %9254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9241, ptr noundef @.str.5, i32 noundef %9242, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 550, ptr noundef %9245, ptr noundef %9248, ptr noundef %9251, i32 noundef %9253) #11
  br label %9255

9255:                                             ; preds = %9238, %9221
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %9256

9256:                                             ; preds = %9255
  br label %9257

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

9258:                                             ; No predecessors!
  br label %9259

9259:                                             ; preds = %9258
  br label %9260

9260:                                             ; preds = %9259, %9201
  br label %9261

9261:                                             ; preds = %9260
  br label %9262

9262:                                             ; preds = %9261
  call void @llvm.lifetime.end.p0(i64 56, ptr %217) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %211) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %223) #11
  call void @llvm.memset.p0.i64(ptr align 8 %223, i8 0, i64 24, i1 false)
  br label %9263

9263:                                             ; preds = %9262
  %9264 = load i32, ptr @test_count, align 4, !tbaa !5
  %9265 = add nsw i32 %9264, 1
  store i32 %9265, ptr @test_count, align 4, !tbaa !5
  %9266 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  %9267 = call i32 @s2n_blob_init(ptr noundef %223, ptr noundef %9266, i32 noundef 14)
  %9268 = icmp eq i32 %9267, -1
  br i1 %9268, label %9269, label %9322

9269:                                             ; preds = %9263
  br label %9270

9270:                                             ; preds = %9269
  br label %9271

9271:                                             ; preds = %9270
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %9272 = call ptr @__errno_location() #12
  %9273 = load i32, ptr %9272, align 4, !tbaa !5
  store i32 %9273, ptr %224, align 4, !tbaa !5
  %9274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9275 = call i32 @s2n_print_stacktrace(ptr noundef %9274)
  %9276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9277 = trunc i8 %9276 to i1
  br i1 %9277, label %9278, label %9300

9278:                                             ; preds = %9271
  %9279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9280 = call i32 @fileno(ptr noundef %9279) #11
  %9281 = call i32 @isatty(i32 noundef %9280) #11
  %9282 = icmp ne i32 %9281, 0
  br i1 %9282, label %9283, label %9300

9283:                                             ; preds = %9278
  %9284 = load i32, ptr %224, align 4, !tbaa !5
  %9285 = call ptr @__errno_location() #12
  store i32 %9284, ptr %9285, align 4, !tbaa !5
  %9286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9287 = load i32, ptr @test_count, align 4, !tbaa !5
  %9288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9289 = load i32, ptr %9288, align 4, !tbaa !5
  %9290 = call ptr @s2n_strerror(i32 noundef %9289, ptr noundef @.str.4)
  %9291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9292 = load i32, ptr %9291, align 4, !tbaa !5
  %9293 = call ptr @s2n_strerror_debug(i32 noundef %9292, ptr noundef @.str.4)
  %9294 = call ptr @__errno_location() #12
  %9295 = load i32, ptr %9294, align 4, !tbaa !5
  %9296 = call ptr @strerror(i32 noundef %9295) #11
  %9297 = call ptr @__errno_location() #12
  %9298 = load i32, ptr %9297, align 4, !tbaa !5
  %9299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9286, ptr noundef @.str.2, i32 noundef %9287, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 554, ptr noundef %9290, ptr noundef %9293, ptr noundef %9296, i32 noundef %9298) #11
  br label %9317

9300:                                             ; preds = %9278, %9271
  %9301 = load i32, ptr %224, align 4, !tbaa !5
  %9302 = call ptr @__errno_location() #12
  store i32 %9301, ptr %9302, align 4, !tbaa !5
  %9303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9304 = load i32, ptr @test_count, align 4, !tbaa !5
  %9305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9306 = load i32, ptr %9305, align 4, !tbaa !5
  %9307 = call ptr @s2n_strerror(i32 noundef %9306, ptr noundef @.str.4)
  %9308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9309 = load i32, ptr %9308, align 4, !tbaa !5
  %9310 = call ptr @s2n_strerror_debug(i32 noundef %9309, ptr noundef @.str.4)
  %9311 = call ptr @__errno_location() #12
  %9312 = load i32, ptr %9311, align 4, !tbaa !5
  %9313 = call ptr @strerror(i32 noundef %9312) #11
  %9314 = call ptr @__errno_location() #12
  %9315 = load i32, ptr %9314, align 4, !tbaa !5
  %9316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9303, ptr noundef @.str.5, i32 noundef %9304, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 554, ptr noundef %9307, ptr noundef %9310, ptr noundef %9313, i32 noundef %9315) #11
  br label %9317

9317:                                             ; preds = %9300, %9283
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %9318

9318:                                             ; preds = %9317
  br label %9319

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

9320:                                             ; No predecessors!
  br label %9321

9321:                                             ; preds = %9320
  br label %9322

9322:                                             ; preds = %9321, %9263
  br label %9323

9323:                                             ; preds = %9322
  br label %9324

9324:                                             ; preds = %9323
  call void @llvm.lifetime.start.p0(i64 24, ptr %225) #11
  call void @llvm.memset.p0.i64(ptr align 8 %225, i8 0, i64 24, i1 false)
  br label %9325

9325:                                             ; preds = %9324
  %9326 = load i32, ptr @test_count, align 4, !tbaa !5
  %9327 = add nsw i32 %9326, 1
  store i32 %9327, ptr @test_count, align 4, !tbaa !5
  %9328 = getelementptr inbounds [17 x i8], ptr %12, i64 0, i64 0
  %9329 = call i32 @s2n_blob_init(ptr noundef %225, ptr noundef %9328, i32 noundef 17)
  %9330 = icmp eq i32 %9329, -1
  br i1 %9330, label %9331, label %9384

9331:                                             ; preds = %9325
  br label %9332

9332:                                             ; preds = %9331
  br label %9333

9333:                                             ; preds = %9332
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %9334 = call ptr @__errno_location() #12
  %9335 = load i32, ptr %9334, align 4, !tbaa !5
  store i32 %9335, ptr %226, align 4, !tbaa !5
  %9336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9337 = call i32 @s2n_print_stacktrace(ptr noundef %9336)
  %9338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9339 = trunc i8 %9338 to i1
  br i1 %9339, label %9340, label %9362

9340:                                             ; preds = %9333
  %9341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9342 = call i32 @fileno(ptr noundef %9341) #11
  %9343 = call i32 @isatty(i32 noundef %9342) #11
  %9344 = icmp ne i32 %9343, 0
  br i1 %9344, label %9345, label %9362

9345:                                             ; preds = %9340
  %9346 = load i32, ptr %226, align 4, !tbaa !5
  %9347 = call ptr @__errno_location() #12
  store i32 %9346, ptr %9347, align 4, !tbaa !5
  %9348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9349 = load i32, ptr @test_count, align 4, !tbaa !5
  %9350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9351 = load i32, ptr %9350, align 4, !tbaa !5
  %9352 = call ptr @s2n_strerror(i32 noundef %9351, ptr noundef @.str.4)
  %9353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9354 = load i32, ptr %9353, align 4, !tbaa !5
  %9355 = call ptr @s2n_strerror_debug(i32 noundef %9354, ptr noundef @.str.4)
  %9356 = call ptr @__errno_location() #12
  %9357 = load i32, ptr %9356, align 4, !tbaa !5
  %9358 = call ptr @strerror(i32 noundef %9357) #11
  %9359 = call ptr @__errno_location() #12
  %9360 = load i32, ptr %9359, align 4, !tbaa !5
  %9361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9348, ptr noundef @.str.2, i32 noundef %9349, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 556, ptr noundef %9352, ptr noundef %9355, ptr noundef %9358, i32 noundef %9360) #11
  br label %9379

9362:                                             ; preds = %9340, %9333
  %9363 = load i32, ptr %226, align 4, !tbaa !5
  %9364 = call ptr @__errno_location() #12
  store i32 %9363, ptr %9364, align 4, !tbaa !5
  %9365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9366 = load i32, ptr @test_count, align 4, !tbaa !5
  %9367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9368 = load i32, ptr %9367, align 4, !tbaa !5
  %9369 = call ptr @s2n_strerror(i32 noundef %9368, ptr noundef @.str.4)
  %9370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9371 = load i32, ptr %9370, align 4, !tbaa !5
  %9372 = call ptr @s2n_strerror_debug(i32 noundef %9371, ptr noundef @.str.4)
  %9373 = call ptr @__errno_location() #12
  %9374 = load i32, ptr %9373, align 4, !tbaa !5
  %9375 = call ptr @strerror(i32 noundef %9374) #11
  %9376 = call ptr @__errno_location() #12
  %9377 = load i32, ptr %9376, align 4, !tbaa !5
  %9378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9365, ptr noundef @.str.5, i32 noundef %9366, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 556, ptr noundef %9369, ptr noundef %9372, ptr noundef %9375, i32 noundef %9377) #11
  br label %9379

9379:                                             ; preds = %9362, %9345
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %9380

9380:                                             ; preds = %9379
  br label %9381

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

9382:                                             ; No predecessors!
  br label %9383

9383:                                             ; preds = %9382
  br label %9384

9384:                                             ; preds = %9383, %9325
  br label %9385

9385:                                             ; preds = %9384
  br label %9386

9386:                                             ; preds = %9385
  call void @llvm.lifetime.start.p0(i64 24, ptr %227) #11
  call void @llvm.memset.p0.i64(ptr align 8 %227, i8 0, i64 24, i1 false)
  br label %9387

9387:                                             ; preds = %9386
  %9388 = load i32, ptr @test_count, align 4, !tbaa !5
  %9389 = add nsw i32 %9388, 1
  store i32 %9389, ptr @test_count, align 4, !tbaa !5
  %9390 = getelementptr inbounds [11 x i8], ptr %13, i64 0, i64 0
  %9391 = call i32 @s2n_blob_init(ptr noundef %227, ptr noundef %9390, i32 noundef 11)
  %9392 = icmp eq i32 %9391, -1
  br i1 %9392, label %9393, label %9446

9393:                                             ; preds = %9387
  br label %9394

9394:                                             ; preds = %9393
  br label %9395

9395:                                             ; preds = %9394
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %9396 = call ptr @__errno_location() #12
  %9397 = load i32, ptr %9396, align 4, !tbaa !5
  store i32 %9397, ptr %228, align 4, !tbaa !5
  %9398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9399 = call i32 @s2n_print_stacktrace(ptr noundef %9398)
  %9400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9401 = trunc i8 %9400 to i1
  br i1 %9401, label %9402, label %9424

9402:                                             ; preds = %9395
  %9403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9404 = call i32 @fileno(ptr noundef %9403) #11
  %9405 = call i32 @isatty(i32 noundef %9404) #11
  %9406 = icmp ne i32 %9405, 0
  br i1 %9406, label %9407, label %9424

9407:                                             ; preds = %9402
  %9408 = load i32, ptr %228, align 4, !tbaa !5
  %9409 = call ptr @__errno_location() #12
  store i32 %9408, ptr %9409, align 4, !tbaa !5
  %9410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9411 = load i32, ptr @test_count, align 4, !tbaa !5
  %9412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9413 = load i32, ptr %9412, align 4, !tbaa !5
  %9414 = call ptr @s2n_strerror(i32 noundef %9413, ptr noundef @.str.4)
  %9415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9416 = load i32, ptr %9415, align 4, !tbaa !5
  %9417 = call ptr @s2n_strerror_debug(i32 noundef %9416, ptr noundef @.str.4)
  %9418 = call ptr @__errno_location() #12
  %9419 = load i32, ptr %9418, align 4, !tbaa !5
  %9420 = call ptr @strerror(i32 noundef %9419) #11
  %9421 = call ptr @__errno_location() #12
  %9422 = load i32, ptr %9421, align 4, !tbaa !5
  %9423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9410, ptr noundef @.str.2, i32 noundef %9411, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 558, ptr noundef %9414, ptr noundef %9417, ptr noundef %9420, i32 noundef %9422) #11
  br label %9441

9424:                                             ; preds = %9402, %9395
  %9425 = load i32, ptr %228, align 4, !tbaa !5
  %9426 = call ptr @__errno_location() #12
  store i32 %9425, ptr %9426, align 4, !tbaa !5
  %9427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9428 = load i32, ptr @test_count, align 4, !tbaa !5
  %9429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9430 = load i32, ptr %9429, align 4, !tbaa !5
  %9431 = call ptr @s2n_strerror(i32 noundef %9430, ptr noundef @.str.4)
  %9432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9433 = load i32, ptr %9432, align 4, !tbaa !5
  %9434 = call ptr @s2n_strerror_debug(i32 noundef %9433, ptr noundef @.str.4)
  %9435 = call ptr @__errno_location() #12
  %9436 = load i32, ptr %9435, align 4, !tbaa !5
  %9437 = call ptr @strerror(i32 noundef %9436) #11
  %9438 = call ptr @__errno_location() #12
  %9439 = load i32, ptr %9438, align 4, !tbaa !5
  %9440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9427, ptr noundef @.str.5, i32 noundef %9428, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 558, ptr noundef %9431, ptr noundef %9434, ptr noundef %9437, i32 noundef %9439) #11
  br label %9441

9441:                                             ; preds = %9424, %9407
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %9442

9442:                                             ; preds = %9441
  br label %9443

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

9444:                                             ; No predecessors!
  br label %9445

9445:                                             ; preds = %9444
  br label %9446

9446:                                             ; preds = %9445, %9387
  br label %9447

9447:                                             ; preds = %9446
  br label %9448

9448:                                             ; preds = %9447
  call void @llvm.lifetime.start.p0(i64 24, ptr %229) #11
  store ptr %223, ptr %229, align 8, !tbaa !9
  %9449 = getelementptr inbounds ptr, ptr %229, i64 1
  store ptr %225, ptr %9449, align 8, !tbaa !9
  %9450 = getelementptr inbounds ptr, ptr %229, i64 2
  store ptr %227, ptr %9450, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %230) #11
  store ptr %227, ptr %230, align 8, !tbaa !9
  %9451 = getelementptr inbounds ptr, ptr %230, i64 1
  store ptr %225, ptr %9451, align 8, !tbaa !9
  %9452 = getelementptr inbounds ptr, ptr %230, i64 2
  store ptr %223, ptr %9452, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %231) #11
  store ptr %225, ptr %231, align 8, !tbaa !9
  %9453 = getelementptr inbounds ptr, ptr %231, i64 1
  store ptr %227, ptr %9453, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %232) #11
  store ptr %223, ptr %232, align 8, !tbaa !9
  %9454 = getelementptr inbounds ptr, ptr %232, i64 1
  store ptr %223, ptr %9454, align 8, !tbaa !9
  %9455 = getelementptr inbounds ptr, ptr %232, i64 2
  store ptr %223, ptr %9455, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %233) #11
  store ptr %225, ptr %233, align 8, !tbaa !9
  %9456 = getelementptr inbounds ptr, ptr %233, i64 1
  store ptr %225, ptr %9456, align 8, !tbaa !9
  %9457 = getelementptr inbounds ptr, ptr %233, i64 2
  store ptr %225, ptr %9457, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %234) #11
  store ptr %223, ptr %234, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %235) #11
  store ptr %225, ptr %235, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %236) #11
  store ptr %227, ptr %236, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1568, ptr %237) #11
  call void @llvm.memset.p0.i64(ptr align 8 %237, i8 0, i64 56, i1 false)
  %9458 = getelementptr inbounds %struct.anon.1, ptr %237, i32 0, i32 0
  %9459 = getelementptr inbounds %struct.anon.1, ptr %237, i32 0, i32 1
  %9460 = getelementptr inbounds %struct.anon.1, ptr %237, i32 0, i32 2
  %9461 = getelementptr inbounds %struct.anon.1, ptr %237, i32 0, i32 3
  %9462 = getelementptr inbounds %struct.anon.1, ptr %237, i32 0, i32 4
  %9463 = getelementptr inbounds %struct.anon.1, ptr %237, i32 0, i32 5
  %9464 = getelementptr inbounds %struct.anon.1, ptr %237, i32 0, i32 6
  %9465 = getelementptr inbounds %struct.anon.1, ptr %237, i64 1
  %9466 = getelementptr inbounds %struct.anon.1, ptr %9465, i32 0, i32 0
  store i8 0, ptr %9466, align 8, !tbaa !84
  %9467 = getelementptr inbounds %struct.anon.1, ptr %9465, i32 0, i32 1
  %9468 = getelementptr inbounds [1 x ptr], ptr %234, i64 0, i64 0
  store ptr %9468, ptr %9467, align 8, !tbaa !86
  %9469 = getelementptr inbounds %struct.anon.1, ptr %9465, i32 0, i32 2
  store i64 1, ptr %9469, align 8, !tbaa !87
  %9470 = getelementptr inbounds %struct.anon.1, ptr %9465, i32 0, i32 3
  store ptr null, ptr %9470, align 8, !tbaa !88
  %9471 = getelementptr inbounds %struct.anon.1, ptr %9465, i32 0, i32 4
  store i64 0, ptr %9471, align 8, !tbaa !89
  %9472 = getelementptr inbounds %struct.anon.1, ptr %9465, i32 0, i32 5
  store i64 0, ptr %9472, align 8, !tbaa !90
  %9473 = getelementptr inbounds %struct.anon.1, ptr %9465, i32 0, i32 6
  store i64 0, ptr %9473, align 8, !tbaa !91
  %9474 = getelementptr inbounds %struct.anon.1, ptr %237, i64 2
  %9475 = getelementptr inbounds %struct.anon.1, ptr %9474, i32 0, i32 0
  store i8 0, ptr %9475, align 8, !tbaa !84
  %9476 = getelementptr inbounds %struct.anon.1, ptr %9474, i32 0, i32 1
  %9477 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9477, ptr %9476, align 8, !tbaa !86
  %9478 = getelementptr inbounds %struct.anon.1, ptr %9474, i32 0, i32 2
  store i64 3, ptr %9478, align 8, !tbaa !87
  %9479 = getelementptr inbounds %struct.anon.1, ptr %9474, i32 0, i32 3
  store ptr null, ptr %9479, align 8, !tbaa !88
  %9480 = getelementptr inbounds %struct.anon.1, ptr %9474, i32 0, i32 4
  store i64 0, ptr %9480, align 8, !tbaa !89
  %9481 = getelementptr inbounds %struct.anon.1, ptr %9474, i32 0, i32 5
  store i64 0, ptr %9481, align 8, !tbaa !90
  %9482 = getelementptr inbounds %struct.anon.1, ptr %9474, i32 0, i32 6
  store i64 0, ptr %9482, align 8, !tbaa !91
  %9483 = getelementptr inbounds %struct.anon.1, ptr %237, i64 3
  %9484 = getelementptr inbounds %struct.anon.1, ptr %9483, i32 0, i32 0
  store i8 0, ptr %9484, align 8, !tbaa !84
  %9485 = getelementptr inbounds %struct.anon.1, ptr %9483, i32 0, i32 1
  store ptr null, ptr %9485, align 8, !tbaa !86
  %9486 = getelementptr inbounds %struct.anon.1, ptr %9483, i32 0, i32 2
  store i64 0, ptr %9486, align 8, !tbaa !87
  %9487 = getelementptr inbounds %struct.anon.1, ptr %9483, i32 0, i32 3
  %9488 = getelementptr inbounds [1 x ptr], ptr %234, i64 0, i64 0
  store ptr %9488, ptr %9487, align 8, !tbaa !88
  %9489 = getelementptr inbounds %struct.anon.1, ptr %9483, i32 0, i32 4
  store i64 1, ptr %9489, align 8, !tbaa !89
  %9490 = getelementptr inbounds %struct.anon.1, ptr %9483, i32 0, i32 5
  store i64 0, ptr %9490, align 8, !tbaa !90
  %9491 = getelementptr inbounds %struct.anon.1, ptr %9483, i32 0, i32 6
  store i64 0, ptr %9491, align 8, !tbaa !91
  %9492 = getelementptr inbounds %struct.anon.1, ptr %237, i64 4
  %9493 = getelementptr inbounds %struct.anon.1, ptr %9492, i32 0, i32 0
  store i8 0, ptr %9493, align 8, !tbaa !84
  %9494 = getelementptr inbounds %struct.anon.1, ptr %9492, i32 0, i32 1
  store ptr null, ptr %9494, align 8, !tbaa !86
  %9495 = getelementptr inbounds %struct.anon.1, ptr %9492, i32 0, i32 2
  store i64 0, ptr %9495, align 8, !tbaa !87
  %9496 = getelementptr inbounds %struct.anon.1, ptr %9492, i32 0, i32 3
  %9497 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9497, ptr %9496, align 8, !tbaa !88
  %9498 = getelementptr inbounds %struct.anon.1, ptr %9492, i32 0, i32 4
  store i64 3, ptr %9498, align 8, !tbaa !89
  %9499 = getelementptr inbounds %struct.anon.1, ptr %9492, i32 0, i32 5
  store i64 0, ptr %9499, align 8, !tbaa !90
  %9500 = getelementptr inbounds %struct.anon.1, ptr %9492, i32 0, i32 6
  store i64 0, ptr %9500, align 8, !tbaa !91
  %9501 = getelementptr inbounds %struct.anon.1, ptr %237, i64 5
  %9502 = getelementptr inbounds %struct.anon.1, ptr %9501, i32 0, i32 0
  store i8 0, ptr %9502, align 8, !tbaa !84
  %9503 = getelementptr inbounds %struct.anon.1, ptr %9501, i32 0, i32 1
  %9504 = getelementptr inbounds [1 x ptr], ptr %234, i64 0, i64 0
  store ptr %9504, ptr %9503, align 8, !tbaa !86
  %9505 = getelementptr inbounds %struct.anon.1, ptr %9501, i32 0, i32 2
  store i64 1, ptr %9505, align 8, !tbaa !87
  %9506 = getelementptr inbounds %struct.anon.1, ptr %9501, i32 0, i32 3
  %9507 = getelementptr inbounds [1 x ptr], ptr %235, i64 0, i64 0
  store ptr %9507, ptr %9506, align 8, !tbaa !88
  %9508 = getelementptr inbounds %struct.anon.1, ptr %9501, i32 0, i32 4
  store i64 1, ptr %9508, align 8, !tbaa !89
  %9509 = getelementptr inbounds %struct.anon.1, ptr %9501, i32 0, i32 5
  store i64 0, ptr %9509, align 8, !tbaa !90
  %9510 = getelementptr inbounds %struct.anon.1, ptr %9501, i32 0, i32 6
  store i64 0, ptr %9510, align 8, !tbaa !91
  %9511 = getelementptr inbounds %struct.anon.1, ptr %237, i64 6
  %9512 = getelementptr inbounds %struct.anon.1, ptr %9511, i32 0, i32 0
  store i8 0, ptr %9512, align 8, !tbaa !84
  %9513 = getelementptr inbounds %struct.anon.1, ptr %9511, i32 0, i32 1
  %9514 = getelementptr inbounds [1 x ptr], ptr %234, i64 0, i64 0
  store ptr %9514, ptr %9513, align 8, !tbaa !86
  %9515 = getelementptr inbounds %struct.anon.1, ptr %9511, i32 0, i32 2
  store i64 1, ptr %9515, align 8, !tbaa !87
  %9516 = getelementptr inbounds %struct.anon.1, ptr %9511, i32 0, i32 3
  %9517 = getelementptr inbounds [2 x ptr], ptr %231, i64 0, i64 0
  store ptr %9517, ptr %9516, align 8, !tbaa !88
  %9518 = getelementptr inbounds %struct.anon.1, ptr %9511, i32 0, i32 4
  store i64 2, ptr %9518, align 8, !tbaa !89
  %9519 = getelementptr inbounds %struct.anon.1, ptr %9511, i32 0, i32 5
  store i64 0, ptr %9519, align 8, !tbaa !90
  %9520 = getelementptr inbounds %struct.anon.1, ptr %9511, i32 0, i32 6
  store i64 0, ptr %9520, align 8, !tbaa !91
  %9521 = getelementptr inbounds %struct.anon.1, ptr %237, i64 7
  %9522 = getelementptr inbounds %struct.anon.1, ptr %9521, i32 0, i32 0
  store i8 0, ptr %9522, align 8, !tbaa !84
  %9523 = getelementptr inbounds %struct.anon.1, ptr %9521, i32 0, i32 1
  %9524 = getelementptr inbounds [2 x ptr], ptr %231, i64 0, i64 0
  store ptr %9524, ptr %9523, align 8, !tbaa !86
  %9525 = getelementptr inbounds %struct.anon.1, ptr %9521, i32 0, i32 2
  store i64 2, ptr %9525, align 8, !tbaa !87
  %9526 = getelementptr inbounds %struct.anon.1, ptr %9521, i32 0, i32 3
  %9527 = getelementptr inbounds [1 x ptr], ptr %234, i64 0, i64 0
  store ptr %9527, ptr %9526, align 8, !tbaa !88
  %9528 = getelementptr inbounds %struct.anon.1, ptr %9521, i32 0, i32 4
  store i64 1, ptr %9528, align 8, !tbaa !89
  %9529 = getelementptr inbounds %struct.anon.1, ptr %9521, i32 0, i32 5
  store i64 0, ptr %9529, align 8, !tbaa !90
  %9530 = getelementptr inbounds %struct.anon.1, ptr %9521, i32 0, i32 6
  store i64 0, ptr %9530, align 8, !tbaa !91
  %9531 = getelementptr inbounds %struct.anon.1, ptr %237, i64 8
  %9532 = getelementptr inbounds %struct.anon.1, ptr %9531, i32 0, i32 0
  store i8 1, ptr %9532, align 8, !tbaa !84
  %9533 = getelementptr inbounds %struct.anon.1, ptr %9531, i32 0, i32 1
  %9534 = getelementptr inbounds [1 x ptr], ptr %234, i64 0, i64 0
  store ptr %9534, ptr %9533, align 8, !tbaa !86
  %9535 = getelementptr inbounds %struct.anon.1, ptr %9531, i32 0, i32 2
  store i64 1, ptr %9535, align 8, !tbaa !87
  %9536 = getelementptr inbounds %struct.anon.1, ptr %9531, i32 0, i32 3
  %9537 = getelementptr inbounds [1 x ptr], ptr %234, i64 0, i64 0
  store ptr %9537, ptr %9536, align 8, !tbaa !88
  %9538 = getelementptr inbounds %struct.anon.1, ptr %9531, i32 0, i32 4
  store i64 1, ptr %9538, align 8, !tbaa !89
  %9539 = getelementptr inbounds %struct.anon.1, ptr %9531, i32 0, i32 5
  store i64 0, ptr %9539, align 8, !tbaa !90
  %9540 = getelementptr inbounds %struct.anon.1, ptr %9531, i32 0, i32 6
  store i64 0, ptr %9540, align 8, !tbaa !91
  %9541 = getelementptr inbounds %struct.anon.1, ptr %237, i64 9
  %9542 = getelementptr inbounds %struct.anon.1, ptr %9541, i32 0, i32 0
  store i8 1, ptr %9542, align 8, !tbaa !84
  %9543 = getelementptr inbounds %struct.anon.1, ptr %9541, i32 0, i32 1
  %9544 = getelementptr inbounds [1 x ptr], ptr %234, i64 0, i64 0
  store ptr %9544, ptr %9543, align 8, !tbaa !86
  %9545 = getelementptr inbounds %struct.anon.1, ptr %9541, i32 0, i32 2
  store i64 1, ptr %9545, align 8, !tbaa !87
  %9546 = getelementptr inbounds %struct.anon.1, ptr %9541, i32 0, i32 3
  %9547 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9547, ptr %9546, align 8, !tbaa !88
  %9548 = getelementptr inbounds %struct.anon.1, ptr %9541, i32 0, i32 4
  store i64 3, ptr %9548, align 8, !tbaa !89
  %9549 = getelementptr inbounds %struct.anon.1, ptr %9541, i32 0, i32 5
  store i64 0, ptr %9549, align 8, !tbaa !90
  %9550 = getelementptr inbounds %struct.anon.1, ptr %9541, i32 0, i32 6
  store i64 0, ptr %9550, align 8, !tbaa !91
  %9551 = getelementptr inbounds %struct.anon.1, ptr %237, i64 10
  %9552 = getelementptr inbounds %struct.anon.1, ptr %9551, i32 0, i32 0
  store i8 1, ptr %9552, align 8, !tbaa !84
  %9553 = getelementptr inbounds %struct.anon.1, ptr %9551, i32 0, i32 1
  %9554 = getelementptr inbounds [1 x ptr], ptr %235, i64 0, i64 0
  store ptr %9554, ptr %9553, align 8, !tbaa !86
  %9555 = getelementptr inbounds %struct.anon.1, ptr %9551, i32 0, i32 2
  store i64 1, ptr %9555, align 8, !tbaa !87
  %9556 = getelementptr inbounds %struct.anon.1, ptr %9551, i32 0, i32 3
  %9557 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9557, ptr %9556, align 8, !tbaa !88
  %9558 = getelementptr inbounds %struct.anon.1, ptr %9551, i32 0, i32 4
  store i64 3, ptr %9558, align 8, !tbaa !89
  %9559 = getelementptr inbounds %struct.anon.1, ptr %9551, i32 0, i32 5
  store i64 0, ptr %9559, align 8, !tbaa !90
  %9560 = getelementptr inbounds %struct.anon.1, ptr %9551, i32 0, i32 6
  store i64 1, ptr %9560, align 8, !tbaa !91
  %9561 = getelementptr inbounds %struct.anon.1, ptr %237, i64 11
  %9562 = getelementptr inbounds %struct.anon.1, ptr %9561, i32 0, i32 0
  store i8 1, ptr %9562, align 8, !tbaa !84
  %9563 = getelementptr inbounds %struct.anon.1, ptr %9561, i32 0, i32 1
  %9564 = getelementptr inbounds [1 x ptr], ptr %236, i64 0, i64 0
  store ptr %9564, ptr %9563, align 8, !tbaa !86
  %9565 = getelementptr inbounds %struct.anon.1, ptr %9561, i32 0, i32 2
  store i64 1, ptr %9565, align 8, !tbaa !87
  %9566 = getelementptr inbounds %struct.anon.1, ptr %9561, i32 0, i32 3
  %9567 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9567, ptr %9566, align 8, !tbaa !88
  %9568 = getelementptr inbounds %struct.anon.1, ptr %9561, i32 0, i32 4
  store i64 3, ptr %9568, align 8, !tbaa !89
  %9569 = getelementptr inbounds %struct.anon.1, ptr %9561, i32 0, i32 5
  store i64 0, ptr %9569, align 8, !tbaa !90
  %9570 = getelementptr inbounds %struct.anon.1, ptr %9561, i32 0, i32 6
  store i64 2, ptr %9570, align 8, !tbaa !91
  %9571 = getelementptr inbounds %struct.anon.1, ptr %237, i64 12
  %9572 = getelementptr inbounds %struct.anon.1, ptr %9571, i32 0, i32 0
  store i8 1, ptr %9572, align 8, !tbaa !84
  %9573 = getelementptr inbounds %struct.anon.1, ptr %9571, i32 0, i32 1
  %9574 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9574, ptr %9573, align 8, !tbaa !86
  %9575 = getelementptr inbounds %struct.anon.1, ptr %9571, i32 0, i32 2
  store i64 3, ptr %9575, align 8, !tbaa !87
  %9576 = getelementptr inbounds %struct.anon.1, ptr %9571, i32 0, i32 3
  %9577 = getelementptr inbounds [1 x ptr], ptr %234, i64 0, i64 0
  store ptr %9577, ptr %9576, align 8, !tbaa !88
  %9578 = getelementptr inbounds %struct.anon.1, ptr %9571, i32 0, i32 4
  store i64 1, ptr %9578, align 8, !tbaa !89
  %9579 = getelementptr inbounds %struct.anon.1, ptr %9571, i32 0, i32 5
  store i64 0, ptr %9579, align 8, !tbaa !90
  %9580 = getelementptr inbounds %struct.anon.1, ptr %9571, i32 0, i32 6
  store i64 0, ptr %9580, align 8, !tbaa !91
  %9581 = getelementptr inbounds %struct.anon.1, ptr %237, i64 13
  %9582 = getelementptr inbounds %struct.anon.1, ptr %9581, i32 0, i32 0
  store i8 1, ptr %9582, align 8, !tbaa !84
  %9583 = getelementptr inbounds %struct.anon.1, ptr %9581, i32 0, i32 1
  %9584 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9584, ptr %9583, align 8, !tbaa !86
  %9585 = getelementptr inbounds %struct.anon.1, ptr %9581, i32 0, i32 2
  store i64 3, ptr %9585, align 8, !tbaa !87
  %9586 = getelementptr inbounds %struct.anon.1, ptr %9581, i32 0, i32 3
  %9587 = getelementptr inbounds [1 x ptr], ptr %235, i64 0, i64 0
  store ptr %9587, ptr %9586, align 8, !tbaa !88
  %9588 = getelementptr inbounds %struct.anon.1, ptr %9581, i32 0, i32 4
  store i64 1, ptr %9588, align 8, !tbaa !89
  %9589 = getelementptr inbounds %struct.anon.1, ptr %9581, i32 0, i32 5
  store i64 1, ptr %9589, align 8, !tbaa !90
  %9590 = getelementptr inbounds %struct.anon.1, ptr %9581, i32 0, i32 6
  store i64 0, ptr %9590, align 8, !tbaa !91
  %9591 = getelementptr inbounds %struct.anon.1, ptr %237, i64 14
  %9592 = getelementptr inbounds %struct.anon.1, ptr %9591, i32 0, i32 0
  store i8 1, ptr %9592, align 8, !tbaa !84
  %9593 = getelementptr inbounds %struct.anon.1, ptr %9591, i32 0, i32 1
  %9594 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9594, ptr %9593, align 8, !tbaa !86
  %9595 = getelementptr inbounds %struct.anon.1, ptr %9591, i32 0, i32 2
  store i64 3, ptr %9595, align 8, !tbaa !87
  %9596 = getelementptr inbounds %struct.anon.1, ptr %9591, i32 0, i32 3
  %9597 = getelementptr inbounds [1 x ptr], ptr %236, i64 0, i64 0
  store ptr %9597, ptr %9596, align 8, !tbaa !88
  %9598 = getelementptr inbounds %struct.anon.1, ptr %9591, i32 0, i32 4
  store i64 1, ptr %9598, align 8, !tbaa !89
  %9599 = getelementptr inbounds %struct.anon.1, ptr %9591, i32 0, i32 5
  store i64 2, ptr %9599, align 8, !tbaa !90
  %9600 = getelementptr inbounds %struct.anon.1, ptr %9591, i32 0, i32 6
  store i64 0, ptr %9600, align 8, !tbaa !91
  %9601 = getelementptr inbounds %struct.anon.1, ptr %237, i64 15
  %9602 = getelementptr inbounds %struct.anon.1, ptr %9601, i32 0, i32 0
  store i8 1, ptr %9602, align 8, !tbaa !84
  %9603 = getelementptr inbounds %struct.anon.1, ptr %9601, i32 0, i32 1
  %9604 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9604, ptr %9603, align 8, !tbaa !86
  %9605 = getelementptr inbounds %struct.anon.1, ptr %9601, i32 0, i32 2
  store i64 3, ptr %9605, align 8, !tbaa !87
  %9606 = getelementptr inbounds %struct.anon.1, ptr %9601, i32 0, i32 3
  %9607 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9607, ptr %9606, align 8, !tbaa !88
  %9608 = getelementptr inbounds %struct.anon.1, ptr %9601, i32 0, i32 4
  store i64 3, ptr %9608, align 8, !tbaa !89
  %9609 = getelementptr inbounds %struct.anon.1, ptr %9601, i32 0, i32 5
  store i64 0, ptr %9609, align 8, !tbaa !90
  %9610 = getelementptr inbounds %struct.anon.1, ptr %9601, i32 0, i32 6
  store i64 0, ptr %9610, align 8, !tbaa !91
  %9611 = getelementptr inbounds %struct.anon.1, ptr %237, i64 16
  %9612 = getelementptr inbounds %struct.anon.1, ptr %9611, i32 0, i32 0
  store i8 1, ptr %9612, align 8, !tbaa !84
  %9613 = getelementptr inbounds %struct.anon.1, ptr %9611, i32 0, i32 1
  %9614 = getelementptr inbounds [3 x ptr], ptr %230, i64 0, i64 0
  store ptr %9614, ptr %9613, align 8, !tbaa !86
  %9615 = getelementptr inbounds %struct.anon.1, ptr %9611, i32 0, i32 2
  store i64 3, ptr %9615, align 8, !tbaa !87
  %9616 = getelementptr inbounds %struct.anon.1, ptr %9611, i32 0, i32 3
  %9617 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9617, ptr %9616, align 8, !tbaa !88
  %9618 = getelementptr inbounds %struct.anon.1, ptr %9611, i32 0, i32 4
  store i64 3, ptr %9618, align 8, !tbaa !89
  %9619 = getelementptr inbounds %struct.anon.1, ptr %9611, i32 0, i32 5
  store i64 2, ptr %9619, align 8, !tbaa !90
  %9620 = getelementptr inbounds %struct.anon.1, ptr %9611, i32 0, i32 6
  store i64 0, ptr %9620, align 8, !tbaa !91
  %9621 = getelementptr inbounds %struct.anon.1, ptr %237, i64 17
  %9622 = getelementptr inbounds %struct.anon.1, ptr %9621, i32 0, i32 0
  store i8 1, ptr %9622, align 8, !tbaa !84
  %9623 = getelementptr inbounds %struct.anon.1, ptr %9621, i32 0, i32 1
  %9624 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9624, ptr %9623, align 8, !tbaa !86
  %9625 = getelementptr inbounds %struct.anon.1, ptr %9621, i32 0, i32 2
  store i64 3, ptr %9625, align 8, !tbaa !87
  %9626 = getelementptr inbounds %struct.anon.1, ptr %9621, i32 0, i32 3
  %9627 = getelementptr inbounds [3 x ptr], ptr %230, i64 0, i64 0
  store ptr %9627, ptr %9626, align 8, !tbaa !88
  %9628 = getelementptr inbounds %struct.anon.1, ptr %9621, i32 0, i32 4
  store i64 3, ptr %9628, align 8, !tbaa !89
  %9629 = getelementptr inbounds %struct.anon.1, ptr %9621, i32 0, i32 5
  store i64 2, ptr %9629, align 8, !tbaa !90
  %9630 = getelementptr inbounds %struct.anon.1, ptr %9621, i32 0, i32 6
  store i64 0, ptr %9630, align 8, !tbaa !91
  %9631 = getelementptr inbounds %struct.anon.1, ptr %237, i64 18
  %9632 = getelementptr inbounds %struct.anon.1, ptr %9631, i32 0, i32 0
  store i8 1, ptr %9632, align 8, !tbaa !84
  %9633 = getelementptr inbounds %struct.anon.1, ptr %9631, i32 0, i32 1
  %9634 = getelementptr inbounds [2 x ptr], ptr %231, i64 0, i64 0
  store ptr %9634, ptr %9633, align 8, !tbaa !86
  %9635 = getelementptr inbounds %struct.anon.1, ptr %9631, i32 0, i32 2
  store i64 2, ptr %9635, align 8, !tbaa !87
  %9636 = getelementptr inbounds %struct.anon.1, ptr %9631, i32 0, i32 3
  %9637 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9637, ptr %9636, align 8, !tbaa !88
  %9638 = getelementptr inbounds %struct.anon.1, ptr %9631, i32 0, i32 4
  store i64 3, ptr %9638, align 8, !tbaa !89
  %9639 = getelementptr inbounds %struct.anon.1, ptr %9631, i32 0, i32 5
  store i64 0, ptr %9639, align 8, !tbaa !90
  %9640 = getelementptr inbounds %struct.anon.1, ptr %9631, i32 0, i32 6
  store i64 1, ptr %9640, align 8, !tbaa !91
  %9641 = getelementptr inbounds %struct.anon.1, ptr %237, i64 19
  %9642 = getelementptr inbounds %struct.anon.1, ptr %9641, i32 0, i32 0
  store i8 1, ptr %9642, align 8, !tbaa !84
  %9643 = getelementptr inbounds %struct.anon.1, ptr %9641, i32 0, i32 1
  %9644 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9644, ptr %9643, align 8, !tbaa !86
  %9645 = getelementptr inbounds %struct.anon.1, ptr %9641, i32 0, i32 2
  store i64 3, ptr %9645, align 8, !tbaa !87
  %9646 = getelementptr inbounds %struct.anon.1, ptr %9641, i32 0, i32 3
  %9647 = getelementptr inbounds [2 x ptr], ptr %231, i64 0, i64 0
  store ptr %9647, ptr %9646, align 8, !tbaa !88
  %9648 = getelementptr inbounds %struct.anon.1, ptr %9641, i32 0, i32 4
  store i64 2, ptr %9648, align 8, !tbaa !89
  %9649 = getelementptr inbounds %struct.anon.1, ptr %9641, i32 0, i32 5
  store i64 1, ptr %9649, align 8, !tbaa !90
  %9650 = getelementptr inbounds %struct.anon.1, ptr %9641, i32 0, i32 6
  store i64 0, ptr %9650, align 8, !tbaa !91
  %9651 = getelementptr inbounds %struct.anon.1, ptr %237, i64 20
  %9652 = getelementptr inbounds %struct.anon.1, ptr %9651, i32 0, i32 0
  store i8 1, ptr %9652, align 8, !tbaa !84
  %9653 = getelementptr inbounds %struct.anon.1, ptr %9651, i32 0, i32 1
  %9654 = getelementptr inbounds [2 x ptr], ptr %231, i64 0, i64 0
  store ptr %9654, ptr %9653, align 8, !tbaa !86
  %9655 = getelementptr inbounds %struct.anon.1, ptr %9651, i32 0, i32 2
  store i64 2, ptr %9655, align 8, !tbaa !87
  %9656 = getelementptr inbounds %struct.anon.1, ptr %9651, i32 0, i32 3
  %9657 = getelementptr inbounds [3 x ptr], ptr %230, i64 0, i64 0
  store ptr %9657, ptr %9656, align 8, !tbaa !88
  %9658 = getelementptr inbounds %struct.anon.1, ptr %9651, i32 0, i32 4
  store i64 3, ptr %9658, align 8, !tbaa !89
  %9659 = getelementptr inbounds %struct.anon.1, ptr %9651, i32 0, i32 5
  store i64 1, ptr %9659, align 8, !tbaa !90
  %9660 = getelementptr inbounds %struct.anon.1, ptr %9651, i32 0, i32 6
  store i64 0, ptr %9660, align 8, !tbaa !91
  %9661 = getelementptr inbounds %struct.anon.1, ptr %237, i64 21
  %9662 = getelementptr inbounds %struct.anon.1, ptr %9661, i32 0, i32 0
  store i8 1, ptr %9662, align 8, !tbaa !84
  %9663 = getelementptr inbounds %struct.anon.1, ptr %9661, i32 0, i32 1
  %9664 = getelementptr inbounds [3 x ptr], ptr %230, i64 0, i64 0
  store ptr %9664, ptr %9663, align 8, !tbaa !86
  %9665 = getelementptr inbounds %struct.anon.1, ptr %9661, i32 0, i32 2
  store i64 3, ptr %9665, align 8, !tbaa !87
  %9666 = getelementptr inbounds %struct.anon.1, ptr %9661, i32 0, i32 3
  %9667 = getelementptr inbounds [2 x ptr], ptr %231, i64 0, i64 0
  store ptr %9667, ptr %9666, align 8, !tbaa !88
  %9668 = getelementptr inbounds %struct.anon.1, ptr %9661, i32 0, i32 4
  store i64 2, ptr %9668, align 8, !tbaa !89
  %9669 = getelementptr inbounds %struct.anon.1, ptr %9661, i32 0, i32 5
  store i64 1, ptr %9669, align 8, !tbaa !90
  %9670 = getelementptr inbounds %struct.anon.1, ptr %9661, i32 0, i32 6
  store i64 0, ptr %9670, align 8, !tbaa !91
  %9671 = getelementptr inbounds %struct.anon.1, ptr %237, i64 22
  %9672 = getelementptr inbounds %struct.anon.1, ptr %9671, i32 0, i32 0
  store i8 1, ptr %9672, align 8, !tbaa !84
  %9673 = getelementptr inbounds %struct.anon.1, ptr %9671, i32 0, i32 1
  %9674 = getelementptr inbounds [3 x ptr], ptr %232, i64 0, i64 0
  store ptr %9674, ptr %9673, align 8, !tbaa !86
  %9675 = getelementptr inbounds %struct.anon.1, ptr %9671, i32 0, i32 2
  store i64 3, ptr %9675, align 8, !tbaa !87
  %9676 = getelementptr inbounds %struct.anon.1, ptr %9671, i32 0, i32 3
  %9677 = getelementptr inbounds [3 x ptr], ptr %232, i64 0, i64 0
  store ptr %9677, ptr %9676, align 8, !tbaa !88
  %9678 = getelementptr inbounds %struct.anon.1, ptr %9671, i32 0, i32 4
  store i64 3, ptr %9678, align 8, !tbaa !89
  %9679 = getelementptr inbounds %struct.anon.1, ptr %9671, i32 0, i32 5
  store i64 0, ptr %9679, align 8, !tbaa !90
  %9680 = getelementptr inbounds %struct.anon.1, ptr %9671, i32 0, i32 6
  store i64 0, ptr %9680, align 8, !tbaa !91
  %9681 = getelementptr inbounds %struct.anon.1, ptr %237, i64 23
  %9682 = getelementptr inbounds %struct.anon.1, ptr %9681, i32 0, i32 0
  store i8 0, ptr %9682, align 8, !tbaa !84
  %9683 = getelementptr inbounds %struct.anon.1, ptr %9681, i32 0, i32 1
  %9684 = getelementptr inbounds [3 x ptr], ptr %232, i64 0, i64 0
  store ptr %9684, ptr %9683, align 8, !tbaa !86
  %9685 = getelementptr inbounds %struct.anon.1, ptr %9681, i32 0, i32 2
  store i64 3, ptr %9685, align 8, !tbaa !87
  %9686 = getelementptr inbounds %struct.anon.1, ptr %9681, i32 0, i32 3
  %9687 = getelementptr inbounds [3 x ptr], ptr %233, i64 0, i64 0
  store ptr %9687, ptr %9686, align 8, !tbaa !88
  %9688 = getelementptr inbounds %struct.anon.1, ptr %9681, i32 0, i32 4
  store i64 3, ptr %9688, align 8, !tbaa !89
  %9689 = getelementptr inbounds %struct.anon.1, ptr %9681, i32 0, i32 5
  store i64 0, ptr %9689, align 8, !tbaa !90
  %9690 = getelementptr inbounds %struct.anon.1, ptr %9681, i32 0, i32 6
  store i64 0, ptr %9690, align 8, !tbaa !91
  %9691 = getelementptr inbounds %struct.anon.1, ptr %237, i64 24
  %9692 = getelementptr inbounds %struct.anon.1, ptr %9691, i32 0, i32 0
  store i8 1, ptr %9692, align 8, !tbaa !84
  %9693 = getelementptr inbounds %struct.anon.1, ptr %9691, i32 0, i32 1
  %9694 = getelementptr inbounds [3 x ptr], ptr %232, i64 0, i64 0
  store ptr %9694, ptr %9693, align 8, !tbaa !86
  %9695 = getelementptr inbounds %struct.anon.1, ptr %9691, i32 0, i32 2
  store i64 3, ptr %9695, align 8, !tbaa !87
  %9696 = getelementptr inbounds %struct.anon.1, ptr %9691, i32 0, i32 3
  %9697 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9697, ptr %9696, align 8, !tbaa !88
  %9698 = getelementptr inbounds %struct.anon.1, ptr %9691, i32 0, i32 4
  store i64 3, ptr %9698, align 8, !tbaa !89
  %9699 = getelementptr inbounds %struct.anon.1, ptr %9691, i32 0, i32 5
  store i64 0, ptr %9699, align 8, !tbaa !90
  %9700 = getelementptr inbounds %struct.anon.1, ptr %9691, i32 0, i32 6
  store i64 0, ptr %9700, align 8, !tbaa !91
  %9701 = getelementptr inbounds %struct.anon.1, ptr %237, i64 25
  %9702 = getelementptr inbounds %struct.anon.1, ptr %9701, i32 0, i32 0
  store i8 1, ptr %9702, align 8, !tbaa !84
  %9703 = getelementptr inbounds %struct.anon.1, ptr %9701, i32 0, i32 1
  %9704 = getelementptr inbounds [3 x ptr], ptr %229, i64 0, i64 0
  store ptr %9704, ptr %9703, align 8, !tbaa !86
  %9705 = getelementptr inbounds %struct.anon.1, ptr %9701, i32 0, i32 2
  store i64 3, ptr %9705, align 8, !tbaa !87
  %9706 = getelementptr inbounds %struct.anon.1, ptr %9701, i32 0, i32 3
  %9707 = getelementptr inbounds [3 x ptr], ptr %232, i64 0, i64 0
  store ptr %9707, ptr %9706, align 8, !tbaa !88
  %9708 = getelementptr inbounds %struct.anon.1, ptr %9701, i32 0, i32 4
  store i64 3, ptr %9708, align 8, !tbaa !89
  %9709 = getelementptr inbounds %struct.anon.1, ptr %9701, i32 0, i32 5
  store i64 0, ptr %9709, align 8, !tbaa !90
  %9710 = getelementptr inbounds %struct.anon.1, ptr %9701, i32 0, i32 6
  store i64 0, ptr %9710, align 8, !tbaa !91
  %9711 = getelementptr inbounds %struct.anon.1, ptr %237, i64 26
  %9712 = getelementptr inbounds %struct.anon.1, ptr %9711, i32 0, i32 0
  store i8 1, ptr %9712, align 8, !tbaa !84
  %9713 = getelementptr inbounds %struct.anon.1, ptr %9711, i32 0, i32 1
  %9714 = getelementptr inbounds [3 x ptr], ptr %232, i64 0, i64 0
  store ptr %9714, ptr %9713, align 8, !tbaa !86
  %9715 = getelementptr inbounds %struct.anon.1, ptr %9711, i32 0, i32 2
  store i64 3, ptr %9715, align 8, !tbaa !87
  %9716 = getelementptr inbounds %struct.anon.1, ptr %9711, i32 0, i32 3
  %9717 = getelementptr inbounds [3 x ptr], ptr %230, i64 0, i64 0
  store ptr %9717, ptr %9716, align 8, !tbaa !88
  %9718 = getelementptr inbounds %struct.anon.1, ptr %9711, i32 0, i32 4
  store i64 3, ptr %9718, align 8, !tbaa !89
  %9719 = getelementptr inbounds %struct.anon.1, ptr %9711, i32 0, i32 5
  store i64 0, ptr %9719, align 8, !tbaa !90
  %9720 = getelementptr inbounds %struct.anon.1, ptr %9711, i32 0, i32 6
  store i64 2, ptr %9720, align 8, !tbaa !91
  %9721 = getelementptr inbounds %struct.anon.1, ptr %237, i64 27
  %9722 = getelementptr inbounds %struct.anon.1, ptr %9721, i32 0, i32 0
  store i8 1, ptr %9722, align 8, !tbaa !84
  %9723 = getelementptr inbounds %struct.anon.1, ptr %9721, i32 0, i32 1
  %9724 = getelementptr inbounds [3 x ptr], ptr %230, i64 0, i64 0
  store ptr %9724, ptr %9723, align 8, !tbaa !86
  %9725 = getelementptr inbounds %struct.anon.1, ptr %9721, i32 0, i32 2
  store i64 3, ptr %9725, align 8, !tbaa !87
  %9726 = getelementptr inbounds %struct.anon.1, ptr %9721, i32 0, i32 3
  %9727 = getelementptr inbounds [3 x ptr], ptr %232, i64 0, i64 0
  store ptr %9727, ptr %9726, align 8, !tbaa !88
  %9728 = getelementptr inbounds %struct.anon.1, ptr %9721, i32 0, i32 4
  store i64 3, ptr %9728, align 8, !tbaa !89
  %9729 = getelementptr inbounds %struct.anon.1, ptr %9721, i32 0, i32 5
  store i64 2, ptr %9729, align 8, !tbaa !90
  %9730 = getelementptr inbounds %struct.anon.1, ptr %9721, i32 0, i32 6
  store i64 0, ptr %9730, align 8, !tbaa !91
  call void @llvm.lifetime.start.p0(i64 8, ptr %238) #11
  store i64 0, ptr %238, align 8, !tbaa !58
  br label %9731

9731:                                             ; preds = %10778, %9448
  %9732 = load i64, ptr %238, align 8, !tbaa !58
  %9733 = icmp ult i64 %9732, 28
  br i1 %9733, label %9735, label %9734

9734:                                             ; preds = %9731
  store i32 844, ptr %239, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %238) #11
  br label %10781

9735:                                             ; preds = %9731
  call void @llvm.lifetime.start.p0(i64 8, ptr %240) #11
  store ptr null, ptr %240, align 8, !tbaa !9
  br label %9736

9736:                                             ; preds = %9735
  %9737 = load i32, ptr @test_count, align 4, !tbaa !5
  %9738 = add nsw i32 %9737, 1
  store i32 %9738, ptr @test_count, align 4, !tbaa !5
  %9739 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9739, ptr %240, align 8, !tbaa !9
  %9740 = icmp eq ptr %9739, null
  br i1 %9740, label %9741, label %9794

9741:                                             ; preds = %9736
  br label %9742

9742:                                             ; preds = %9741
  br label %9743

9743:                                             ; preds = %9742
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %9744 = call ptr @__errno_location() #12
  %9745 = load i32, ptr %9744, align 4, !tbaa !5
  store i32 %9745, ptr %241, align 4, !tbaa !5
  %9746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9747 = call i32 @s2n_print_stacktrace(ptr noundef %9746)
  %9748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9749 = trunc i8 %9748 to i1
  br i1 %9749, label %9750, label %9772

9750:                                             ; preds = %9743
  %9751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9752 = call i32 @fileno(ptr noundef %9751) #11
  %9753 = call i32 @isatty(i32 noundef %9752) #11
  %9754 = icmp ne i32 %9753, 0
  br i1 %9754, label %9755, label %9772

9755:                                             ; preds = %9750
  %9756 = load i32, ptr %241, align 4, !tbaa !5
  %9757 = call ptr @__errno_location() #12
  store i32 %9756, ptr %9757, align 4, !tbaa !5
  %9758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9759 = load i32, ptr @test_count, align 4, !tbaa !5
  %9760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9761 = load i32, ptr %9760, align 4, !tbaa !5
  %9762 = call ptr @s2n_strerror(i32 noundef %9761, ptr noundef @.str.4)
  %9763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9764 = load i32, ptr %9763, align 4, !tbaa !5
  %9765 = call ptr @s2n_strerror_debug(i32 noundef %9764, ptr noundef @.str.4)
  %9766 = call ptr @__errno_location() #12
  %9767 = load i32, ptr %9766, align 4, !tbaa !5
  %9768 = call ptr @strerror(i32 noundef %9767) #11
  %9769 = call ptr @__errno_location() #12
  %9770 = load i32, ptr %9769, align 4, !tbaa !5
  %9771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9758, ptr noundef @.str.2, i32 noundef %9759, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 629, ptr noundef %9762, ptr noundef %9765, ptr noundef %9768, i32 noundef %9770) #11
  br label %9789

9772:                                             ; preds = %9750, %9743
  %9773 = load i32, ptr %241, align 4, !tbaa !5
  %9774 = call ptr @__errno_location() #12
  store i32 %9773, ptr %9774, align 4, !tbaa !5
  %9775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9776 = load i32, ptr @test_count, align 4, !tbaa !5
  %9777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9778 = load i32, ptr %9777, align 4, !tbaa !5
  %9779 = call ptr @s2n_strerror(i32 noundef %9778, ptr noundef @.str.4)
  %9780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9781 = load i32, ptr %9780, align 4, !tbaa !5
  %9782 = call ptr @s2n_strerror_debug(i32 noundef %9781, ptr noundef @.str.4)
  %9783 = call ptr @__errno_location() #12
  %9784 = load i32, ptr %9783, align 4, !tbaa !5
  %9785 = call ptr @strerror(i32 noundef %9784) #11
  %9786 = call ptr @__errno_location() #12
  %9787 = load i32, ptr %9786, align 4, !tbaa !5
  %9788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9775, ptr noundef @.str.5, i32 noundef %9776, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 629, ptr noundef %9779, ptr noundef %9782, ptr noundef %9785, i32 noundef %9787) #11
  br label %9789

9789:                                             ; preds = %9772, %9755
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %9790

9790:                                             ; preds = %9789
  br label %9791

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

9792:                                             ; No predecessors!
  br label %9793

9793:                                             ; preds = %9792
  br label %9794

9794:                                             ; preds = %9793, %9736
  br label %9795

9795:                                             ; preds = %9794
  br label %9796

9796:                                             ; preds = %9795
  %9797 = load ptr, ptr %240, align 8, !tbaa !9
  %9798 = getelementptr inbounds %struct.s2n_connection, ptr %9797, i32 0, i32 33
  %9799 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %9798, i32 0, i32 0
  store i32 1, ptr %9799, align 8, !tbaa !92
  call void @llvm.lifetime.start.p0(i64 56, ptr %242) #11
  call void @llvm.memset.p0.i64(ptr align 8 %242, i8 0, i64 56, i1 false)
  %9800 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %242, i32 0, i32 0
  %9801 = load ptr, ptr %240, align 8, !tbaa !9
  store ptr %9801, ptr %9800, align 8, !tbaa !93
  %9802 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %242, i32 0, i32 1
  %9803 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %242, i32 0, i32 2
  br label %9804

9804:                                             ; preds = %9796
  %9805 = load i32, ptr @test_count, align 4, !tbaa !5
  %9806 = add nsw i32 %9805, 1
  store i32 %9806, ptr @test_count, align 4, !tbaa !5
  %9807 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %242, i32 0, i32 1
  %9808 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %9807, i32 noundef 0)
  %9809 = icmp eq i32 %9808, -1
  br i1 %9809, label %9810, label %9863

9810:                                             ; preds = %9804
  br label %9811

9811:                                             ; preds = %9810
  br label %9812

9812:                                             ; preds = %9811
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %9813 = call ptr @__errno_location() #12
  %9814 = load i32, ptr %9813, align 4, !tbaa !5
  store i32 %9814, ptr %243, align 4, !tbaa !5
  %9815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9816 = call i32 @s2n_print_stacktrace(ptr noundef %9815)
  %9817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9818 = trunc i8 %9817 to i1
  br i1 %9818, label %9819, label %9841

9819:                                             ; preds = %9812
  %9820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9821 = call i32 @fileno(ptr noundef %9820) #11
  %9822 = call i32 @isatty(i32 noundef %9821) #11
  %9823 = icmp ne i32 %9822, 0
  br i1 %9823, label %9824, label %9841

9824:                                             ; preds = %9819
  %9825 = load i32, ptr %243, align 4, !tbaa !5
  %9826 = call ptr @__errno_location() #12
  store i32 %9825, ptr %9826, align 4, !tbaa !5
  %9827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9828 = load i32, ptr @test_count, align 4, !tbaa !5
  %9829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9830 = load i32, ptr %9829, align 4, !tbaa !5
  %9831 = call ptr @s2n_strerror(i32 noundef %9830, ptr noundef @.str.4)
  %9832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9833 = load i32, ptr %9832, align 4, !tbaa !5
  %9834 = call ptr @s2n_strerror_debug(i32 noundef %9833, ptr noundef @.str.4)
  %9835 = call ptr @__errno_location() #12
  %9836 = load i32, ptr %9835, align 4, !tbaa !5
  %9837 = call ptr @strerror(i32 noundef %9836) #11
  %9838 = call ptr @__errno_location() #12
  %9839 = load i32, ptr %9838, align 4, !tbaa !5
  %9840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9827, ptr noundef @.str.2, i32 noundef %9828, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 633, ptr noundef %9831, ptr noundef %9834, ptr noundef %9837, i32 noundef %9839) #11
  br label %9858

9841:                                             ; preds = %9819, %9812
  %9842 = load i32, ptr %243, align 4, !tbaa !5
  %9843 = call ptr @__errno_location() #12
  store i32 %9842, ptr %9843, align 4, !tbaa !5
  %9844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9845 = load i32, ptr @test_count, align 4, !tbaa !5
  %9846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9847 = load i32, ptr %9846, align 4, !tbaa !5
  %9848 = call ptr @s2n_strerror(i32 noundef %9847, ptr noundef @.str.4)
  %9849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9850 = load i32, ptr %9849, align 4, !tbaa !5
  %9851 = call ptr @s2n_strerror_debug(i32 noundef %9850, ptr noundef @.str.4)
  %9852 = call ptr @__errno_location() #12
  %9853 = load i32, ptr %9852, align 4, !tbaa !5
  %9854 = call ptr @strerror(i32 noundef %9853) #11
  %9855 = call ptr @__errno_location() #12
  %9856 = load i32, ptr %9855, align 4, !tbaa !5
  %9857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9844, ptr noundef @.str.5, i32 noundef %9845, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 633, ptr noundef %9848, ptr noundef %9851, ptr noundef %9854, i32 noundef %9856) #11
  br label %9858

9858:                                             ; preds = %9841, %9824
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %9859

9859:                                             ; preds = %9858
  br label %9860

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

9861:                                             ; No predecessors!
  br label %9862

9862:                                             ; preds = %9861
  br label %9863

9863:                                             ; preds = %9862, %9804
  br label %9864

9864:                                             ; preds = %9863
  br label %9865

9865:                                             ; preds = %9864
  call void @llvm.lifetime.start.p0(i64 8, ptr %244) #11
  store i64 0, ptr %244, align 8, !tbaa !58
  br label %9866

9866:                                             ; preds = %9947, %9865
  %9867 = load i64, ptr %244, align 8, !tbaa !58
  %9868 = load i64, ptr %238, align 8, !tbaa !58
  %9869 = getelementptr inbounds [28 x %struct.anon.1], ptr %237, i64 0, i64 %9868
  %9870 = getelementptr inbounds %struct.anon.1, ptr %9869, i32 0, i32 2
  %9871 = load i64, ptr %9870, align 8, !tbaa !87
  %9872 = icmp ult i64 %9867, %9871
  br i1 %9872, label %9874, label %9873

9873:                                             ; preds = %9866
  store i32 859, ptr %239, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %244) #11
  br label %9950

9874:                                             ; preds = %9866
  br label %9875

9875:                                             ; preds = %9874
  %9876 = load i32, ptr @test_count, align 4, !tbaa !5
  %9877 = add nsw i32 %9876, 1
  store i32 %9877, ptr @test_count, align 4, !tbaa !5
  %9878 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %242, i32 0, i32 1
  %9879 = load i64, ptr %238, align 8, !tbaa !58
  %9880 = getelementptr inbounds [28 x %struct.anon.1], ptr %237, i64 0, i64 %9879
  %9881 = getelementptr inbounds %struct.anon.1, ptr %9880, i32 0, i32 1
  %9882 = load ptr, ptr %9881, align 8, !tbaa !86
  %9883 = load i64, ptr %244, align 8, !tbaa !58
  %9884 = getelementptr inbounds ptr, ptr %9882, i64 %9883
  %9885 = load ptr, ptr %9884, align 8, !tbaa !9
  %9886 = call i32 @s2n_write_test_identity(ptr noundef %9878, ptr noundef %9885)
  %9887 = getelementptr inbounds %struct.s2n_result, ptr %245, i32 0, i32 0
  store i32 %9886, ptr %9887, align 4
  %9888 = getelementptr inbounds %struct.s2n_result, ptr %245, i32 0, i32 0
  %9889 = load i32, ptr %9888, align 4
  %9890 = call zeroext i1 @s2n_result_is_ok(i32 %9889)
  br i1 %9890, label %9944, label %9891

9891:                                             ; preds = %9875
  br label %9892

9892:                                             ; preds = %9891
  br label %9893

9893:                                             ; preds = %9892
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %9894 = call ptr @__errno_location() #12
  %9895 = load i32, ptr %9894, align 4, !tbaa !5
  store i32 %9895, ptr %246, align 4, !tbaa !5
  %9896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9897 = call i32 @s2n_print_stacktrace(ptr noundef %9896)
  %9898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9899 = trunc i8 %9898 to i1
  br i1 %9899, label %9900, label %9922

9900:                                             ; preds = %9893
  %9901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9902 = call i32 @fileno(ptr noundef %9901) #11
  %9903 = call i32 @isatty(i32 noundef %9902) #11
  %9904 = icmp ne i32 %9903, 0
  br i1 %9904, label %9905, label %9922

9905:                                             ; preds = %9900
  %9906 = load i32, ptr %246, align 4, !tbaa !5
  %9907 = call ptr @__errno_location() #12
  store i32 %9906, ptr %9907, align 4, !tbaa !5
  %9908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9909 = load i32, ptr @test_count, align 4, !tbaa !5
  %9910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9911 = load i32, ptr %9910, align 4, !tbaa !5
  %9912 = call ptr @s2n_strerror(i32 noundef %9911, ptr noundef @.str.4)
  %9913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9914 = load i32, ptr %9913, align 4, !tbaa !5
  %9915 = call ptr @s2n_strerror_debug(i32 noundef %9914, ptr noundef @.str.4)
  %9916 = call ptr @__errno_location() #12
  %9917 = load i32, ptr %9916, align 4, !tbaa !5
  %9918 = call ptr @strerror(i32 noundef %9917) #11
  %9919 = call ptr @__errno_location() #12
  %9920 = load i32, ptr %9919, align 4, !tbaa !5
  %9921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9908, ptr noundef @.str.2, i32 noundef %9909, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 635, ptr noundef %9912, ptr noundef %9915, ptr noundef %9918, i32 noundef %9920) #11
  br label %9939

9922:                                             ; preds = %9900, %9893
  %9923 = load i32, ptr %246, align 4, !tbaa !5
  %9924 = call ptr @__errno_location() #12
  store i32 %9923, ptr %9924, align 4, !tbaa !5
  %9925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9926 = load i32, ptr @test_count, align 4, !tbaa !5
  %9927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9928 = load i32, ptr %9927, align 4, !tbaa !5
  %9929 = call ptr @s2n_strerror(i32 noundef %9928, ptr noundef @.str.4)
  %9930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9931 = load i32, ptr %9930, align 4, !tbaa !5
  %9932 = call ptr @s2n_strerror_debug(i32 noundef %9931, ptr noundef @.str.4)
  %9933 = call ptr @__errno_location() #12
  %9934 = load i32, ptr %9933, align 4, !tbaa !5
  %9935 = call ptr @strerror(i32 noundef %9934) #11
  %9936 = call ptr @__errno_location() #12
  %9937 = load i32, ptr %9936, align 4, !tbaa !5
  %9938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9925, ptr noundef @.str.5, i32 noundef %9926, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 635, ptr noundef %9929, ptr noundef %9932, ptr noundef %9935, i32 noundef %9937) #11
  br label %9939

9939:                                             ; preds = %9922, %9905
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %9940

9940:                                             ; preds = %9939
  br label %9941

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

9942:                                             ; No predecessors!
  br label %9943

9943:                                             ; preds = %9942
  br label %9944

9944:                                             ; preds = %9943, %9875
  br label %9945

9945:                                             ; preds = %9944
  br label %9946

9946:                                             ; preds = %9945
  br label %9947

9947:                                             ; preds = %9946
  %9948 = load i64, ptr %244, align 8, !tbaa !58
  %9949 = add i64 %9948, 1
  store i64 %9949, ptr %244, align 8, !tbaa !58
  br label %9866, !llvm.loop !95

9950:                                             ; preds = %9873
  call void @llvm.lifetime.start.p0(i64 8, ptr %247) #11
  store ptr null, ptr %247, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %248) #11
  store i64 0, ptr %248, align 8, !tbaa !58
  br label %9951

9951:                                             ; preds = %10178, %9950
  %9952 = load i64, ptr %248, align 8, !tbaa !58
  %9953 = load i64, ptr %238, align 8, !tbaa !58
  %9954 = getelementptr inbounds [28 x %struct.anon.1], ptr %237, i64 0, i64 %9953
  %9955 = getelementptr inbounds %struct.anon.1, ptr %9954, i32 0, i32 4
  %9956 = load i64, ptr %9955, align 8, !tbaa !89
  %9957 = icmp ult i64 %9952, %9956
  br i1 %9957, label %9959, label %9958

9958:                                             ; preds = %9951
  store i32 868, ptr %239, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %248) #11
  br label %10181

9959:                                             ; preds = %9951
  call void @llvm.lifetime.start.p0(i64 8, ptr %249) #11
  store ptr null, ptr %249, align 8, !tbaa !9
  br label %9960

9960:                                             ; preds = %9959
  %9961 = load i32, ptr @test_count, align 4, !tbaa !5
  %9962 = add nsw i32 %9961, 1
  store i32 %9962, ptr @test_count, align 4, !tbaa !5
  %9963 = load ptr, ptr %240, align 8, !tbaa !9
  %9964 = getelementptr inbounds %struct.s2n_connection, ptr %9963, i32 0, i32 33
  %9965 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %9964, i32 0, i32 1
  %9966 = call i32 @s2n_array_pushback(ptr noundef %9965, ptr noundef %249)
  %9967 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  store i32 %9966, ptr %9967, align 4
  %9968 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  %9969 = load i32, ptr %9968, align 4
  %9970 = call zeroext i1 @s2n_result_is_ok(i32 %9969)
  br i1 %9970, label %10024, label %9971

9971:                                             ; preds = %9960
  br label %9972

9972:                                             ; preds = %9971
  br label %9973

9973:                                             ; preds = %9972
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %9974 = call ptr @__errno_location() #12
  %9975 = load i32, ptr %9974, align 4, !tbaa !5
  store i32 %9975, ptr %251, align 4, !tbaa !5
  %9976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9977 = call i32 @s2n_print_stacktrace(ptr noundef %9976)
  %9978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9979 = trunc i8 %9978 to i1
  br i1 %9979, label %9980, label %10002

9980:                                             ; preds = %9973
  %9981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9982 = call i32 @fileno(ptr noundef %9981) #11
  %9983 = call i32 @isatty(i32 noundef %9982) #11
  %9984 = icmp ne i32 %9983, 0
  br i1 %9984, label %9985, label %10002

9985:                                             ; preds = %9980
  %9986 = load i32, ptr %251, align 4, !tbaa !5
  %9987 = call ptr @__errno_location() #12
  store i32 %9986, ptr %9987, align 4, !tbaa !5
  %9988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9989 = load i32, ptr @test_count, align 4, !tbaa !5
  %9990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9991 = load i32, ptr %9990, align 4, !tbaa !5
  %9992 = call ptr @s2n_strerror(i32 noundef %9991, ptr noundef @.str.4)
  %9993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9994 = load i32, ptr %9993, align 4, !tbaa !5
  %9995 = call ptr @s2n_strerror_debug(i32 noundef %9994, ptr noundef @.str.4)
  %9996 = call ptr @__errno_location() #12
  %9997 = load i32, ptr %9996, align 4, !tbaa !5
  %9998 = call ptr @strerror(i32 noundef %9997) #11
  %9999 = call ptr @__errno_location() #12
  %10000 = load i32, ptr %9999, align 4, !tbaa !5
  %10001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9988, ptr noundef @.str.2, i32 noundef %9989, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 641, ptr noundef %9992, ptr noundef %9995, ptr noundef %9998, i32 noundef %10000) #11
  br label %10019

10002:                                            ; preds = %9980, %9973
  %10003 = load i32, ptr %251, align 4, !tbaa !5
  %10004 = call ptr @__errno_location() #12
  store i32 %10003, ptr %10004, align 4, !tbaa !5
  %10005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10006 = load i32, ptr @test_count, align 4, !tbaa !5
  %10007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10008 = load i32, ptr %10007, align 4, !tbaa !5
  %10009 = call ptr @s2n_strerror(i32 noundef %10008, ptr noundef @.str.4)
  %10010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10011 = load i32, ptr %10010, align 4, !tbaa !5
  %10012 = call ptr @s2n_strerror_debug(i32 noundef %10011, ptr noundef @.str.4)
  %10013 = call ptr @__errno_location() #12
  %10014 = load i32, ptr %10013, align 4, !tbaa !5
  %10015 = call ptr @strerror(i32 noundef %10014) #11
  %10016 = call ptr @__errno_location() #12
  %10017 = load i32, ptr %10016, align 4, !tbaa !5
  %10018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10005, ptr noundef @.str.5, i32 noundef %10006, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 641, ptr noundef %10009, ptr noundef %10012, ptr noundef %10015, i32 noundef %10017) #11
  br label %10019

10019:                                            ; preds = %10002, %9985
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %10020

10020:                                            ; preds = %10019
  br label %10021

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

10022:                                            ; No predecessors!
  br label %10023

10023:                                            ; preds = %10022
  br label %10024

10024:                                            ; preds = %10023, %9960
  br label %10025

10025:                                            ; preds = %10024
  br label %10026

10026:                                            ; preds = %10025
  br label %10027

10027:                                            ; preds = %10026
  %10028 = load i32, ptr @test_count, align 4, !tbaa !5
  %10029 = add nsw i32 %10028, 1
  store i32 %10029, ptr @test_count, align 4, !tbaa !5
  %10030 = load ptr, ptr %249, align 8, !tbaa !9
  %10031 = icmp eq ptr %10030, null
  br i1 %10031, label %10032, label %10085

10032:                                            ; preds = %10027
  br label %10033

10033:                                            ; preds = %10032
  br label %10034

10034:                                            ; preds = %10033
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %10035 = call ptr @__errno_location() #12
  %10036 = load i32, ptr %10035, align 4, !tbaa !5
  store i32 %10036, ptr %252, align 4, !tbaa !5
  %10037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10038 = call i32 @s2n_print_stacktrace(ptr noundef %10037)
  %10039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10040 = trunc i8 %10039 to i1
  br i1 %10040, label %10041, label %10063

10041:                                            ; preds = %10034
  %10042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10043 = call i32 @fileno(ptr noundef %10042) #11
  %10044 = call i32 @isatty(i32 noundef %10043) #11
  %10045 = icmp ne i32 %10044, 0
  br i1 %10045, label %10046, label %10063

10046:                                            ; preds = %10041
  %10047 = load i32, ptr %252, align 4, !tbaa !5
  %10048 = call ptr @__errno_location() #12
  store i32 %10047, ptr %10048, align 4, !tbaa !5
  %10049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10050 = load i32, ptr @test_count, align 4, !tbaa !5
  %10051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10052 = load i32, ptr %10051, align 4, !tbaa !5
  %10053 = call ptr @s2n_strerror(i32 noundef %10052, ptr noundef @.str.4)
  %10054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10055 = load i32, ptr %10054, align 4, !tbaa !5
  %10056 = call ptr @s2n_strerror_debug(i32 noundef %10055, ptr noundef @.str.4)
  %10057 = call ptr @__errno_location() #12
  %10058 = load i32, ptr %10057, align 4, !tbaa !5
  %10059 = call ptr @strerror(i32 noundef %10058) #11
  %10060 = call ptr @__errno_location() #12
  %10061 = load i32, ptr %10060, align 4, !tbaa !5
  %10062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10049, ptr noundef @.str.2, i32 noundef %10050, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 642, ptr noundef %10053, ptr noundef %10056, ptr noundef %10059, i32 noundef %10061) #11
  br label %10080

10063:                                            ; preds = %10041, %10034
  %10064 = load i32, ptr %252, align 4, !tbaa !5
  %10065 = call ptr @__errno_location() #12
  store i32 %10064, ptr %10065, align 4, !tbaa !5
  %10066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10067 = load i32, ptr @test_count, align 4, !tbaa !5
  %10068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10069 = load i32, ptr %10068, align 4, !tbaa !5
  %10070 = call ptr @s2n_strerror(i32 noundef %10069, ptr noundef @.str.4)
  %10071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10072 = load i32, ptr %10071, align 4, !tbaa !5
  %10073 = call ptr @s2n_strerror_debug(i32 noundef %10072, ptr noundef @.str.4)
  %10074 = call ptr @__errno_location() #12
  %10075 = load i32, ptr %10074, align 4, !tbaa !5
  %10076 = call ptr @strerror(i32 noundef %10075) #11
  %10077 = call ptr @__errno_location() #12
  %10078 = load i32, ptr %10077, align 4, !tbaa !5
  %10079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10066, ptr noundef @.str.5, i32 noundef %10067, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 642, ptr noundef %10070, ptr noundef %10073, ptr noundef %10076, i32 noundef %10078) #11
  br label %10080

10080:                                            ; preds = %10063, %10046
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %10081

10081:                                            ; preds = %10080
  br label %10082

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

10083:                                            ; No predecessors!
  br label %10084

10084:                                            ; preds = %10083
  br label %10085

10085:                                            ; preds = %10084, %10027
  br label %10086

10086:                                            ; preds = %10085
  br label %10087

10087:                                            ; preds = %10086
  br label %10088

10088:                                            ; preds = %10087
  %10089 = load i32, ptr @test_count, align 4, !tbaa !5
  %10090 = add nsw i32 %10089, 1
  store i32 %10090, ptr @test_count, align 4, !tbaa !5
  %10091 = load ptr, ptr %249, align 8, !tbaa !9
  %10092 = load i64, ptr %238, align 8, !tbaa !58
  %10093 = getelementptr inbounds [28 x %struct.anon.1], ptr %237, i64 0, i64 %10092
  %10094 = getelementptr inbounds %struct.anon.1, ptr %10093, i32 0, i32 3
  %10095 = load ptr, ptr %10094, align 8, !tbaa !88
  %10096 = load i64, ptr %248, align 8, !tbaa !58
  %10097 = getelementptr inbounds ptr, ptr %10095, i64 %10096
  %10098 = load ptr, ptr %10097, align 8, !tbaa !9
  %10099 = getelementptr inbounds %struct.s2n_blob, ptr %10098, i32 0, i32 0
  %10100 = load ptr, ptr %10099, align 8, !tbaa !96
  %10101 = load i64, ptr %238, align 8, !tbaa !58
  %10102 = getelementptr inbounds [28 x %struct.anon.1], ptr %237, i64 0, i64 %10101
  %10103 = getelementptr inbounds %struct.anon.1, ptr %10102, i32 0, i32 3
  %10104 = load ptr, ptr %10103, align 8, !tbaa !88
  %10105 = load i64, ptr %248, align 8, !tbaa !58
  %10106 = getelementptr inbounds ptr, ptr %10104, i64 %10105
  %10107 = load ptr, ptr %10106, align 8, !tbaa !9
  %10108 = getelementptr inbounds %struct.s2n_blob, ptr %10107, i32 0, i32 1
  %10109 = load i32, ptr %10108, align 8, !tbaa !97
  %10110 = trunc i32 %10109 to i16
  %10111 = call i32 @s2n_psk_set_identity(ptr noundef %10091, ptr noundef %10100, i16 noundef zeroext %10110)
  %10112 = icmp eq i32 %10111, -1
  br i1 %10112, label %10113, label %10166

10113:                                            ; preds = %10088
  br label %10114

10114:                                            ; preds = %10113
  br label %10115

10115:                                            ; preds = %10114
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %10116 = call ptr @__errno_location() #12
  %10117 = load i32, ptr %10116, align 4, !tbaa !5
  store i32 %10117, ptr %253, align 4, !tbaa !5
  %10118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10119 = call i32 @s2n_print_stacktrace(ptr noundef %10118)
  %10120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10121 = trunc i8 %10120 to i1
  br i1 %10121, label %10122, label %10144

10122:                                            ; preds = %10115
  %10123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10124 = call i32 @fileno(ptr noundef %10123) #11
  %10125 = call i32 @isatty(i32 noundef %10124) #11
  %10126 = icmp ne i32 %10125, 0
  br i1 %10126, label %10127, label %10144

10127:                                            ; preds = %10122
  %10128 = load i32, ptr %253, align 4, !tbaa !5
  %10129 = call ptr @__errno_location() #12
  store i32 %10128, ptr %10129, align 4, !tbaa !5
  %10130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10131 = load i32, ptr @test_count, align 4, !tbaa !5
  %10132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10133 = load i32, ptr %10132, align 4, !tbaa !5
  %10134 = call ptr @s2n_strerror(i32 noundef %10133, ptr noundef @.str.4)
  %10135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10136 = load i32, ptr %10135, align 4, !tbaa !5
  %10137 = call ptr @s2n_strerror_debug(i32 noundef %10136, ptr noundef @.str.4)
  %10138 = call ptr @__errno_location() #12
  %10139 = load i32, ptr %10138, align 4, !tbaa !5
  %10140 = call ptr @strerror(i32 noundef %10139) #11
  %10141 = call ptr @__errno_location() #12
  %10142 = load i32, ptr %10141, align 4, !tbaa !5
  %10143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10130, ptr noundef @.str.2, i32 noundef %10131, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 644, ptr noundef %10134, ptr noundef %10137, ptr noundef %10140, i32 noundef %10142) #11
  br label %10161

10144:                                            ; preds = %10122, %10115
  %10145 = load i32, ptr %253, align 4, !tbaa !5
  %10146 = call ptr @__errno_location() #12
  store i32 %10145, ptr %10146, align 4, !tbaa !5
  %10147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10148 = load i32, ptr @test_count, align 4, !tbaa !5
  %10149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10150 = load i32, ptr %10149, align 4, !tbaa !5
  %10151 = call ptr @s2n_strerror(i32 noundef %10150, ptr noundef @.str.4)
  %10152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10153 = load i32, ptr %10152, align 4, !tbaa !5
  %10154 = call ptr @s2n_strerror_debug(i32 noundef %10153, ptr noundef @.str.4)
  %10155 = call ptr @__errno_location() #12
  %10156 = load i32, ptr %10155, align 4, !tbaa !5
  %10157 = call ptr @strerror(i32 noundef %10156) #11
  %10158 = call ptr @__errno_location() #12
  %10159 = load i32, ptr %10158, align 4, !tbaa !5
  %10160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10147, ptr noundef @.str.5, i32 noundef %10148, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 644, ptr noundef %10151, ptr noundef %10154, ptr noundef %10157, i32 noundef %10159) #11
  br label %10161

10161:                                            ; preds = %10144, %10127
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %10162

10162:                                            ; preds = %10161
  br label %10163

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

10164:                                            ; No predecessors!
  br label %10165

10165:                                            ; preds = %10164
  br label %10166

10166:                                            ; preds = %10165, %10088
  br label %10167

10167:                                            ; preds = %10166
  br label %10168

10168:                                            ; preds = %10167
  %10169 = load i64, ptr %248, align 8, !tbaa !58
  %10170 = load i64, ptr %238, align 8, !tbaa !58
  %10171 = getelementptr inbounds [28 x %struct.anon.1], ptr %237, i64 0, i64 %10170
  %10172 = getelementptr inbounds %struct.anon.1, ptr %10171, i32 0, i32 6
  %10173 = load i64, ptr %10172, align 8, !tbaa !91
  %10174 = icmp eq i64 %10169, %10173
  br i1 %10174, label %10175, label %10177

10175:                                            ; preds = %10168
  %10176 = load ptr, ptr %249, align 8, !tbaa !9
  store ptr %10176, ptr %247, align 8, !tbaa !9
  br label %10177

10177:                                            ; preds = %10175, %10168
  call void @llvm.lifetime.end.p0(i64 8, ptr %249) #11
  br label %10178

10178:                                            ; preds = %10177
  %10179 = load i64, ptr %248, align 8, !tbaa !58
  %10180 = add i64 %10179, 1
  store i64 %10180, ptr %248, align 8, !tbaa !58
  br label %9951, !llvm.loop !98

10181:                                            ; preds = %9958
  %10182 = load i64, ptr %238, align 8, !tbaa !58
  %10183 = getelementptr inbounds [28 x %struct.anon.1], ptr %237, i64 0, i64 %10182
  %10184 = getelementptr inbounds %struct.anon.1, ptr %10183, i32 0, i32 0
  %10185 = load i8, ptr %10184, align 8, !tbaa !84, !range !13, !noundef !14
  %10186 = trunc i8 %10185 to i1
  br i1 %10186, label %10187, label %10387

10187:                                            ; preds = %10181
  br label %10188

10188:                                            ; preds = %10187
  %10189 = load i32, ptr @test_count, align 4, !tbaa !5
  %10190 = add nsw i32 %10189, 1
  store i32 %10190, ptr @test_count, align 4, !tbaa !5
  %10191 = load ptr, ptr %240, align 8, !tbaa !9
  %10192 = call i32 @s2n_select_external_psk(ptr noundef %10191, ptr noundef %242)
  %10193 = getelementptr inbounds %struct.s2n_result, ptr %254, i32 0, i32 0
  store i32 %10192, ptr %10193, align 4
  %10194 = getelementptr inbounds %struct.s2n_result, ptr %254, i32 0, i32 0
  %10195 = load i32, ptr %10194, align 4
  %10196 = call zeroext i1 @s2n_result_is_ok(i32 %10195)
  br i1 %10196, label %10250, label %10197

10197:                                            ; preds = %10188
  br label %10198

10198:                                            ; preds = %10197
  br label %10199

10199:                                            ; preds = %10198
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %10200 = call ptr @__errno_location() #12
  %10201 = load i32, ptr %10200, align 4, !tbaa !5
  store i32 %10201, ptr %255, align 4, !tbaa !5
  %10202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10203 = call i32 @s2n_print_stacktrace(ptr noundef %10202)
  %10204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10205 = trunc i8 %10204 to i1
  br i1 %10205, label %10206, label %10228

10206:                                            ; preds = %10199
  %10207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10208 = call i32 @fileno(ptr noundef %10207) #11
  %10209 = call i32 @isatty(i32 noundef %10208) #11
  %10210 = icmp ne i32 %10209, 0
  br i1 %10210, label %10211, label %10228

10211:                                            ; preds = %10206
  %10212 = load i32, ptr %255, align 4, !tbaa !5
  %10213 = call ptr @__errno_location() #12
  store i32 %10212, ptr %10213, align 4, !tbaa !5
  %10214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10215 = load i32, ptr @test_count, align 4, !tbaa !5
  %10216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10217 = load i32, ptr %10216, align 4, !tbaa !5
  %10218 = call ptr @s2n_strerror(i32 noundef %10217, ptr noundef @.str.4)
  %10219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10220 = load i32, ptr %10219, align 4, !tbaa !5
  %10221 = call ptr @s2n_strerror_debug(i32 noundef %10220, ptr noundef @.str.4)
  %10222 = call ptr @__errno_location() #12
  %10223 = load i32, ptr %10222, align 4, !tbaa !5
  %10224 = call ptr @strerror(i32 noundef %10223) #11
  %10225 = call ptr @__errno_location() #12
  %10226 = load i32, ptr %10225, align 4, !tbaa !5
  %10227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10214, ptr noundef @.str.2, i32 noundef %10215, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 652, ptr noundef %10218, ptr noundef %10221, ptr noundef %10224, i32 noundef %10226) #11
  br label %10245

10228:                                            ; preds = %10206, %10199
  %10229 = load i32, ptr %255, align 4, !tbaa !5
  %10230 = call ptr @__errno_location() #12
  store i32 %10229, ptr %10230, align 4, !tbaa !5
  %10231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10232 = load i32, ptr @test_count, align 4, !tbaa !5
  %10233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10234 = load i32, ptr %10233, align 4, !tbaa !5
  %10235 = call ptr @s2n_strerror(i32 noundef %10234, ptr noundef @.str.4)
  %10236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10237 = load i32, ptr %10236, align 4, !tbaa !5
  %10238 = call ptr @s2n_strerror_debug(i32 noundef %10237, ptr noundef @.str.4)
  %10239 = call ptr @__errno_location() #12
  %10240 = load i32, ptr %10239, align 4, !tbaa !5
  %10241 = call ptr @strerror(i32 noundef %10240) #11
  %10242 = call ptr @__errno_location() #12
  %10243 = load i32, ptr %10242, align 4, !tbaa !5
  %10244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10231, ptr noundef @.str.5, i32 noundef %10232, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 652, ptr noundef %10235, ptr noundef %10238, ptr noundef %10241, i32 noundef %10243) #11
  br label %10245

10245:                                            ; preds = %10228, %10211
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %10246

10246:                                            ; preds = %10245
  br label %10247

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

10248:                                            ; No predecessors!
  br label %10249

10249:                                            ; preds = %10248
  br label %10250

10250:                                            ; preds = %10249, %10188
  br label %10251

10251:                                            ; preds = %10250
  br label %10252

10252:                                            ; preds = %10251
  br label %10253

10253:                                            ; preds = %10252
  %10254 = load i32, ptr @test_count, align 4, !tbaa !5
  %10255 = add nsw i32 %10254, 1
  store i32 %10255, ptr @test_count, align 4, !tbaa !5
  %10256 = load ptr, ptr %240, align 8, !tbaa !9
  %10257 = getelementptr inbounds %struct.s2n_connection, ptr %10256, i32 0, i32 33
  %10258 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10257, i32 0, i32 3
  %10259 = load i16, ptr %10258, align 2, !tbaa !99
  %10260 = zext i16 %10259 to i64
  %10261 = load i64, ptr %238, align 8, !tbaa !58
  %10262 = getelementptr inbounds [28 x %struct.anon.1], ptr %237, i64 0, i64 %10261
  %10263 = getelementptr inbounds %struct.anon.1, ptr %10262, i32 0, i32 5
  %10264 = load i64, ptr %10263, align 8, !tbaa !90
  %10265 = icmp eq i64 %10260, %10264
  br i1 %10265, label %10319, label %10266

10266:                                            ; preds = %10253
  br label %10267

10267:                                            ; preds = %10266
  br label %10268

10268:                                            ; preds = %10267
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %10269 = call ptr @__errno_location() #12
  %10270 = load i32, ptr %10269, align 4, !tbaa !5
  store i32 %10270, ptr %256, align 4, !tbaa !5
  %10271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10272 = call i32 @s2n_print_stacktrace(ptr noundef %10271)
  %10273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10274 = trunc i8 %10273 to i1
  br i1 %10274, label %10275, label %10297

10275:                                            ; preds = %10268
  %10276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10277 = call i32 @fileno(ptr noundef %10276) #11
  %10278 = call i32 @isatty(i32 noundef %10277) #11
  %10279 = icmp ne i32 %10278, 0
  br i1 %10279, label %10280, label %10297

10280:                                            ; preds = %10275
  %10281 = load i32, ptr %256, align 4, !tbaa !5
  %10282 = call ptr @__errno_location() #12
  store i32 %10281, ptr %10282, align 4, !tbaa !5
  %10283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10284 = load i32, ptr @test_count, align 4, !tbaa !5
  %10285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10286 = load i32, ptr %10285, align 4, !tbaa !5
  %10287 = call ptr @s2n_strerror(i32 noundef %10286, ptr noundef @.str.4)
  %10288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10289 = load i32, ptr %10288, align 4, !tbaa !5
  %10290 = call ptr @s2n_strerror_debug(i32 noundef %10289, ptr noundef @.str.4)
  %10291 = call ptr @__errno_location() #12
  %10292 = load i32, ptr %10291, align 4, !tbaa !5
  %10293 = call ptr @strerror(i32 noundef %10292) #11
  %10294 = call ptr @__errno_location() #12
  %10295 = load i32, ptr %10294, align 4, !tbaa !5
  %10296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10283, ptr noundef @.str.2, i32 noundef %10284, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 653, ptr noundef %10287, ptr noundef %10290, ptr noundef %10293, i32 noundef %10295) #11
  br label %10314

10297:                                            ; preds = %10275, %10268
  %10298 = load i32, ptr %256, align 4, !tbaa !5
  %10299 = call ptr @__errno_location() #12
  store i32 %10298, ptr %10299, align 4, !tbaa !5
  %10300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10301 = load i32, ptr @test_count, align 4, !tbaa !5
  %10302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10303 = load i32, ptr %10302, align 4, !tbaa !5
  %10304 = call ptr @s2n_strerror(i32 noundef %10303, ptr noundef @.str.4)
  %10305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10306 = load i32, ptr %10305, align 4, !tbaa !5
  %10307 = call ptr @s2n_strerror_debug(i32 noundef %10306, ptr noundef @.str.4)
  %10308 = call ptr @__errno_location() #12
  %10309 = load i32, ptr %10308, align 4, !tbaa !5
  %10310 = call ptr @strerror(i32 noundef %10309) #11
  %10311 = call ptr @__errno_location() #12
  %10312 = load i32, ptr %10311, align 4, !tbaa !5
  %10313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10300, ptr noundef @.str.5, i32 noundef %10301, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 653, ptr noundef %10304, ptr noundef %10307, ptr noundef %10310, i32 noundef %10312) #11
  br label %10314

10314:                                            ; preds = %10297, %10280
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %10315

10315:                                            ; preds = %10314
  br label %10316

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

10317:                                            ; No predecessors!
  br label %10318

10318:                                            ; preds = %10317
  br label %10319

10319:                                            ; preds = %10318, %10253
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

10321:                                            ; preds = %10320
  br label %10322

10322:                                            ; preds = %10321
  %10323 = load i32, ptr @test_count, align 4, !tbaa !5
  %10324 = add nsw i32 %10323, 1
  store i32 %10324, ptr @test_count, align 4, !tbaa !5
  %10325 = load ptr, ptr %240, align 8, !tbaa !9
  %10326 = getelementptr inbounds %struct.s2n_connection, ptr %10325, i32 0, i32 33
  %10327 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10326, i32 0, i32 4
  %10328 = load ptr, ptr %10327, align 8, !tbaa !100
  %10329 = load ptr, ptr %247, align 8, !tbaa !9
  %10330 = icmp eq ptr %10328, %10329
  br i1 %10330, label %10384, label %10331

10331:                                            ; preds = %10322
  br label %10332

10332:                                            ; preds = %10331
  br label %10333

10333:                                            ; preds = %10332
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %10334 = call ptr @__errno_location() #12
  %10335 = load i32, ptr %10334, align 4, !tbaa !5
  store i32 %10335, ptr %257, align 4, !tbaa !5
  %10336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10337 = call i32 @s2n_print_stacktrace(ptr noundef %10336)
  %10338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10339 = trunc i8 %10338 to i1
  br i1 %10339, label %10340, label %10362

10340:                                            ; preds = %10333
  %10341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10342 = call i32 @fileno(ptr noundef %10341) #11
  %10343 = call i32 @isatty(i32 noundef %10342) #11
  %10344 = icmp ne i32 %10343, 0
  br i1 %10344, label %10345, label %10362

10345:                                            ; preds = %10340
  %10346 = load i32, ptr %257, align 4, !tbaa !5
  %10347 = call ptr @__errno_location() #12
  store i32 %10346, ptr %10347, align 4, !tbaa !5
  %10348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10349 = load i32, ptr @test_count, align 4, !tbaa !5
  %10350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10351 = load i32, ptr %10350, align 4, !tbaa !5
  %10352 = call ptr @s2n_strerror(i32 noundef %10351, ptr noundef @.str.4)
  %10353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10354 = load i32, ptr %10353, align 4, !tbaa !5
  %10355 = call ptr @s2n_strerror_debug(i32 noundef %10354, ptr noundef @.str.4)
  %10356 = call ptr @__errno_location() #12
  %10357 = load i32, ptr %10356, align 4, !tbaa !5
  %10358 = call ptr @strerror(i32 noundef %10357) #11
  %10359 = call ptr @__errno_location() #12
  %10360 = load i32, ptr %10359, align 4, !tbaa !5
  %10361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10348, ptr noundef @.str.2, i32 noundef %10349, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 654, ptr noundef %10352, ptr noundef %10355, ptr noundef %10358, i32 noundef %10360) #11
  br label %10379

10362:                                            ; preds = %10340, %10333
  %10363 = load i32, ptr %257, align 4, !tbaa !5
  %10364 = call ptr @__errno_location() #12
  store i32 %10363, ptr %10364, align 4, !tbaa !5
  %10365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10366 = load i32, ptr @test_count, align 4, !tbaa !5
  %10367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10368 = load i32, ptr %10367, align 4, !tbaa !5
  %10369 = call ptr @s2n_strerror(i32 noundef %10368, ptr noundef @.str.4)
  %10370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10371 = load i32, ptr %10370, align 4, !tbaa !5
  %10372 = call ptr @s2n_strerror_debug(i32 noundef %10371, ptr noundef @.str.4)
  %10373 = call ptr @__errno_location() #12
  %10374 = load i32, ptr %10373, align 4, !tbaa !5
  %10375 = call ptr @strerror(i32 noundef %10374) #11
  %10376 = call ptr @__errno_location() #12
  %10377 = load i32, ptr %10376, align 4, !tbaa !5
  %10378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10365, ptr noundef @.str.5, i32 noundef %10366, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 654, ptr noundef %10369, ptr noundef %10372, ptr noundef %10375, i32 noundef %10377) #11
  br label %10379

10379:                                            ; preds = %10362, %10345
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %10380

10380:                                            ; preds = %10379
  br label %10381

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

10382:                                            ; No predecessors!
  br label %10383

10383:                                            ; preds = %10382
  br label %10384

10384:                                            ; preds = %10383, %10322
  br label %10385

10385:                                            ; preds = %10384
  br label %10386

10386:                                            ; preds = %10385
  br label %10653

10387:                                            ; preds = %10181
  br label %10388

10388:                                            ; preds = %10387
  br label %10389

10389:                                            ; preds = %10388
  br label %10390

10390:                                            ; preds = %10389
  %10391 = load i32, ptr @test_count, align 4, !tbaa !5
  %10392 = add nsw i32 %10391, 1
  store i32 %10392, ptr @test_count, align 4, !tbaa !5
  %10393 = load ptr, ptr %240, align 8, !tbaa !9
  %10394 = call i32 @s2n_select_external_psk(ptr noundef %10393, ptr noundef %242)
  %10395 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  store i32 %10394, ptr %10395, align 4
  %10396 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  %10397 = load i32, ptr %10396, align 4
  %10398 = call zeroext i1 @s2n_result_is_error(i32 %10397)
  br i1 %10398, label %10452, label %10399

10399:                                            ; preds = %10390
  br label %10400

10400:                                            ; preds = %10399
  br label %10401

10401:                                            ; preds = %10400
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %10402 = call ptr @__errno_location() #12
  %10403 = load i32, ptr %10402, align 4, !tbaa !5
  store i32 %10403, ptr %259, 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) #11
  %10411 = call i32 @isatty(i32 noundef %10410) #11
  %10412 = icmp ne i32 %10411, 0
  br i1 %10412, label %10413, label %10430

10413:                                            ; preds = %10408
  %10414 = load i32, ptr %259, align 4, !tbaa !5
  %10415 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10424 = call ptr @__errno_location() #12
  %10425 = load i32, ptr %10424, align 4, !tbaa !5
  %10426 = call ptr @strerror(i32 noundef %10425) #11
  %10427 = call ptr @__errno_location() #12
  %10428 = load i32, ptr %10427, align 4, !tbaa !5
  %10429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10416, ptr noundef @.str.2, i32 noundef %10417, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 656, ptr noundef %10420, ptr noundef %10423, ptr noundef %10426, i32 noundef %10428) #11
  br label %10447

10430:                                            ; preds = %10408, %10401
  %10431 = load i32, ptr %259, align 4, !tbaa !5
  %10432 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10441 = call ptr @__errno_location() #12
  %10442 = load i32, ptr %10441, align 4, !tbaa !5
  %10443 = call ptr @strerror(i32 noundef %10442) #11
  %10444 = call ptr @__errno_location() #12
  %10445 = load i32, ptr %10444, align 4, !tbaa !5
  %10446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10433, ptr noundef @.str.5, i32 noundef %10434, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 656, ptr noundef %10437, ptr noundef %10440, ptr noundef %10443, i32 noundef %10445) #11
  br label %10447

10447:                                            ; preds = %10430, %10413
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %10448

10448:                                            ; preds = %10447
  br label %10449

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

10450:                                            ; No predecessors!
  br label %10451

10451:                                            ; preds = %10450
  br label %10452

10452:                                            ; preds = %10451, %10390
  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 %260) #11
  %10464 = call ptr @__errno_location() #12
  %10465 = load i32, ptr %10464, align 4, !tbaa !5
  store i32 %10465, ptr %260, 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) #11
  %10473 = call i32 @isatty(i32 noundef %10472) #11
  %10474 = icmp ne i32 %10473, 0
  br i1 %10474, label %10475, label %10492

10475:                                            ; preds = %10470
  %10476 = load i32, ptr %260, align 4, !tbaa !5
  %10477 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10486 = call ptr @__errno_location() #12
  %10487 = load i32, ptr %10486, align 4, !tbaa !5
  %10488 = call ptr @strerror(i32 noundef %10487) #11
  %10489 = call ptr @__errno_location() #12
  %10490 = load i32, ptr %10489, align 4, !tbaa !5
  %10491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10478, ptr noundef @.str.2, i32 noundef %10479, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 656, ptr noundef %10482, ptr noundef %10485, ptr noundef %10488, i32 noundef %10490) #11
  br label %10509

10492:                                            ; preds = %10470, %10463
  %10493 = load i32, ptr %260, align 4, !tbaa !5
  %10494 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10503 = call ptr @__errno_location() #12
  %10504 = load i32, ptr %10503, align 4, !tbaa !5
  %10505 = call ptr @strerror(i32 noundef %10504) #11
  %10506 = call ptr @__errno_location() #12
  %10507 = load i32, ptr %10506, align 4, !tbaa !5
  %10508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10495, ptr noundef @.str.5, i32 noundef %10496, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 656, ptr noundef %10499, ptr noundef %10502, ptr noundef %10505, i32 noundef %10507) #11
  br label %10509

10509:                                            ; preds = %10492, %10475
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %10510

10510:                                            ; preds = %10509
  br label %10511

10511:                                            ; preds = %10510
  call void @exit(i32 noundef 1) #13
  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.4)
  %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 %261) #11
  %10527 = call ptr @__errno_location() #12
  %10528 = load i32, ptr %10527, align 4, !tbaa !5
  store i32 %10528, ptr %261, 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) #11
  %10536 = call i32 @isatty(i32 noundef %10535) #11
  %10537 = icmp ne i32 %10536, 0
  br i1 %10537, label %10538, label %10555

10538:                                            ; preds = %10533
  %10539 = load i32, ptr %261, align 4, !tbaa !5
  %10540 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10549 = call ptr @__errno_location() #12
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call ptr @strerror(i32 noundef %10550) #11
  %10552 = call ptr @__errno_location() #12
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10541, ptr noundef @.str.2, i32 noundef %10542, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 656, ptr noundef %10545, ptr noundef %10548, ptr noundef %10551, i32 noundef %10553) #11
  br label %10572

10555:                                            ; preds = %10533, %10526
  %10556 = load i32, ptr %261, align 4, !tbaa !5
  %10557 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10566 = call ptr @__errno_location() #12
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call ptr @strerror(i32 noundef %10567) #11
  %10569 = call ptr @__errno_location() #12
  %10570 = load i32, ptr %10569, align 4, !tbaa !5
  %10571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10558, ptr noundef @.str.5, i32 noundef %10559, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 656, ptr noundef %10562, ptr noundef %10565, ptr noundef %10568, i32 noundef %10570) #11
  br label %10572

10572:                                            ; preds = %10555, %10538
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %10573

10573:                                            ; preds = %10572
  br label %10574

10574:                                            ; preds = %10573
  call void @exit(i32 noundef 1) #13
  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() #12
  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 %240, 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 !100
  %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 %262) #11
  %10600 = call ptr @__errno_location() #12
  %10601 = load i32, ptr %10600, align 4, !tbaa !5
  store i32 %10601, ptr %262, 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) #11
  %10609 = call i32 @isatty(i32 noundef %10608) #11
  %10610 = icmp ne i32 %10609, 0
  br i1 %10610, label %10611, label %10628

10611:                                            ; preds = %10606
  %10612 = load i32, ptr %262, align 4, !tbaa !5
  %10613 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10622 = call ptr @__errno_location() #12
  %10623 = load i32, ptr %10622, align 4, !tbaa !5
  %10624 = call ptr @strerror(i32 noundef %10623) #11
  %10625 = call ptr @__errno_location() #12
  %10626 = load i32, ptr %10625, align 4, !tbaa !5
  %10627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10614, ptr noundef @.str.2, i32 noundef %10615, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 657, ptr noundef %10618, ptr noundef %10621, ptr noundef %10624, i32 noundef %10626) #11
  br label %10645

10628:                                            ; preds = %10606, %10599
  %10629 = load i32, ptr %262, align 4, !tbaa !5
  %10630 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %10639 = call ptr @__errno_location() #12
  %10640 = load i32, ptr %10639, align 4, !tbaa !5
  %10641 = call ptr @strerror(i32 noundef %10640) #11
  %10642 = call ptr @__errno_location() #12
  %10643 = load i32, ptr %10642, align 4, !tbaa !5
  %10644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10631, ptr noundef @.str.5, i32 noundef %10632, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 657, ptr noundef %10635, ptr noundef %10638, ptr noundef %10641, i32 noundef %10643) #11
  br label %10645

10645:                                            ; preds = %10628, %10611
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %10646

10646:                                            ; preds = %10645
  br label %10647

10647:                                            ; preds = %10646
  call void @exit(i32 noundef 1) #13
  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
  br label %10653

10653:                                            ; preds = %10652, %10386
  br label %10654

10654:                                            ; preds = %10653
  %10655 = load i32, ptr @test_count, align 4, !tbaa !5
  %10656 = add nsw i32 %10655, 1
  store i32 %10656, ptr @test_count, align 4, !tbaa !5
  %10657 = load ptr, ptr %240, align 8, !tbaa !9
  %10658 = call i32 @s2n_connection_free(ptr noundef %10657)
  %10659 = icmp eq i32 %10658, -1
  br i1 %10659, label %10660, label %10713

10660:                                            ; preds = %10654
  br label %10661

10661:                                            ; preds = %10660
  br label %10662

10662:                                            ; preds = %10661
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %10663 = call ptr @__errno_location() #12
  %10664 = load i32, ptr %10663, align 4, !tbaa !5
  store i32 %10664, ptr %263, align 4, !tbaa !5
  %10665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10666 = call i32 @s2n_print_stacktrace(ptr noundef %10665)
  %10667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10668 = trunc i8 %10667 to i1
  br i1 %10668, label %10669, label %10691

10669:                                            ; preds = %10662
  %10670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10671 = call i32 @fileno(ptr noundef %10670) #11
  %10672 = call i32 @isatty(i32 noundef %10671) #11
  %10673 = icmp ne i32 %10672, 0
  br i1 %10673, label %10674, label %10691

10674:                                            ; preds = %10669
  %10675 = load i32, ptr %263, align 4, !tbaa !5
  %10676 = call ptr @__errno_location() #12
  store i32 %10675, ptr %10676, align 4, !tbaa !5
  %10677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10678 = load i32, ptr @test_count, align 4, !tbaa !5
  %10679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10680 = load i32, ptr %10679, align 4, !tbaa !5
  %10681 = call ptr @s2n_strerror(i32 noundef %10680, ptr noundef @.str.4)
  %10682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  %10684 = call ptr @s2n_strerror_debug(i32 noundef %10683, ptr noundef @.str.4)
  %10685 = call ptr @__errno_location() #12
  %10686 = load i32, ptr %10685, align 4, !tbaa !5
  %10687 = call ptr @strerror(i32 noundef %10686) #11
  %10688 = call ptr @__errno_location() #12
  %10689 = load i32, ptr %10688, align 4, !tbaa !5
  %10690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10677, ptr noundef @.str.2, i32 noundef %10678, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 660, ptr noundef %10681, ptr noundef %10684, ptr noundef %10687, i32 noundef %10689) #11
  br label %10708

10691:                                            ; preds = %10669, %10662
  %10692 = load i32, ptr %263, align 4, !tbaa !5
  %10693 = call ptr @__errno_location() #12
  store i32 %10692, ptr %10693, align 4, !tbaa !5
  %10694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10695 = load i32, ptr @test_count, align 4, !tbaa !5
  %10696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10697 = load i32, ptr %10696, align 4, !tbaa !5
  %10698 = call ptr @s2n_strerror(i32 noundef %10697, ptr noundef @.str.4)
  %10699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10700 = load i32, ptr %10699, align 4, !tbaa !5
  %10701 = call ptr @s2n_strerror_debug(i32 noundef %10700, ptr noundef @.str.4)
  %10702 = call ptr @__errno_location() #12
  %10703 = load i32, ptr %10702, align 4, !tbaa !5
  %10704 = call ptr @strerror(i32 noundef %10703) #11
  %10705 = call ptr @__errno_location() #12
  %10706 = load i32, ptr %10705, align 4, !tbaa !5
  %10707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10694, ptr noundef @.str.5, i32 noundef %10695, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 660, ptr noundef %10698, ptr noundef %10701, ptr noundef %10704, i32 noundef %10706) #11
  br label %10708

10708:                                            ; preds = %10691, %10674
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %10709

10709:                                            ; preds = %10708
  br label %10710

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

10711:                                            ; No predecessors!
  br label %10712

10712:                                            ; preds = %10711
  br label %10713

10713:                                            ; preds = %10712, %10654
  br label %10714

10714:                                            ; preds = %10713
  br label %10715

10715:                                            ; preds = %10714
  br label %10716

10716:                                            ; preds = %10715
  %10717 = load i32, ptr @test_count, align 4, !tbaa !5
  %10718 = add nsw i32 %10717, 1
  store i32 %10718, ptr @test_count, align 4, !tbaa !5
  %10719 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %242, i32 0, i32 1
  %10720 = call i32 @s2n_stuffer_free(ptr noundef %10719)
  %10721 = icmp eq i32 %10720, -1
  br i1 %10721, label %10722, label %10775

10722:                                            ; preds = %10716
  br label %10723

10723:                                            ; preds = %10722
  br label %10724

10724:                                            ; preds = %10723
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %10725 = call ptr @__errno_location() #12
  %10726 = load i32, ptr %10725, align 4, !tbaa !5
  store i32 %10726, ptr %264, align 4, !tbaa !5
  %10727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10728 = call i32 @s2n_print_stacktrace(ptr noundef %10727)
  %10729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10730 = trunc i8 %10729 to i1
  br i1 %10730, label %10731, label %10753

10731:                                            ; preds = %10724
  %10732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10733 = call i32 @fileno(ptr noundef %10732) #11
  %10734 = call i32 @isatty(i32 noundef %10733) #11
  %10735 = icmp ne i32 %10734, 0
  br i1 %10735, label %10736, label %10753

10736:                                            ; preds = %10731
  %10737 = load i32, ptr %264, align 4, !tbaa !5
  %10738 = call ptr @__errno_location() #12
  store i32 %10737, ptr %10738, align 4, !tbaa !5
  %10739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10740 = load i32, ptr @test_count, align 4, !tbaa !5
  %10741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10742 = load i32, ptr %10741, align 4, !tbaa !5
  %10743 = call ptr @s2n_strerror(i32 noundef %10742, ptr noundef @.str.4)
  %10744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10745 = load i32, ptr %10744, align 4, !tbaa !5
  %10746 = call ptr @s2n_strerror_debug(i32 noundef %10745, ptr noundef @.str.4)
  %10747 = call ptr @__errno_location() #12
  %10748 = load i32, ptr %10747, align 4, !tbaa !5
  %10749 = call ptr @strerror(i32 noundef %10748) #11
  %10750 = call ptr @__errno_location() #12
  %10751 = load i32, ptr %10750, align 4, !tbaa !5
  %10752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10739, ptr noundef @.str.2, i32 noundef %10740, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 661, ptr noundef %10743, ptr noundef %10746, ptr noundef %10749, i32 noundef %10751) #11
  br label %10770

10753:                                            ; preds = %10731, %10724
  %10754 = load i32, ptr %264, align 4, !tbaa !5
  %10755 = call ptr @__errno_location() #12
  store i32 %10754, ptr %10755, align 4, !tbaa !5
  %10756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10757 = load i32, ptr @test_count, align 4, !tbaa !5
  %10758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10759 = load i32, ptr %10758, align 4, !tbaa !5
  %10760 = call ptr @s2n_strerror(i32 noundef %10759, ptr noundef @.str.4)
  %10761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10762 = load i32, ptr %10761, align 4, !tbaa !5
  %10763 = call ptr @s2n_strerror_debug(i32 noundef %10762, ptr noundef @.str.4)
  %10764 = call ptr @__errno_location() #12
  %10765 = load i32, ptr %10764, align 4, !tbaa !5
  %10766 = call ptr @strerror(i32 noundef %10765) #11
  %10767 = call ptr @__errno_location() #12
  %10768 = load i32, ptr %10767, align 4, !tbaa !5
  %10769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10756, ptr noundef @.str.5, i32 noundef %10757, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 661, ptr noundef %10760, ptr noundef %10763, ptr noundef %10766, i32 noundef %10768) #11
  br label %10770

10770:                                            ; preds = %10753, %10736
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %10771

10771:                                            ; preds = %10770
  br label %10772

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

10773:                                            ; No predecessors!
  br label %10774

10774:                                            ; preds = %10773
  br label %10775

10775:                                            ; preds = %10774, %10716
  br label %10776

10776:                                            ; preds = %10775
  br label %10777

10777:                                            ; preds = %10776
  call void @llvm.lifetime.end.p0(i64 8, ptr %247) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %242) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %240) #11
  br label %10778

10778:                                            ; preds = %10777
  %10779 = load i64, ptr %238, align 8, !tbaa !58
  %10780 = add i64 %10779, 1
  store i64 %10780, ptr %238, align 8, !tbaa !58
  br label %9731, !llvm.loop !101

10781:                                            ; preds = %9734
  call void @llvm.lifetime.end.p0(i64 1568, ptr %237) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %235) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %233) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %232) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %231) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %230) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %229) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %227) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %225) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %223) #11
  call void @llvm.lifetime.start.p0(i64 56, ptr %265) #11
  call void @llvm.memset.p0.i64(ptr align 8 %265, i8 0, i64 56, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %266) #11
  %10782 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10782, ptr %266, align 8, !tbaa !9
  br label %10783

10783:                                            ; preds = %10781
  %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 %266, align 8, !tbaa !9
  %10787 = icmp eq ptr %10786, null
  br i1 %10787, label %10788, label %10841

10788:                                            ; preds = %10783
  br label %10789

10789:                                            ; preds = %10788
  br label %10790

10790:                                            ; preds = %10789
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %10791 = call ptr @__errno_location() #12
  %10792 = load i32, ptr %10791, align 4, !tbaa !5
  store i32 %10792, ptr %267, align 4, !tbaa !5
  %10793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10794 = call i32 @s2n_print_stacktrace(ptr noundef %10793)
  %10795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10796 = trunc i8 %10795 to i1
  br i1 %10796, label %10797, label %10819

10797:                                            ; preds = %10790
  %10798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10799 = call i32 @fileno(ptr noundef %10798) #11
  %10800 = call i32 @isatty(i32 noundef %10799) #11
  %10801 = icmp ne i32 %10800, 0
  br i1 %10801, label %10802, label %10819

10802:                                            ; preds = %10797
  %10803 = load i32, ptr %267, align 4, !tbaa !5
  %10804 = call ptr @__errno_location() #12
  store i32 %10803, ptr %10804, align 4, !tbaa !5
  %10805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10806 = load i32, ptr @test_count, align 4, !tbaa !5
  %10807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10808 = load i32, ptr %10807, align 4, !tbaa !5
  %10809 = call ptr @s2n_strerror(i32 noundef %10808, ptr noundef @.str.4)
  %10810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10811 = load i32, ptr %10810, align 4, !tbaa !5
  %10812 = call ptr @s2n_strerror_debug(i32 noundef %10811, ptr noundef @.str.4)
  %10813 = call ptr @__errno_location() #12
  %10814 = load i32, ptr %10813, align 4, !tbaa !5
  %10815 = call ptr @strerror(i32 noundef %10814) #11
  %10816 = call ptr @__errno_location() #12
  %10817 = load i32, ptr %10816, align 4, !tbaa !5
  %10818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10805, ptr noundef @.str.2, i32 noundef %10806, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 671, ptr noundef %10809, ptr noundef %10812, ptr noundef %10815, i32 noundef %10817) #11
  br label %10836

10819:                                            ; preds = %10797, %10790
  %10820 = load i32, ptr %267, align 4, !tbaa !5
  %10821 = call ptr @__errno_location() #12
  store i32 %10820, ptr %10821, align 4, !tbaa !5
  %10822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10823 = load i32, ptr @test_count, align 4, !tbaa !5
  %10824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10825 = load i32, ptr %10824, align 4, !tbaa !5
  %10826 = call ptr @s2n_strerror(i32 noundef %10825, ptr noundef @.str.4)
  %10827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10828 = load i32, ptr %10827, align 4, !tbaa !5
  %10829 = call ptr @s2n_strerror_debug(i32 noundef %10828, ptr noundef @.str.4)
  %10830 = call ptr @__errno_location() #12
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  %10832 = call ptr @strerror(i32 noundef %10831) #11
  %10833 = call ptr @__errno_location() #12
  %10834 = load i32, ptr %10833, align 4, !tbaa !5
  %10835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10822, ptr noundef @.str.5, i32 noundef %10823, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 671, ptr noundef %10826, ptr noundef %10829, ptr noundef %10832, i32 noundef %10834) #11
  br label %10836

10836:                                            ; preds = %10819, %10802
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %10837

10837:                                            ; preds = %10836
  br label %10838

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

10839:                                            ; No predecessors!
  br label %10840

10840:                                            ; preds = %10839
  br label %10841

10841:                                            ; preds = %10840, %10783
  br label %10842

10842:                                            ; preds = %10841
  br label %10843

10843:                                            ; preds = %10842
  br label %10844

10844:                                            ; preds = %10843
  br label %10845

10845:                                            ; preds = %10844
  br label %10846

10846:                                            ; preds = %10845
  %10847 = load i32, ptr @test_count, align 4, !tbaa !5
  %10848 = add nsw i32 %10847, 1
  store i32 %10848, ptr @test_count, align 4, !tbaa !5
  %10849 = call i32 @s2n_select_resumption_psk(ptr noundef null, ptr noundef %265)
  %10850 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  store i32 %10849, ptr %10850, align 4
  %10851 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  %10852 = load i32, ptr %10851, align 4
  %10853 = call zeroext i1 @s2n_result_is_error(i32 %10852)
  br i1 %10853, label %10907, label %10854

10854:                                            ; preds = %10846
  br label %10855

10855:                                            ; preds = %10854
  br label %10856

10856:                                            ; preds = %10855
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %10857 = call ptr @__errno_location() #12
  %10858 = load i32, ptr %10857, align 4, !tbaa !5
  store i32 %10858, ptr %269, align 4, !tbaa !5
  %10859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10860 = call i32 @s2n_print_stacktrace(ptr noundef %10859)
  %10861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10862 = trunc i8 %10861 to i1
  br i1 %10862, label %10863, label %10885

10863:                                            ; preds = %10856
  %10864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10865 = call i32 @fileno(ptr noundef %10864) #11
  %10866 = call i32 @isatty(i32 noundef %10865) #11
  %10867 = icmp ne i32 %10866, 0
  br i1 %10867, label %10868, label %10885

10868:                                            ; preds = %10863
  %10869 = load i32, ptr %269, align 4, !tbaa !5
  %10870 = call ptr @__errno_location() #12
  store i32 %10869, ptr %10870, align 4, !tbaa !5
  %10871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10872 = load i32, ptr @test_count, align 4, !tbaa !5
  %10873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10874 = load i32, ptr %10873, align 4, !tbaa !5
  %10875 = call ptr @s2n_strerror(i32 noundef %10874, ptr noundef @.str.4)
  %10876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10877 = load i32, ptr %10876, align 4, !tbaa !5
  %10878 = call ptr @s2n_strerror_debug(i32 noundef %10877, ptr noundef @.str.4)
  %10879 = call ptr @__errno_location() #12
  %10880 = load i32, ptr %10879, align 4, !tbaa !5
  %10881 = call ptr @strerror(i32 noundef %10880) #11
  %10882 = call ptr @__errno_location() #12
  %10883 = load i32, ptr %10882, align 4, !tbaa !5
  %10884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10871, ptr noundef @.str.2, i32 noundef %10872, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 673, ptr noundef %10875, ptr noundef %10878, ptr noundef %10881, i32 noundef %10883) #11
  br label %10902

10885:                                            ; preds = %10863, %10856
  %10886 = load i32, ptr %269, align 4, !tbaa !5
  %10887 = call ptr @__errno_location() #12
  store i32 %10886, ptr %10887, align 4, !tbaa !5
  %10888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10889 = load i32, ptr @test_count, align 4, !tbaa !5
  %10890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10891 = load i32, ptr %10890, align 4, !tbaa !5
  %10892 = call ptr @s2n_strerror(i32 noundef %10891, ptr noundef @.str.4)
  %10893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10894 = load i32, ptr %10893, align 4, !tbaa !5
  %10895 = call ptr @s2n_strerror_debug(i32 noundef %10894, ptr noundef @.str.4)
  %10896 = call ptr @__errno_location() #12
  %10897 = load i32, ptr %10896, align 4, !tbaa !5
  %10898 = call ptr @strerror(i32 noundef %10897) #11
  %10899 = call ptr @__errno_location() #12
  %10900 = load i32, ptr %10899, align 4, !tbaa !5
  %10901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10888, ptr noundef @.str.5, i32 noundef %10889, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 673, ptr noundef %10892, ptr noundef %10895, ptr noundef %10898, i32 noundef %10900) #11
  br label %10902

10902:                                            ; preds = %10885, %10868
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %10903

10903:                                            ; preds = %10902
  br label %10904

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

10905:                                            ; No predecessors!
  br label %10906

10906:                                            ; preds = %10905
  br label %10907

10907:                                            ; preds = %10906, %10846
  br label %10908

10908:                                            ; preds = %10907
  br label %10909

10909:                                            ; preds = %10908
  br label %10910

10910:                                            ; preds = %10909
  %10911 = load i32, ptr @test_count, align 4, !tbaa !5
  %10912 = add nsw i32 %10911, 1
  store i32 %10912, ptr @test_count, align 4, !tbaa !5
  %10913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10914 = load i32, ptr %10913, align 4, !tbaa !5
  %10915 = icmp eq i32 %10914, 402653193
  br i1 %10915, label %10969, label %10916

10916:                                            ; preds = %10910
  br label %10917

10917:                                            ; preds = %10916
  br label %10918

10918:                                            ; preds = %10917
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %10919 = call ptr @__errno_location() #12
  %10920 = load i32, ptr %10919, align 4, !tbaa !5
  store i32 %10920, ptr %270, align 4, !tbaa !5
  %10921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10922 = call i32 @s2n_print_stacktrace(ptr noundef %10921)
  %10923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10924 = trunc i8 %10923 to i1
  br i1 %10924, label %10925, label %10947

10925:                                            ; preds = %10918
  %10926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10927 = call i32 @fileno(ptr noundef %10926) #11
  %10928 = call i32 @isatty(i32 noundef %10927) #11
  %10929 = icmp ne i32 %10928, 0
  br i1 %10929, label %10930, label %10947

10930:                                            ; preds = %10925
  %10931 = load i32, ptr %270, align 4, !tbaa !5
  %10932 = call ptr @__errno_location() #12
  store i32 %10931, ptr %10932, align 4, !tbaa !5
  %10933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10934 = load i32, ptr @test_count, align 4, !tbaa !5
  %10935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10936 = load i32, ptr %10935, align 4, !tbaa !5
  %10937 = call ptr @s2n_strerror(i32 noundef %10936, ptr noundef @.str.4)
  %10938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10939 = load i32, ptr %10938, align 4, !tbaa !5
  %10940 = call ptr @s2n_strerror_debug(i32 noundef %10939, ptr noundef @.str.4)
  %10941 = call ptr @__errno_location() #12
  %10942 = load i32, ptr %10941, align 4, !tbaa !5
  %10943 = call ptr @strerror(i32 noundef %10942) #11
  %10944 = call ptr @__errno_location() #12
  %10945 = load i32, ptr %10944, align 4, !tbaa !5
  %10946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10933, ptr noundef @.str.2, i32 noundef %10934, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 673, ptr noundef %10937, ptr noundef %10940, ptr noundef %10943, i32 noundef %10945) #11
  br label %10964

10947:                                            ; preds = %10925, %10918
  %10948 = load i32, ptr %270, align 4, !tbaa !5
  %10949 = call ptr @__errno_location() #12
  store i32 %10948, ptr %10949, align 4, !tbaa !5
  %10950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10951 = load i32, ptr @test_count, align 4, !tbaa !5
  %10952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10953 = load i32, ptr %10952, align 4, !tbaa !5
  %10954 = call ptr @s2n_strerror(i32 noundef %10953, ptr noundef @.str.4)
  %10955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10956 = load i32, ptr %10955, align 4, !tbaa !5
  %10957 = call ptr @s2n_strerror_debug(i32 noundef %10956, ptr noundef @.str.4)
  %10958 = call ptr @__errno_location() #12
  %10959 = load i32, ptr %10958, align 4, !tbaa !5
  %10960 = call ptr @strerror(i32 noundef %10959) #11
  %10961 = call ptr @__errno_location() #12
  %10962 = load i32, ptr %10961, align 4, !tbaa !5
  %10963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10950, ptr noundef @.str.5, i32 noundef %10951, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 673, ptr noundef %10954, ptr noundef %10957, ptr noundef %10960, i32 noundef %10962) #11
  br label %10964

10964:                                            ; preds = %10947, %10930
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %10965

10965:                                            ; preds = %10964
  br label %10966

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

10967:                                            ; No predecessors!
  br label %10968

10968:                                            ; preds = %10967
  br label %10969

10969:                                            ; preds = %10968, %10910
  br label %10970

10970:                                            ; preds = %10969
  br label %10971

10971:                                            ; preds = %10970
  br label %10972

10972:                                            ; preds = %10971
  %10973 = load i32, ptr @test_count, align 4, !tbaa !5
  %10974 = add nsw i32 %10973, 1
  store i32 %10974, ptr @test_count, align 4, !tbaa !5
  %10975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10976 = load i32, ptr %10975, align 4, !tbaa !5
  %10977 = call ptr @s2n_strerror_debug(i32 noundef %10976, ptr noundef @.str.4)
  %10978 = icmp eq ptr %10977, null
  br i1 %10978, label %10979, label %11032

10979:                                            ; preds = %10972
  br label %10980

10980:                                            ; preds = %10979
  br label %10981

10981:                                            ; preds = %10980
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %10982 = call ptr @__errno_location() #12
  %10983 = load i32, ptr %10982, align 4, !tbaa !5
  store i32 %10983, ptr %271, align 4, !tbaa !5
  %10984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10985 = call i32 @s2n_print_stacktrace(ptr noundef %10984)
  %10986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10987 = trunc i8 %10986 to i1
  br i1 %10987, label %10988, label %11010

10988:                                            ; preds = %10981
  %10989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10990 = call i32 @fileno(ptr noundef %10989) #11
  %10991 = call i32 @isatty(i32 noundef %10990) #11
  %10992 = icmp ne i32 %10991, 0
  br i1 %10992, label %10993, label %11010

10993:                                            ; preds = %10988
  %10994 = load i32, ptr %271, align 4, !tbaa !5
  %10995 = call ptr @__errno_location() #12
  store i32 %10994, ptr %10995, align 4, !tbaa !5
  %10996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10997 = load i32, ptr @test_count, align 4, !tbaa !5
  %10998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10999 = load i32, ptr %10998, align 4, !tbaa !5
  %11000 = call ptr @s2n_strerror(i32 noundef %10999, ptr noundef @.str.4)
  %11001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11002 = load i32, ptr %11001, align 4, !tbaa !5
  %11003 = call ptr @s2n_strerror_debug(i32 noundef %11002, ptr noundef @.str.4)
  %11004 = call ptr @__errno_location() #12
  %11005 = load i32, ptr %11004, align 4, !tbaa !5
  %11006 = call ptr @strerror(i32 noundef %11005) #11
  %11007 = call ptr @__errno_location() #12
  %11008 = load i32, ptr %11007, align 4, !tbaa !5
  %11009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10996, ptr noundef @.str.2, i32 noundef %10997, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 673, ptr noundef %11000, ptr noundef %11003, ptr noundef %11006, i32 noundef %11008) #11
  br label %11027

11010:                                            ; preds = %10988, %10981
  %11011 = load i32, ptr %271, align 4, !tbaa !5
  %11012 = call ptr @__errno_location() #12
  store i32 %11011, ptr %11012, align 4, !tbaa !5
  %11013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11014 = load i32, ptr @test_count, align 4, !tbaa !5
  %11015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11016 = load i32, ptr %11015, align 4, !tbaa !5
  %11017 = call ptr @s2n_strerror(i32 noundef %11016, ptr noundef @.str.4)
  %11018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11019 = load i32, ptr %11018, align 4, !tbaa !5
  %11020 = call ptr @s2n_strerror_debug(i32 noundef %11019, ptr noundef @.str.4)
  %11021 = call ptr @__errno_location() #12
  %11022 = load i32, ptr %11021, align 4, !tbaa !5
  %11023 = call ptr @strerror(i32 noundef %11022) #11
  %11024 = call ptr @__errno_location() #12
  %11025 = load i32, ptr %11024, align 4, !tbaa !5
  %11026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11013, ptr noundef @.str.5, i32 noundef %11014, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 673, ptr noundef %11017, ptr noundef %11020, ptr noundef %11023, i32 noundef %11025) #11
  br label %11027

11027:                                            ; preds = %11010, %10993
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %11028

11028:                                            ; preds = %11027
  br label %11029

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

11030:                                            ; No predecessors!
  br label %11031

11031:                                            ; preds = %11030
  br label %11032

11032:                                            ; preds = %11031, %10972
  br label %11033

11033:                                            ; preds = %11032
  br label %11034

11034:                                            ; preds = %11033
  br label %11035

11035:                                            ; preds = %11034
  br label %11036

11036:                                            ; preds = %11035
  br label %11037

11037:                                            ; preds = %11036
  %11038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11038, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11039 = call ptr @__errno_location() #12
  store i32 0, ptr %11039, align 4, !tbaa !5
  br label %11040

11040:                                            ; preds = %11037
  br label %11041

11041:                                            ; preds = %11040
  br label %11042

11042:                                            ; preds = %11041
  br label %11043

11043:                                            ; preds = %11042
  br label %11044

11044:                                            ; preds = %11043
  br label %11045

11045:                                            ; preds = %11044
  br label %11046

11046:                                            ; preds = %11045
  %11047 = load i32, ptr @test_count, align 4, !tbaa !5
  %11048 = add nsw i32 %11047, 1
  store i32 %11048, ptr @test_count, align 4, !tbaa !5
  %11049 = load ptr, ptr %266, align 8, !tbaa !9
  %11050 = call i32 @s2n_select_resumption_psk(ptr noundef %11049, ptr noundef null)
  %11051 = getelementptr inbounds %struct.s2n_result, ptr %272, i32 0, i32 0
  store i32 %11050, ptr %11051, align 4
  %11052 = getelementptr inbounds %struct.s2n_result, ptr %272, i32 0, i32 0
  %11053 = load i32, ptr %11052, align 4
  %11054 = call zeroext i1 @s2n_result_is_error(i32 %11053)
  br i1 %11054, label %11108, label %11055

11055:                                            ; preds = %11046
  br label %11056

11056:                                            ; preds = %11055
  br label %11057

11057:                                            ; preds = %11056
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %11058 = call ptr @__errno_location() #12
  %11059 = load i32, ptr %11058, align 4, !tbaa !5
  store i32 %11059, ptr %273, align 4, !tbaa !5
  %11060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11061 = call i32 @s2n_print_stacktrace(ptr noundef %11060)
  %11062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11063 = trunc i8 %11062 to i1
  br i1 %11063, label %11064, label %11086

11064:                                            ; preds = %11057
  %11065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11066 = call i32 @fileno(ptr noundef %11065) #11
  %11067 = call i32 @isatty(i32 noundef %11066) #11
  %11068 = icmp ne i32 %11067, 0
  br i1 %11068, label %11069, label %11086

11069:                                            ; preds = %11064
  %11070 = load i32, ptr %273, align 4, !tbaa !5
  %11071 = call ptr @__errno_location() #12
  store i32 %11070, ptr %11071, align 4, !tbaa !5
  %11072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11073 = load i32, ptr @test_count, align 4, !tbaa !5
  %11074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11075 = load i32, ptr %11074, align 4, !tbaa !5
  %11076 = call ptr @s2n_strerror(i32 noundef %11075, ptr noundef @.str.4)
  %11077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11078 = load i32, ptr %11077, align 4, !tbaa !5
  %11079 = call ptr @s2n_strerror_debug(i32 noundef %11078, ptr noundef @.str.4)
  %11080 = call ptr @__errno_location() #12
  %11081 = load i32, ptr %11080, align 4, !tbaa !5
  %11082 = call ptr @strerror(i32 noundef %11081) #11
  %11083 = call ptr @__errno_location() #12
  %11084 = load i32, ptr %11083, align 4, !tbaa !5
  %11085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11072, ptr noundef @.str.2, i32 noundef %11073, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 674, ptr noundef %11076, ptr noundef %11079, ptr noundef %11082, i32 noundef %11084) #11
  br label %11103

11086:                                            ; preds = %11064, %11057
  %11087 = load i32, ptr %273, align 4, !tbaa !5
  %11088 = call ptr @__errno_location() #12
  store i32 %11087, ptr %11088, align 4, !tbaa !5
  %11089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11090 = load i32, ptr @test_count, align 4, !tbaa !5
  %11091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11092 = load i32, ptr %11091, align 4, !tbaa !5
  %11093 = call ptr @s2n_strerror(i32 noundef %11092, ptr noundef @.str.4)
  %11094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11095 = load i32, ptr %11094, align 4, !tbaa !5
  %11096 = call ptr @s2n_strerror_debug(i32 noundef %11095, ptr noundef @.str.4)
  %11097 = call ptr @__errno_location() #12
  %11098 = load i32, ptr %11097, align 4, !tbaa !5
  %11099 = call ptr @strerror(i32 noundef %11098) #11
  %11100 = call ptr @__errno_location() #12
  %11101 = load i32, ptr %11100, align 4, !tbaa !5
  %11102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11089, ptr noundef @.str.5, i32 noundef %11090, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 674, ptr noundef %11093, ptr noundef %11096, ptr noundef %11099, i32 noundef %11101) #11
  br label %11103

11103:                                            ; preds = %11086, %11069
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %11104

11104:                                            ; preds = %11103
  br label %11105

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

11106:                                            ; No predecessors!
  br label %11107

11107:                                            ; preds = %11106
  br label %11108

11108:                                            ; preds = %11107, %11046
  br label %11109

11109:                                            ; preds = %11108
  br label %11110

11110:                                            ; preds = %11109
  br label %11111

11111:                                            ; preds = %11110
  %11112 = load i32, ptr @test_count, align 4, !tbaa !5
  %11113 = add nsw i32 %11112, 1
  store i32 %11113, ptr @test_count, align 4, !tbaa !5
  %11114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11115 = load i32, ptr %11114, align 4, !tbaa !5
  %11116 = icmp eq i32 %11115, 402653193
  br i1 %11116, label %11170, label %11117

11117:                                            ; preds = %11111
  br label %11118

11118:                                            ; preds = %11117
  br label %11119

11119:                                            ; preds = %11118
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %11120 = call ptr @__errno_location() #12
  %11121 = load i32, ptr %11120, align 4, !tbaa !5
  store i32 %11121, ptr %274, align 4, !tbaa !5
  %11122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11123 = call i32 @s2n_print_stacktrace(ptr noundef %11122)
  %11124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11125 = trunc i8 %11124 to i1
  br i1 %11125, label %11126, label %11148

11126:                                            ; preds = %11119
  %11127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11128 = call i32 @fileno(ptr noundef %11127) #11
  %11129 = call i32 @isatty(i32 noundef %11128) #11
  %11130 = icmp ne i32 %11129, 0
  br i1 %11130, label %11131, label %11148

11131:                                            ; preds = %11126
  %11132 = load i32, ptr %274, align 4, !tbaa !5
  %11133 = call ptr @__errno_location() #12
  store i32 %11132, ptr %11133, align 4, !tbaa !5
  %11134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11135 = load i32, ptr @test_count, align 4, !tbaa !5
  %11136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11137 = load i32, ptr %11136, align 4, !tbaa !5
  %11138 = call ptr @s2n_strerror(i32 noundef %11137, ptr noundef @.str.4)
  %11139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11140 = load i32, ptr %11139, align 4, !tbaa !5
  %11141 = call ptr @s2n_strerror_debug(i32 noundef %11140, ptr noundef @.str.4)
  %11142 = call ptr @__errno_location() #12
  %11143 = load i32, ptr %11142, align 4, !tbaa !5
  %11144 = call ptr @strerror(i32 noundef %11143) #11
  %11145 = call ptr @__errno_location() #12
  %11146 = load i32, ptr %11145, align 4, !tbaa !5
  %11147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11134, ptr noundef @.str.2, i32 noundef %11135, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 674, ptr noundef %11138, ptr noundef %11141, ptr noundef %11144, i32 noundef %11146) #11
  br label %11165

11148:                                            ; preds = %11126, %11119
  %11149 = load i32, ptr %274, align 4, !tbaa !5
  %11150 = call ptr @__errno_location() #12
  store i32 %11149, ptr %11150, align 4, !tbaa !5
  %11151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11152 = load i32, ptr @test_count, align 4, !tbaa !5
  %11153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11154 = load i32, ptr %11153, align 4, !tbaa !5
  %11155 = call ptr @s2n_strerror(i32 noundef %11154, ptr noundef @.str.4)
  %11156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11157 = load i32, ptr %11156, align 4, !tbaa !5
  %11158 = call ptr @s2n_strerror_debug(i32 noundef %11157, ptr noundef @.str.4)
  %11159 = call ptr @__errno_location() #12
  %11160 = load i32, ptr %11159, align 4, !tbaa !5
  %11161 = call ptr @strerror(i32 noundef %11160) #11
  %11162 = call ptr @__errno_location() #12
  %11163 = load i32, ptr %11162, align 4, !tbaa !5
  %11164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11151, ptr noundef @.str.5, i32 noundef %11152, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 674, ptr noundef %11155, ptr noundef %11158, ptr noundef %11161, i32 noundef %11163) #11
  br label %11165

11165:                                            ; preds = %11148, %11131
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %11166

11166:                                            ; preds = %11165
  br label %11167

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

11168:                                            ; No predecessors!
  br label %11169

11169:                                            ; preds = %11168
  br label %11170

11170:                                            ; preds = %11169, %11111
  br label %11171

11171:                                            ; preds = %11170
  br label %11172

11172:                                            ; preds = %11171
  br label %11173

11173:                                            ; preds = %11172
  %11174 = load i32, ptr @test_count, align 4, !tbaa !5
  %11175 = add nsw i32 %11174, 1
  store i32 %11175, ptr @test_count, align 4, !tbaa !5
  %11176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11177 = load i32, ptr %11176, align 4, !tbaa !5
  %11178 = call ptr @s2n_strerror_debug(i32 noundef %11177, ptr noundef @.str.4)
  %11179 = icmp eq ptr %11178, null
  br i1 %11179, label %11180, label %11233

11180:                                            ; preds = %11173
  br label %11181

11181:                                            ; preds = %11180
  br label %11182

11182:                                            ; preds = %11181
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %11183 = call ptr @__errno_location() #12
  %11184 = load i32, ptr %11183, align 4, !tbaa !5
  store i32 %11184, ptr %275, align 4, !tbaa !5
  %11185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11186 = call i32 @s2n_print_stacktrace(ptr noundef %11185)
  %11187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11188 = trunc i8 %11187 to i1
  br i1 %11188, label %11189, label %11211

11189:                                            ; preds = %11182
  %11190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11191 = call i32 @fileno(ptr noundef %11190) #11
  %11192 = call i32 @isatty(i32 noundef %11191) #11
  %11193 = icmp ne i32 %11192, 0
  br i1 %11193, label %11194, label %11211

11194:                                            ; preds = %11189
  %11195 = load i32, ptr %275, align 4, !tbaa !5
  %11196 = call ptr @__errno_location() #12
  store i32 %11195, ptr %11196, align 4, !tbaa !5
  %11197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11198 = load i32, ptr @test_count, align 4, !tbaa !5
  %11199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11200 = load i32, ptr %11199, align 4, !tbaa !5
  %11201 = call ptr @s2n_strerror(i32 noundef %11200, ptr noundef @.str.4)
  %11202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11203 = load i32, ptr %11202, align 4, !tbaa !5
  %11204 = call ptr @s2n_strerror_debug(i32 noundef %11203, ptr noundef @.str.4)
  %11205 = call ptr @__errno_location() #12
  %11206 = load i32, ptr %11205, align 4, !tbaa !5
  %11207 = call ptr @strerror(i32 noundef %11206) #11
  %11208 = call ptr @__errno_location() #12
  %11209 = load i32, ptr %11208, align 4, !tbaa !5
  %11210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11197, ptr noundef @.str.2, i32 noundef %11198, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 674, ptr noundef %11201, ptr noundef %11204, ptr noundef %11207, i32 noundef %11209) #11
  br label %11228

11211:                                            ; preds = %11189, %11182
  %11212 = load i32, ptr %275, align 4, !tbaa !5
  %11213 = call ptr @__errno_location() #12
  store i32 %11212, ptr %11213, align 4, !tbaa !5
  %11214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11215 = load i32, ptr @test_count, align 4, !tbaa !5
  %11216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call ptr @s2n_strerror(i32 noundef %11217, ptr noundef @.str.4)
  %11219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11220 = load i32, ptr %11219, align 4, !tbaa !5
  %11221 = call ptr @s2n_strerror_debug(i32 noundef %11220, ptr noundef @.str.4)
  %11222 = call ptr @__errno_location() #12
  %11223 = load i32, ptr %11222, align 4, !tbaa !5
  %11224 = call ptr @strerror(i32 noundef %11223) #11
  %11225 = call ptr @__errno_location() #12
  %11226 = load i32, ptr %11225, align 4, !tbaa !5
  %11227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11214, ptr noundef @.str.5, i32 noundef %11215, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 674, ptr noundef %11218, ptr noundef %11221, ptr noundef %11224, i32 noundef %11226) #11
  br label %11228

11228:                                            ; preds = %11211, %11194
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %11229

11229:                                            ; preds = %11228
  br label %11230

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

11231:                                            ; No predecessors!
  br label %11232

11232:                                            ; preds = %11231
  br label %11233

11233:                                            ; preds = %11232, %11173
  br label %11234

11234:                                            ; preds = %11233
  br label %11235

11235:                                            ; preds = %11234
  br label %11236

11236:                                            ; preds = %11235
  br label %11237

11237:                                            ; preds = %11236
  br label %11238

11238:                                            ; preds = %11237
  %11239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11239, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11240 = call ptr @__errno_location() #12
  store i32 0, ptr %11240, align 4, !tbaa !5
  br label %11241

11241:                                            ; preds = %11238
  br label %11242

11242:                                            ; preds = %11241
  br label %11243

11243:                                            ; preds = %11242
  br label %11244

11244:                                            ; preds = %11243
  br label %11245

11245:                                            ; preds = %11244
  %11246 = load i32, ptr @test_count, align 4, !tbaa !5
  %11247 = add nsw i32 %11246, 1
  store i32 %11247, ptr @test_count, align 4, !tbaa !5
  %11248 = load ptr, ptr %266, align 8, !tbaa !9
  %11249 = call i32 @s2n_connection_free(ptr noundef %11248)
  %11250 = icmp eq i32 %11249, -1
  br i1 %11250, label %11251, label %11304

11251:                                            ; preds = %11245
  br label %11252

11252:                                            ; preds = %11251
  br label %11253

11253:                                            ; preds = %11252
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %11254 = call ptr @__errno_location() #12
  %11255 = load i32, ptr %11254, align 4, !tbaa !5
  store i32 %11255, ptr %276, align 4, !tbaa !5
  %11256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11257 = call i32 @s2n_print_stacktrace(ptr noundef %11256)
  %11258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11259 = trunc i8 %11258 to i1
  br i1 %11259, label %11260, label %11282

11260:                                            ; preds = %11253
  %11261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11262 = call i32 @fileno(ptr noundef %11261) #11
  %11263 = call i32 @isatty(i32 noundef %11262) #11
  %11264 = icmp ne i32 %11263, 0
  br i1 %11264, label %11265, label %11282

11265:                                            ; preds = %11260
  %11266 = load i32, ptr %276, align 4, !tbaa !5
  %11267 = call ptr @__errno_location() #12
  store i32 %11266, ptr %11267, align 4, !tbaa !5
  %11268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11269 = load i32, ptr @test_count, align 4, !tbaa !5
  %11270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11271 = load i32, ptr %11270, align 4, !tbaa !5
  %11272 = call ptr @s2n_strerror(i32 noundef %11271, ptr noundef @.str.4)
  %11273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11274 = load i32, ptr %11273, align 4, !tbaa !5
  %11275 = call ptr @s2n_strerror_debug(i32 noundef %11274, ptr noundef @.str.4)
  %11276 = call ptr @__errno_location() #12
  %11277 = load i32, ptr %11276, align 4, !tbaa !5
  %11278 = call ptr @strerror(i32 noundef %11277) #11
  %11279 = call ptr @__errno_location() #12
  %11280 = load i32, ptr %11279, align 4, !tbaa !5
  %11281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11268, ptr noundef @.str.2, i32 noundef %11269, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 676, ptr noundef %11272, ptr noundef %11275, ptr noundef %11278, i32 noundef %11280) #11
  br label %11299

11282:                                            ; preds = %11260, %11253
  %11283 = load i32, ptr %276, align 4, !tbaa !5
  %11284 = call ptr @__errno_location() #12
  store i32 %11283, ptr %11284, align 4, !tbaa !5
  %11285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11286 = load i32, ptr @test_count, align 4, !tbaa !5
  %11287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11288 = load i32, ptr %11287, align 4, !tbaa !5
  %11289 = call ptr @s2n_strerror(i32 noundef %11288, ptr noundef @.str.4)
  %11290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11291 = load i32, ptr %11290, align 4, !tbaa !5
  %11292 = call ptr @s2n_strerror_debug(i32 noundef %11291, ptr noundef @.str.4)
  %11293 = call ptr @__errno_location() #12
  %11294 = load i32, ptr %11293, align 4, !tbaa !5
  %11295 = call ptr @strerror(i32 noundef %11294) #11
  %11296 = call ptr @__errno_location() #12
  %11297 = load i32, ptr %11296, align 4, !tbaa !5
  %11298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11285, ptr noundef @.str.5, i32 noundef %11286, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 676, ptr noundef %11289, ptr noundef %11292, ptr noundef %11295, i32 noundef %11297) #11
  br label %11299

11299:                                            ; preds = %11282, %11265
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %11300

11300:                                            ; preds = %11299
  br label %11301

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

11302:                                            ; No predecessors!
  br label %11303

11303:                                            ; preds = %11302
  br label %11304

11304:                                            ; preds = %11303, %11245
  br label %11305

11305:                                            ; preds = %11304
  br label %11306

11306:                                            ; preds = %11305
  call void @llvm.lifetime.end.p0(i64 8, ptr %266) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %265) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %277) #11
  %11307 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11307, ptr %277, align 8, !tbaa !9
  br label %11308

11308:                                            ; preds = %11306
  %11309 = load i32, ptr @test_count, align 4, !tbaa !5
  %11310 = add nsw i32 %11309, 1
  store i32 %11310, ptr @test_count, align 4, !tbaa !5
  %11311 = load ptr, ptr %277, align 8, !tbaa !9
  %11312 = icmp eq ptr %11311, null
  br i1 %11312, label %11313, label %11366

11313:                                            ; preds = %11308
  br label %11314

11314:                                            ; preds = %11313
  br label %11315

11315:                                            ; preds = %11314
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %11316 = call ptr @__errno_location() #12
  %11317 = load i32, ptr %11316, align 4, !tbaa !5
  store i32 %11317, ptr %278, align 4, !tbaa !5
  %11318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11319 = call i32 @s2n_print_stacktrace(ptr noundef %11318)
  %11320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11321 = trunc i8 %11320 to i1
  br i1 %11321, label %11322, label %11344

11322:                                            ; preds = %11315
  %11323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11324 = call i32 @fileno(ptr noundef %11323) #11
  %11325 = call i32 @isatty(i32 noundef %11324) #11
  %11326 = icmp ne i32 %11325, 0
  br i1 %11326, label %11327, label %11344

11327:                                            ; preds = %11322
  %11328 = load i32, ptr %278, align 4, !tbaa !5
  %11329 = call ptr @__errno_location() #12
  store i32 %11328, ptr %11329, align 4, !tbaa !5
  %11330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11331 = load i32, ptr @test_count, align 4, !tbaa !5
  %11332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11333 = load i32, ptr %11332, align 4, !tbaa !5
  %11334 = call ptr @s2n_strerror(i32 noundef %11333, ptr noundef @.str.4)
  %11335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11336 = load i32, ptr %11335, align 4, !tbaa !5
  %11337 = call ptr @s2n_strerror_debug(i32 noundef %11336, ptr noundef @.str.4)
  %11338 = call ptr @__errno_location() #12
  %11339 = load i32, ptr %11338, align 4, !tbaa !5
  %11340 = call ptr @strerror(i32 noundef %11339) #11
  %11341 = call ptr @__errno_location() #12
  %11342 = load i32, ptr %11341, align 4, !tbaa !5
  %11343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11330, ptr noundef @.str.2, i32 noundef %11331, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 682, ptr noundef %11334, ptr noundef %11337, ptr noundef %11340, i32 noundef %11342) #11
  br label %11361

11344:                                            ; preds = %11322, %11315
  %11345 = load i32, ptr %278, align 4, !tbaa !5
  %11346 = call ptr @__errno_location() #12
  store i32 %11345, ptr %11346, align 4, !tbaa !5
  %11347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11348 = load i32, ptr @test_count, align 4, !tbaa !5
  %11349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11350 = load i32, ptr %11349, align 4, !tbaa !5
  %11351 = call ptr @s2n_strerror(i32 noundef %11350, ptr noundef @.str.4)
  %11352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11353 = load i32, ptr %11352, align 4, !tbaa !5
  %11354 = call ptr @s2n_strerror_debug(i32 noundef %11353, ptr noundef @.str.4)
  %11355 = call ptr @__errno_location() #12
  %11356 = load i32, ptr %11355, align 4, !tbaa !5
  %11357 = call ptr @strerror(i32 noundef %11356) #11
  %11358 = call ptr @__errno_location() #12
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  %11360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11347, ptr noundef @.str.5, i32 noundef %11348, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 682, ptr noundef %11351, ptr noundef %11354, ptr noundef %11357, i32 noundef %11359) #11
  br label %11361

11361:                                            ; preds = %11344, %11327
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %11362

11362:                                            ; preds = %11361
  br label %11363

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

11364:                                            ; No predecessors!
  br label %11365

11365:                                            ; preds = %11364
  br label %11366

11366:                                            ; preds = %11365, %11308
  br label %11367

11367:                                            ; preds = %11366
  br label %11368

11368:                                            ; preds = %11367
  call void @llvm.lifetime.start.p0(i64 8, ptr %279) #11
  %11369 = call ptr @s2n_config_new()
  store ptr %11369, ptr %279, align 8, !tbaa !9
  br label %11370

11370:                                            ; preds = %11368
  %11371 = load i32, ptr @test_count, align 4, !tbaa !5
  %11372 = add nsw i32 %11371, 1
  store i32 %11372, ptr @test_count, align 4, !tbaa !5
  %11373 = load ptr, ptr %279, align 8, !tbaa !9
  %11374 = icmp eq ptr %11373, null
  br i1 %11374, label %11375, label %11428

11375:                                            ; preds = %11370
  br label %11376

11376:                                            ; preds = %11375
  br label %11377

11377:                                            ; preds = %11376
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %11378 = call ptr @__errno_location() #12
  %11379 = load i32, ptr %11378, align 4, !tbaa !5
  store i32 %11379, ptr %280, align 4, !tbaa !5
  %11380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11381 = call i32 @s2n_print_stacktrace(ptr noundef %11380)
  %11382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11383 = trunc i8 %11382 to i1
  br i1 %11383, label %11384, label %11406

11384:                                            ; preds = %11377
  %11385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11386 = call i32 @fileno(ptr noundef %11385) #11
  %11387 = call i32 @isatty(i32 noundef %11386) #11
  %11388 = icmp ne i32 %11387, 0
  br i1 %11388, label %11389, label %11406

11389:                                            ; preds = %11384
  %11390 = load i32, ptr %280, align 4, !tbaa !5
  %11391 = call ptr @__errno_location() #12
  store i32 %11390, ptr %11391, align 4, !tbaa !5
  %11392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11393 = load i32, ptr @test_count, align 4, !tbaa !5
  %11394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11395 = load i32, ptr %11394, align 4, !tbaa !5
  %11396 = call ptr @s2n_strerror(i32 noundef %11395, ptr noundef @.str.4)
  %11397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11398 = load i32, ptr %11397, align 4, !tbaa !5
  %11399 = call ptr @s2n_strerror_debug(i32 noundef %11398, ptr noundef @.str.4)
  %11400 = call ptr @__errno_location() #12
  %11401 = load i32, ptr %11400, align 4, !tbaa !5
  %11402 = call ptr @strerror(i32 noundef %11401) #11
  %11403 = call ptr @__errno_location() #12
  %11404 = load i32, ptr %11403, align 4, !tbaa !5
  %11405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11392, ptr noundef @.str.2, i32 noundef %11393, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 685, ptr noundef %11396, ptr noundef %11399, ptr noundef %11402, i32 noundef %11404) #11
  br label %11423

11406:                                            ; preds = %11384, %11377
  %11407 = load i32, ptr %280, align 4, !tbaa !5
  %11408 = call ptr @__errno_location() #12
  store i32 %11407, ptr %11408, align 4, !tbaa !5
  %11409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11410 = load i32, ptr @test_count, align 4, !tbaa !5
  %11411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11412 = load i32, ptr %11411, align 4, !tbaa !5
  %11413 = call ptr @s2n_strerror(i32 noundef %11412, ptr noundef @.str.4)
  %11414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11415 = load i32, ptr %11414, align 4, !tbaa !5
  %11416 = call ptr @s2n_strerror_debug(i32 noundef %11415, ptr noundef @.str.4)
  %11417 = call ptr @__errno_location() #12
  %11418 = load i32, ptr %11417, align 4, !tbaa !5
  %11419 = call ptr @strerror(i32 noundef %11418) #11
  %11420 = call ptr @__errno_location() #12
  %11421 = load i32, ptr %11420, align 4, !tbaa !5
  %11422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11409, ptr noundef @.str.5, i32 noundef %11410, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 685, ptr noundef %11413, ptr noundef %11416, ptr noundef %11419, i32 noundef %11421) #11
  br label %11423

11423:                                            ; preds = %11406, %11389
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %11424

11424:                                            ; preds = %11423
  br label %11425

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

11426:                                            ; No predecessors!
  br label %11427

11427:                                            ; preds = %11426
  br label %11428

11428:                                            ; preds = %11427, %11370
  br label %11429

11429:                                            ; preds = %11428
  br label %11430

11430:                                            ; preds = %11429
  br label %11431

11431:                                            ; preds = %11430
  %11432 = load i32, ptr @test_count, align 4, !tbaa !5
  %11433 = add nsw i32 %11432, 1
  store i32 %11433, ptr @test_count, align 4, !tbaa !5
  %11434 = load ptr, ptr %279, align 8, !tbaa !9
  %11435 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %11434)
  %11436 = getelementptr inbounds %struct.s2n_result, ptr %281, i32 0, i32 0
  store i32 %11435, ptr %11436, align 4
  %11437 = getelementptr inbounds %struct.s2n_result, ptr %281, i32 0, i32 0
  %11438 = load i32, ptr %11437, align 4
  %11439 = call zeroext i1 @s2n_result_is_ok(i32 %11438)
  br i1 %11439, label %11493, label %11440

11440:                                            ; preds = %11431
  br label %11441

11441:                                            ; preds = %11440
  br label %11442

11442:                                            ; preds = %11441
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %11443 = call ptr @__errno_location() #12
  %11444 = load i32, ptr %11443, align 4, !tbaa !5
  store i32 %11444, ptr %282, align 4, !tbaa !5
  %11445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11446 = call i32 @s2n_print_stacktrace(ptr noundef %11445)
  %11447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11448 = trunc i8 %11447 to i1
  br i1 %11448, label %11449, label %11471

11449:                                            ; preds = %11442
  %11450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11451 = call i32 @fileno(ptr noundef %11450) #11
  %11452 = call i32 @isatty(i32 noundef %11451) #11
  %11453 = icmp ne i32 %11452, 0
  br i1 %11453, label %11454, label %11471

11454:                                            ; preds = %11449
  %11455 = load i32, ptr %282, align 4, !tbaa !5
  %11456 = call ptr @__errno_location() #12
  store i32 %11455, ptr %11456, align 4, !tbaa !5
  %11457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11458 = load i32, ptr @test_count, align 4, !tbaa !5
  %11459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11460 = load i32, ptr %11459, align 4, !tbaa !5
  %11461 = call ptr @s2n_strerror(i32 noundef %11460, ptr noundef @.str.4)
  %11462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11463 = load i32, ptr %11462, align 4, !tbaa !5
  %11464 = call ptr @s2n_strerror_debug(i32 noundef %11463, ptr noundef @.str.4)
  %11465 = call ptr @__errno_location() #12
  %11466 = load i32, ptr %11465, align 4, !tbaa !5
  %11467 = call ptr @strerror(i32 noundef %11466) #11
  %11468 = call ptr @__errno_location() #12
  %11469 = load i32, ptr %11468, align 4, !tbaa !5
  %11470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11457, ptr noundef @.str.2, i32 noundef %11458, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 686, ptr noundef %11461, ptr noundef %11464, ptr noundef %11467, i32 noundef %11469) #11
  br label %11488

11471:                                            ; preds = %11449, %11442
  %11472 = load i32, ptr %282, align 4, !tbaa !5
  %11473 = call ptr @__errno_location() #12
  store i32 %11472, ptr %11473, align 4, !tbaa !5
  %11474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11475 = load i32, ptr @test_count, align 4, !tbaa !5
  %11476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11477 = load i32, ptr %11476, align 4, !tbaa !5
  %11478 = call ptr @s2n_strerror(i32 noundef %11477, ptr noundef @.str.4)
  %11479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11480 = load i32, ptr %11479, align 4, !tbaa !5
  %11481 = call ptr @s2n_strerror_debug(i32 noundef %11480, ptr noundef @.str.4)
  %11482 = call ptr @__errno_location() #12
  %11483 = load i32, ptr %11482, align 4, !tbaa !5
  %11484 = call ptr @strerror(i32 noundef %11483) #11
  %11485 = call ptr @__errno_location() #12
  %11486 = load i32, ptr %11485, align 4, !tbaa !5
  %11487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11474, ptr noundef @.str.5, i32 noundef %11475, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 686, ptr noundef %11478, ptr noundef %11481, ptr noundef %11484, i32 noundef %11486) #11
  br label %11488

11488:                                            ; preds = %11471, %11454
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %11489

11489:                                            ; preds = %11488
  br label %11490

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

11491:                                            ; No predecessors!
  br label %11492

11492:                                            ; preds = %11491
  br label %11493

11493:                                            ; preds = %11492, %11431
  br label %11494

11494:                                            ; preds = %11493
  br label %11495

11495:                                            ; preds = %11494
  br label %11496

11496:                                            ; preds = %11495
  %11497 = load i32, ptr @test_count, align 4, !tbaa !5
  %11498 = add nsw i32 %11497, 1
  store i32 %11498, ptr @test_count, align 4, !tbaa !5
  %11499 = load ptr, ptr %277, align 8, !tbaa !9
  %11500 = load ptr, ptr %279, align 8, !tbaa !9
  %11501 = call i32 @s2n_connection_set_config(ptr noundef %11499, ptr noundef %11500)
  %11502 = icmp eq i32 %11501, -1
  br i1 %11502, label %11503, label %11556

11503:                                            ; preds = %11496
  br label %11504

11504:                                            ; preds = %11503
  br label %11505

11505:                                            ; preds = %11504
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %11506 = call ptr @__errno_location() #12
  %11507 = load i32, ptr %11506, align 4, !tbaa !5
  store i32 %11507, ptr %283, align 4, !tbaa !5
  %11508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11509 = call i32 @s2n_print_stacktrace(ptr noundef %11508)
  %11510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11511 = trunc i8 %11510 to i1
  br i1 %11511, label %11512, label %11534

11512:                                            ; preds = %11505
  %11513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11514 = call i32 @fileno(ptr noundef %11513) #11
  %11515 = call i32 @isatty(i32 noundef %11514) #11
  %11516 = icmp ne i32 %11515, 0
  br i1 %11516, label %11517, label %11534

11517:                                            ; preds = %11512
  %11518 = load i32, ptr %283, align 4, !tbaa !5
  %11519 = call ptr @__errno_location() #12
  store i32 %11518, ptr %11519, align 4, !tbaa !5
  %11520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11521 = load i32, ptr @test_count, align 4, !tbaa !5
  %11522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11523 = load i32, ptr %11522, align 4, !tbaa !5
  %11524 = call ptr @s2n_strerror(i32 noundef %11523, ptr noundef @.str.4)
  %11525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11526 = load i32, ptr %11525, align 4, !tbaa !5
  %11527 = call ptr @s2n_strerror_debug(i32 noundef %11526, ptr noundef @.str.4)
  %11528 = call ptr @__errno_location() #12
  %11529 = load i32, ptr %11528, align 4, !tbaa !5
  %11530 = call ptr @strerror(i32 noundef %11529) #11
  %11531 = call ptr @__errno_location() #12
  %11532 = load i32, ptr %11531, align 4, !tbaa !5
  %11533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11520, ptr noundef @.str.2, i32 noundef %11521, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 687, ptr noundef %11524, ptr noundef %11527, ptr noundef %11530, i32 noundef %11532) #11
  br label %11551

11534:                                            ; preds = %11512, %11505
  %11535 = load i32, ptr %283, align 4, !tbaa !5
  %11536 = call ptr @__errno_location() #12
  store i32 %11535, ptr %11536, align 4, !tbaa !5
  %11537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11538 = load i32, ptr @test_count, align 4, !tbaa !5
  %11539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11540 = load i32, ptr %11539, align 4, !tbaa !5
  %11541 = call ptr @s2n_strerror(i32 noundef %11540, ptr noundef @.str.4)
  %11542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11543 = load i32, ptr %11542, align 4, !tbaa !5
  %11544 = call ptr @s2n_strerror_debug(i32 noundef %11543, ptr noundef @.str.4)
  %11545 = call ptr @__errno_location() #12
  %11546 = load i32, ptr %11545, align 4, !tbaa !5
  %11547 = call ptr @strerror(i32 noundef %11546) #11
  %11548 = call ptr @__errno_location() #12
  %11549 = load i32, ptr %11548, align 4, !tbaa !5
  %11550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11537, ptr noundef @.str.5, i32 noundef %11538, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 687, ptr noundef %11541, ptr noundef %11544, ptr noundef %11547, i32 noundef %11549) #11
  br label %11551

11551:                                            ; preds = %11534, %11517
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %11552

11552:                                            ; preds = %11551
  br label %11553

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

11554:                                            ; No predecessors!
  br label %11555

11555:                                            ; preds = %11554
  br label %11556

11556:                                            ; preds = %11555, %11496
  br label %11557

11557:                                            ; preds = %11556
  br label %11558

11558:                                            ; preds = %11557
  %11559 = load ptr, ptr %277, align 8, !tbaa !9
  %11560 = getelementptr inbounds %struct.s2n_connection, ptr %11559, i32 0, i32 23
  store i8 34, ptr %11560, align 4, !tbaa !45
  %11561 = load ptr, ptr %277, align 8, !tbaa !9
  %11562 = getelementptr inbounds %struct.s2n_connection, ptr %11561, i32 0, i32 27
  %11563 = load ptr, ptr %11562, align 8, !tbaa !46
  %11564 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %11563, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %11564, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr %284) #11
  call void @llvm.memset.p0.i64(ptr align 8 %284, i8 0, i64 40, i1 false)
  br label %11565

11565:                                            ; preds = %11558
  %11566 = load i32, ptr @test_count, align 4, !tbaa !5
  %11567 = add nsw i32 %11566, 1
  store i32 %11567, ptr @test_count, align 4, !tbaa !5
  %11568 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %284, i32 noundef 0)
  %11569 = icmp eq i32 %11568, -1
  br i1 %11569, label %11570, label %11623

11570:                                            ; preds = %11565
  br label %11571

11571:                                            ; preds = %11570
  br label %11572

11572:                                            ; preds = %11571
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %11573 = call ptr @__errno_location() #12
  %11574 = load i32, ptr %11573, align 4, !tbaa !5
  store i32 %11574, ptr %285, align 4, !tbaa !5
  %11575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11576 = call i32 @s2n_print_stacktrace(ptr noundef %11575)
  %11577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11578 = trunc i8 %11577 to i1
  br i1 %11578, label %11579, label %11601

11579:                                            ; preds = %11572
  %11580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11581 = call i32 @fileno(ptr noundef %11580) #11
  %11582 = call i32 @isatty(i32 noundef %11581) #11
  %11583 = icmp ne i32 %11582, 0
  br i1 %11583, label %11584, label %11601

11584:                                            ; preds = %11579
  %11585 = load i32, ptr %285, align 4, !tbaa !5
  %11586 = call ptr @__errno_location() #12
  store i32 %11585, ptr %11586, align 4, !tbaa !5
  %11587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11588 = load i32, ptr @test_count, align 4, !tbaa !5
  %11589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11590 = load i32, ptr %11589, align 4, !tbaa !5
  %11591 = call ptr @s2n_strerror(i32 noundef %11590, ptr noundef @.str.4)
  %11592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11593 = load i32, ptr %11592, align 4, !tbaa !5
  %11594 = call ptr @s2n_strerror_debug(i32 noundef %11593, ptr noundef @.str.4)
  %11595 = call ptr @__errno_location() #12
  %11596 = load i32, ptr %11595, align 4, !tbaa !5
  %11597 = call ptr @strerror(i32 noundef %11596) #11
  %11598 = call ptr @__errno_location() #12
  %11599 = load i32, ptr %11598, align 4, !tbaa !5
  %11600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11587, ptr noundef @.str.2, i32 noundef %11588, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 693, ptr noundef %11591, ptr noundef %11594, ptr noundef %11597, i32 noundef %11599) #11
  br label %11618

11601:                                            ; preds = %11579, %11572
  %11602 = load i32, ptr %285, align 4, !tbaa !5
  %11603 = call ptr @__errno_location() #12
  store i32 %11602, ptr %11603, align 4, !tbaa !5
  %11604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11605 = load i32, ptr @test_count, align 4, !tbaa !5
  %11606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11607 = load i32, ptr %11606, align 4, !tbaa !5
  %11608 = call ptr @s2n_strerror(i32 noundef %11607, ptr noundef @.str.4)
  %11609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11610 = load i32, ptr %11609, align 4, !tbaa !5
  %11611 = call ptr @s2n_strerror_debug(i32 noundef %11610, ptr noundef @.str.4)
  %11612 = call ptr @__errno_location() #12
  %11613 = load i32, ptr %11612, align 4, !tbaa !5
  %11614 = call ptr @strerror(i32 noundef %11613) #11
  %11615 = call ptr @__errno_location() #12
  %11616 = load i32, ptr %11615, align 4, !tbaa !5
  %11617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11604, ptr noundef @.str.5, i32 noundef %11605, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 693, ptr noundef %11608, ptr noundef %11611, ptr noundef %11614, i32 noundef %11616) #11
  br label %11618

11618:                                            ; preds = %11601, %11584
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %11619

11619:                                            ; preds = %11618
  br label %11620

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

11621:                                            ; No predecessors!
  br label %11622

11622:                                            ; preds = %11621
  br label %11623

11623:                                            ; preds = %11622, %11565
  br label %11624

11624:                                            ; preds = %11623
  br label %11625

11625:                                            ; preds = %11624
  br label %11626

11626:                                            ; preds = %11625
  %11627 = load i32, ptr @test_count, align 4, !tbaa !5
  %11628 = add nsw i32 %11627, 1
  store i32 %11628, ptr @test_count, align 4, !tbaa !5
  %11629 = load ptr, ptr %277, align 8, !tbaa !9
  %11630 = call i32 @s2n_setup_encrypted_ticket(ptr noundef %11629, ptr noundef %284)
  %11631 = getelementptr inbounds %struct.s2n_result, ptr %286, i32 0, i32 0
  store i32 %11630, ptr %11631, align 4
  %11632 = getelementptr inbounds %struct.s2n_result, ptr %286, i32 0, i32 0
  %11633 = load i32, ptr %11632, align 4
  %11634 = call zeroext i1 @s2n_result_is_ok(i32 %11633)
  br i1 %11634, label %11688, label %11635

11635:                                            ; preds = %11626
  br label %11636

11636:                                            ; preds = %11635
  br label %11637

11637:                                            ; preds = %11636
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %11638 = call ptr @__errno_location() #12
  %11639 = load i32, ptr %11638, align 4, !tbaa !5
  store i32 %11639, ptr %287, align 4, !tbaa !5
  %11640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11641 = call i32 @s2n_print_stacktrace(ptr noundef %11640)
  %11642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11643 = trunc i8 %11642 to i1
  br i1 %11643, label %11644, label %11666

11644:                                            ; preds = %11637
  %11645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11646 = call i32 @fileno(ptr noundef %11645) #11
  %11647 = call i32 @isatty(i32 noundef %11646) #11
  %11648 = icmp ne i32 %11647, 0
  br i1 %11648, label %11649, label %11666

11649:                                            ; preds = %11644
  %11650 = load i32, ptr %287, align 4, !tbaa !5
  %11651 = call ptr @__errno_location() #12
  store i32 %11650, ptr %11651, align 4, !tbaa !5
  %11652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11653 = load i32, ptr @test_count, align 4, !tbaa !5
  %11654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11655 = load i32, ptr %11654, align 4, !tbaa !5
  %11656 = call ptr @s2n_strerror(i32 noundef %11655, ptr noundef @.str.4)
  %11657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11658 = load i32, ptr %11657, align 4, !tbaa !5
  %11659 = call ptr @s2n_strerror_debug(i32 noundef %11658, ptr noundef @.str.4)
  %11660 = call ptr @__errno_location() #12
  %11661 = load i32, ptr %11660, align 4, !tbaa !5
  %11662 = call ptr @strerror(i32 noundef %11661) #11
  %11663 = call ptr @__errno_location() #12
  %11664 = load i32, ptr %11663, align 4, !tbaa !5
  %11665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11652, ptr noundef @.str.2, i32 noundef %11653, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 694, ptr noundef %11656, ptr noundef %11659, ptr noundef %11662, i32 noundef %11664) #11
  br label %11683

11666:                                            ; preds = %11644, %11637
  %11667 = load i32, ptr %287, align 4, !tbaa !5
  %11668 = call ptr @__errno_location() #12
  store i32 %11667, ptr %11668, align 4, !tbaa !5
  %11669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11670 = load i32, ptr @test_count, align 4, !tbaa !5
  %11671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11672 = load i32, ptr %11671, align 4, !tbaa !5
  %11673 = call ptr @s2n_strerror(i32 noundef %11672, ptr noundef @.str.4)
  %11674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11675 = load i32, ptr %11674, align 4, !tbaa !5
  %11676 = call ptr @s2n_strerror_debug(i32 noundef %11675, ptr noundef @.str.4)
  %11677 = call ptr @__errno_location() #12
  %11678 = load i32, ptr %11677, align 4, !tbaa !5
  %11679 = call ptr @strerror(i32 noundef %11678) #11
  %11680 = call ptr @__errno_location() #12
  %11681 = load i32, ptr %11680, align 4, !tbaa !5
  %11682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11669, ptr noundef @.str.5, i32 noundef %11670, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 694, ptr noundef %11673, ptr noundef %11676, ptr noundef %11679, i32 noundef %11681) #11
  br label %11683

11683:                                            ; preds = %11666, %11649
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %11684

11684:                                            ; preds = %11683
  br label %11685

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

11686:                                            ; No predecessors!
  br label %11687

11687:                                            ; preds = %11686
  br label %11688

11688:                                            ; preds = %11687, %11626
  br label %11689

11689:                                            ; preds = %11688
  br label %11690

11690:                                            ; preds = %11689
  call void @llvm.lifetime.start.p0(i64 56, ptr %288) #11
  call void @llvm.memset.p0.i64(ptr align 8 %288, i8 0, i64 56, i1 false)
  %11691 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %288, i32 0, i32 0
  %11692 = load ptr, ptr %277, align 8, !tbaa !9
  store ptr %11692, ptr %11691, align 8, !tbaa !93
  %11693 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %288, i32 0, i32 1
  %11694 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %288, i32 0, i32 2
  br label %11695

11695:                                            ; preds = %11690
  %11696 = load i32, ptr @test_count, align 4, !tbaa !5
  %11697 = add nsw i32 %11696, 1
  store i32 %11697, ptr @test_count, align 4, !tbaa !5
  %11698 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %288, i32 0, i32 1
  %11699 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %11698, i32 noundef 0)
  %11700 = icmp eq i32 %11699, -1
  br i1 %11700, label %11701, label %11754

11701:                                            ; preds = %11695
  br label %11702

11702:                                            ; preds = %11701
  br label %11703

11703:                                            ; preds = %11702
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %11704 = call ptr @__errno_location() #12
  %11705 = load i32, ptr %11704, align 4, !tbaa !5
  store i32 %11705, ptr %289, align 4, !tbaa !5
  %11706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11707 = call i32 @s2n_print_stacktrace(ptr noundef %11706)
  %11708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11709 = trunc i8 %11708 to i1
  br i1 %11709, label %11710, label %11732

11710:                                            ; preds = %11703
  %11711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11712 = call i32 @fileno(ptr noundef %11711) #11
  %11713 = call i32 @isatty(i32 noundef %11712) #11
  %11714 = icmp ne i32 %11713, 0
  br i1 %11714, label %11715, label %11732

11715:                                            ; preds = %11710
  %11716 = load i32, ptr %289, align 4, !tbaa !5
  %11717 = call ptr @__errno_location() #12
  store i32 %11716, ptr %11717, align 4, !tbaa !5
  %11718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11719 = load i32, ptr @test_count, align 4, !tbaa !5
  %11720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11721 = load i32, ptr %11720, align 4, !tbaa !5
  %11722 = call ptr @s2n_strerror(i32 noundef %11721, ptr noundef @.str.4)
  %11723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11724 = load i32, ptr %11723, align 4, !tbaa !5
  %11725 = call ptr @s2n_strerror_debug(i32 noundef %11724, ptr noundef @.str.4)
  %11726 = call ptr @__errno_location() #12
  %11727 = load i32, ptr %11726, align 4, !tbaa !5
  %11728 = call ptr @strerror(i32 noundef %11727) #11
  %11729 = call ptr @__errno_location() #12
  %11730 = load i32, ptr %11729, align 4, !tbaa !5
  %11731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11718, ptr noundef @.str.2, i32 noundef %11719, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 697, ptr noundef %11722, ptr noundef %11725, ptr noundef %11728, i32 noundef %11730) #11
  br label %11749

11732:                                            ; preds = %11710, %11703
  %11733 = load i32, ptr %289, align 4, !tbaa !5
  %11734 = call ptr @__errno_location() #12
  store i32 %11733, ptr %11734, align 4, !tbaa !5
  %11735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11736 = load i32, ptr @test_count, align 4, !tbaa !5
  %11737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11738 = load i32, ptr %11737, align 4, !tbaa !5
  %11739 = call ptr @s2n_strerror(i32 noundef %11738, ptr noundef @.str.4)
  %11740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11741 = load i32, ptr %11740, align 4, !tbaa !5
  %11742 = call ptr @s2n_strerror_debug(i32 noundef %11741, ptr noundef @.str.4)
  %11743 = call ptr @__errno_location() #12
  %11744 = load i32, ptr %11743, align 4, !tbaa !5
  %11745 = call ptr @strerror(i32 noundef %11744) #11
  %11746 = call ptr @__errno_location() #12
  %11747 = load i32, ptr %11746, align 4, !tbaa !5
  %11748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11735, ptr noundef @.str.5, i32 noundef %11736, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 697, ptr noundef %11739, ptr noundef %11742, ptr noundef %11745, i32 noundef %11747) #11
  br label %11749

11749:                                            ; preds = %11732, %11715
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %11750

11750:                                            ; preds = %11749
  br label %11751

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

11752:                                            ; No predecessors!
  br label %11753

11753:                                            ; preds = %11752
  br label %11754

11754:                                            ; preds = %11753, %11695
  br label %11755

11755:                                            ; preds = %11754
  br label %11756

11756:                                            ; preds = %11755
  br label %11757

11757:                                            ; preds = %11756
  %11758 = load i32, ptr @test_count, align 4, !tbaa !5
  %11759 = add nsw i32 %11758, 1
  store i32 %11759, ptr @test_count, align 4, !tbaa !5
  %11760 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %288, i32 0, i32 1
  %11761 = getelementptr inbounds %struct.s2n_stuffer, ptr %284, i32 0, i32 0
  %11762 = call i32 @s2n_write_test_identity(ptr noundef %11760, ptr noundef %11761)
  %11763 = getelementptr inbounds %struct.s2n_result, ptr %290, i32 0, i32 0
  store i32 %11762, ptr %11763, align 4
  %11764 = getelementptr inbounds %struct.s2n_result, ptr %290, i32 0, i32 0
  %11765 = load i32, ptr %11764, align 4
  %11766 = call zeroext i1 @s2n_result_is_ok(i32 %11765)
  br i1 %11766, label %11820, label %11767

11767:                                            ; preds = %11757
  br label %11768

11768:                                            ; preds = %11767
  br label %11769

11769:                                            ; preds = %11768
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %11770 = call ptr @__errno_location() #12
  %11771 = load i32, ptr %11770, align 4, !tbaa !5
  store i32 %11771, ptr %291, align 4, !tbaa !5
  %11772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11773 = call i32 @s2n_print_stacktrace(ptr noundef %11772)
  %11774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11775 = trunc i8 %11774 to i1
  br i1 %11775, label %11776, label %11798

11776:                                            ; preds = %11769
  %11777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11778 = call i32 @fileno(ptr noundef %11777) #11
  %11779 = call i32 @isatty(i32 noundef %11778) #11
  %11780 = icmp ne i32 %11779, 0
  br i1 %11780, label %11781, label %11798

11781:                                            ; preds = %11776
  %11782 = load i32, ptr %291, align 4, !tbaa !5
  %11783 = call ptr @__errno_location() #12
  store i32 %11782, ptr %11783, align 4, !tbaa !5
  %11784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11785 = load i32, ptr @test_count, align 4, !tbaa !5
  %11786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11787 = load i32, ptr %11786, align 4, !tbaa !5
  %11788 = call ptr @s2n_strerror(i32 noundef %11787, ptr noundef @.str.4)
  %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_debug(i32 noundef %11790, ptr noundef @.str.4)
  %11792 = call ptr @__errno_location() #12
  %11793 = load i32, ptr %11792, align 4, !tbaa !5
  %11794 = call ptr @strerror(i32 noundef %11793) #11
  %11795 = call ptr @__errno_location() #12
  %11796 = load i32, ptr %11795, align 4, !tbaa !5
  %11797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11784, ptr noundef @.str.2, i32 noundef %11785, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 699, ptr noundef %11788, ptr noundef %11791, ptr noundef %11794, i32 noundef %11796) #11
  br label %11815

11798:                                            ; preds = %11776, %11769
  %11799 = load i32, ptr %291, align 4, !tbaa !5
  %11800 = call ptr @__errno_location() #12
  store i32 %11799, ptr %11800, align 4, !tbaa !5
  %11801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11802 = load i32, ptr @test_count, align 4, !tbaa !5
  %11803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11804 = load i32, ptr %11803, align 4, !tbaa !5
  %11805 = call ptr @s2n_strerror(i32 noundef %11804, ptr noundef @.str.4)
  %11806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11807 = load i32, ptr %11806, align 4, !tbaa !5
  %11808 = call ptr @s2n_strerror_debug(i32 noundef %11807, ptr noundef @.str.4)
  %11809 = call ptr @__errno_location() #12
  %11810 = load i32, ptr %11809, align 4, !tbaa !5
  %11811 = call ptr @strerror(i32 noundef %11810) #11
  %11812 = call ptr @__errno_location() #12
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  %11814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11801, ptr noundef @.str.5, i32 noundef %11802, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 699, ptr noundef %11805, ptr noundef %11808, ptr noundef %11811, i32 noundef %11813) #11
  br label %11815

11815:                                            ; preds = %11798, %11781
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %11816

11816:                                            ; preds = %11815
  br label %11817

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

11818:                                            ; No predecessors!
  br label %11819

11819:                                            ; preds = %11818
  br label %11820

11820:                                            ; preds = %11819, %11757
  br label %11821

11821:                                            ; preds = %11820
  br label %11822

11822:                                            ; preds = %11821
  br label %11823

11823:                                            ; preds = %11822
  %11824 = load i32, ptr @test_count, align 4, !tbaa !5
  %11825 = add nsw i32 %11824, 1
  store i32 %11825, ptr @test_count, align 4, !tbaa !5
  %11826 = load ptr, ptr %277, align 8, !tbaa !9
  %11827 = call i32 @s2n_select_resumption_psk(ptr noundef %11826, ptr noundef %288)
  %11828 = getelementptr inbounds %struct.s2n_result, ptr %292, i32 0, i32 0
  store i32 %11827, ptr %11828, align 4
  %11829 = getelementptr inbounds %struct.s2n_result, ptr %292, i32 0, i32 0
  %11830 = load i32, ptr %11829, align 4
  %11831 = call zeroext i1 @s2n_result_is_ok(i32 %11830)
  br i1 %11831, label %11885, label %11832

11832:                                            ; preds = %11823
  br label %11833

11833:                                            ; preds = %11832
  br label %11834

11834:                                            ; preds = %11833
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %11835 = call ptr @__errno_location() #12
  %11836 = load i32, ptr %11835, align 4, !tbaa !5
  store i32 %11836, ptr %293, align 4, !tbaa !5
  %11837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11838 = call i32 @s2n_print_stacktrace(ptr noundef %11837)
  %11839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11840 = trunc i8 %11839 to i1
  br i1 %11840, label %11841, label %11863

11841:                                            ; preds = %11834
  %11842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11843 = call i32 @fileno(ptr noundef %11842) #11
  %11844 = call i32 @isatty(i32 noundef %11843) #11
  %11845 = icmp ne i32 %11844, 0
  br i1 %11845, label %11846, label %11863

11846:                                            ; preds = %11841
  %11847 = load i32, ptr %293, align 4, !tbaa !5
  %11848 = call ptr @__errno_location() #12
  store i32 %11847, ptr %11848, align 4, !tbaa !5
  %11849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11850 = load i32, ptr @test_count, align 4, !tbaa !5
  %11851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11852 = load i32, ptr %11851, align 4, !tbaa !5
  %11853 = call ptr @s2n_strerror(i32 noundef %11852, ptr noundef @.str.4)
  %11854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11855 = load i32, ptr %11854, align 4, !tbaa !5
  %11856 = call ptr @s2n_strerror_debug(i32 noundef %11855, ptr noundef @.str.4)
  %11857 = call ptr @__errno_location() #12
  %11858 = load i32, ptr %11857, align 4, !tbaa !5
  %11859 = call ptr @strerror(i32 noundef %11858) #11
  %11860 = call ptr @__errno_location() #12
  %11861 = load i32, ptr %11860, align 4, !tbaa !5
  %11862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11849, ptr noundef @.str.2, i32 noundef %11850, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 701, ptr noundef %11853, ptr noundef %11856, ptr noundef %11859, i32 noundef %11861) #11
  br label %11880

11863:                                            ; preds = %11841, %11834
  %11864 = load i32, ptr %293, align 4, !tbaa !5
  %11865 = call ptr @__errno_location() #12
  store i32 %11864, ptr %11865, align 4, !tbaa !5
  %11866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11867 = load i32, ptr @test_count, align 4, !tbaa !5
  %11868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11869 = load i32, ptr %11868, align 4, !tbaa !5
  %11870 = call ptr @s2n_strerror(i32 noundef %11869, ptr noundef @.str.4)
  %11871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11872 = load i32, ptr %11871, align 4, !tbaa !5
  %11873 = call ptr @s2n_strerror_debug(i32 noundef %11872, ptr noundef @.str.4)
  %11874 = call ptr @__errno_location() #12
  %11875 = load i32, ptr %11874, align 4, !tbaa !5
  %11876 = call ptr @strerror(i32 noundef %11875) #11
  %11877 = call ptr @__errno_location() #12
  %11878 = load i32, ptr %11877, align 4, !tbaa !5
  %11879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11866, ptr noundef @.str.5, i32 noundef %11867, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 701, ptr noundef %11870, ptr noundef %11873, ptr noundef %11876, i32 noundef %11878) #11
  br label %11880

11880:                                            ; preds = %11863, %11846
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %11881

11881:                                            ; preds = %11880
  br label %11882

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

11883:                                            ; No predecessors!
  br label %11884

11884:                                            ; preds = %11883
  br label %11885

11885:                                            ; preds = %11884, %11823
  br label %11886

11886:                                            ; preds = %11885
  br label %11887

11887:                                            ; preds = %11886
  br label %11888

11888:                                            ; preds = %11887
  %11889 = load i32, ptr @test_count, align 4, !tbaa !5
  %11890 = add nsw i32 %11889, 1
  store i32 %11890, ptr @test_count, align 4, !tbaa !5
  %11891 = load ptr, ptr %277, align 8, !tbaa !9
  %11892 = getelementptr inbounds %struct.s2n_connection, ptr %11891, i32 0, i32 33
  %11893 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11892, i32 0, i32 3
  %11894 = load i16, ptr %11893, align 2, !tbaa !99
  %11895 = zext i16 %11894 to i32
  %11896 = icmp eq i32 %11895, 0
  br i1 %11896, label %11950, label %11897

11897:                                            ; preds = %11888
  br label %11898

11898:                                            ; preds = %11897
  br label %11899

11899:                                            ; preds = %11898
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %11900 = call ptr @__errno_location() #12
  %11901 = load i32, ptr %11900, align 4, !tbaa !5
  store i32 %11901, ptr %294, align 4, !tbaa !5
  %11902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11903 = call i32 @s2n_print_stacktrace(ptr noundef %11902)
  %11904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11905 = trunc i8 %11904 to i1
  br i1 %11905, label %11906, label %11928

11906:                                            ; preds = %11899
  %11907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11908 = call i32 @fileno(ptr noundef %11907) #11
  %11909 = call i32 @isatty(i32 noundef %11908) #11
  %11910 = icmp ne i32 %11909, 0
  br i1 %11910, label %11911, label %11928

11911:                                            ; preds = %11906
  %11912 = load i32, ptr %294, align 4, !tbaa !5
  %11913 = call ptr @__errno_location() #12
  store i32 %11912, ptr %11913, align 4, !tbaa !5
  %11914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11915 = load i32, ptr @test_count, align 4, !tbaa !5
  %11916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11917 = load i32, ptr %11916, align 4, !tbaa !5
  %11918 = call ptr @s2n_strerror(i32 noundef %11917, ptr noundef @.str.4)
  %11919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11920 = load i32, ptr %11919, align 4, !tbaa !5
  %11921 = call ptr @s2n_strerror_debug(i32 noundef %11920, ptr noundef @.str.4)
  %11922 = call ptr @__errno_location() #12
  %11923 = load i32, ptr %11922, align 4, !tbaa !5
  %11924 = call ptr @strerror(i32 noundef %11923) #11
  %11925 = call ptr @__errno_location() #12
  %11926 = load i32, ptr %11925, align 4, !tbaa !5
  %11927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11914, ptr noundef @.str.2, i32 noundef %11915, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 703, ptr noundef %11918, ptr noundef %11921, ptr noundef %11924, i32 noundef %11926) #11
  br label %11945

11928:                                            ; preds = %11906, %11899
  %11929 = load i32, ptr %294, align 4, !tbaa !5
  %11930 = call ptr @__errno_location() #12
  store i32 %11929, ptr %11930, align 4, !tbaa !5
  %11931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11932 = load i32, ptr @test_count, align 4, !tbaa !5
  %11933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11934 = load i32, ptr %11933, align 4, !tbaa !5
  %11935 = call ptr @s2n_strerror(i32 noundef %11934, ptr noundef @.str.4)
  %11936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11937 = load i32, ptr %11936, align 4, !tbaa !5
  %11938 = call ptr @s2n_strerror_debug(i32 noundef %11937, ptr noundef @.str.4)
  %11939 = call ptr @__errno_location() #12
  %11940 = load i32, ptr %11939, align 4, !tbaa !5
  %11941 = call ptr @strerror(i32 noundef %11940) #11
  %11942 = call ptr @__errno_location() #12
  %11943 = load i32, ptr %11942, align 4, !tbaa !5
  %11944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11931, ptr noundef @.str.5, i32 noundef %11932, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 703, ptr noundef %11935, ptr noundef %11938, ptr noundef %11941, i32 noundef %11943) #11
  br label %11945

11945:                                            ; preds = %11928, %11911
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %11946

11946:                                            ; preds = %11945
  br label %11947

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

11948:                                            ; No predecessors!
  br label %11949

11949:                                            ; preds = %11948
  br label %11950

11950:                                            ; preds = %11949, %11888
  br label %11951

11951:                                            ; preds = %11950
  br label %11952

11952:                                            ; preds = %11951
  br label %11953

11953:                                            ; preds = %11952
  %11954 = load i32, ptr @test_count, align 4, !tbaa !5
  %11955 = add nsw i32 %11954, 1
  store i32 %11955, ptr @test_count, align 4, !tbaa !5
  %11956 = load ptr, ptr %277, align 8, !tbaa !9
  %11957 = getelementptr inbounds %struct.s2n_connection, ptr %11956, i32 0, i32 33
  %11958 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11957, i32 0, i32 4
  %11959 = load ptr, ptr %11958, align 8, !tbaa !100
  %11960 = icmp eq ptr %11959, null
  br i1 %11960, label %11961, label %12014

11961:                                            ; preds = %11953
  br label %11962

11962:                                            ; preds = %11961
  br label %11963

11963:                                            ; preds = %11962
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %11964 = call ptr @__errno_location() #12
  %11965 = load i32, ptr %11964, align 4, !tbaa !5
  store i32 %11965, ptr %295, align 4, !tbaa !5
  %11966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11967 = call i32 @s2n_print_stacktrace(ptr noundef %11966)
  %11968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11969 = trunc i8 %11968 to i1
  br i1 %11969, label %11970, label %11992

11970:                                            ; preds = %11963
  %11971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11972 = call i32 @fileno(ptr noundef %11971) #11
  %11973 = call i32 @isatty(i32 noundef %11972) #11
  %11974 = icmp ne i32 %11973, 0
  br i1 %11974, label %11975, label %11992

11975:                                            ; preds = %11970
  %11976 = load i32, ptr %295, align 4, !tbaa !5
  %11977 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %11986 = call ptr @__errno_location() #12
  %11987 = load i32, ptr %11986, align 4, !tbaa !5
  %11988 = call ptr @strerror(i32 noundef %11987) #11
  %11989 = call ptr @__errno_location() #12
  %11990 = load i32, ptr %11989, align 4, !tbaa !5
  %11991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11978, ptr noundef @.str.2, i32 noundef %11979, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 704, ptr noundef %11982, ptr noundef %11985, ptr noundef %11988, i32 noundef %11990) #11
  br label %12009

11992:                                            ; preds = %11970, %11963
  %11993 = load i32, ptr %295, align 4, !tbaa !5
  %11994 = call ptr @__errno_location() #12
  store i32 %11993, ptr %11994, align 4, !tbaa !5
  %11995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11996 = load i32, ptr @test_count, align 4, !tbaa !5
  %11997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11998 = load i32, ptr %11997, align 4, !tbaa !5
  %11999 = call ptr @s2n_strerror(i32 noundef %11998, ptr noundef @.str.4)
  %12000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12001 = load i32, ptr %12000, align 4, !tbaa !5
  %12002 = call ptr @s2n_strerror_debug(i32 noundef %12001, ptr noundef @.str.4)
  %12003 = call ptr @__errno_location() #12
  %12004 = load i32, ptr %12003, align 4, !tbaa !5
  %12005 = call ptr @strerror(i32 noundef %12004) #11
  %12006 = call ptr @__errno_location() #12
  %12007 = load i32, ptr %12006, align 4, !tbaa !5
  %12008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11995, ptr noundef @.str.5, i32 noundef %11996, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 704, ptr noundef %11999, ptr noundef %12002, ptr noundef %12005, i32 noundef %12007) #11
  br label %12009

12009:                                            ; preds = %11992, %11975
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %12010

12010:                                            ; preds = %12009
  br label %12011

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

12012:                                            ; No predecessors!
  br label %12013

12013:                                            ; preds = %12012
  br label %12014

12014:                                            ; preds = %12013, %11953
  br label %12015

12015:                                            ; preds = %12014
  br label %12016

12016:                                            ; preds = %12015
  br label %12017

12017:                                            ; preds = %12016
  %12018 = load i32, ptr @test_count, align 4, !tbaa !5
  %12019 = add nsw i32 %12018, 1
  store i32 %12019, ptr @test_count, align 4, !tbaa !5
  %12020 = load ptr, ptr %277, align 8, !tbaa !9
  %12021 = getelementptr inbounds %struct.s2n_connection, ptr %12020, i32 0, i32 33
  %12022 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %12021, i32 0, i32 4
  %12023 = load ptr, ptr %12022, align 8, !tbaa !100
  %12024 = getelementptr inbounds %struct.s2n_psk, ptr %12023, i32 0, i32 3
  %12025 = load i32, ptr %12024, align 8, !tbaa !55
  %12026 = load i32, ptr getelementptr inbounds (%struct.s2n_cipher_suite, ptr @s2n_tls13_aes_128_gcm_sha256, i32 0, i32 11), align 8, !tbaa !52
  %12027 = icmp eq i32 %12025, %12026
  br i1 %12027, label %12081, label %12028

12028:                                            ; preds = %12017
  br label %12029

12029:                                            ; preds = %12028
  br label %12030

12030:                                            ; preds = %12029
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %12031 = call ptr @__errno_location() #12
  %12032 = load i32, ptr %12031, align 4, !tbaa !5
  store i32 %12032, ptr %296, align 4, !tbaa !5
  %12033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12034 = call i32 @s2n_print_stacktrace(ptr noundef %12033)
  %12035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12036 = trunc i8 %12035 to i1
  br i1 %12036, label %12037, label %12059

12037:                                            ; preds = %12030
  %12038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12039 = call i32 @fileno(ptr noundef %12038) #11
  %12040 = call i32 @isatty(i32 noundef %12039) #11
  %12041 = icmp ne i32 %12040, 0
  br i1 %12041, label %12042, label %12059

12042:                                            ; preds = %12037
  %12043 = load i32, ptr %296, align 4, !tbaa !5
  %12044 = call ptr @__errno_location() #12
  store i32 %12043, ptr %12044, align 4, !tbaa !5
  %12045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12046 = load i32, ptr @test_count, align 4, !tbaa !5
  %12047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12048 = load i32, ptr %12047, align 4, !tbaa !5
  %12049 = call ptr @s2n_strerror(i32 noundef %12048, ptr noundef @.str.4)
  %12050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12051 = load i32, ptr %12050, align 4, !tbaa !5
  %12052 = call ptr @s2n_strerror_debug(i32 noundef %12051, ptr noundef @.str.4)
  %12053 = call ptr @__errno_location() #12
  %12054 = load i32, ptr %12053, align 4, !tbaa !5
  %12055 = call ptr @strerror(i32 noundef %12054) #11
  %12056 = call ptr @__errno_location() #12
  %12057 = load i32, ptr %12056, align 4, !tbaa !5
  %12058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12045, ptr noundef @.str.2, i32 noundef %12046, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 707, ptr noundef %12049, ptr noundef %12052, ptr noundef %12055, i32 noundef %12057) #11
  br label %12076

12059:                                            ; preds = %12037, %12030
  %12060 = load i32, ptr %296, align 4, !tbaa !5
  %12061 = call ptr @__errno_location() #12
  store i32 %12060, ptr %12061, align 4, !tbaa !5
  %12062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12063 = load i32, ptr @test_count, align 4, !tbaa !5
  %12064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12065 = load i32, ptr %12064, align 4, !tbaa !5
  %12066 = call ptr @s2n_strerror(i32 noundef %12065, ptr noundef @.str.4)
  %12067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12068 = load i32, ptr %12067, align 4, !tbaa !5
  %12069 = call ptr @s2n_strerror_debug(i32 noundef %12068, ptr noundef @.str.4)
  %12070 = call ptr @__errno_location() #12
  %12071 = load i32, ptr %12070, align 4, !tbaa !5
  %12072 = call ptr @strerror(i32 noundef %12071) #11
  %12073 = call ptr @__errno_location() #12
  %12074 = load i32, ptr %12073, align 4, !tbaa !5
  %12075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12062, ptr noundef @.str.5, i32 noundef %12063, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 707, ptr noundef %12066, ptr noundef %12069, ptr noundef %12072, i32 noundef %12074) #11
  br label %12076

12076:                                            ; preds = %12059, %12042
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %12077

12077:                                            ; preds = %12076
  br label %12078

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

12079:                                            ; No predecessors!
  br label %12080

12080:                                            ; preds = %12079
  br label %12081

12081:                                            ; preds = %12080, %12017
  br label %12082

12082:                                            ; preds = %12081
  br label %12083

12083:                                            ; preds = %12082
  br label %12084

12084:                                            ; preds = %12083
  %12085 = load i32, ptr @test_count, align 4, !tbaa !5
  %12086 = add nsw i32 %12085, 1
  store i32 %12086, ptr @test_count, align 4, !tbaa !5
  %12087 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %288, i32 0, i32 1
  %12088 = call i32 @s2n_stuffer_free(ptr noundef %12087)
  %12089 = icmp eq i32 %12088, -1
  br i1 %12089, label %12090, label %12143

12090:                                            ; preds = %12084
  br label %12091

12091:                                            ; preds = %12090
  br label %12092

12092:                                            ; preds = %12091
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %12093 = call ptr @__errno_location() #12
  %12094 = load i32, ptr %12093, align 4, !tbaa !5
  store i32 %12094, ptr %297, align 4, !tbaa !5
  %12095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12096 = call i32 @s2n_print_stacktrace(ptr noundef %12095)
  %12097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12098 = trunc i8 %12097 to i1
  br i1 %12098, label %12099, label %12121

12099:                                            ; preds = %12092
  %12100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12101 = call i32 @fileno(ptr noundef %12100) #11
  %12102 = call i32 @isatty(i32 noundef %12101) #11
  %12103 = icmp ne i32 %12102, 0
  br i1 %12103, label %12104, label %12121

12104:                                            ; preds = %12099
  %12105 = load i32, ptr %297, align 4, !tbaa !5
  %12106 = call ptr @__errno_location() #12
  store i32 %12105, ptr %12106, align 4, !tbaa !5
  %12107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12108 = load i32, ptr @test_count, align 4, !tbaa !5
  %12109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12110 = load i32, ptr %12109, align 4, !tbaa !5
  %12111 = call ptr @s2n_strerror(i32 noundef %12110, ptr noundef @.str.4)
  %12112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12113 = load i32, ptr %12112, align 4, !tbaa !5
  %12114 = call ptr @s2n_strerror_debug(i32 noundef %12113, ptr noundef @.str.4)
  %12115 = call ptr @__errno_location() #12
  %12116 = load i32, ptr %12115, align 4, !tbaa !5
  %12117 = call ptr @strerror(i32 noundef %12116) #11
  %12118 = call ptr @__errno_location() #12
  %12119 = load i32, ptr %12118, align 4, !tbaa !5
  %12120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12107, ptr noundef @.str.2, i32 noundef %12108, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 709, ptr noundef %12111, ptr noundef %12114, ptr noundef %12117, i32 noundef %12119) #11
  br label %12138

12121:                                            ; preds = %12099, %12092
  %12122 = load i32, ptr %297, align 4, !tbaa !5
  %12123 = call ptr @__errno_location() #12
  store i32 %12122, ptr %12123, align 4, !tbaa !5
  %12124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12125 = load i32, ptr @test_count, align 4, !tbaa !5
  %12126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12127 = load i32, ptr %12126, align 4, !tbaa !5
  %12128 = call ptr @s2n_strerror(i32 noundef %12127, ptr noundef @.str.4)
  %12129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12130 = load i32, ptr %12129, align 4, !tbaa !5
  %12131 = call ptr @s2n_strerror_debug(i32 noundef %12130, ptr noundef @.str.4)
  %12132 = call ptr @__errno_location() #12
  %12133 = load i32, ptr %12132, align 4, !tbaa !5
  %12134 = call ptr @strerror(i32 noundef %12133) #11
  %12135 = call ptr @__errno_location() #12
  %12136 = load i32, ptr %12135, align 4, !tbaa !5
  %12137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12124, ptr noundef @.str.5, i32 noundef %12125, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 709, ptr noundef %12128, ptr noundef %12131, ptr noundef %12134, i32 noundef %12136) #11
  br label %12138

12138:                                            ; preds = %12121, %12104
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %12139

12139:                                            ; preds = %12138
  br label %12140

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

12141:                                            ; No predecessors!
  br label %12142

12142:                                            ; preds = %12141
  br label %12143

12143:                                            ; preds = %12142, %12084
  br label %12144

12144:                                            ; preds = %12143
  br label %12145

12145:                                            ; preds = %12144
  br label %12146

12146:                                            ; preds = %12145
  %12147 = load i32, ptr @test_count, align 4, !tbaa !5
  %12148 = add nsw i32 %12147, 1
  store i32 %12148, ptr @test_count, align 4, !tbaa !5
  %12149 = load ptr, ptr %277, align 8, !tbaa !9
  %12150 = call i32 @s2n_connection_free(ptr noundef %12149)
  %12151 = icmp eq i32 %12150, -1
  br i1 %12151, label %12152, label %12205

12152:                                            ; preds = %12146
  br label %12153

12153:                                            ; preds = %12152
  br label %12154

12154:                                            ; preds = %12153
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %12155 = call ptr @__errno_location() #12
  %12156 = load i32, ptr %12155, align 4, !tbaa !5
  store i32 %12156, ptr %298, align 4, !tbaa !5
  %12157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12158 = call i32 @s2n_print_stacktrace(ptr noundef %12157)
  %12159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12160 = trunc i8 %12159 to i1
  br i1 %12160, label %12161, label %12183

12161:                                            ; preds = %12154
  %12162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12163 = call i32 @fileno(ptr noundef %12162) #11
  %12164 = call i32 @isatty(i32 noundef %12163) #11
  %12165 = icmp ne i32 %12164, 0
  br i1 %12165, label %12166, label %12183

12166:                                            ; preds = %12161
  %12167 = load i32, ptr %298, align 4, !tbaa !5
  %12168 = call ptr @__errno_location() #12
  store i32 %12167, ptr %12168, align 4, !tbaa !5
  %12169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12170 = load i32, ptr @test_count, align 4, !tbaa !5
  %12171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12172 = load i32, ptr %12171, align 4, !tbaa !5
  %12173 = call ptr @s2n_strerror(i32 noundef %12172, ptr noundef @.str.4)
  %12174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12175 = load i32, ptr %12174, align 4, !tbaa !5
  %12176 = call ptr @s2n_strerror_debug(i32 noundef %12175, ptr noundef @.str.4)
  %12177 = call ptr @__errno_location() #12
  %12178 = load i32, ptr %12177, align 4, !tbaa !5
  %12179 = call ptr @strerror(i32 noundef %12178) #11
  %12180 = call ptr @__errno_location() #12
  %12181 = load i32, ptr %12180, align 4, !tbaa !5
  %12182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12169, ptr noundef @.str.2, i32 noundef %12170, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 710, ptr noundef %12173, ptr noundef %12176, ptr noundef %12179, i32 noundef %12181) #11
  br label %12200

12183:                                            ; preds = %12161, %12154
  %12184 = load i32, ptr %298, align 4, !tbaa !5
  %12185 = call ptr @__errno_location() #12
  store i32 %12184, ptr %12185, align 4, !tbaa !5
  %12186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12187 = load i32, ptr @test_count, align 4, !tbaa !5
  %12188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12189 = load i32, ptr %12188, align 4, !tbaa !5
  %12190 = call ptr @s2n_strerror(i32 noundef %12189, ptr noundef @.str.4)
  %12191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12192 = load i32, ptr %12191, align 4, !tbaa !5
  %12193 = call ptr @s2n_strerror_debug(i32 noundef %12192, ptr noundef @.str.4)
  %12194 = call ptr @__errno_location() #12
  %12195 = load i32, ptr %12194, align 4, !tbaa !5
  %12196 = call ptr @strerror(i32 noundef %12195) #11
  %12197 = call ptr @__errno_location() #12
  %12198 = load i32, ptr %12197, align 4, !tbaa !5
  %12199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12186, ptr noundef @.str.5, i32 noundef %12187, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 710, ptr noundef %12190, ptr noundef %12193, ptr noundef %12196, i32 noundef %12198) #11
  br label %12200

12200:                                            ; preds = %12183, %12166
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %12201

12201:                                            ; preds = %12200
  br label %12202

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

12203:                                            ; No predecessors!
  br label %12204

12204:                                            ; preds = %12203
  br label %12205

12205:                                            ; preds = %12204, %12146
  br label %12206

12206:                                            ; preds = %12205
  br label %12207

12207:                                            ; preds = %12206
  br label %12208

12208:                                            ; preds = %12207
  %12209 = load i32, ptr @test_count, align 4, !tbaa !5
  %12210 = add nsw i32 %12209, 1
  store i32 %12210, ptr @test_count, align 4, !tbaa !5
  %12211 = load ptr, ptr %279, align 8, !tbaa !9
  %12212 = call i32 @s2n_config_free(ptr noundef %12211)
  %12213 = icmp eq i32 %12212, -1
  br i1 %12213, label %12214, label %12267

12214:                                            ; preds = %12208
  br label %12215

12215:                                            ; preds = %12214
  br label %12216

12216:                                            ; preds = %12215
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %12217 = call ptr @__errno_location() #12
  %12218 = load i32, ptr %12217, align 4, !tbaa !5
  store i32 %12218, ptr %299, align 4, !tbaa !5
  %12219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12220 = call i32 @s2n_print_stacktrace(ptr noundef %12219)
  %12221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12222 = trunc i8 %12221 to i1
  br i1 %12222, label %12223, label %12245

12223:                                            ; preds = %12216
  %12224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12225 = call i32 @fileno(ptr noundef %12224) #11
  %12226 = call i32 @isatty(i32 noundef %12225) #11
  %12227 = icmp ne i32 %12226, 0
  br i1 %12227, label %12228, label %12245

12228:                                            ; preds = %12223
  %12229 = load i32, ptr %299, align 4, !tbaa !5
  %12230 = call ptr @__errno_location() #12
  store i32 %12229, ptr %12230, align 4, !tbaa !5
  %12231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12232 = load i32, ptr @test_count, align 4, !tbaa !5
  %12233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12234 = load i32, ptr %12233, align 4, !tbaa !5
  %12235 = call ptr @s2n_strerror(i32 noundef %12234, ptr noundef @.str.4)
  %12236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12237 = load i32, ptr %12236, align 4, !tbaa !5
  %12238 = call ptr @s2n_strerror_debug(i32 noundef %12237, ptr noundef @.str.4)
  %12239 = call ptr @__errno_location() #12
  %12240 = load i32, ptr %12239, align 4, !tbaa !5
  %12241 = call ptr @strerror(i32 noundef %12240) #11
  %12242 = call ptr @__errno_location() #12
  %12243 = load i32, ptr %12242, align 4, !tbaa !5
  %12244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12231, ptr noundef @.str.2, i32 noundef %12232, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 711, ptr noundef %12235, ptr noundef %12238, ptr noundef %12241, i32 noundef %12243) #11
  br label %12262

12245:                                            ; preds = %12223, %12216
  %12246 = load i32, ptr %299, align 4, !tbaa !5
  %12247 = call ptr @__errno_location() #12
  store i32 %12246, ptr %12247, align 4, !tbaa !5
  %12248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12249 = load i32, ptr @test_count, align 4, !tbaa !5
  %12250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12251 = load i32, ptr %12250, align 4, !tbaa !5
  %12252 = call ptr @s2n_strerror(i32 noundef %12251, ptr noundef @.str.4)
  %12253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12254 = load i32, ptr %12253, align 4, !tbaa !5
  %12255 = call ptr @s2n_strerror_debug(i32 noundef %12254, ptr noundef @.str.4)
  %12256 = call ptr @__errno_location() #12
  %12257 = load i32, ptr %12256, align 4, !tbaa !5
  %12258 = call ptr @strerror(i32 noundef %12257) #11
  %12259 = call ptr @__errno_location() #12
  %12260 = load i32, ptr %12259, align 4, !tbaa !5
  %12261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12248, ptr noundef @.str.5, i32 noundef %12249, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 711, ptr noundef %12252, ptr noundef %12255, ptr noundef %12258, i32 noundef %12260) #11
  br label %12262

12262:                                            ; preds = %12245, %12228
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %12263

12263:                                            ; preds = %12262
  br label %12264

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

12265:                                            ; No predecessors!
  br label %12266

12266:                                            ; preds = %12265
  br label %12267

12267:                                            ; preds = %12266, %12208
  br label %12268

12268:                                            ; preds = %12267
  br label %12269

12269:                                            ; preds = %12268
  call void @llvm.lifetime.end.p0(i64 56, ptr %288) #11
  %12270 = call i32 @s2n_stuffer_free(ptr noundef %284)
  call void @llvm.lifetime.end.p0(i64 40, ptr %284) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %279) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %277) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %300) #11
  %12271 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12271, ptr %300, align 8, !tbaa !9
  br label %12272

12272:                                            ; preds = %12269
  %12273 = load i32, ptr @test_count, align 4, !tbaa !5
  %12274 = add nsw i32 %12273, 1
  store i32 %12274, ptr @test_count, align 4, !tbaa !5
  %12275 = load ptr, ptr %300, align 8, !tbaa !9
  %12276 = icmp eq ptr %12275, null
  br i1 %12276, label %12277, label %12330

12277:                                            ; preds = %12272
  br label %12278

12278:                                            ; preds = %12277
  br label %12279

12279:                                            ; preds = %12278
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %12280 = call ptr @__errno_location() #12
  %12281 = load i32, ptr %12280, align 4, !tbaa !5
  store i32 %12281, ptr %301, align 4, !tbaa !5
  %12282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12283 = call i32 @s2n_print_stacktrace(ptr noundef %12282)
  %12284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12285 = trunc i8 %12284 to i1
  br i1 %12285, label %12286, label %12308

12286:                                            ; preds = %12279
  %12287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12288 = call i32 @fileno(ptr noundef %12287) #11
  %12289 = call i32 @isatty(i32 noundef %12288) #11
  %12290 = icmp ne i32 %12289, 0
  br i1 %12290, label %12291, label %12308

12291:                                            ; preds = %12286
  %12292 = load i32, ptr %301, align 4, !tbaa !5
  %12293 = call ptr @__errno_location() #12
  store i32 %12292, ptr %12293, align 4, !tbaa !5
  %12294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12295 = load i32, ptr @test_count, align 4, !tbaa !5
  %12296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12297 = load i32, ptr %12296, align 4, !tbaa !5
  %12298 = call ptr @s2n_strerror(i32 noundef %12297, ptr noundef @.str.4)
  %12299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12300 = load i32, ptr %12299, align 4, !tbaa !5
  %12301 = call ptr @s2n_strerror_debug(i32 noundef %12300, ptr noundef @.str.4)
  %12302 = call ptr @__errno_location() #12
  %12303 = load i32, ptr %12302, align 4, !tbaa !5
  %12304 = call ptr @strerror(i32 noundef %12303) #11
  %12305 = call ptr @__errno_location() #12
  %12306 = load i32, ptr %12305, align 4, !tbaa !5
  %12307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12294, ptr noundef @.str.2, i32 noundef %12295, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 717, ptr noundef %12298, ptr noundef %12301, ptr noundef %12304, i32 noundef %12306) #11
  br label %12325

12308:                                            ; preds = %12286, %12279
  %12309 = load i32, ptr %301, align 4, !tbaa !5
  %12310 = call ptr @__errno_location() #12
  store i32 %12309, ptr %12310, align 4, !tbaa !5
  %12311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12312 = load i32, ptr @test_count, align 4, !tbaa !5
  %12313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12314 = load i32, ptr %12313, align 4, !tbaa !5
  %12315 = call ptr @s2n_strerror(i32 noundef %12314, ptr noundef @.str.4)
  %12316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12317 = load i32, ptr %12316, align 4, !tbaa !5
  %12318 = call ptr @s2n_strerror_debug(i32 noundef %12317, ptr noundef @.str.4)
  %12319 = call ptr @__errno_location() #12
  %12320 = load i32, ptr %12319, align 4, !tbaa !5
  %12321 = call ptr @strerror(i32 noundef %12320) #11
  %12322 = call ptr @__errno_location() #12
  %12323 = load i32, ptr %12322, align 4, !tbaa !5
  %12324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12311, ptr noundef @.str.5, i32 noundef %12312, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 717, ptr noundef %12315, ptr noundef %12318, ptr noundef %12321, i32 noundef %12323) #11
  br label %12325

12325:                                            ; preds = %12308, %12291
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %12326

12326:                                            ; preds = %12325
  br label %12327

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

12328:                                            ; No predecessors!
  br label %12329

12329:                                            ; preds = %12328
  br label %12330

12330:                                            ; preds = %12329, %12272
  br label %12331

12331:                                            ; preds = %12330
  br label %12332

12332:                                            ; preds = %12331
  call void @llvm.lifetime.start.p0(i64 8, ptr %302) #11
  %12333 = call ptr @s2n_config_new()
  store ptr %12333, ptr %302, align 8, !tbaa !9
  br label %12334

12334:                                            ; preds = %12332
  %12335 = load i32, ptr @test_count, align 4, !tbaa !5
  %12336 = add nsw i32 %12335, 1
  store i32 %12336, ptr @test_count, align 4, !tbaa !5
  %12337 = load ptr, ptr %302, align 8, !tbaa !9
  %12338 = icmp eq ptr %12337, null
  br i1 %12338, label %12339, label %12392

12339:                                            ; preds = %12334
  br label %12340

12340:                                            ; preds = %12339
  br label %12341

12341:                                            ; preds = %12340
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %12342 = call ptr @__errno_location() #12
  %12343 = load i32, ptr %12342, align 4, !tbaa !5
  store i32 %12343, ptr %303, align 4, !tbaa !5
  %12344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12345 = call i32 @s2n_print_stacktrace(ptr noundef %12344)
  %12346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12347 = trunc i8 %12346 to i1
  br i1 %12347, label %12348, label %12370

12348:                                            ; preds = %12341
  %12349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12350 = call i32 @fileno(ptr noundef %12349) #11
  %12351 = call i32 @isatty(i32 noundef %12350) #11
  %12352 = icmp ne i32 %12351, 0
  br i1 %12352, label %12353, label %12370

12353:                                            ; preds = %12348
  %12354 = load i32, ptr %303, align 4, !tbaa !5
  %12355 = call ptr @__errno_location() #12
  store i32 %12354, ptr %12355, align 4, !tbaa !5
  %12356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12357 = load i32, ptr @test_count, align 4, !tbaa !5
  %12358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12359 = load i32, ptr %12358, align 4, !tbaa !5
  %12360 = call ptr @s2n_strerror(i32 noundef %12359, ptr noundef @.str.4)
  %12361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12362 = load i32, ptr %12361, align 4, !tbaa !5
  %12363 = call ptr @s2n_strerror_debug(i32 noundef %12362, ptr noundef @.str.4)
  %12364 = call ptr @__errno_location() #12
  %12365 = load i32, ptr %12364, align 4, !tbaa !5
  %12366 = call ptr @strerror(i32 noundef %12365) #11
  %12367 = call ptr @__errno_location() #12
  %12368 = load i32, ptr %12367, align 4, !tbaa !5
  %12369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12356, ptr noundef @.str.2, i32 noundef %12357, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 720, ptr noundef %12360, ptr noundef %12363, ptr noundef %12366, i32 noundef %12368) #11
  br label %12387

12370:                                            ; preds = %12348, %12341
  %12371 = load i32, ptr %303, align 4, !tbaa !5
  %12372 = call ptr @__errno_location() #12
  store i32 %12371, ptr %12372, align 4, !tbaa !5
  %12373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12374 = load i32, ptr @test_count, align 4, !tbaa !5
  %12375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12376 = load i32, ptr %12375, align 4, !tbaa !5
  %12377 = call ptr @s2n_strerror(i32 noundef %12376, ptr noundef @.str.4)
  %12378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12379 = load i32, ptr %12378, align 4, !tbaa !5
  %12380 = call ptr @s2n_strerror_debug(i32 noundef %12379, ptr noundef @.str.4)
  %12381 = call ptr @__errno_location() #12
  %12382 = load i32, ptr %12381, align 4, !tbaa !5
  %12383 = call ptr @strerror(i32 noundef %12382) #11
  %12384 = call ptr @__errno_location() #12
  %12385 = load i32, ptr %12384, align 4, !tbaa !5
  %12386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12373, ptr noundef @.str.5, i32 noundef %12374, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 720, ptr noundef %12377, ptr noundef %12380, ptr noundef %12383, i32 noundef %12385) #11
  br label %12387

12387:                                            ; preds = %12370, %12353
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %12388

12388:                                            ; preds = %12387
  br label %12389

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

12390:                                            ; No predecessors!
  br label %12391

12391:                                            ; preds = %12390
  br label %12392

12392:                                            ; preds = %12391, %12334
  br label %12393

12393:                                            ; preds = %12392
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

12395:                                            ; preds = %12394
  %12396 = load i32, ptr @test_count, align 4, !tbaa !5
  %12397 = add nsw i32 %12396, 1
  store i32 %12397, ptr @test_count, align 4, !tbaa !5
  %12398 = load ptr, ptr %302, align 8, !tbaa !9
  %12399 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %12398)
  %12400 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  store i32 %12399, ptr %12400, align 4
  %12401 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  %12402 = load i32, ptr %12401, align 4
  %12403 = call zeroext i1 @s2n_result_is_ok(i32 %12402)
  br i1 %12403, label %12457, label %12404

12404:                                            ; preds = %12395
  br label %12405

12405:                                            ; preds = %12404
  br label %12406

12406:                                            ; preds = %12405
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %12407 = call ptr @__errno_location() #12
  %12408 = load i32, ptr %12407, align 4, !tbaa !5
  store i32 %12408, ptr %305, align 4, !tbaa !5
  %12409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12410 = call i32 @s2n_print_stacktrace(ptr noundef %12409)
  %12411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12412 = trunc i8 %12411 to i1
  br i1 %12412, label %12413, label %12435

12413:                                            ; preds = %12406
  %12414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12415 = call i32 @fileno(ptr noundef %12414) #11
  %12416 = call i32 @isatty(i32 noundef %12415) #11
  %12417 = icmp ne i32 %12416, 0
  br i1 %12417, label %12418, label %12435

12418:                                            ; preds = %12413
  %12419 = load i32, ptr %305, align 4, !tbaa !5
  %12420 = call ptr @__errno_location() #12
  store i32 %12419, ptr %12420, align 4, !tbaa !5
  %12421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12422 = load i32, ptr @test_count, align 4, !tbaa !5
  %12423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12424 = load i32, ptr %12423, align 4, !tbaa !5
  %12425 = call ptr @s2n_strerror(i32 noundef %12424, ptr noundef @.str.4)
  %12426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12427 = load i32, ptr %12426, align 4, !tbaa !5
  %12428 = call ptr @s2n_strerror_debug(i32 noundef %12427, ptr noundef @.str.4)
  %12429 = call ptr @__errno_location() #12
  %12430 = load i32, ptr %12429, align 4, !tbaa !5
  %12431 = call ptr @strerror(i32 noundef %12430) #11
  %12432 = call ptr @__errno_location() #12
  %12433 = load i32, ptr %12432, align 4, !tbaa !5
  %12434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12421, ptr noundef @.str.2, i32 noundef %12422, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 721, ptr noundef %12425, ptr noundef %12428, ptr noundef %12431, i32 noundef %12433) #11
  br label %12452

12435:                                            ; preds = %12413, %12406
  %12436 = load i32, ptr %305, align 4, !tbaa !5
  %12437 = call ptr @__errno_location() #12
  store i32 %12436, ptr %12437, align 4, !tbaa !5
  %12438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12439 = load i32, ptr @test_count, align 4, !tbaa !5
  %12440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12441 = load i32, ptr %12440, align 4, !tbaa !5
  %12442 = call ptr @s2n_strerror(i32 noundef %12441, ptr noundef @.str.4)
  %12443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12444 = load i32, ptr %12443, align 4, !tbaa !5
  %12445 = call ptr @s2n_strerror_debug(i32 noundef %12444, ptr noundef @.str.4)
  %12446 = call ptr @__errno_location() #12
  %12447 = load i32, ptr %12446, align 4, !tbaa !5
  %12448 = call ptr @strerror(i32 noundef %12447) #11
  %12449 = call ptr @__errno_location() #12
  %12450 = load i32, ptr %12449, align 4, !tbaa !5
  %12451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12438, ptr noundef @.str.5, i32 noundef %12439, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 721, ptr noundef %12442, ptr noundef %12445, ptr noundef %12448, i32 noundef %12450) #11
  br label %12452

12452:                                            ; preds = %12435, %12418
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %12453

12453:                                            ; preds = %12452
  br label %12454

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

12455:                                            ; No predecessors!
  br label %12456

12456:                                            ; preds = %12455
  br label %12457

12457:                                            ; preds = %12456, %12395
  br label %12458

12458:                                            ; preds = %12457
  br label %12459

12459:                                            ; preds = %12458
  br label %12460

12460:                                            ; preds = %12459
  %12461 = load i32, ptr @test_count, align 4, !tbaa !5
  %12462 = add nsw i32 %12461, 1
  store i32 %12462, ptr @test_count, align 4, !tbaa !5
  %12463 = load ptr, ptr %300, align 8, !tbaa !9
  %12464 = load ptr, ptr %302, align 8, !tbaa !9
  %12465 = call i32 @s2n_connection_set_config(ptr noundef %12463, ptr noundef %12464)
  %12466 = icmp eq i32 %12465, -1
  br i1 %12466, label %12467, label %12520

12467:                                            ; preds = %12460
  br label %12468

12468:                                            ; preds = %12467
  br label %12469

12469:                                            ; preds = %12468
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %12470 = call ptr @__errno_location() #12
  %12471 = load i32, ptr %12470, align 4, !tbaa !5
  store i32 %12471, ptr %306, align 4, !tbaa !5
  %12472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12473 = call i32 @s2n_print_stacktrace(ptr noundef %12472)
  %12474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12475 = trunc i8 %12474 to i1
  br i1 %12475, label %12476, label %12498

12476:                                            ; preds = %12469
  %12477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12478 = call i32 @fileno(ptr noundef %12477) #11
  %12479 = call i32 @isatty(i32 noundef %12478) #11
  %12480 = icmp ne i32 %12479, 0
  br i1 %12480, label %12481, label %12498

12481:                                            ; preds = %12476
  %12482 = load i32, ptr %306, align 4, !tbaa !5
  %12483 = call ptr @__errno_location() #12
  store i32 %12482, ptr %12483, align 4, !tbaa !5
  %12484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12485 = load i32, ptr @test_count, align 4, !tbaa !5
  %12486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12487 = load i32, ptr %12486, align 4, !tbaa !5
  %12488 = call ptr @s2n_strerror(i32 noundef %12487, ptr noundef @.str.4)
  %12489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12490 = load i32, ptr %12489, align 4, !tbaa !5
  %12491 = call ptr @s2n_strerror_debug(i32 noundef %12490, ptr noundef @.str.4)
  %12492 = call ptr @__errno_location() #12
  %12493 = load i32, ptr %12492, align 4, !tbaa !5
  %12494 = call ptr @strerror(i32 noundef %12493) #11
  %12495 = call ptr @__errno_location() #12
  %12496 = load i32, ptr %12495, align 4, !tbaa !5
  %12497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12484, ptr noundef @.str.2, i32 noundef %12485, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 722, ptr noundef %12488, ptr noundef %12491, ptr noundef %12494, i32 noundef %12496) #11
  br label %12515

12498:                                            ; preds = %12476, %12469
  %12499 = load i32, ptr %306, align 4, !tbaa !5
  %12500 = call ptr @__errno_location() #12
  store i32 %12499, ptr %12500, align 4, !tbaa !5
  %12501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12502 = load i32, ptr @test_count, align 4, !tbaa !5
  %12503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12504 = load i32, ptr %12503, align 4, !tbaa !5
  %12505 = call ptr @s2n_strerror(i32 noundef %12504, ptr noundef @.str.4)
  %12506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12507 = load i32, ptr %12506, align 4, !tbaa !5
  %12508 = call ptr @s2n_strerror_debug(i32 noundef %12507, ptr noundef @.str.4)
  %12509 = call ptr @__errno_location() #12
  %12510 = load i32, ptr %12509, align 4, !tbaa !5
  %12511 = call ptr @strerror(i32 noundef %12510) #11
  %12512 = call ptr @__errno_location() #12
  %12513 = load i32, ptr %12512, align 4, !tbaa !5
  %12514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12501, ptr noundef @.str.5, i32 noundef %12502, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 722, ptr noundef %12505, ptr noundef %12508, ptr noundef %12511, i32 noundef %12513) #11
  br label %12515

12515:                                            ; preds = %12498, %12481
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  br label %12516

12516:                                            ; preds = %12515
  br label %12517

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

12518:                                            ; No predecessors!
  br label %12519

12519:                                            ; preds = %12518
  br label %12520

12520:                                            ; preds = %12519, %12460
  br label %12521

12521:                                            ; preds = %12520
  br label %12522

12522:                                            ; preds = %12521
  %12523 = load ptr, ptr %300, align 8, !tbaa !9
  %12524 = getelementptr inbounds %struct.s2n_connection, ptr %12523, i32 0, i32 23
  store i8 34, ptr %12524, align 4, !tbaa !45
  %12525 = load ptr, ptr %300, align 8, !tbaa !9
  %12526 = getelementptr inbounds %struct.s2n_connection, ptr %12525, i32 0, i32 27
  %12527 = load ptr, ptr %12526, align 8, !tbaa !46
  %12528 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %12527, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %12528, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr %307) #11
  call void @llvm.memset.p0.i64(ptr align 8 %307, i8 0, i64 40, i1 false)
  br label %12529

12529:                                            ; preds = %12522
  %12530 = load i32, ptr @test_count, align 4, !tbaa !5
  %12531 = add nsw i32 %12530, 1
  store i32 %12531, ptr @test_count, align 4, !tbaa !5
  %12532 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %307, i32 noundef 0)
  %12533 = icmp eq i32 %12532, -1
  br i1 %12533, label %12534, label %12587

12534:                                            ; preds = %12529
  br label %12535

12535:                                            ; preds = %12534
  br label %12536

12536:                                            ; preds = %12535
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %12537 = call ptr @__errno_location() #12
  %12538 = load i32, ptr %12537, align 4, !tbaa !5
  store i32 %12538, ptr %308, align 4, !tbaa !5
  %12539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12540 = call i32 @s2n_print_stacktrace(ptr noundef %12539)
  %12541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12542 = trunc i8 %12541 to i1
  br i1 %12542, label %12543, label %12565

12543:                                            ; preds = %12536
  %12544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12545 = call i32 @fileno(ptr noundef %12544) #11
  %12546 = call i32 @isatty(i32 noundef %12545) #11
  %12547 = icmp ne i32 %12546, 0
  br i1 %12547, label %12548, label %12565

12548:                                            ; preds = %12543
  %12549 = load i32, ptr %308, align 4, !tbaa !5
  %12550 = call ptr @__errno_location() #12
  store i32 %12549, ptr %12550, align 4, !tbaa !5
  %12551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12552 = load i32, ptr @test_count, align 4, !tbaa !5
  %12553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12554 = load i32, ptr %12553, align 4, !tbaa !5
  %12555 = call ptr @s2n_strerror(i32 noundef %12554, ptr noundef @.str.4)
  %12556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12557 = load i32, ptr %12556, align 4, !tbaa !5
  %12558 = call ptr @s2n_strerror_debug(i32 noundef %12557, ptr noundef @.str.4)
  %12559 = call ptr @__errno_location() #12
  %12560 = load i32, ptr %12559, align 4, !tbaa !5
  %12561 = call ptr @strerror(i32 noundef %12560) #11
  %12562 = call ptr @__errno_location() #12
  %12563 = load i32, ptr %12562, align 4, !tbaa !5
  %12564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12551, ptr noundef @.str.2, i32 noundef %12552, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 728, ptr noundef %12555, ptr noundef %12558, ptr noundef %12561, i32 noundef %12563) #11
  br label %12582

12565:                                            ; preds = %12543, %12536
  %12566 = load i32, ptr %308, align 4, !tbaa !5
  %12567 = call ptr @__errno_location() #12
  store i32 %12566, ptr %12567, align 4, !tbaa !5
  %12568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12569 = load i32, ptr @test_count, align 4, !tbaa !5
  %12570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12571 = load i32, ptr %12570, align 4, !tbaa !5
  %12572 = call ptr @s2n_strerror(i32 noundef %12571, ptr noundef @.str.4)
  %12573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12574 = load i32, ptr %12573, align 4, !tbaa !5
  %12575 = call ptr @s2n_strerror_debug(i32 noundef %12574, ptr noundef @.str.4)
  %12576 = call ptr @__errno_location() #12
  %12577 = load i32, ptr %12576, align 4, !tbaa !5
  %12578 = call ptr @strerror(i32 noundef %12577) #11
  %12579 = call ptr @__errno_location() #12
  %12580 = load i32, ptr %12579, align 4, !tbaa !5
  %12581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12568, ptr noundef @.str.5, i32 noundef %12569, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 728, ptr noundef %12572, ptr noundef %12575, ptr noundef %12578, i32 noundef %12580) #11
  br label %12582

12582:                                            ; preds = %12565, %12548
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %12583

12583:                                            ; preds = %12582
  br label %12584

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

12585:                                            ; No predecessors!
  br label %12586

12586:                                            ; preds = %12585
  br label %12587

12587:                                            ; preds = %12586, %12529
  br label %12588

12588:                                            ; preds = %12587
  br label %12589

12589:                                            ; preds = %12588
  br label %12590

12590:                                            ; preds = %12589
  %12591 = load i32, ptr @test_count, align 4, !tbaa !5
  %12592 = add nsw i32 %12591, 1
  store i32 %12592, ptr @test_count, align 4, !tbaa !5
  %12593 = load ptr, ptr %300, align 8, !tbaa !9
  %12594 = call i32 @s2n_setup_encrypted_ticket(ptr noundef %12593, ptr noundef %307)
  %12595 = getelementptr inbounds %struct.s2n_result, ptr %309, i32 0, i32 0
  store i32 %12594, ptr %12595, align 4
  %12596 = getelementptr inbounds %struct.s2n_result, ptr %309, i32 0, i32 0
  %12597 = load i32, ptr %12596, align 4
  %12598 = call zeroext i1 @s2n_result_is_ok(i32 %12597)
  br i1 %12598, label %12652, label %12599

12599:                                            ; preds = %12590
  br label %12600

12600:                                            ; preds = %12599
  br label %12601

12601:                                            ; preds = %12600
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %12602 = call ptr @__errno_location() #12
  %12603 = load i32, ptr %12602, align 4, !tbaa !5
  store i32 %12603, ptr %310, align 4, !tbaa !5
  %12604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12605 = call i32 @s2n_print_stacktrace(ptr noundef %12604)
  %12606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12607 = trunc i8 %12606 to i1
  br i1 %12607, label %12608, label %12630

12608:                                            ; preds = %12601
  %12609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12610 = call i32 @fileno(ptr noundef %12609) #11
  %12611 = call i32 @isatty(i32 noundef %12610) #11
  %12612 = icmp ne i32 %12611, 0
  br i1 %12612, label %12613, label %12630

12613:                                            ; preds = %12608
  %12614 = load i32, ptr %310, align 4, !tbaa !5
  %12615 = call ptr @__errno_location() #12
  store i32 %12614, ptr %12615, align 4, !tbaa !5
  %12616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12617 = load i32, ptr @test_count, align 4, !tbaa !5
  %12618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12619 = load i32, ptr %12618, align 4, !tbaa !5
  %12620 = call ptr @s2n_strerror(i32 noundef %12619, ptr noundef @.str.4)
  %12621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12622 = load i32, ptr %12621, align 4, !tbaa !5
  %12623 = call ptr @s2n_strerror_debug(i32 noundef %12622, ptr noundef @.str.4)
  %12624 = call ptr @__errno_location() #12
  %12625 = load i32, ptr %12624, align 4, !tbaa !5
  %12626 = call ptr @strerror(i32 noundef %12625) #11
  %12627 = call ptr @__errno_location() #12
  %12628 = load i32, ptr %12627, align 4, !tbaa !5
  %12629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12616, ptr noundef @.str.2, i32 noundef %12617, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 729, ptr noundef %12620, ptr noundef %12623, ptr noundef %12626, i32 noundef %12628) #11
  br label %12647

12630:                                            ; preds = %12608, %12601
  %12631 = load i32, ptr %310, align 4, !tbaa !5
  %12632 = call ptr @__errno_location() #12
  store i32 %12631, ptr %12632, align 4, !tbaa !5
  %12633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12634 = load i32, ptr @test_count, align 4, !tbaa !5
  %12635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12636 = load i32, ptr %12635, align 4, !tbaa !5
  %12637 = call ptr @s2n_strerror(i32 noundef %12636, ptr noundef @.str.4)
  %12638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12639 = load i32, ptr %12638, align 4, !tbaa !5
  %12640 = call ptr @s2n_strerror_debug(i32 noundef %12639, ptr noundef @.str.4)
  %12641 = call ptr @__errno_location() #12
  %12642 = load i32, ptr %12641, align 4, !tbaa !5
  %12643 = call ptr @strerror(i32 noundef %12642) #11
  %12644 = call ptr @__errno_location() #12
  %12645 = load i32, ptr %12644, align 4, !tbaa !5
  %12646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12633, ptr noundef @.str.5, i32 noundef %12634, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 729, ptr noundef %12637, ptr noundef %12640, ptr noundef %12643, i32 noundef %12645) #11
  br label %12647

12647:                                            ; preds = %12630, %12613
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %12648

12648:                                            ; preds = %12647
  br label %12649

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

12650:                                            ; No predecessors!
  br label %12651

12651:                                            ; preds = %12650
  br label %12652

12652:                                            ; preds = %12651, %12590
  br label %12653

12653:                                            ; preds = %12652
  br label %12654

12654:                                            ; preds = %12653
  call void @llvm.lifetime.start.p0(i64 56, ptr %311) #11
  call void @llvm.memset.p0.i64(ptr align 8 %311, i8 0, i64 56, i1 false)
  %12655 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %311, i32 0, i32 0
  %12656 = load ptr, ptr %300, align 8, !tbaa !9
  store ptr %12656, ptr %12655, align 8, !tbaa !93
  %12657 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %311, i32 0, i32 1
  %12658 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %311, i32 0, i32 2
  br label %12659

12659:                                            ; preds = %12654
  %12660 = load i32, ptr @test_count, align 4, !tbaa !5
  %12661 = add nsw i32 %12660, 1
  store i32 %12661, ptr @test_count, align 4, !tbaa !5
  %12662 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %311, i32 0, i32 1
  %12663 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %12662, i32 noundef 0)
  %12664 = icmp eq i32 %12663, -1
  br i1 %12664, label %12665, label %12718

12665:                                            ; preds = %12659
  br label %12666

12666:                                            ; preds = %12665
  br label %12667

12667:                                            ; preds = %12666
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %12668 = call ptr @__errno_location() #12
  %12669 = load i32, ptr %12668, align 4, !tbaa !5
  store i32 %12669, ptr %312, align 4, !tbaa !5
  %12670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12671 = call i32 @s2n_print_stacktrace(ptr noundef %12670)
  %12672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12673 = trunc i8 %12672 to i1
  br i1 %12673, label %12674, label %12696

12674:                                            ; preds = %12667
  %12675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12676 = call i32 @fileno(ptr noundef %12675) #11
  %12677 = call i32 @isatty(i32 noundef %12676) #11
  %12678 = icmp ne i32 %12677, 0
  br i1 %12678, label %12679, label %12696

12679:                                            ; preds = %12674
  %12680 = load i32, ptr %312, align 4, !tbaa !5
  %12681 = call ptr @__errno_location() #12
  store i32 %12680, ptr %12681, align 4, !tbaa !5
  %12682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12683 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12685, ptr noundef @.str.4)
  %12687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call ptr @s2n_strerror_debug(i32 noundef %12688, ptr noundef @.str.4)
  %12690 = call ptr @__errno_location() #12
  %12691 = load i32, ptr %12690, align 4, !tbaa !5
  %12692 = call ptr @strerror(i32 noundef %12691) #11
  %12693 = call ptr @__errno_location() #12
  %12694 = load i32, ptr %12693, align 4, !tbaa !5
  %12695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12682, ptr noundef @.str.2, i32 noundef %12683, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 732, ptr noundef %12686, ptr noundef %12689, ptr noundef %12692, i32 noundef %12694) #11
  br label %12713

12696:                                            ; preds = %12674, %12667
  %12697 = load i32, ptr %312, align 4, !tbaa !5
  %12698 = call ptr @__errno_location() #12
  store i32 %12697, ptr %12698, align 4, !tbaa !5
  %12699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12700 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12702, ptr noundef @.str.4)
  %12704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12705 = load i32, ptr %12704, align 4, !tbaa !5
  %12706 = call ptr @s2n_strerror_debug(i32 noundef %12705, ptr noundef @.str.4)
  %12707 = call ptr @__errno_location() #12
  %12708 = load i32, ptr %12707, align 4, !tbaa !5
  %12709 = call ptr @strerror(i32 noundef %12708) #11
  %12710 = call ptr @__errno_location() #12
  %12711 = load i32, ptr %12710, align 4, !tbaa !5
  %12712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12699, ptr noundef @.str.5, i32 noundef %12700, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 732, ptr noundef %12703, ptr noundef %12706, ptr noundef %12709, i32 noundef %12711) #11
  br label %12713

12713:                                            ; preds = %12696, %12679
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %12714

12714:                                            ; preds = %12713
  br label %12715

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

12716:                                            ; No predecessors!
  br label %12717

12717:                                            ; preds = %12716
  br label %12718

12718:                                            ; preds = %12717, %12659
  br label %12719

12719:                                            ; preds = %12718
  br label %12720

12720:                                            ; preds = %12719
  call void @llvm.lifetime.start.p0(i64 6, ptr %313) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %313, ptr align 1 @__const.main.bad_identity_data, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %314) #11
  call void @llvm.memset.p0.i64(ptr align 8 %314, i8 0, i64 24, i1 false)
  br label %12721

12721:                                            ; preds = %12720
  %12722 = load i32, ptr @test_count, align 4, !tbaa !5
  %12723 = add nsw i32 %12722, 1
  store i32 %12723, ptr @test_count, align 4, !tbaa !5
  %12724 = getelementptr inbounds [6 x i8], ptr %313, i64 0, i64 0
  %12725 = call i32 @s2n_blob_init(ptr noundef %314, ptr noundef %12724, i32 noundef 6)
  %12726 = icmp eq i32 %12725, -1
  br i1 %12726, label %12727, label %12780

12727:                                            ; preds = %12721
  br label %12728

12728:                                            ; preds = %12727
  br label %12729

12729:                                            ; preds = %12728
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %12730 = call ptr @__errno_location() #12
  %12731 = load i32, ptr %12730, align 4, !tbaa !5
  store i32 %12731, ptr %315, align 4, !tbaa !5
  %12732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12733 = call i32 @s2n_print_stacktrace(ptr noundef %12732)
  %12734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12735 = trunc i8 %12734 to i1
  br i1 %12735, label %12736, label %12758

12736:                                            ; preds = %12729
  %12737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12738 = call i32 @fileno(ptr noundef %12737) #11
  %12739 = call i32 @isatty(i32 noundef %12738) #11
  %12740 = icmp ne i32 %12739, 0
  br i1 %12740, label %12741, label %12758

12741:                                            ; preds = %12736
  %12742 = load i32, ptr %315, align 4, !tbaa !5
  %12743 = call ptr @__errno_location() #12
  store i32 %12742, ptr %12743, align 4, !tbaa !5
  %12744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12745 = load i32, ptr @test_count, align 4, !tbaa !5
  %12746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12747 = load i32, ptr %12746, align 4, !tbaa !5
  %12748 = call ptr @s2n_strerror(i32 noundef %12747, ptr noundef @.str.4)
  %12749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12750 = load i32, ptr %12749, align 4, !tbaa !5
  %12751 = call ptr @s2n_strerror_debug(i32 noundef %12750, ptr noundef @.str.4)
  %12752 = call ptr @__errno_location() #12
  %12753 = load i32, ptr %12752, align 4, !tbaa !5
  %12754 = call ptr @strerror(i32 noundef %12753) #11
  %12755 = call ptr @__errno_location() #12
  %12756 = load i32, ptr %12755, align 4, !tbaa !5
  %12757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12744, ptr noundef @.str.2, i32 noundef %12745, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 737, ptr noundef %12748, ptr noundef %12751, ptr noundef %12754, i32 noundef %12756) #11
  br label %12775

12758:                                            ; preds = %12736, %12729
  %12759 = load i32, ptr %315, align 4, !tbaa !5
  %12760 = call ptr @__errno_location() #12
  store i32 %12759, ptr %12760, align 4, !tbaa !5
  %12761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12762 = load i32, ptr @test_count, align 4, !tbaa !5
  %12763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12764 = load i32, ptr %12763, align 4, !tbaa !5
  %12765 = call ptr @s2n_strerror(i32 noundef %12764, ptr noundef @.str.4)
  %12766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12767 = load i32, ptr %12766, align 4, !tbaa !5
  %12768 = call ptr @s2n_strerror_debug(i32 noundef %12767, ptr noundef @.str.4)
  %12769 = call ptr @__errno_location() #12
  %12770 = load i32, ptr %12769, align 4, !tbaa !5
  %12771 = call ptr @strerror(i32 noundef %12770) #11
  %12772 = call ptr @__errno_location() #12
  %12773 = load i32, ptr %12772, align 4, !tbaa !5
  %12774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12761, ptr noundef @.str.5, i32 noundef %12762, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 737, ptr noundef %12765, ptr noundef %12768, ptr noundef %12771, i32 noundef %12773) #11
  br label %12775

12775:                                            ; preds = %12758, %12741
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %12776

12776:                                            ; preds = %12775
  br label %12777

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

12778:                                            ; No predecessors!
  br label %12779

12779:                                            ; preds = %12778
  br label %12780

12780:                                            ; preds = %12779, %12721
  br label %12781

12781:                                            ; preds = %12780
  br label %12782

12782:                                            ; preds = %12781
  call void @llvm.lifetime.start.p0(i64 1, ptr %316) #11
  store i8 2, ptr %316, align 1, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 8, ptr %317) #11
  store i64 0, ptr %317, align 8, !tbaa !58
  br label %12783

12783:                                            ; preds = %12855, %12782
  %12784 = load i64, ptr %317, align 8, !tbaa !58
  %12785 = load i8, ptr %316, align 1, !tbaa !81
  %12786 = zext i8 %12785 to i64
  %12787 = icmp ult i64 %12784, %12786
  br i1 %12787, label %12789, label %12788

12788:                                            ; preds = %12783
  store i32 1147, ptr %239, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %317) #11
  br label %12858

12789:                                            ; preds = %12783
  br label %12790

12790:                                            ; preds = %12789
  %12791 = load i32, ptr @test_count, align 4, !tbaa !5
  %12792 = add nsw i32 %12791, 1
  store i32 %12792, ptr @test_count, align 4, !tbaa !5
  %12793 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %311, i32 0, i32 1
  %12794 = call i32 @s2n_write_test_identity(ptr noundef %12793, ptr noundef %314)
  %12795 = getelementptr inbounds %struct.s2n_result, ptr %318, i32 0, i32 0
  store i32 %12794, ptr %12795, align 4
  %12796 = getelementptr inbounds %struct.s2n_result, ptr %318, i32 0, i32 0
  %12797 = load i32, ptr %12796, align 4
  %12798 = call zeroext i1 @s2n_result_is_ok(i32 %12797)
  br i1 %12798, label %12852, label %12799

12799:                                            ; preds = %12790
  br label %12800

12800:                                            ; preds = %12799
  br label %12801

12801:                                            ; preds = %12800
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %12802 = call ptr @__errno_location() #12
  %12803 = load i32, ptr %12802, align 4, !tbaa !5
  store i32 %12803, ptr %319, align 4, !tbaa !5
  %12804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12805 = call i32 @s2n_print_stacktrace(ptr noundef %12804)
  %12806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12807 = trunc i8 %12806 to i1
  br i1 %12807, label %12808, label %12830

12808:                                            ; preds = %12801
  %12809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12810 = call i32 @fileno(ptr noundef %12809) #11
  %12811 = call i32 @isatty(i32 noundef %12810) #11
  %12812 = icmp ne i32 %12811, 0
  br i1 %12812, label %12813, label %12830

12813:                                            ; preds = %12808
  %12814 = load i32, ptr %319, align 4, !tbaa !5
  %12815 = call ptr @__errno_location() #12
  store i32 %12814, ptr %12815, align 4, !tbaa !5
  %12816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12817 = load i32, ptr @test_count, align 4, !tbaa !5
  %12818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12819 = load i32, ptr %12818, align 4, !tbaa !5
  %12820 = call ptr @s2n_strerror(i32 noundef %12819, ptr noundef @.str.4)
  %12821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12822 = load i32, ptr %12821, align 4, !tbaa !5
  %12823 = call ptr @s2n_strerror_debug(i32 noundef %12822, ptr noundef @.str.4)
  %12824 = call ptr @__errno_location() #12
  %12825 = load i32, ptr %12824, align 4, !tbaa !5
  %12826 = call ptr @strerror(i32 noundef %12825) #11
  %12827 = call ptr @__errno_location() #12
  %12828 = load i32, ptr %12827, align 4, !tbaa !5
  %12829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12816, ptr noundef @.str.2, i32 noundef %12817, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 741, ptr noundef %12820, ptr noundef %12823, ptr noundef %12826, i32 noundef %12828) #11
  br label %12847

12830:                                            ; preds = %12808, %12801
  %12831 = load i32, ptr %319, align 4, !tbaa !5
  %12832 = call ptr @__errno_location() #12
  store i32 %12831, ptr %12832, align 4, !tbaa !5
  %12833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12834 = load i32, ptr @test_count, align 4, !tbaa !5
  %12835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12836 = load i32, ptr %12835, align 4, !tbaa !5
  %12837 = call ptr @s2n_strerror(i32 noundef %12836, ptr noundef @.str.4)
  %12838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12839 = load i32, ptr %12838, align 4, !tbaa !5
  %12840 = call ptr @s2n_strerror_debug(i32 noundef %12839, ptr noundef @.str.4)
  %12841 = call ptr @__errno_location() #12
  %12842 = load i32, ptr %12841, align 4, !tbaa !5
  %12843 = call ptr @strerror(i32 noundef %12842) #11
  %12844 = call ptr @__errno_location() #12
  %12845 = load i32, ptr %12844, align 4, !tbaa !5
  %12846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12833, ptr noundef @.str.5, i32 noundef %12834, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 741, ptr noundef %12837, ptr noundef %12840, ptr noundef %12843, i32 noundef %12845) #11
  br label %12847

12847:                                            ; preds = %12830, %12813
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %12848

12848:                                            ; preds = %12847
  br label %12849

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

12850:                                            ; No predecessors!
  br label %12851

12851:                                            ; preds = %12850
  br label %12852

12852:                                            ; preds = %12851, %12790
  br label %12853

12853:                                            ; preds = %12852
  br label %12854

12854:                                            ; preds = %12853
  br label %12855

12855:                                            ; preds = %12854
  %12856 = load i64, ptr %317, align 8, !tbaa !58
  %12857 = add i64 %12856, 1
  store i64 %12857, ptr %317, align 8, !tbaa !58
  br label %12783, !llvm.loop !102

12858:                                            ; preds = %12788
  br label %12859

12859:                                            ; preds = %12858
  %12860 = load i32, ptr @test_count, align 4, !tbaa !5
  %12861 = add nsw i32 %12860, 1
  store i32 %12861, ptr @test_count, align 4, !tbaa !5
  %12862 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %311, i32 0, i32 1
  %12863 = getelementptr inbounds %struct.s2n_stuffer, ptr %307, i32 0, i32 0
  %12864 = call i32 @s2n_write_test_identity(ptr noundef %12862, ptr noundef %12863)
  %12865 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  store i32 %12864, ptr %12865, align 4
  %12866 = getelementptr inbounds %struct.s2n_result, ptr %320, i32 0, i32 0
  %12867 = load i32, ptr %12866, align 4
  %12868 = call zeroext i1 @s2n_result_is_ok(i32 %12867)
  br i1 %12868, label %12922, label %12869

12869:                                            ; preds = %12859
  br label %12870

12870:                                            ; preds = %12869
  br label %12871

12871:                                            ; preds = %12870
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  %12872 = call ptr @__errno_location() #12
  %12873 = load i32, ptr %12872, align 4, !tbaa !5
  store i32 %12873, ptr %321, align 4, !tbaa !5
  %12874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12875 = call i32 @s2n_print_stacktrace(ptr noundef %12874)
  %12876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12877 = trunc i8 %12876 to i1
  br i1 %12877, label %12878, label %12900

12878:                                            ; preds = %12871
  %12879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12880 = call i32 @fileno(ptr noundef %12879) #11
  %12881 = call i32 @isatty(i32 noundef %12880) #11
  %12882 = icmp ne i32 %12881, 0
  br i1 %12882, label %12883, label %12900

12883:                                            ; preds = %12878
  %12884 = load i32, ptr %321, align 4, !tbaa !5
  %12885 = call ptr @__errno_location() #12
  store i32 %12884, ptr %12885, align 4, !tbaa !5
  %12886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12887 = load i32, ptr @test_count, align 4, !tbaa !5
  %12888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12889 = load i32, ptr %12888, align 4, !tbaa !5
  %12890 = call ptr @s2n_strerror(i32 noundef %12889, ptr noundef @.str.4)
  %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_debug(i32 noundef %12892, ptr noundef @.str.4)
  %12894 = call ptr @__errno_location() #12
  %12895 = load i32, ptr %12894, align 4, !tbaa !5
  %12896 = call ptr @strerror(i32 noundef %12895) #11
  %12897 = call ptr @__errno_location() #12
  %12898 = load i32, ptr %12897, align 4, !tbaa !5
  %12899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12886, ptr noundef @.str.2, i32 noundef %12887, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 745, ptr noundef %12890, ptr noundef %12893, ptr noundef %12896, i32 noundef %12898) #11
  br label %12917

12900:                                            ; preds = %12878, %12871
  %12901 = load i32, ptr %321, align 4, !tbaa !5
  %12902 = call ptr @__errno_location() #12
  store i32 %12901, ptr %12902, align 4, !tbaa !5
  %12903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12904 = load i32, ptr @test_count, align 4, !tbaa !5
  %12905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12906 = load i32, ptr %12905, align 4, !tbaa !5
  %12907 = call ptr @s2n_strerror(i32 noundef %12906, ptr noundef @.str.4)
  %12908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12909 = load i32, ptr %12908, align 4, !tbaa !5
  %12910 = call ptr @s2n_strerror_debug(i32 noundef %12909, ptr noundef @.str.4)
  %12911 = call ptr @__errno_location() #12
  %12912 = load i32, ptr %12911, align 4, !tbaa !5
  %12913 = call ptr @strerror(i32 noundef %12912) #11
  %12914 = call ptr @__errno_location() #12
  %12915 = load i32, ptr %12914, align 4, !tbaa !5
  %12916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12903, ptr noundef @.str.5, i32 noundef %12904, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 745, ptr noundef %12907, ptr noundef %12910, ptr noundef %12913, i32 noundef %12915) #11
  br label %12917

12917:                                            ; preds = %12900, %12883
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  br label %12918

12918:                                            ; preds = %12917
  br label %12919

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

12920:                                            ; No predecessors!
  br label %12921

12921:                                            ; preds = %12920
  br label %12922

12922:                                            ; preds = %12921, %12859
  br label %12923

12923:                                            ; preds = %12922
  br label %12924

12924:                                            ; preds = %12923
  br label %12925

12925:                                            ; preds = %12924
  %12926 = load i32, ptr @test_count, align 4, !tbaa !5
  %12927 = add nsw i32 %12926, 1
  store i32 %12927, ptr @test_count, align 4, !tbaa !5
  %12928 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %311, i32 0, i32 1
  %12929 = getelementptr inbounds %struct.s2n_stuffer, ptr %307, i32 0, i32 0
  %12930 = call i32 @s2n_write_test_identity(ptr noundef %12928, ptr noundef %12929)
  %12931 = getelementptr inbounds %struct.s2n_result, ptr %322, i32 0, i32 0
  store i32 %12930, ptr %12931, align 4
  %12932 = getelementptr inbounds %struct.s2n_result, ptr %322, i32 0, i32 0
  %12933 = load i32, ptr %12932, align 4
  %12934 = call zeroext i1 @s2n_result_is_ok(i32 %12933)
  br i1 %12934, label %12988, label %12935

12935:                                            ; preds = %12925
  br label %12936

12936:                                            ; preds = %12935
  br label %12937

12937:                                            ; preds = %12936
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %12938 = call ptr @__errno_location() #12
  %12939 = load i32, ptr %12938, align 4, !tbaa !5
  store i32 %12939, ptr %323, align 4, !tbaa !5
  %12940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12941 = call i32 @s2n_print_stacktrace(ptr noundef %12940)
  %12942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12943 = trunc i8 %12942 to i1
  br i1 %12943, label %12944, label %12966

12944:                                            ; preds = %12937
  %12945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12946 = call i32 @fileno(ptr noundef %12945) #11
  %12947 = call i32 @isatty(i32 noundef %12946) #11
  %12948 = icmp ne i32 %12947, 0
  br i1 %12948, label %12949, label %12966

12949:                                            ; preds = %12944
  %12950 = load i32, ptr %323, align 4, !tbaa !5
  %12951 = call ptr @__errno_location() #12
  store i32 %12950, ptr %12951, align 4, !tbaa !5
  %12952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12953 = load i32, ptr @test_count, align 4, !tbaa !5
  %12954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12955 = load i32, ptr %12954, align 4, !tbaa !5
  %12956 = call ptr @s2n_strerror(i32 noundef %12955, ptr noundef @.str.4)
  %12957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12958 = load i32, ptr %12957, align 4, !tbaa !5
  %12959 = call ptr @s2n_strerror_debug(i32 noundef %12958, ptr noundef @.str.4)
  %12960 = call ptr @__errno_location() #12
  %12961 = load i32, ptr %12960, align 4, !tbaa !5
  %12962 = call ptr @strerror(i32 noundef %12961) #11
  %12963 = call ptr @__errno_location() #12
  %12964 = load i32, ptr %12963, align 4, !tbaa !5
  %12965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12952, ptr noundef @.str.2, i32 noundef %12953, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 748, ptr noundef %12956, ptr noundef %12959, ptr noundef %12962, i32 noundef %12964) #11
  br label %12983

12966:                                            ; preds = %12944, %12937
  %12967 = load i32, ptr %323, align 4, !tbaa !5
  %12968 = call ptr @__errno_location() #12
  store i32 %12967, ptr %12968, align 4, !tbaa !5
  %12969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12970 = load i32, ptr @test_count, align 4, !tbaa !5
  %12971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12972 = load i32, ptr %12971, align 4, !tbaa !5
  %12973 = call ptr @s2n_strerror(i32 noundef %12972, ptr noundef @.str.4)
  %12974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12975 = load i32, ptr %12974, align 4, !tbaa !5
  %12976 = call ptr @s2n_strerror_debug(i32 noundef %12975, ptr noundef @.str.4)
  %12977 = call ptr @__errno_location() #12
  %12978 = load i32, ptr %12977, align 4, !tbaa !5
  %12979 = call ptr @strerror(i32 noundef %12978) #11
  %12980 = call ptr @__errno_location() #12
  %12981 = load i32, ptr %12980, align 4, !tbaa !5
  %12982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12969, ptr noundef @.str.5, i32 noundef %12970, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 748, ptr noundef %12973, ptr noundef %12976, ptr noundef %12979, i32 noundef %12981) #11
  br label %12983

12983:                                            ; preds = %12966, %12949
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %12984

12984:                                            ; preds = %12983
  br label %12985

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

12986:                                            ; No predecessors!
  br label %12987

12987:                                            ; preds = %12986
  br label %12988

12988:                                            ; preds = %12987, %12925
  br label %12989

12989:                                            ; preds = %12988
  br label %12990

12990:                                            ; preds = %12989
  br label %12991

12991:                                            ; preds = %12990
  %12992 = load i32, ptr @test_count, align 4, !tbaa !5
  %12993 = add nsw i32 %12992, 1
  store i32 %12993, ptr @test_count, align 4, !tbaa !5
  %12994 = load ptr, ptr %300, align 8, !tbaa !9
  %12995 = call i32 @s2n_select_resumption_psk(ptr noundef %12994, ptr noundef %311)
  %12996 = getelementptr inbounds %struct.s2n_result, ptr %324, i32 0, i32 0
  store i32 %12995, ptr %12996, align 4
  %12997 = getelementptr inbounds %struct.s2n_result, ptr %324, i32 0, i32 0
  %12998 = load i32, ptr %12997, align 4
  %12999 = call zeroext i1 @s2n_result_is_ok(i32 %12998)
  br i1 %12999, label %13053, label %13000

13000:                                            ; preds = %12991
  br label %13001

13001:                                            ; preds = %13000
  br label %13002

13002:                                            ; preds = %13001
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #11
  %13003 = call ptr @__errno_location() #12
  %13004 = load i32, ptr %13003, align 4, !tbaa !5
  store i32 %13004, ptr %325, align 4, !tbaa !5
  %13005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13006 = call i32 @s2n_print_stacktrace(ptr noundef %13005)
  %13007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13008 = trunc i8 %13007 to i1
  br i1 %13008, label %13009, label %13031

13009:                                            ; preds = %13002
  %13010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13011 = call i32 @fileno(ptr noundef %13010) #11
  %13012 = call i32 @isatty(i32 noundef %13011) #11
  %13013 = icmp ne i32 %13012, 0
  br i1 %13013, label %13014, label %13031

13014:                                            ; preds = %13009
  %13015 = load i32, ptr %325, align 4, !tbaa !5
  %13016 = call ptr @__errno_location() #12
  store i32 %13015, ptr %13016, align 4, !tbaa !5
  %13017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13018 = load i32, ptr @test_count, align 4, !tbaa !5
  %13019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13020 = load i32, ptr %13019, align 4, !tbaa !5
  %13021 = call ptr @s2n_strerror(i32 noundef %13020, ptr noundef @.str.4)
  %13022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13023 = load i32, ptr %13022, align 4, !tbaa !5
  %13024 = call ptr @s2n_strerror_debug(i32 noundef %13023, ptr noundef @.str.4)
  %13025 = call ptr @__errno_location() #12
  %13026 = load i32, ptr %13025, align 4, !tbaa !5
  %13027 = call ptr @strerror(i32 noundef %13026) #11
  %13028 = call ptr @__errno_location() #12
  %13029 = load i32, ptr %13028, align 4, !tbaa !5
  %13030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13017, ptr noundef @.str.2, i32 noundef %13018, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 750, ptr noundef %13021, ptr noundef %13024, ptr noundef %13027, i32 noundef %13029) #11
  br label %13048

13031:                                            ; preds = %13009, %13002
  %13032 = load i32, ptr %325, align 4, !tbaa !5
  %13033 = call ptr @__errno_location() #12
  store i32 %13032, ptr %13033, align 4, !tbaa !5
  %13034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13035 = load i32, ptr @test_count, align 4, !tbaa !5
  %13036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13037 = load i32, ptr %13036, align 4, !tbaa !5
  %13038 = call ptr @s2n_strerror(i32 noundef %13037, ptr noundef @.str.4)
  %13039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13040 = load i32, ptr %13039, align 4, !tbaa !5
  %13041 = call ptr @s2n_strerror_debug(i32 noundef %13040, ptr noundef @.str.4)
  %13042 = call ptr @__errno_location() #12
  %13043 = load i32, ptr %13042, align 4, !tbaa !5
  %13044 = call ptr @strerror(i32 noundef %13043) #11
  %13045 = call ptr @__errno_location() #12
  %13046 = load i32, ptr %13045, align 4, !tbaa !5
  %13047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13034, ptr noundef @.str.5, i32 noundef %13035, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 750, ptr noundef %13038, ptr noundef %13041, ptr noundef %13044, i32 noundef %13046) #11
  br label %13048

13048:                                            ; preds = %13031, %13014
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #11
  br label %13049

13049:                                            ; preds = %13048
  br label %13050

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

13051:                                            ; No predecessors!
  br label %13052

13052:                                            ; preds = %13051
  br label %13053

13053:                                            ; preds = %13052, %12991
  br label %13054

13054:                                            ; preds = %13053
  br label %13055

13055:                                            ; preds = %13054
  br label %13056

13056:                                            ; preds = %13055
  %13057 = load i32, ptr @test_count, align 4, !tbaa !5
  %13058 = add nsw i32 %13057, 1
  store i32 %13058, ptr @test_count, align 4, !tbaa !5
  %13059 = load ptr, ptr %300, align 8, !tbaa !9
  %13060 = getelementptr inbounds %struct.s2n_connection, ptr %13059, i32 0, i32 33
  %13061 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13060, i32 0, i32 3
  %13062 = load i16, ptr %13061, align 2, !tbaa !99
  %13063 = zext i16 %13062 to i32
  %13064 = load i8, ptr %316, align 1, !tbaa !81
  %13065 = zext i8 %13064 to i32
  %13066 = icmp eq i32 %13063, %13065
  br i1 %13066, label %13120, label %13067

13067:                                            ; preds = %13056
  br label %13068

13068:                                            ; preds = %13067
  br label %13069

13069:                                            ; preds = %13068
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %13070 = call ptr @__errno_location() #12
  %13071 = load i32, ptr %13070, align 4, !tbaa !5
  store i32 %13071, ptr %326, align 4, !tbaa !5
  %13072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13073 = call i32 @s2n_print_stacktrace(ptr noundef %13072)
  %13074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13075 = trunc i8 %13074 to i1
  br i1 %13075, label %13076, label %13098

13076:                                            ; preds = %13069
  %13077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13078 = call i32 @fileno(ptr noundef %13077) #11
  %13079 = call i32 @isatty(i32 noundef %13078) #11
  %13080 = icmp ne i32 %13079, 0
  br i1 %13080, label %13081, label %13098

13081:                                            ; preds = %13076
  %13082 = load i32, ptr %326, align 4, !tbaa !5
  %13083 = call ptr @__errno_location() #12
  store i32 %13082, ptr %13083, align 4, !tbaa !5
  %13084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13085 = load i32, ptr @test_count, align 4, !tbaa !5
  %13086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13087 = load i32, ptr %13086, align 4, !tbaa !5
  %13088 = call ptr @s2n_strerror(i32 noundef %13087, ptr noundef @.str.4)
  %13089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13090 = load i32, ptr %13089, align 4, !tbaa !5
  %13091 = call ptr @s2n_strerror_debug(i32 noundef %13090, ptr noundef @.str.4)
  %13092 = call ptr @__errno_location() #12
  %13093 = load i32, ptr %13092, align 4, !tbaa !5
  %13094 = call ptr @strerror(i32 noundef %13093) #11
  %13095 = call ptr @__errno_location() #12
  %13096 = load i32, ptr %13095, align 4, !tbaa !5
  %13097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13084, ptr noundef @.str.2, i32 noundef %13085, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 752, ptr noundef %13088, ptr noundef %13091, ptr noundef %13094, i32 noundef %13096) #11
  br label %13115

13098:                                            ; preds = %13076, %13069
  %13099 = load i32, ptr %326, align 4, !tbaa !5
  %13100 = call ptr @__errno_location() #12
  store i32 %13099, ptr %13100, align 4, !tbaa !5
  %13101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13102 = load i32, ptr @test_count, align 4, !tbaa !5
  %13103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13104 = load i32, ptr %13103, align 4, !tbaa !5
  %13105 = call ptr @s2n_strerror(i32 noundef %13104, ptr noundef @.str.4)
  %13106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13107 = load i32, ptr %13106, align 4, !tbaa !5
  %13108 = call ptr @s2n_strerror_debug(i32 noundef %13107, ptr noundef @.str.4)
  %13109 = call ptr @__errno_location() #12
  %13110 = load i32, ptr %13109, align 4, !tbaa !5
  %13111 = call ptr @strerror(i32 noundef %13110) #11
  %13112 = call ptr @__errno_location() #12
  %13113 = load i32, ptr %13112, align 4, !tbaa !5
  %13114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13101, ptr noundef @.str.5, i32 noundef %13102, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 752, ptr noundef %13105, ptr noundef %13108, ptr noundef %13111, i32 noundef %13113) #11
  br label %13115

13115:                                            ; preds = %13098, %13081
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  br label %13116

13116:                                            ; preds = %13115
  br label %13117

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

13118:                                            ; No predecessors!
  br label %13119

13119:                                            ; preds = %13118
  br label %13120

13120:                                            ; preds = %13119, %13056
  br label %13121

13121:                                            ; preds = %13120
  br label %13122

13122:                                            ; preds = %13121
  br label %13123

13123:                                            ; preds = %13122
  %13124 = load i32, ptr @test_count, align 4, !tbaa !5
  %13125 = add nsw i32 %13124, 1
  store i32 %13125, ptr @test_count, align 4, !tbaa !5
  %13126 = load ptr, ptr %300, align 8, !tbaa !9
  %13127 = getelementptr inbounds %struct.s2n_connection, ptr %13126, i32 0, i32 33
  %13128 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13127, i32 0, i32 4
  %13129 = load ptr, ptr %13128, align 8, !tbaa !100
  %13130 = icmp eq ptr %13129, null
  br i1 %13130, label %13131, label %13184

13131:                                            ; preds = %13123
  br label %13132

13132:                                            ; preds = %13131
  br label %13133

13133:                                            ; preds = %13132
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %13134 = call ptr @__errno_location() #12
  %13135 = load i32, ptr %13134, align 4, !tbaa !5
  store i32 %13135, ptr %327, align 4, !tbaa !5
  %13136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13137 = call i32 @s2n_print_stacktrace(ptr noundef %13136)
  %13138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13139 = trunc i8 %13138 to i1
  br i1 %13139, label %13140, label %13162

13140:                                            ; preds = %13133
  %13141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13142 = call i32 @fileno(ptr noundef %13141) #11
  %13143 = call i32 @isatty(i32 noundef %13142) #11
  %13144 = icmp ne i32 %13143, 0
  br i1 %13144, label %13145, label %13162

13145:                                            ; preds = %13140
  %13146 = load i32, ptr %327, align 4, !tbaa !5
  %13147 = call ptr @__errno_location() #12
  store i32 %13146, ptr %13147, align 4, !tbaa !5
  %13148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13149 = load i32, ptr @test_count, align 4, !tbaa !5
  %13150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13151 = load i32, ptr %13150, align 4, !tbaa !5
  %13152 = call ptr @s2n_strerror(i32 noundef %13151, ptr noundef @.str.4)
  %13153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13154 = load i32, ptr %13153, align 4, !tbaa !5
  %13155 = call ptr @s2n_strerror_debug(i32 noundef %13154, ptr noundef @.str.4)
  %13156 = call ptr @__errno_location() #12
  %13157 = load i32, ptr %13156, align 4, !tbaa !5
  %13158 = call ptr @strerror(i32 noundef %13157) #11
  %13159 = call ptr @__errno_location() #12
  %13160 = load i32, ptr %13159, align 4, !tbaa !5
  %13161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13148, ptr noundef @.str.2, i32 noundef %13149, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 753, ptr noundef %13152, ptr noundef %13155, ptr noundef %13158, i32 noundef %13160) #11
  br label %13179

13162:                                            ; preds = %13140, %13133
  %13163 = load i32, ptr %327, align 4, !tbaa !5
  %13164 = call ptr @__errno_location() #12
  store i32 %13163, ptr %13164, align 4, !tbaa !5
  %13165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13166 = load i32, ptr @test_count, align 4, !tbaa !5
  %13167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13168 = load i32, ptr %13167, align 4, !tbaa !5
  %13169 = call ptr @s2n_strerror(i32 noundef %13168, ptr noundef @.str.4)
  %13170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13171 = load i32, ptr %13170, align 4, !tbaa !5
  %13172 = call ptr @s2n_strerror_debug(i32 noundef %13171, ptr noundef @.str.4)
  %13173 = call ptr @__errno_location() #12
  %13174 = load i32, ptr %13173, align 4, !tbaa !5
  %13175 = call ptr @strerror(i32 noundef %13174) #11
  %13176 = call ptr @__errno_location() #12
  %13177 = load i32, ptr %13176, align 4, !tbaa !5
  %13178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13165, ptr noundef @.str.5, i32 noundef %13166, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 753, ptr noundef %13169, ptr noundef %13172, ptr noundef %13175, i32 noundef %13177) #11
  br label %13179

13179:                                            ; preds = %13162, %13145
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %13180

13180:                                            ; preds = %13179
  br label %13181

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

13182:                                            ; No predecessors!
  br label %13183

13183:                                            ; preds = %13182
  br label %13184

13184:                                            ; preds = %13183, %13123
  br label %13185

13185:                                            ; preds = %13184
  br label %13186

13186:                                            ; preds = %13185
  br label %13187

13187:                                            ; preds = %13186
  %13188 = load i32, ptr @test_count, align 4, !tbaa !5
  %13189 = add nsw i32 %13188, 1
  store i32 %13189, ptr @test_count, align 4, !tbaa !5
  %13190 = load ptr, ptr %300, align 8, !tbaa !9
  %13191 = getelementptr inbounds %struct.s2n_connection, ptr %13190, i32 0, i32 33
  %13192 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13191, i32 0, i32 4
  %13193 = load ptr, ptr %13192, align 8, !tbaa !100
  %13194 = getelementptr inbounds %struct.s2n_psk, ptr %13193, i32 0, i32 3
  %13195 = load i32, ptr %13194, align 8, !tbaa !55
  %13196 = load i32, ptr getelementptr inbounds (%struct.s2n_cipher_suite, ptr @s2n_tls13_aes_128_gcm_sha256, i32 0, i32 11), align 8, !tbaa !52
  %13197 = icmp eq i32 %13195, %13196
  br i1 %13197, label %13251, label %13198

13198:                                            ; preds = %13187
  br label %13199

13199:                                            ; preds = %13198
  br label %13200

13200:                                            ; preds = %13199
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %13201 = call ptr @__errno_location() #12
  %13202 = load i32, ptr %13201, align 4, !tbaa !5
  store i32 %13202, ptr %328, align 4, !tbaa !5
  %13203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13204 = call i32 @s2n_print_stacktrace(ptr noundef %13203)
  %13205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13206 = trunc i8 %13205 to i1
  br i1 %13206, label %13207, label %13229

13207:                                            ; preds = %13200
  %13208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13209 = call i32 @fileno(ptr noundef %13208) #11
  %13210 = call i32 @isatty(i32 noundef %13209) #11
  %13211 = icmp ne i32 %13210, 0
  br i1 %13211, label %13212, label %13229

13212:                                            ; preds = %13207
  %13213 = load i32, ptr %328, align 4, !tbaa !5
  %13214 = call ptr @__errno_location() #12
  store i32 %13213, ptr %13214, align 4, !tbaa !5
  %13215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13216 = load i32, ptr @test_count, align 4, !tbaa !5
  %13217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13218 = load i32, ptr %13217, align 4, !tbaa !5
  %13219 = call ptr @s2n_strerror(i32 noundef %13218, ptr noundef @.str.4)
  %13220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13221 = load i32, ptr %13220, align 4, !tbaa !5
  %13222 = call ptr @s2n_strerror_debug(i32 noundef %13221, ptr noundef @.str.4)
  %13223 = call ptr @__errno_location() #12
  %13224 = load i32, ptr %13223, align 4, !tbaa !5
  %13225 = call ptr @strerror(i32 noundef %13224) #11
  %13226 = call ptr @__errno_location() #12
  %13227 = load i32, ptr %13226, align 4, !tbaa !5
  %13228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13215, ptr noundef @.str.2, i32 noundef %13216, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 756, ptr noundef %13219, ptr noundef %13222, ptr noundef %13225, i32 noundef %13227) #11
  br label %13246

13229:                                            ; preds = %13207, %13200
  %13230 = load i32, ptr %328, align 4, !tbaa !5
  %13231 = call ptr @__errno_location() #12
  store i32 %13230, ptr %13231, align 4, !tbaa !5
  %13232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13233 = load i32, ptr @test_count, align 4, !tbaa !5
  %13234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13235 = load i32, ptr %13234, align 4, !tbaa !5
  %13236 = call ptr @s2n_strerror(i32 noundef %13235, ptr noundef @.str.4)
  %13237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13238 = load i32, ptr %13237, align 4, !tbaa !5
  %13239 = call ptr @s2n_strerror_debug(i32 noundef %13238, ptr noundef @.str.4)
  %13240 = call ptr @__errno_location() #12
  %13241 = load i32, ptr %13240, align 4, !tbaa !5
  %13242 = call ptr @strerror(i32 noundef %13241) #11
  %13243 = call ptr @__errno_location() #12
  %13244 = load i32, ptr %13243, align 4, !tbaa !5
  %13245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13232, ptr noundef @.str.5, i32 noundef %13233, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 756, ptr noundef %13236, ptr noundef %13239, ptr noundef %13242, i32 noundef %13244) #11
  br label %13246

13246:                                            ; preds = %13229, %13212
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %13247

13247:                                            ; preds = %13246
  br label %13248

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

13249:                                            ; No predecessors!
  br label %13250

13250:                                            ; preds = %13249
  br label %13251

13251:                                            ; preds = %13250, %13187
  br label %13252

13252:                                            ; preds = %13251
  br label %13253

13253:                                            ; preds = %13252
  br label %13254

13254:                                            ; preds = %13253
  %13255 = load i32, ptr @test_count, align 4, !tbaa !5
  %13256 = add nsw i32 %13255, 1
  store i32 %13256, ptr @test_count, align 4, !tbaa !5
  %13257 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %311, i32 0, i32 1
  %13258 = call i32 @s2n_stuffer_free(ptr noundef %13257)
  %13259 = icmp eq i32 %13258, -1
  br i1 %13259, label %13260, label %13313

13260:                                            ; preds = %13254
  br label %13261

13261:                                            ; preds = %13260
  br label %13262

13262:                                            ; preds = %13261
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %13263 = call ptr @__errno_location() #12
  %13264 = load i32, ptr %13263, align 4, !tbaa !5
  store i32 %13264, ptr %329, align 4, !tbaa !5
  %13265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13266 = call i32 @s2n_print_stacktrace(ptr noundef %13265)
  %13267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13268 = trunc i8 %13267 to i1
  br i1 %13268, label %13269, label %13291

13269:                                            ; preds = %13262
  %13270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13271 = call i32 @fileno(ptr noundef %13270) #11
  %13272 = call i32 @isatty(i32 noundef %13271) #11
  %13273 = icmp ne i32 %13272, 0
  br i1 %13273, label %13274, label %13291

13274:                                            ; preds = %13269
  %13275 = load i32, ptr %329, align 4, !tbaa !5
  %13276 = call ptr @__errno_location() #12
  store i32 %13275, ptr %13276, align 4, !tbaa !5
  %13277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13278 = load i32, ptr @test_count, align 4, !tbaa !5
  %13279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13280 = load i32, ptr %13279, align 4, !tbaa !5
  %13281 = call ptr @s2n_strerror(i32 noundef %13280, ptr noundef @.str.4)
  %13282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13283 = load i32, ptr %13282, align 4, !tbaa !5
  %13284 = call ptr @s2n_strerror_debug(i32 noundef %13283, ptr noundef @.str.4)
  %13285 = call ptr @__errno_location() #12
  %13286 = load i32, ptr %13285, align 4, !tbaa !5
  %13287 = call ptr @strerror(i32 noundef %13286) #11
  %13288 = call ptr @__errno_location() #12
  %13289 = load i32, ptr %13288, align 4, !tbaa !5
  %13290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13277, ptr noundef @.str.2, i32 noundef %13278, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 758, ptr noundef %13281, ptr noundef %13284, ptr noundef %13287, i32 noundef %13289) #11
  br label %13308

13291:                                            ; preds = %13269, %13262
  %13292 = load i32, ptr %329, align 4, !tbaa !5
  %13293 = call ptr @__errno_location() #12
  store i32 %13292, ptr %13293, align 4, !tbaa !5
  %13294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13295 = load i32, ptr @test_count, align 4, !tbaa !5
  %13296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13297 = load i32, ptr %13296, align 4, !tbaa !5
  %13298 = call ptr @s2n_strerror(i32 noundef %13297, ptr noundef @.str.4)
  %13299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13300 = load i32, ptr %13299, align 4, !tbaa !5
  %13301 = call ptr @s2n_strerror_debug(i32 noundef %13300, ptr noundef @.str.4)
  %13302 = call ptr @__errno_location() #12
  %13303 = load i32, ptr %13302, align 4, !tbaa !5
  %13304 = call ptr @strerror(i32 noundef %13303) #11
  %13305 = call ptr @__errno_location() #12
  %13306 = load i32, ptr %13305, align 4, !tbaa !5
  %13307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13294, ptr noundef @.str.5, i32 noundef %13295, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 758, ptr noundef %13298, ptr noundef %13301, ptr noundef %13304, i32 noundef %13306) #11
  br label %13308

13308:                                            ; preds = %13291, %13274
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %13309

13309:                                            ; preds = %13308
  br label %13310

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

13311:                                            ; No predecessors!
  br label %13312

13312:                                            ; preds = %13311
  br label %13313

13313:                                            ; preds = %13312, %13254
  br label %13314

13314:                                            ; preds = %13313
  br label %13315

13315:                                            ; preds = %13314
  br label %13316

13316:                                            ; preds = %13315
  %13317 = load i32, ptr @test_count, align 4, !tbaa !5
  %13318 = add nsw i32 %13317, 1
  store i32 %13318, ptr @test_count, align 4, !tbaa !5
  %13319 = load ptr, ptr %300, align 8, !tbaa !9
  %13320 = call i32 @s2n_connection_free(ptr noundef %13319)
  %13321 = icmp eq i32 %13320, -1
  br i1 %13321, label %13322, label %13375

13322:                                            ; preds = %13316
  br label %13323

13323:                                            ; preds = %13322
  br label %13324

13324:                                            ; preds = %13323
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %13325 = call ptr @__errno_location() #12
  %13326 = load i32, ptr %13325, align 4, !tbaa !5
  store i32 %13326, ptr %330, align 4, !tbaa !5
  %13327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13328 = call i32 @s2n_print_stacktrace(ptr noundef %13327)
  %13329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13330 = trunc i8 %13329 to i1
  br i1 %13330, label %13331, label %13353

13331:                                            ; preds = %13324
  %13332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13333 = call i32 @fileno(ptr noundef %13332) #11
  %13334 = call i32 @isatty(i32 noundef %13333) #11
  %13335 = icmp ne i32 %13334, 0
  br i1 %13335, label %13336, label %13353

13336:                                            ; preds = %13331
  %13337 = load i32, ptr %330, align 4, !tbaa !5
  %13338 = call ptr @__errno_location() #12
  store i32 %13337, ptr %13338, align 4, !tbaa !5
  %13339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13340 = load i32, ptr @test_count, align 4, !tbaa !5
  %13341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13342 = load i32, ptr %13341, align 4, !tbaa !5
  %13343 = call ptr @s2n_strerror(i32 noundef %13342, ptr noundef @.str.4)
  %13344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13345 = load i32, ptr %13344, align 4, !tbaa !5
  %13346 = call ptr @s2n_strerror_debug(i32 noundef %13345, ptr noundef @.str.4)
  %13347 = call ptr @__errno_location() #12
  %13348 = load i32, ptr %13347, align 4, !tbaa !5
  %13349 = call ptr @strerror(i32 noundef %13348) #11
  %13350 = call ptr @__errno_location() #12
  %13351 = load i32, ptr %13350, align 4, !tbaa !5
  %13352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13339, ptr noundef @.str.2, i32 noundef %13340, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 759, ptr noundef %13343, ptr noundef %13346, ptr noundef %13349, i32 noundef %13351) #11
  br label %13370

13353:                                            ; preds = %13331, %13324
  %13354 = load i32, ptr %330, align 4, !tbaa !5
  %13355 = call ptr @__errno_location() #12
  store i32 %13354, ptr %13355, align 4, !tbaa !5
  %13356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13357 = load i32, ptr @test_count, align 4, !tbaa !5
  %13358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13359 = load i32, ptr %13358, align 4, !tbaa !5
  %13360 = call ptr @s2n_strerror(i32 noundef %13359, ptr noundef @.str.4)
  %13361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13362 = load i32, ptr %13361, align 4, !tbaa !5
  %13363 = call ptr @s2n_strerror_debug(i32 noundef %13362, ptr noundef @.str.4)
  %13364 = call ptr @__errno_location() #12
  %13365 = load i32, ptr %13364, align 4, !tbaa !5
  %13366 = call ptr @strerror(i32 noundef %13365) #11
  %13367 = call ptr @__errno_location() #12
  %13368 = load i32, ptr %13367, align 4, !tbaa !5
  %13369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13356, ptr noundef @.str.5, i32 noundef %13357, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 759, ptr noundef %13360, ptr noundef %13363, ptr noundef %13366, i32 noundef %13368) #11
  br label %13370

13370:                                            ; preds = %13353, %13336
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %13371

13371:                                            ; preds = %13370
  br label %13372

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

13373:                                            ; No predecessors!
  br label %13374

13374:                                            ; preds = %13373
  br label %13375

13375:                                            ; preds = %13374, %13316
  br label %13376

13376:                                            ; preds = %13375
  br label %13377

13377:                                            ; preds = %13376
  br label %13378

13378:                                            ; preds = %13377
  %13379 = load i32, ptr @test_count, align 4, !tbaa !5
  %13380 = add nsw i32 %13379, 1
  store i32 %13380, ptr @test_count, align 4, !tbaa !5
  %13381 = load ptr, ptr %302, align 8, !tbaa !9
  %13382 = call i32 @s2n_config_free(ptr noundef %13381)
  %13383 = icmp eq i32 %13382, -1
  br i1 %13383, label %13384, label %13437

13384:                                            ; preds = %13378
  br label %13385

13385:                                            ; preds = %13384
  br label %13386

13386:                                            ; preds = %13385
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %13387 = call ptr @__errno_location() #12
  %13388 = load i32, ptr %13387, align 4, !tbaa !5
  store i32 %13388, ptr %331, align 4, !tbaa !5
  %13389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13390 = call i32 @s2n_print_stacktrace(ptr noundef %13389)
  %13391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13392 = trunc i8 %13391 to i1
  br i1 %13392, label %13393, label %13415

13393:                                            ; preds = %13386
  %13394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13395 = call i32 @fileno(ptr noundef %13394) #11
  %13396 = call i32 @isatty(i32 noundef %13395) #11
  %13397 = icmp ne i32 %13396, 0
  br i1 %13397, label %13398, label %13415

13398:                                            ; preds = %13393
  %13399 = load i32, ptr %331, align 4, !tbaa !5
  %13400 = call ptr @__errno_location() #12
  store i32 %13399, ptr %13400, align 4, !tbaa !5
  %13401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13402 = load i32, ptr @test_count, align 4, !tbaa !5
  %13403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13404 = load i32, ptr %13403, align 4, !tbaa !5
  %13405 = call ptr @s2n_strerror(i32 noundef %13404, ptr noundef @.str.4)
  %13406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13407 = load i32, ptr %13406, align 4, !tbaa !5
  %13408 = call ptr @s2n_strerror_debug(i32 noundef %13407, ptr noundef @.str.4)
  %13409 = call ptr @__errno_location() #12
  %13410 = load i32, ptr %13409, align 4, !tbaa !5
  %13411 = call ptr @strerror(i32 noundef %13410) #11
  %13412 = call ptr @__errno_location() #12
  %13413 = load i32, ptr %13412, align 4, !tbaa !5
  %13414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13401, ptr noundef @.str.2, i32 noundef %13402, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 760, ptr noundef %13405, ptr noundef %13408, ptr noundef %13411, i32 noundef %13413) #11
  br label %13432

13415:                                            ; preds = %13393, %13386
  %13416 = load i32, ptr %331, align 4, !tbaa !5
  %13417 = call ptr @__errno_location() #12
  store i32 %13416, ptr %13417, align 4, !tbaa !5
  %13418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13419 = load i32, ptr @test_count, align 4, !tbaa !5
  %13420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13421 = load i32, ptr %13420, align 4, !tbaa !5
  %13422 = call ptr @s2n_strerror(i32 noundef %13421, ptr noundef @.str.4)
  %13423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13424 = load i32, ptr %13423, align 4, !tbaa !5
  %13425 = call ptr @s2n_strerror_debug(i32 noundef %13424, ptr noundef @.str.4)
  %13426 = call ptr @__errno_location() #12
  %13427 = load i32, ptr %13426, align 4, !tbaa !5
  %13428 = call ptr @strerror(i32 noundef %13427) #11
  %13429 = call ptr @__errno_location() #12
  %13430 = load i32, ptr %13429, align 4, !tbaa !5
  %13431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13418, ptr noundef @.str.5, i32 noundef %13419, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 760, ptr noundef %13422, ptr noundef %13425, ptr noundef %13428, i32 noundef %13430) #11
  br label %13432

13432:                                            ; preds = %13415, %13398
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %13433

13433:                                            ; preds = %13432
  br label %13434

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

13435:                                            ; No predecessors!
  br label %13436

13436:                                            ; preds = %13435
  br label %13437

13437:                                            ; preds = %13436, %13378
  br label %13438

13438:                                            ; preds = %13437
  br label %13439

13439:                                            ; preds = %13438
  call void @llvm.lifetime.end.p0(i64 1, ptr %316) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %314) #11
  call void @llvm.lifetime.end.p0(i64 6, ptr %313) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %311) #11
  %13440 = call i32 @s2n_stuffer_free(ptr noundef %307)
  call void @llvm.lifetime.end.p0(i64 40, ptr %307) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %302) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %300) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %332) #11
  %13441 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13441, ptr %332, align 8, !tbaa !9
  br label %13442

13442:                                            ; preds = %13439
  %13443 = load i32, ptr @test_count, align 4, !tbaa !5
  %13444 = add nsw i32 %13443, 1
  store i32 %13444, ptr @test_count, align 4, !tbaa !5
  %13445 = load ptr, ptr %332, align 8, !tbaa !9
  %13446 = icmp eq ptr %13445, null
  br i1 %13446, label %13447, label %13500

13447:                                            ; preds = %13442
  br label %13448

13448:                                            ; preds = %13447
  br label %13449

13449:                                            ; preds = %13448
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #11
  %13450 = call ptr @__errno_location() #12
  %13451 = load i32, ptr %13450, align 4, !tbaa !5
  store i32 %13451, ptr %333, align 4, !tbaa !5
  %13452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13453 = call i32 @s2n_print_stacktrace(ptr noundef %13452)
  %13454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13455 = trunc i8 %13454 to i1
  br i1 %13455, label %13456, label %13478

13456:                                            ; preds = %13449
  %13457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13458 = call i32 @fileno(ptr noundef %13457) #11
  %13459 = call i32 @isatty(i32 noundef %13458) #11
  %13460 = icmp ne i32 %13459, 0
  br i1 %13460, label %13461, label %13478

13461:                                            ; preds = %13456
  %13462 = load i32, ptr %333, align 4, !tbaa !5
  %13463 = call ptr @__errno_location() #12
  store i32 %13462, ptr %13463, align 4, !tbaa !5
  %13464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13465 = load i32, ptr @test_count, align 4, !tbaa !5
  %13466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13467 = load i32, ptr %13466, align 4, !tbaa !5
  %13468 = call ptr @s2n_strerror(i32 noundef %13467, ptr noundef @.str.4)
  %13469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13470 = load i32, ptr %13469, align 4, !tbaa !5
  %13471 = call ptr @s2n_strerror_debug(i32 noundef %13470, ptr noundef @.str.4)
  %13472 = call ptr @__errno_location() #12
  %13473 = load i32, ptr %13472, align 4, !tbaa !5
  %13474 = call ptr @strerror(i32 noundef %13473) #11
  %13475 = call ptr @__errno_location() #12
  %13476 = load i32, ptr %13475, align 4, !tbaa !5
  %13477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13464, ptr noundef @.str.2, i32 noundef %13465, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 766, ptr noundef %13468, ptr noundef %13471, ptr noundef %13474, i32 noundef %13476) #11
  br label %13495

13478:                                            ; preds = %13456, %13449
  %13479 = load i32, ptr %333, align 4, !tbaa !5
  %13480 = call ptr @__errno_location() #12
  store i32 %13479, ptr %13480, align 4, !tbaa !5
  %13481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13482 = load i32, ptr @test_count, align 4, !tbaa !5
  %13483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13484 = load i32, ptr %13483, align 4, !tbaa !5
  %13485 = call ptr @s2n_strerror(i32 noundef %13484, ptr noundef @.str.4)
  %13486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13487 = load i32, ptr %13486, align 4, !tbaa !5
  %13488 = call ptr @s2n_strerror_debug(i32 noundef %13487, ptr noundef @.str.4)
  %13489 = call ptr @__errno_location() #12
  %13490 = load i32, ptr %13489, align 4, !tbaa !5
  %13491 = call ptr @strerror(i32 noundef %13490) #11
  %13492 = call ptr @__errno_location() #12
  %13493 = load i32, ptr %13492, align 4, !tbaa !5
  %13494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13481, ptr noundef @.str.5, i32 noundef %13482, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 766, ptr noundef %13485, ptr noundef %13488, ptr noundef %13491, i32 noundef %13493) #11
  br label %13495

13495:                                            ; preds = %13478, %13461
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #11
  br label %13496

13496:                                            ; preds = %13495
  br label %13497

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

13498:                                            ; No predecessors!
  br label %13499

13499:                                            ; preds = %13498
  br label %13500

13500:                                            ; preds = %13499, %13442
  br label %13501

13501:                                            ; preds = %13500
  br label %13502

13502:                                            ; preds = %13501
  %13503 = load ptr, ptr %332, align 8, !tbaa !9
  %13504 = getelementptr inbounds %struct.s2n_connection, ptr %13503, i32 0, i32 23
  store i8 34, ptr %13504, align 4, !tbaa !45
  %13505 = load ptr, ptr %332, align 8, !tbaa !9
  %13506 = getelementptr inbounds %struct.s2n_connection, ptr %13505, i32 0, i32 27
  %13507 = load ptr, ptr %13506, align 8, !tbaa !46
  %13508 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %13507, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %13508, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 56, ptr %334) #11
  call void @llvm.memset.p0.i64(ptr align 8 %334, i8 0, i64 56, i1 false)
  %13509 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %334, i32 0, i32 0
  %13510 = load ptr, ptr %332, align 8, !tbaa !9
  store ptr %13510, ptr %13509, align 8, !tbaa !93
  %13511 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %334, i32 0, i32 1
  %13512 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %334, i32 0, i32 2
  br label %13513

13513:                                            ; preds = %13502
  %13514 = load i32, ptr @test_count, align 4, !tbaa !5
  %13515 = add nsw i32 %13514, 1
  store i32 %13515, ptr @test_count, align 4, !tbaa !5
  %13516 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %334, i32 0, i32 1
  %13517 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %13516, i32 noundef 0)
  %13518 = icmp eq i32 %13517, -1
  br i1 %13518, label %13519, label %13572

13519:                                            ; preds = %13513
  br label %13520

13520:                                            ; preds = %13519
  br label %13521

13521:                                            ; preds = %13520
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %13522 = call ptr @__errno_location() #12
  %13523 = load i32, ptr %13522, align 4, !tbaa !5
  store i32 %13523, ptr %335, align 4, !tbaa !5
  %13524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13525 = call i32 @s2n_print_stacktrace(ptr noundef %13524)
  %13526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13527 = trunc i8 %13526 to i1
  br i1 %13527, label %13528, label %13550

13528:                                            ; preds = %13521
  %13529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13530 = call i32 @fileno(ptr noundef %13529) #11
  %13531 = call i32 @isatty(i32 noundef %13530) #11
  %13532 = icmp ne i32 %13531, 0
  br i1 %13532, label %13533, label %13550

13533:                                            ; preds = %13528
  %13534 = load i32, ptr %335, align 4, !tbaa !5
  %13535 = call ptr @__errno_location() #12
  store i32 %13534, ptr %13535, align 4, !tbaa !5
  %13536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13537 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13539, ptr noundef @.str.4)
  %13541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13542 = load i32, ptr %13541, align 4, !tbaa !5
  %13543 = call ptr @s2n_strerror_debug(i32 noundef %13542, ptr noundef @.str.4)
  %13544 = call ptr @__errno_location() #12
  %13545 = load i32, ptr %13544, align 4, !tbaa !5
  %13546 = call ptr @strerror(i32 noundef %13545) #11
  %13547 = call ptr @__errno_location() #12
  %13548 = load i32, ptr %13547, align 4, !tbaa !5
  %13549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13536, ptr noundef @.str.2, i32 noundef %13537, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 772, ptr noundef %13540, ptr noundef %13543, ptr noundef %13546, i32 noundef %13548) #11
  br label %13567

13550:                                            ; preds = %13528, %13521
  %13551 = load i32, ptr %335, align 4, !tbaa !5
  %13552 = call ptr @__errno_location() #12
  store i32 %13551, ptr %13552, align 4, !tbaa !5
  %13553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13554 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13556, ptr noundef @.str.4)
  %13558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13559 = load i32, ptr %13558, align 4, !tbaa !5
  %13560 = call ptr @s2n_strerror_debug(i32 noundef %13559, ptr noundef @.str.4)
  %13561 = call ptr @__errno_location() #12
  %13562 = load i32, ptr %13561, align 4, !tbaa !5
  %13563 = call ptr @strerror(i32 noundef %13562) #11
  %13564 = call ptr @__errno_location() #12
  %13565 = load i32, ptr %13564, align 4, !tbaa !5
  %13566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13553, ptr noundef @.str.5, i32 noundef %13554, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 772, ptr noundef %13557, ptr noundef %13560, ptr noundef %13563, i32 noundef %13565) #11
  br label %13567

13567:                                            ; preds = %13550, %13533
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %13568

13568:                                            ; preds = %13567
  br label %13569

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

13570:                                            ; No predecessors!
  br label %13571

13571:                                            ; preds = %13570
  br label %13572

13572:                                            ; preds = %13571, %13513
  br label %13573

13573:                                            ; preds = %13572
  br label %13574

13574:                                            ; preds = %13573
  call void @llvm.lifetime.start.p0(i64 6, ptr %336) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %336, ptr align 1 @__const.main.bad_identity_data.111, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %337) #11
  call void @llvm.memset.p0.i64(ptr align 8 %337, i8 0, i64 24, i1 false)
  br label %13575

13575:                                            ; preds = %13574
  %13576 = load i32, ptr @test_count, align 4, !tbaa !5
  %13577 = add nsw i32 %13576, 1
  store i32 %13577, ptr @test_count, align 4, !tbaa !5
  %13578 = getelementptr inbounds [6 x i8], ptr %336, i64 0, i64 0
  %13579 = call i32 @s2n_blob_init(ptr noundef %337, ptr noundef %13578, i32 noundef 6)
  %13580 = icmp eq i32 %13579, -1
  br i1 %13580, label %13581, label %13634

13581:                                            ; preds = %13575
  br label %13582

13582:                                            ; preds = %13581
  br label %13583

13583:                                            ; preds = %13582
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #11
  %13584 = call ptr @__errno_location() #12
  %13585 = load i32, ptr %13584, align 4, !tbaa !5
  store i32 %13585, ptr %338, align 4, !tbaa !5
  %13586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13587 = call i32 @s2n_print_stacktrace(ptr noundef %13586)
  %13588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13589 = trunc i8 %13588 to i1
  br i1 %13589, label %13590, label %13612

13590:                                            ; preds = %13583
  %13591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13592 = call i32 @fileno(ptr noundef %13591) #11
  %13593 = call i32 @isatty(i32 noundef %13592) #11
  %13594 = icmp ne i32 %13593, 0
  br i1 %13594, label %13595, label %13612

13595:                                            ; preds = %13590
  %13596 = load i32, ptr %338, align 4, !tbaa !5
  %13597 = call ptr @__errno_location() #12
  store i32 %13596, ptr %13597, align 4, !tbaa !5
  %13598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13599 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13601, ptr noundef @.str.4)
  %13603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13604 = load i32, ptr %13603, align 4, !tbaa !5
  %13605 = call ptr @s2n_strerror_debug(i32 noundef %13604, ptr noundef @.str.4)
  %13606 = call ptr @__errno_location() #12
  %13607 = load i32, ptr %13606, align 4, !tbaa !5
  %13608 = call ptr @strerror(i32 noundef %13607) #11
  %13609 = call ptr @__errno_location() #12
  %13610 = load i32, ptr %13609, align 4, !tbaa !5
  %13611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13598, ptr noundef @.str.2, i32 noundef %13599, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 777, ptr noundef %13602, ptr noundef %13605, ptr noundef %13608, i32 noundef %13610) #11
  br label %13629

13612:                                            ; preds = %13590, %13583
  %13613 = load i32, ptr %338, align 4, !tbaa !5
  %13614 = call ptr @__errno_location() #12
  store i32 %13613, ptr %13614, align 4, !tbaa !5
  %13615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13616 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13618, ptr noundef @.str.4)
  %13620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13621 = load i32, ptr %13620, align 4, !tbaa !5
  %13622 = call ptr @s2n_strerror_debug(i32 noundef %13621, ptr noundef @.str.4)
  %13623 = call ptr @__errno_location() #12
  %13624 = load i32, ptr %13623, align 4, !tbaa !5
  %13625 = call ptr @strerror(i32 noundef %13624) #11
  %13626 = call ptr @__errno_location() #12
  %13627 = load i32, ptr %13626, align 4, !tbaa !5
  %13628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13615, ptr noundef @.str.5, i32 noundef %13616, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 777, ptr noundef %13619, ptr noundef %13622, ptr noundef %13625, i32 noundef %13627) #11
  br label %13629

13629:                                            ; preds = %13612, %13595
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #11
  br label %13630

13630:                                            ; preds = %13629
  br label %13631

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

13632:                                            ; No predecessors!
  br label %13633

13633:                                            ; preds = %13632
  br label %13634

13634:                                            ; preds = %13633, %13575
  br label %13635

13635:                                            ; preds = %13634
  br label %13636

13636:                                            ; preds = %13635
  br label %13637

13637:                                            ; preds = %13636
  %13638 = load i32, ptr @test_count, align 4, !tbaa !5
  %13639 = add nsw i32 %13638, 1
  store i32 %13639, ptr @test_count, align 4, !tbaa !5
  %13640 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %334, i32 0, i32 1
  %13641 = call i32 @s2n_write_test_identity(ptr noundef %13640, ptr noundef %337)
  %13642 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  store i32 %13641, ptr %13642, align 4
  %13643 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  %13644 = load i32, ptr %13643, align 4
  %13645 = call zeroext i1 @s2n_result_is_ok(i32 %13644)
  br i1 %13645, label %13699, label %13646

13646:                                            ; preds = %13637
  br label %13647

13647:                                            ; preds = %13646
  br label %13648

13648:                                            ; preds = %13647
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #11
  %13649 = call ptr @__errno_location() #12
  %13650 = load i32, ptr %13649, align 4, !tbaa !5
  store i32 %13650, ptr %340, align 4, !tbaa !5
  %13651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13652 = call i32 @s2n_print_stacktrace(ptr noundef %13651)
  %13653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13654 = trunc i8 %13653 to i1
  br i1 %13654, label %13655, label %13677

13655:                                            ; preds = %13648
  %13656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13657 = call i32 @fileno(ptr noundef %13656) #11
  %13658 = call i32 @isatty(i32 noundef %13657) #11
  %13659 = icmp ne i32 %13658, 0
  br i1 %13659, label %13660, label %13677

13660:                                            ; preds = %13655
  %13661 = load i32, ptr %340, align 4, !tbaa !5
  %13662 = call ptr @__errno_location() #12
  store i32 %13661, ptr %13662, align 4, !tbaa !5
  %13663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13664 = load i32, ptr @test_count, align 4, !tbaa !5
  %13665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13666 = load i32, ptr %13665, align 4, !tbaa !5
  %13667 = call ptr @s2n_strerror(i32 noundef %13666, ptr noundef @.str.4)
  %13668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13669 = load i32, ptr %13668, align 4, !tbaa !5
  %13670 = call ptr @s2n_strerror_debug(i32 noundef %13669, ptr noundef @.str.4)
  %13671 = call ptr @__errno_location() #12
  %13672 = load i32, ptr %13671, align 4, !tbaa !5
  %13673 = call ptr @strerror(i32 noundef %13672) #11
  %13674 = call ptr @__errno_location() #12
  %13675 = load i32, ptr %13674, align 4, !tbaa !5
  %13676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13663, ptr noundef @.str.2, i32 noundef %13664, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 778, ptr noundef %13667, ptr noundef %13670, ptr noundef %13673, i32 noundef %13675) #11
  br label %13694

13677:                                            ; preds = %13655, %13648
  %13678 = load i32, ptr %340, align 4, !tbaa !5
  %13679 = call ptr @__errno_location() #12
  store i32 %13678, ptr %13679, align 4, !tbaa !5
  %13680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13681 = load i32, ptr @test_count, align 4, !tbaa !5
  %13682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13683 = load i32, ptr %13682, align 4, !tbaa !5
  %13684 = call ptr @s2n_strerror(i32 noundef %13683, ptr noundef @.str.4)
  %13685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13686 = load i32, ptr %13685, align 4, !tbaa !5
  %13687 = call ptr @s2n_strerror_debug(i32 noundef %13686, ptr noundef @.str.4)
  %13688 = call ptr @__errno_location() #12
  %13689 = load i32, ptr %13688, align 4, !tbaa !5
  %13690 = call ptr @strerror(i32 noundef %13689) #11
  %13691 = call ptr @__errno_location() #12
  %13692 = load i32, ptr %13691, align 4, !tbaa !5
  %13693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13680, ptr noundef @.str.5, i32 noundef %13681, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 778, ptr noundef %13684, ptr noundef %13687, ptr noundef %13690, i32 noundef %13692) #11
  br label %13694

13694:                                            ; preds = %13677, %13660
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #11
  br label %13695

13695:                                            ; preds = %13694
  br label %13696

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

13697:                                            ; No predecessors!
  br label %13698

13698:                                            ; preds = %13697
  br label %13699

13699:                                            ; preds = %13698, %13637
  br label %13700

13700:                                            ; preds = %13699
  br label %13701

13701:                                            ; preds = %13700
  br label %13702

13702:                                            ; preds = %13701
  br label %13703

13703:                                            ; preds = %13702
  br label %13704

13704:                                            ; preds = %13703
  %13705 = load i32, ptr @test_count, align 4, !tbaa !5
  %13706 = add nsw i32 %13705, 1
  store i32 %13706, ptr @test_count, align 4, !tbaa !5
  %13707 = load ptr, ptr %332, align 8, !tbaa !9
  %13708 = call i32 @s2n_select_resumption_psk(ptr noundef %13707, ptr noundef %334)
  %13709 = getelementptr inbounds %struct.s2n_result, ptr %341, i32 0, i32 0
  store i32 %13708, ptr %13709, align 4
  %13710 = getelementptr inbounds %struct.s2n_result, ptr %341, i32 0, i32 0
  %13711 = load i32, ptr %13710, align 4
  %13712 = call zeroext i1 @s2n_result_is_error(i32 %13711)
  br i1 %13712, label %13766, label %13713

13713:                                            ; preds = %13704
  br label %13714

13714:                                            ; preds = %13713
  br label %13715

13715:                                            ; preds = %13714
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %13716 = call ptr @__errno_location() #12
  %13717 = load i32, ptr %13716, align 4, !tbaa !5
  store i32 %13717, ptr %342, align 4, !tbaa !5
  %13718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13719 = call i32 @s2n_print_stacktrace(ptr noundef %13718)
  %13720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13721 = trunc i8 %13720 to i1
  br i1 %13721, label %13722, label %13744

13722:                                            ; preds = %13715
  %13723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13724 = call i32 @fileno(ptr noundef %13723) #11
  %13725 = call i32 @isatty(i32 noundef %13724) #11
  %13726 = icmp ne i32 %13725, 0
  br i1 %13726, label %13727, label %13744

13727:                                            ; preds = %13722
  %13728 = load i32, ptr %342, align 4, !tbaa !5
  %13729 = call ptr @__errno_location() #12
  store i32 %13728, ptr %13729, align 4, !tbaa !5
  %13730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13731 = load i32, ptr @test_count, align 4, !tbaa !5
  %13732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13733 = load i32, ptr %13732, align 4, !tbaa !5
  %13734 = call ptr @s2n_strerror(i32 noundef %13733, ptr noundef @.str.4)
  %13735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13736 = load i32, ptr %13735, align 4, !tbaa !5
  %13737 = call ptr @s2n_strerror_debug(i32 noundef %13736, ptr noundef @.str.4)
  %13738 = call ptr @__errno_location() #12
  %13739 = load i32, ptr %13738, align 4, !tbaa !5
  %13740 = call ptr @strerror(i32 noundef %13739) #11
  %13741 = call ptr @__errno_location() #12
  %13742 = load i32, ptr %13741, align 4, !tbaa !5
  %13743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13730, ptr noundef @.str.2, i32 noundef %13731, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 780, ptr noundef %13734, ptr noundef %13737, ptr noundef %13740, i32 noundef %13742) #11
  br label %13761

13744:                                            ; preds = %13722, %13715
  %13745 = load i32, ptr %342, align 4, !tbaa !5
  %13746 = call ptr @__errno_location() #12
  store i32 %13745, ptr %13746, align 4, !tbaa !5
  %13747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13748 = load i32, ptr @test_count, align 4, !tbaa !5
  %13749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13750 = load i32, ptr %13749, align 4, !tbaa !5
  %13751 = call ptr @s2n_strerror(i32 noundef %13750, ptr noundef @.str.4)
  %13752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13753 = load i32, ptr %13752, align 4, !tbaa !5
  %13754 = call ptr @s2n_strerror_debug(i32 noundef %13753, ptr noundef @.str.4)
  %13755 = call ptr @__errno_location() #12
  %13756 = load i32, ptr %13755, align 4, !tbaa !5
  %13757 = call ptr @strerror(i32 noundef %13756) #11
  %13758 = call ptr @__errno_location() #12
  %13759 = load i32, ptr %13758, align 4, !tbaa !5
  %13760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13747, ptr noundef @.str.5, i32 noundef %13748, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 780, ptr noundef %13751, ptr noundef %13754, ptr noundef %13757, i32 noundef %13759) #11
  br label %13761

13761:                                            ; preds = %13744, %13727
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %13762

13762:                                            ; preds = %13761
  br label %13763

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

13764:                                            ; No predecessors!
  br label %13765

13765:                                            ; preds = %13764
  br label %13766

13766:                                            ; preds = %13765, %13704
  br label %13767

13767:                                            ; preds = %13766
  br label %13768

13768:                                            ; preds = %13767
  br label %13769

13769:                                            ; preds = %13768
  %13770 = load i32, ptr @test_count, align 4, !tbaa !5
  %13771 = add nsw i32 %13770, 1
  store i32 %13771, ptr @test_count, align 4, !tbaa !5
  %13772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13773 = load i32, ptr %13772, align 4, !tbaa !5
  %13774 = icmp eq i32 %13773, 469762110
  br i1 %13774, label %13828, label %13775

13775:                                            ; preds = %13769
  br label %13776

13776:                                            ; preds = %13775
  br label %13777

13777:                                            ; preds = %13776
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #11
  %13778 = call ptr @__errno_location() #12
  %13779 = load i32, ptr %13778, align 4, !tbaa !5
  store i32 %13779, ptr %343, align 4, !tbaa !5
  %13780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13781 = call i32 @s2n_print_stacktrace(ptr noundef %13780)
  %13782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13783 = trunc i8 %13782 to i1
  br i1 %13783, label %13784, label %13806

13784:                                            ; preds = %13777
  %13785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13786 = call i32 @fileno(ptr noundef %13785) #11
  %13787 = call i32 @isatty(i32 noundef %13786) #11
  %13788 = icmp ne i32 %13787, 0
  br i1 %13788, label %13789, label %13806

13789:                                            ; preds = %13784
  %13790 = load i32, ptr %343, align 4, !tbaa !5
  %13791 = call ptr @__errno_location() #12
  store i32 %13790, ptr %13791, align 4, !tbaa !5
  %13792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13793 = load i32, ptr @test_count, align 4, !tbaa !5
  %13794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13795 = load i32, ptr %13794, align 4, !tbaa !5
  %13796 = call ptr @s2n_strerror(i32 noundef %13795, ptr noundef @.str.4)
  %13797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13798 = load i32, ptr %13797, align 4, !tbaa !5
  %13799 = call ptr @s2n_strerror_debug(i32 noundef %13798, ptr noundef @.str.4)
  %13800 = call ptr @__errno_location() #12
  %13801 = load i32, ptr %13800, align 4, !tbaa !5
  %13802 = call ptr @strerror(i32 noundef %13801) #11
  %13803 = call ptr @__errno_location() #12
  %13804 = load i32, ptr %13803, align 4, !tbaa !5
  %13805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13792, ptr noundef @.str.2, i32 noundef %13793, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 780, ptr noundef %13796, ptr noundef %13799, ptr noundef %13802, i32 noundef %13804) #11
  br label %13823

13806:                                            ; preds = %13784, %13777
  %13807 = load i32, ptr %343, align 4, !tbaa !5
  %13808 = call ptr @__errno_location() #12
  store i32 %13807, ptr %13808, align 4, !tbaa !5
  %13809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13810 = load i32, ptr @test_count, align 4, !tbaa !5
  %13811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13812 = load i32, ptr %13811, align 4, !tbaa !5
  %13813 = call ptr @s2n_strerror(i32 noundef %13812, ptr noundef @.str.4)
  %13814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13815 = load i32, ptr %13814, align 4, !tbaa !5
  %13816 = call ptr @s2n_strerror_debug(i32 noundef %13815, ptr noundef @.str.4)
  %13817 = call ptr @__errno_location() #12
  %13818 = load i32, ptr %13817, align 4, !tbaa !5
  %13819 = call ptr @strerror(i32 noundef %13818) #11
  %13820 = call ptr @__errno_location() #12
  %13821 = load i32, ptr %13820, align 4, !tbaa !5
  %13822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13809, ptr noundef @.str.5, i32 noundef %13810, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 780, ptr noundef %13813, ptr noundef %13816, ptr noundef %13819, i32 noundef %13821) #11
  br label %13823

13823:                                            ; preds = %13806, %13789
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #11
  br label %13824

13824:                                            ; preds = %13823
  br label %13825

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

13826:                                            ; No predecessors!
  br label %13827

13827:                                            ; preds = %13826
  br label %13828

13828:                                            ; preds = %13827, %13769
  br label %13829

13829:                                            ; preds = %13828
  br label %13830

13830:                                            ; preds = %13829
  br label %13831

13831:                                            ; preds = %13830
  %13832 = load i32, ptr @test_count, align 4, !tbaa !5
  %13833 = add nsw i32 %13832, 1
  store i32 %13833, ptr @test_count, align 4, !tbaa !5
  %13834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13835 = load i32, ptr %13834, align 4, !tbaa !5
  %13836 = call ptr @s2n_strerror_debug(i32 noundef %13835, ptr noundef @.str.4)
  %13837 = icmp eq ptr %13836, null
  br i1 %13837, label %13838, label %13891

13838:                                            ; preds = %13831
  br label %13839

13839:                                            ; preds = %13838
  br label %13840

13840:                                            ; preds = %13839
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #11
  %13841 = call ptr @__errno_location() #12
  %13842 = load i32, ptr %13841, align 4, !tbaa !5
  store i32 %13842, ptr %344, align 4, !tbaa !5
  %13843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13844 = call i32 @s2n_print_stacktrace(ptr noundef %13843)
  %13845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13846 = trunc i8 %13845 to i1
  br i1 %13846, label %13847, label %13869

13847:                                            ; preds = %13840
  %13848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13849 = call i32 @fileno(ptr noundef %13848) #11
  %13850 = call i32 @isatty(i32 noundef %13849) #11
  %13851 = icmp ne i32 %13850, 0
  br i1 %13851, label %13852, label %13869

13852:                                            ; preds = %13847
  %13853 = load i32, ptr %344, align 4, !tbaa !5
  %13854 = call ptr @__errno_location() #12
  store i32 %13853, ptr %13854, align 4, !tbaa !5
  %13855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13856 = load i32, ptr @test_count, align 4, !tbaa !5
  %13857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13858 = load i32, ptr %13857, align 4, !tbaa !5
  %13859 = call ptr @s2n_strerror(i32 noundef %13858, ptr noundef @.str.4)
  %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_debug(i32 noundef %13861, ptr noundef @.str.4)
  %13863 = call ptr @__errno_location() #12
  %13864 = load i32, ptr %13863, align 4, !tbaa !5
  %13865 = call ptr @strerror(i32 noundef %13864) #11
  %13866 = call ptr @__errno_location() #12
  %13867 = load i32, ptr %13866, align 4, !tbaa !5
  %13868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13855, ptr noundef @.str.2, i32 noundef %13856, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 780, ptr noundef %13859, ptr noundef %13862, ptr noundef %13865, i32 noundef %13867) #11
  br label %13886

13869:                                            ; preds = %13847, %13840
  %13870 = load i32, ptr %344, align 4, !tbaa !5
  %13871 = call ptr @__errno_location() #12
  store i32 %13870, ptr %13871, align 4, !tbaa !5
  %13872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13873 = load i32, ptr @test_count, align 4, !tbaa !5
  %13874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13875 = load i32, ptr %13874, align 4, !tbaa !5
  %13876 = call ptr @s2n_strerror(i32 noundef %13875, ptr noundef @.str.4)
  %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_debug(i32 noundef %13878, ptr noundef @.str.4)
  %13880 = call ptr @__errno_location() #12
  %13881 = load i32, ptr %13880, align 4, !tbaa !5
  %13882 = call ptr @strerror(i32 noundef %13881) #11
  %13883 = call ptr @__errno_location() #12
  %13884 = load i32, ptr %13883, align 4, !tbaa !5
  %13885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13872, ptr noundef @.str.5, i32 noundef %13873, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 780, ptr noundef %13876, ptr noundef %13879, ptr noundef %13882, i32 noundef %13884) #11
  br label %13886

13886:                                            ; preds = %13869, %13852
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #11
  br label %13887

13887:                                            ; preds = %13886
  br label %13888

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

13889:                                            ; No predecessors!
  br label %13890

13890:                                            ; preds = %13889
  br label %13891

13891:                                            ; preds = %13890, %13831
  br label %13892

13892:                                            ; preds = %13891
  br label %13893

13893:                                            ; preds = %13892
  br label %13894

13894:                                            ; preds = %13893
  br label %13895

13895:                                            ; preds = %13894
  br label %13896

13896:                                            ; preds = %13895
  %13897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13897, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13898 = call ptr @__errno_location() #12
  store i32 0, ptr %13898, align 4, !tbaa !5
  br label %13899

13899:                                            ; preds = %13896
  br label %13900

13900:                                            ; preds = %13899
  br label %13901

13901:                                            ; preds = %13900
  br label %13902

13902:                                            ; preds = %13901
  br label %13903

13903:                                            ; preds = %13902
  %13904 = load i32, ptr @test_count, align 4, !tbaa !5
  %13905 = add nsw i32 %13904, 1
  store i32 %13905, ptr @test_count, align 4, !tbaa !5
  %13906 = load ptr, ptr %332, align 8, !tbaa !9
  %13907 = getelementptr inbounds %struct.s2n_connection, ptr %13906, i32 0, i32 33
  %13908 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %13907, i32 0, i32 4
  %13909 = load ptr, ptr %13908, align 8, !tbaa !100
  %13910 = icmp eq ptr %13909, null
  br i1 %13910, label %13964, label %13911

13911:                                            ; preds = %13903
  br label %13912

13912:                                            ; preds = %13911
  br label %13913

13913:                                            ; preds = %13912
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %13914 = call ptr @__errno_location() #12
  %13915 = load i32, ptr %13914, align 4, !tbaa !5
  store i32 %13915, ptr %345, align 4, !tbaa !5
  %13916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13917 = call i32 @s2n_print_stacktrace(ptr noundef %13916)
  %13918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13919 = trunc i8 %13918 to i1
  br i1 %13919, label %13920, label %13942

13920:                                            ; preds = %13913
  %13921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13922 = call i32 @fileno(ptr noundef %13921) #11
  %13923 = call i32 @isatty(i32 noundef %13922) #11
  %13924 = icmp ne i32 %13923, 0
  br i1 %13924, label %13925, label %13942

13925:                                            ; preds = %13920
  %13926 = load i32, ptr %345, align 4, !tbaa !5
  %13927 = call ptr @__errno_location() #12
  store i32 %13926, ptr %13927, align 4, !tbaa !5
  %13928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13929 = load i32, ptr @test_count, align 4, !tbaa !5
  %13930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13931 = load i32, ptr %13930, align 4, !tbaa !5
  %13932 = call ptr @s2n_strerror(i32 noundef %13931, ptr noundef @.str.4)
  %13933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13934 = load i32, ptr %13933, align 4, !tbaa !5
  %13935 = call ptr @s2n_strerror_debug(i32 noundef %13934, ptr noundef @.str.4)
  %13936 = call ptr @__errno_location() #12
  %13937 = load i32, ptr %13936, align 4, !tbaa !5
  %13938 = call ptr @strerror(i32 noundef %13937) #11
  %13939 = call ptr @__errno_location() #12
  %13940 = load i32, ptr %13939, align 4, !tbaa !5
  %13941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13928, ptr noundef @.str.2, i32 noundef %13929, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 781, ptr noundef %13932, ptr noundef %13935, ptr noundef %13938, i32 noundef %13940) #11
  br label %13959

13942:                                            ; preds = %13920, %13913
  %13943 = load i32, ptr %345, align 4, !tbaa !5
  %13944 = call ptr @__errno_location() #12
  store i32 %13943, ptr %13944, align 4, !tbaa !5
  %13945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13946 = load i32, ptr @test_count, align 4, !tbaa !5
  %13947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13948 = load i32, ptr %13947, align 4, !tbaa !5
  %13949 = call ptr @s2n_strerror(i32 noundef %13948, ptr noundef @.str.4)
  %13950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13951 = load i32, ptr %13950, align 4, !tbaa !5
  %13952 = call ptr @s2n_strerror_debug(i32 noundef %13951, ptr noundef @.str.4)
  %13953 = call ptr @__errno_location() #12
  %13954 = load i32, ptr %13953, align 4, !tbaa !5
  %13955 = call ptr @strerror(i32 noundef %13954) #11
  %13956 = call ptr @__errno_location() #12
  %13957 = load i32, ptr %13956, align 4, !tbaa !5
  %13958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13945, ptr noundef @.str.5, i32 noundef %13946, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 781, ptr noundef %13949, ptr noundef %13952, ptr noundef %13955, i32 noundef %13957) #11
  br label %13959

13959:                                            ; preds = %13942, %13925
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %13960

13960:                                            ; preds = %13959
  br label %13961

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

13962:                                            ; No predecessors!
  br label %13963

13963:                                            ; preds = %13962
  br label %13964

13964:                                            ; preds = %13963, %13903
  br label %13965

13965:                                            ; preds = %13964
  br label %13966

13966:                                            ; preds = %13965
  br label %13967

13967:                                            ; preds = %13966
  %13968 = load i32, ptr @test_count, align 4, !tbaa !5
  %13969 = add nsw i32 %13968, 1
  store i32 %13969, ptr @test_count, align 4, !tbaa !5
  %13970 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %334, i32 0, i32 1
  %13971 = call i32 @s2n_stuffer_free(ptr noundef %13970)
  %13972 = icmp eq i32 %13971, -1
  br i1 %13972, label %13973, label %14026

13973:                                            ; preds = %13967
  br label %13974

13974:                                            ; preds = %13973
  br label %13975

13975:                                            ; preds = %13974
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #11
  %13976 = call ptr @__errno_location() #12
  %13977 = load i32, ptr %13976, align 4, !tbaa !5
  store i32 %13977, ptr %346, align 4, !tbaa !5
  %13978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13979 = call i32 @s2n_print_stacktrace(ptr noundef %13978)
  %13980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13981 = trunc i8 %13980 to i1
  br i1 %13981, label %13982, label %14004

13982:                                            ; preds = %13975
  %13983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13984 = call i32 @fileno(ptr noundef %13983) #11
  %13985 = call i32 @isatty(i32 noundef %13984) #11
  %13986 = icmp ne i32 %13985, 0
  br i1 %13986, label %13987, label %14004

13987:                                            ; preds = %13982
  %13988 = load i32, ptr %346, align 4, !tbaa !5
  %13989 = call ptr @__errno_location() #12
  store i32 %13988, ptr %13989, align 4, !tbaa !5
  %13990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13991 = load i32, ptr @test_count, align 4, !tbaa !5
  %13992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13993 = load i32, ptr %13992, align 4, !tbaa !5
  %13994 = call ptr @s2n_strerror(i32 noundef %13993, ptr noundef @.str.4)
  %13995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13996 = load i32, ptr %13995, align 4, !tbaa !5
  %13997 = call ptr @s2n_strerror_debug(i32 noundef %13996, ptr noundef @.str.4)
  %13998 = call ptr @__errno_location() #12
  %13999 = load i32, ptr %13998, align 4, !tbaa !5
  %14000 = call ptr @strerror(i32 noundef %13999) #11
  %14001 = call ptr @__errno_location() #12
  %14002 = load i32, ptr %14001, align 4, !tbaa !5
  %14003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13990, ptr noundef @.str.2, i32 noundef %13991, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 783, ptr noundef %13994, ptr noundef %13997, ptr noundef %14000, i32 noundef %14002) #11
  br label %14021

14004:                                            ; preds = %13982, %13975
  %14005 = load i32, ptr %346, align 4, !tbaa !5
  %14006 = call ptr @__errno_location() #12
  store i32 %14005, ptr %14006, align 4, !tbaa !5
  %14007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14008 = load i32, ptr @test_count, align 4, !tbaa !5
  %14009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14010 = load i32, ptr %14009, align 4, !tbaa !5
  %14011 = call ptr @s2n_strerror(i32 noundef %14010, ptr noundef @.str.4)
  %14012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14013 = load i32, ptr %14012, align 4, !tbaa !5
  %14014 = call ptr @s2n_strerror_debug(i32 noundef %14013, ptr noundef @.str.4)
  %14015 = call ptr @__errno_location() #12
  %14016 = load i32, ptr %14015, align 4, !tbaa !5
  %14017 = call ptr @strerror(i32 noundef %14016) #11
  %14018 = call ptr @__errno_location() #12
  %14019 = load i32, ptr %14018, align 4, !tbaa !5
  %14020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14007, ptr noundef @.str.5, i32 noundef %14008, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 783, ptr noundef %14011, ptr noundef %14014, ptr noundef %14017, i32 noundef %14019) #11
  br label %14021

14021:                                            ; preds = %14004, %13987
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #11
  br label %14022

14022:                                            ; preds = %14021
  br label %14023

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

14024:                                            ; No predecessors!
  br label %14025

14025:                                            ; preds = %14024
  br label %14026

14026:                                            ; preds = %14025, %13967
  br label %14027

14027:                                            ; preds = %14026
  br label %14028

14028:                                            ; preds = %14027
  br label %14029

14029:                                            ; preds = %14028
  %14030 = load i32, ptr @test_count, align 4, !tbaa !5
  %14031 = add nsw i32 %14030, 1
  store i32 %14031, ptr @test_count, align 4, !tbaa !5
  %14032 = load ptr, ptr %332, align 8, !tbaa !9
  %14033 = call i32 @s2n_connection_free(ptr noundef %14032)
  %14034 = icmp eq i32 %14033, -1
  br i1 %14034, label %14035, label %14088

14035:                                            ; preds = %14029
  br label %14036

14036:                                            ; preds = %14035
  br label %14037

14037:                                            ; preds = %14036
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %14038 = call ptr @__errno_location() #12
  %14039 = load i32, ptr %14038, align 4, !tbaa !5
  store i32 %14039, ptr %347, align 4, !tbaa !5
  %14040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14041 = call i32 @s2n_print_stacktrace(ptr noundef %14040)
  %14042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14043 = trunc i8 %14042 to i1
  br i1 %14043, label %14044, label %14066

14044:                                            ; preds = %14037
  %14045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14046 = call i32 @fileno(ptr noundef %14045) #11
  %14047 = call i32 @isatty(i32 noundef %14046) #11
  %14048 = icmp ne i32 %14047, 0
  br i1 %14048, label %14049, label %14066

14049:                                            ; preds = %14044
  %14050 = load i32, ptr %347, align 4, !tbaa !5
  %14051 = call ptr @__errno_location() #12
  store i32 %14050, ptr %14051, align 4, !tbaa !5
  %14052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14053 = load i32, ptr @test_count, align 4, !tbaa !5
  %14054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14055 = load i32, ptr %14054, align 4, !tbaa !5
  %14056 = call ptr @s2n_strerror(i32 noundef %14055, ptr noundef @.str.4)
  %14057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14058 = load i32, ptr %14057, align 4, !tbaa !5
  %14059 = call ptr @s2n_strerror_debug(i32 noundef %14058, ptr noundef @.str.4)
  %14060 = call ptr @__errno_location() #12
  %14061 = load i32, ptr %14060, align 4, !tbaa !5
  %14062 = call ptr @strerror(i32 noundef %14061) #11
  %14063 = call ptr @__errno_location() #12
  %14064 = load i32, ptr %14063, align 4, !tbaa !5
  %14065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14052, ptr noundef @.str.2, i32 noundef %14053, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 784, ptr noundef %14056, ptr noundef %14059, ptr noundef %14062, i32 noundef %14064) #11
  br label %14083

14066:                                            ; preds = %14044, %14037
  %14067 = load i32, ptr %347, align 4, !tbaa !5
  %14068 = call ptr @__errno_location() #12
  store i32 %14067, ptr %14068, align 4, !tbaa !5
  %14069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14070 = load i32, ptr @test_count, align 4, !tbaa !5
  %14071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14072 = load i32, ptr %14071, align 4, !tbaa !5
  %14073 = call ptr @s2n_strerror(i32 noundef %14072, ptr noundef @.str.4)
  %14074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14075 = load i32, ptr %14074, align 4, !tbaa !5
  %14076 = call ptr @s2n_strerror_debug(i32 noundef %14075, ptr noundef @.str.4)
  %14077 = call ptr @__errno_location() #12
  %14078 = load i32, ptr %14077, align 4, !tbaa !5
  %14079 = call ptr @strerror(i32 noundef %14078) #11
  %14080 = call ptr @__errno_location() #12
  %14081 = load i32, ptr %14080, align 4, !tbaa !5
  %14082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14069, ptr noundef @.str.5, i32 noundef %14070, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 784, ptr noundef %14073, ptr noundef %14076, ptr noundef %14079, i32 noundef %14081) #11
  br label %14083

14083:                                            ; preds = %14066, %14049
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %14084

14084:                                            ; preds = %14083
  br label %14085

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

14086:                                            ; No predecessors!
  br label %14087

14087:                                            ; preds = %14086
  br label %14088

14088:                                            ; preds = %14087, %14029
  br label %14089

14089:                                            ; preds = %14088
  br label %14090

14090:                                            ; preds = %14089
  call void @llvm.lifetime.end.p0(i64 24, ptr %337) #11
  call void @llvm.lifetime.end.p0(i64 6, ptr %336) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %334) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %348) #11
  %14091 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %14091, ptr %348, align 8, !tbaa !9
  br label %14092

14092:                                            ; preds = %14090
  %14093 = load i32, ptr @test_count, align 4, !tbaa !5
  %14094 = add nsw i32 %14093, 1
  store i32 %14094, ptr @test_count, align 4, !tbaa !5
  %14095 = load ptr, ptr %348, align 8, !tbaa !9
  %14096 = icmp eq ptr %14095, null
  br i1 %14096, label %14097, label %14150

14097:                                            ; preds = %14092
  br label %14098

14098:                                            ; preds = %14097
  br label %14099

14099:                                            ; preds = %14098
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %14100 = call ptr @__errno_location() #12
  %14101 = load i32, ptr %14100, align 4, !tbaa !5
  store i32 %14101, ptr %349, align 4, !tbaa !5
  %14102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14103 = call i32 @s2n_print_stacktrace(ptr noundef %14102)
  %14104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14105 = trunc i8 %14104 to i1
  br i1 %14105, label %14106, label %14128

14106:                                            ; preds = %14099
  %14107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14108 = call i32 @fileno(ptr noundef %14107) #11
  %14109 = call i32 @isatty(i32 noundef %14108) #11
  %14110 = icmp ne i32 %14109, 0
  br i1 %14110, label %14111, label %14128

14111:                                            ; preds = %14106
  %14112 = load i32, ptr %349, align 4, !tbaa !5
  %14113 = call ptr @__errno_location() #12
  store i32 %14112, ptr %14113, align 4, !tbaa !5
  %14114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14115 = load i32, ptr @test_count, align 4, !tbaa !5
  %14116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14117 = load i32, ptr %14116, align 4, !tbaa !5
  %14118 = call ptr @s2n_strerror(i32 noundef %14117, ptr noundef @.str.4)
  %14119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14120 = load i32, ptr %14119, align 4, !tbaa !5
  %14121 = call ptr @s2n_strerror_debug(i32 noundef %14120, ptr noundef @.str.4)
  %14122 = call ptr @__errno_location() #12
  %14123 = load i32, ptr %14122, align 4, !tbaa !5
  %14124 = call ptr @strerror(i32 noundef %14123) #11
  %14125 = call ptr @__errno_location() #12
  %14126 = load i32, ptr %14125, align 4, !tbaa !5
  %14127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14114, ptr noundef @.str.2, i32 noundef %14115, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 790, ptr noundef %14118, ptr noundef %14121, ptr noundef %14124, i32 noundef %14126) #11
  br label %14145

14128:                                            ; preds = %14106, %14099
  %14129 = load i32, ptr %349, align 4, !tbaa !5
  %14130 = call ptr @__errno_location() #12
  store i32 %14129, ptr %14130, align 4, !tbaa !5
  %14131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14132 = load i32, ptr @test_count, align 4, !tbaa !5
  %14133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14134 = load i32, ptr %14133, align 4, !tbaa !5
  %14135 = call ptr @s2n_strerror(i32 noundef %14134, ptr noundef @.str.4)
  %14136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14137 = load i32, ptr %14136, align 4, !tbaa !5
  %14138 = call ptr @s2n_strerror_debug(i32 noundef %14137, ptr noundef @.str.4)
  %14139 = call ptr @__errno_location() #12
  %14140 = load i32, ptr %14139, align 4, !tbaa !5
  %14141 = call ptr @strerror(i32 noundef %14140) #11
  %14142 = call ptr @__errno_location() #12
  %14143 = load i32, ptr %14142, align 4, !tbaa !5
  %14144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14131, ptr noundef @.str.5, i32 noundef %14132, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 790, ptr noundef %14135, ptr noundef %14138, ptr noundef %14141, i32 noundef %14143) #11
  br label %14145

14145:                                            ; preds = %14128, %14111
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %14146

14146:                                            ; preds = %14145
  br label %14147

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

14148:                                            ; No predecessors!
  br label %14149

14149:                                            ; preds = %14148
  br label %14150

14150:                                            ; preds = %14149, %14092
  br label %14151

14151:                                            ; preds = %14150
  br label %14152

14152:                                            ; preds = %14151
  call void @llvm.lifetime.start.p0(i64 8, ptr %350) #11
  %14153 = call ptr @s2n_config_new()
  store ptr %14153, ptr %350, align 8, !tbaa !9
  br label %14154

14154:                                            ; preds = %14152
  %14155 = load i32, ptr @test_count, align 4, !tbaa !5
  %14156 = add nsw i32 %14155, 1
  store i32 %14156, ptr @test_count, align 4, !tbaa !5
  %14157 = load ptr, ptr %350, align 8, !tbaa !9
  %14158 = icmp eq ptr %14157, null
  br i1 %14158, label %14159, label %14212

14159:                                            ; preds = %14154
  br label %14160

14160:                                            ; preds = %14159
  br label %14161

14161:                                            ; preds = %14160
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #11
  %14162 = call ptr @__errno_location() #12
  %14163 = load i32, ptr %14162, align 4, !tbaa !5
  store i32 %14163, ptr %351, align 4, !tbaa !5
  %14164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14165 = call i32 @s2n_print_stacktrace(ptr noundef %14164)
  %14166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14167 = trunc i8 %14166 to i1
  br i1 %14167, label %14168, label %14190

14168:                                            ; preds = %14161
  %14169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14170 = call i32 @fileno(ptr noundef %14169) #11
  %14171 = call i32 @isatty(i32 noundef %14170) #11
  %14172 = icmp ne i32 %14171, 0
  br i1 %14172, label %14173, label %14190

14173:                                            ; preds = %14168
  %14174 = load i32, ptr %351, align 4, !tbaa !5
  %14175 = call ptr @__errno_location() #12
  store i32 %14174, ptr %14175, align 4, !tbaa !5
  %14176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14177 = load i32, ptr @test_count, align 4, !tbaa !5
  %14178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14179 = load i32, ptr %14178, align 4, !tbaa !5
  %14180 = call ptr @s2n_strerror(i32 noundef %14179, ptr noundef @.str.4)
  %14181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14182 = load i32, ptr %14181, align 4, !tbaa !5
  %14183 = call ptr @s2n_strerror_debug(i32 noundef %14182, ptr noundef @.str.4)
  %14184 = call ptr @__errno_location() #12
  %14185 = load i32, ptr %14184, align 4, !tbaa !5
  %14186 = call ptr @strerror(i32 noundef %14185) #11
  %14187 = call ptr @__errno_location() #12
  %14188 = load i32, ptr %14187, align 4, !tbaa !5
  %14189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14176, ptr noundef @.str.2, i32 noundef %14177, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 793, ptr noundef %14180, ptr noundef %14183, ptr noundef %14186, i32 noundef %14188) #11
  br label %14207

14190:                                            ; preds = %14168, %14161
  %14191 = load i32, ptr %351, align 4, !tbaa !5
  %14192 = call ptr @__errno_location() #12
  store i32 %14191, ptr %14192, align 4, !tbaa !5
  %14193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14194 = load i32, ptr @test_count, align 4, !tbaa !5
  %14195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14196 = load i32, ptr %14195, align 4, !tbaa !5
  %14197 = call ptr @s2n_strerror(i32 noundef %14196, ptr noundef @.str.4)
  %14198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14199 = load i32, ptr %14198, align 4, !tbaa !5
  %14200 = call ptr @s2n_strerror_debug(i32 noundef %14199, ptr noundef @.str.4)
  %14201 = call ptr @__errno_location() #12
  %14202 = load i32, ptr %14201, align 4, !tbaa !5
  %14203 = call ptr @strerror(i32 noundef %14202) #11
  %14204 = call ptr @__errno_location() #12
  %14205 = load i32, ptr %14204, align 4, !tbaa !5
  %14206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14193, ptr noundef @.str.5, i32 noundef %14194, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 793, ptr noundef %14197, ptr noundef %14200, ptr noundef %14203, i32 noundef %14205) #11
  br label %14207

14207:                                            ; preds = %14190, %14173
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #11
  br label %14208

14208:                                            ; preds = %14207
  br label %14209

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

14210:                                            ; No predecessors!
  br label %14211

14211:                                            ; preds = %14210
  br label %14212

14212:                                            ; preds = %14211, %14154
  br label %14213

14213:                                            ; preds = %14212
  br label %14214

14214:                                            ; preds = %14213
  br label %14215

14215:                                            ; preds = %14214
  %14216 = load i32, ptr @test_count, align 4, !tbaa !5
  %14217 = add nsw i32 %14216, 1
  store i32 %14217, ptr @test_count, align 4, !tbaa !5
  %14218 = load ptr, ptr %350, align 8, !tbaa !9
  %14219 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %14218)
  %14220 = getelementptr inbounds %struct.s2n_result, ptr %352, i32 0, i32 0
  store i32 %14219, ptr %14220, align 4
  %14221 = getelementptr inbounds %struct.s2n_result, ptr %352, i32 0, i32 0
  %14222 = load i32, ptr %14221, align 4
  %14223 = call zeroext i1 @s2n_result_is_ok(i32 %14222)
  br i1 %14223, label %14277, label %14224

14224:                                            ; preds = %14215
  br label %14225

14225:                                            ; preds = %14224
  br label %14226

14226:                                            ; preds = %14225
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %14227 = call ptr @__errno_location() #12
  %14228 = load i32, ptr %14227, align 4, !tbaa !5
  store i32 %14228, ptr %353, align 4, !tbaa !5
  %14229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14230 = call i32 @s2n_print_stacktrace(ptr noundef %14229)
  %14231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14232 = trunc i8 %14231 to i1
  br i1 %14232, label %14233, label %14255

14233:                                            ; preds = %14226
  %14234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14235 = call i32 @fileno(ptr noundef %14234) #11
  %14236 = call i32 @isatty(i32 noundef %14235) #11
  %14237 = icmp ne i32 %14236, 0
  br i1 %14237, label %14238, label %14255

14238:                                            ; preds = %14233
  %14239 = load i32, ptr %353, align 4, !tbaa !5
  %14240 = call ptr @__errno_location() #12
  store i32 %14239, ptr %14240, align 4, !tbaa !5
  %14241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14242 = load i32, ptr @test_count, align 4, !tbaa !5
  %14243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14244 = load i32, ptr %14243, align 4, !tbaa !5
  %14245 = call ptr @s2n_strerror(i32 noundef %14244, ptr noundef @.str.4)
  %14246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14247 = load i32, ptr %14246, align 4, !tbaa !5
  %14248 = call ptr @s2n_strerror_debug(i32 noundef %14247, ptr noundef @.str.4)
  %14249 = call ptr @__errno_location() #12
  %14250 = load i32, ptr %14249, align 4, !tbaa !5
  %14251 = call ptr @strerror(i32 noundef %14250) #11
  %14252 = call ptr @__errno_location() #12
  %14253 = load i32, ptr %14252, align 4, !tbaa !5
  %14254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14241, ptr noundef @.str.2, i32 noundef %14242, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 794, ptr noundef %14245, ptr noundef %14248, ptr noundef %14251, i32 noundef %14253) #11
  br label %14272

14255:                                            ; preds = %14233, %14226
  %14256 = load i32, ptr %353, align 4, !tbaa !5
  %14257 = call ptr @__errno_location() #12
  store i32 %14256, ptr %14257, align 4, !tbaa !5
  %14258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14259 = load i32, ptr @test_count, align 4, !tbaa !5
  %14260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14261 = load i32, ptr %14260, align 4, !tbaa !5
  %14262 = call ptr @s2n_strerror(i32 noundef %14261, ptr noundef @.str.4)
  %14263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14264 = load i32, ptr %14263, align 4, !tbaa !5
  %14265 = call ptr @s2n_strerror_debug(i32 noundef %14264, ptr noundef @.str.4)
  %14266 = call ptr @__errno_location() #12
  %14267 = load i32, ptr %14266, align 4, !tbaa !5
  %14268 = call ptr @strerror(i32 noundef %14267) #11
  %14269 = call ptr @__errno_location() #12
  %14270 = load i32, ptr %14269, align 4, !tbaa !5
  %14271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14258, ptr noundef @.str.5, i32 noundef %14259, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 794, ptr noundef %14262, ptr noundef %14265, ptr noundef %14268, i32 noundef %14270) #11
  br label %14272

14272:                                            ; preds = %14255, %14238
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  br label %14273

14273:                                            ; preds = %14272
  br label %14274

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

14275:                                            ; No predecessors!
  br label %14276

14276:                                            ; preds = %14275
  br label %14277

14277:                                            ; preds = %14276, %14215
  br label %14278

14278:                                            ; preds = %14277
  br label %14279

14279:                                            ; preds = %14278
  br label %14280

14280:                                            ; preds = %14279
  %14281 = load i32, ptr @test_count, align 4, !tbaa !5
  %14282 = add nsw i32 %14281, 1
  store i32 %14282, ptr @test_count, align 4, !tbaa !5
  %14283 = load ptr, ptr %348, align 8, !tbaa !9
  %14284 = load ptr, ptr %350, align 8, !tbaa !9
  %14285 = call i32 @s2n_connection_set_config(ptr noundef %14283, ptr noundef %14284)
  %14286 = icmp eq i32 %14285, -1
  br i1 %14286, label %14287, label %14340

14287:                                            ; preds = %14280
  br label %14288

14288:                                            ; preds = %14287
  br label %14289

14289:                                            ; preds = %14288
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %14290 = call ptr @__errno_location() #12
  %14291 = load i32, ptr %14290, align 4, !tbaa !5
  store i32 %14291, ptr %354, align 4, !tbaa !5
  %14292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14293 = call i32 @s2n_print_stacktrace(ptr noundef %14292)
  %14294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14295 = trunc i8 %14294 to i1
  br i1 %14295, label %14296, label %14318

14296:                                            ; preds = %14289
  %14297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14298 = call i32 @fileno(ptr noundef %14297) #11
  %14299 = call i32 @isatty(i32 noundef %14298) #11
  %14300 = icmp ne i32 %14299, 0
  br i1 %14300, label %14301, label %14318

14301:                                            ; preds = %14296
  %14302 = load i32, ptr %354, align 4, !tbaa !5
  %14303 = call ptr @__errno_location() #12
  store i32 %14302, ptr %14303, align 4, !tbaa !5
  %14304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14305 = load i32, ptr @test_count, align 4, !tbaa !5
  %14306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14307 = load i32, ptr %14306, align 4, !tbaa !5
  %14308 = call ptr @s2n_strerror(i32 noundef %14307, ptr noundef @.str.4)
  %14309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14310 = load i32, ptr %14309, align 4, !tbaa !5
  %14311 = call ptr @s2n_strerror_debug(i32 noundef %14310, ptr noundef @.str.4)
  %14312 = call ptr @__errno_location() #12
  %14313 = load i32, ptr %14312, align 4, !tbaa !5
  %14314 = call ptr @strerror(i32 noundef %14313) #11
  %14315 = call ptr @__errno_location() #12
  %14316 = load i32, ptr %14315, align 4, !tbaa !5
  %14317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14304, ptr noundef @.str.2, i32 noundef %14305, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 795, ptr noundef %14308, ptr noundef %14311, ptr noundef %14314, i32 noundef %14316) #11
  br label %14335

14318:                                            ; preds = %14296, %14289
  %14319 = load i32, ptr %354, align 4, !tbaa !5
  %14320 = call ptr @__errno_location() #12
  store i32 %14319, ptr %14320, align 4, !tbaa !5
  %14321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14322 = load i32, ptr @test_count, align 4, !tbaa !5
  %14323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14324 = load i32, ptr %14323, align 4, !tbaa !5
  %14325 = call ptr @s2n_strerror(i32 noundef %14324, ptr noundef @.str.4)
  %14326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14327 = load i32, ptr %14326, align 4, !tbaa !5
  %14328 = call ptr @s2n_strerror_debug(i32 noundef %14327, ptr noundef @.str.4)
  %14329 = call ptr @__errno_location() #12
  %14330 = load i32, ptr %14329, align 4, !tbaa !5
  %14331 = call ptr @strerror(i32 noundef %14330) #11
  %14332 = call ptr @__errno_location() #12
  %14333 = load i32, ptr %14332, align 4, !tbaa !5
  %14334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14321, ptr noundef @.str.5, i32 noundef %14322, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 795, ptr noundef %14325, ptr noundef %14328, ptr noundef %14331, i32 noundef %14333) #11
  br label %14335

14335:                                            ; preds = %14318, %14301
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %14336

14336:                                            ; preds = %14335
  br label %14337

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

14338:                                            ; No predecessors!
  br label %14339

14339:                                            ; preds = %14338
  br label %14340

14340:                                            ; preds = %14339, %14280
  br label %14341

14341:                                            ; preds = %14340
  br label %14342

14342:                                            ; preds = %14341
  %14343 = load ptr, ptr %348, align 8, !tbaa !9
  %14344 = getelementptr inbounds %struct.s2n_connection, ptr %14343, i32 0, i32 23
  store i8 34, ptr %14344, align 4, !tbaa !45
  %14345 = load ptr, ptr %348, align 8, !tbaa !9
  %14346 = getelementptr inbounds %struct.s2n_connection, ptr %14345, i32 0, i32 27
  %14347 = load ptr, ptr %14346, align 8, !tbaa !46
  %14348 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %14347, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %14348, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr %355) #11
  call void @llvm.memset.p0.i64(ptr align 8 %355, i8 0, i64 40, i1 false)
  br label %14349

14349:                                            ; preds = %14342
  %14350 = load i32, ptr @test_count, align 4, !tbaa !5
  %14351 = add nsw i32 %14350, 1
  store i32 %14351, ptr @test_count, align 4, !tbaa !5
  %14352 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %355, i32 noundef 0)
  %14353 = icmp eq i32 %14352, -1
  br i1 %14353, label %14354, label %14407

14354:                                            ; preds = %14349
  br label %14355

14355:                                            ; preds = %14354
  br label %14356

14356:                                            ; preds = %14355
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %14357 = call ptr @__errno_location() #12
  %14358 = load i32, ptr %14357, align 4, !tbaa !5
  store i32 %14358, ptr %356, align 4, !tbaa !5
  %14359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14360 = call i32 @s2n_print_stacktrace(ptr noundef %14359)
  %14361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14362 = trunc i8 %14361 to i1
  br i1 %14362, label %14363, label %14385

14363:                                            ; preds = %14356
  %14364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14365 = call i32 @fileno(ptr noundef %14364) #11
  %14366 = call i32 @isatty(i32 noundef %14365) #11
  %14367 = icmp ne i32 %14366, 0
  br i1 %14367, label %14368, label %14385

14368:                                            ; preds = %14363
  %14369 = load i32, ptr %356, align 4, !tbaa !5
  %14370 = call ptr @__errno_location() #12
  store i32 %14369, ptr %14370, align 4, !tbaa !5
  %14371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14372 = load i32, ptr @test_count, align 4, !tbaa !5
  %14373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14374 = load i32, ptr %14373, align 4, !tbaa !5
  %14375 = call ptr @s2n_strerror(i32 noundef %14374, ptr noundef @.str.4)
  %14376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14377 = load i32, ptr %14376, align 4, !tbaa !5
  %14378 = call ptr @s2n_strerror_debug(i32 noundef %14377, ptr noundef @.str.4)
  %14379 = call ptr @__errno_location() #12
  %14380 = load i32, ptr %14379, align 4, !tbaa !5
  %14381 = call ptr @strerror(i32 noundef %14380) #11
  %14382 = call ptr @__errno_location() #12
  %14383 = load i32, ptr %14382, align 4, !tbaa !5
  %14384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14371, ptr noundef @.str.2, i32 noundef %14372, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 801, ptr noundef %14375, ptr noundef %14378, ptr noundef %14381, i32 noundef %14383) #11
  br label %14402

14385:                                            ; preds = %14363, %14356
  %14386 = load i32, ptr %356, align 4, !tbaa !5
  %14387 = call ptr @__errno_location() #12
  store i32 %14386, ptr %14387, align 4, !tbaa !5
  %14388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14389 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14391, ptr noundef @.str.4)
  %14393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14394 = load i32, ptr %14393, align 4, !tbaa !5
  %14395 = call ptr @s2n_strerror_debug(i32 noundef %14394, ptr noundef @.str.4)
  %14396 = call ptr @__errno_location() #12
  %14397 = load i32, ptr %14396, align 4, !tbaa !5
  %14398 = call ptr @strerror(i32 noundef %14397) #11
  %14399 = call ptr @__errno_location() #12
  %14400 = load i32, ptr %14399, align 4, !tbaa !5
  %14401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14388, ptr noundef @.str.5, i32 noundef %14389, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 801, ptr noundef %14392, ptr noundef %14395, ptr noundef %14398, i32 noundef %14400) #11
  br label %14402

14402:                                            ; preds = %14385, %14368
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %14403

14403:                                            ; preds = %14402
  br label %14404

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

14405:                                            ; No predecessors!
  br label %14406

14406:                                            ; preds = %14405
  br label %14407

14407:                                            ; preds = %14406, %14349
  br label %14408

14408:                                            ; preds = %14407
  br label %14409

14409:                                            ; preds = %14408
  br label %14410

14410:                                            ; preds = %14409
  %14411 = load i32, ptr @test_count, align 4, !tbaa !5
  %14412 = add nsw i32 %14411, 1
  store i32 %14412, ptr @test_count, align 4, !tbaa !5
  %14413 = load ptr, ptr %348, align 8, !tbaa !9
  %14414 = call i32 @s2n_setup_encrypted_ticket(ptr noundef %14413, ptr noundef %355)
  %14415 = getelementptr inbounds %struct.s2n_result, ptr %357, i32 0, i32 0
  store i32 %14414, ptr %14415, align 4
  %14416 = getelementptr inbounds %struct.s2n_result, ptr %357, i32 0, i32 0
  %14417 = load i32, ptr %14416, align 4
  %14418 = call zeroext i1 @s2n_result_is_ok(i32 %14417)
  br i1 %14418, label %14472, label %14419

14419:                                            ; preds = %14410
  br label %14420

14420:                                            ; preds = %14419
  br label %14421

14421:                                            ; preds = %14420
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #11
  %14422 = call ptr @__errno_location() #12
  %14423 = load i32, ptr %14422, align 4, !tbaa !5
  store i32 %14423, ptr %358, align 4, !tbaa !5
  %14424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14425 = call i32 @s2n_print_stacktrace(ptr noundef %14424)
  %14426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14427 = trunc i8 %14426 to i1
  br i1 %14427, label %14428, label %14450

14428:                                            ; preds = %14421
  %14429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14430 = call i32 @fileno(ptr noundef %14429) #11
  %14431 = call i32 @isatty(i32 noundef %14430) #11
  %14432 = icmp ne i32 %14431, 0
  br i1 %14432, label %14433, label %14450

14433:                                            ; preds = %14428
  %14434 = load i32, ptr %358, align 4, !tbaa !5
  %14435 = call ptr @__errno_location() #12
  store i32 %14434, ptr %14435, align 4, !tbaa !5
  %14436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14437 = load i32, ptr @test_count, align 4, !tbaa !5
  %14438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14439 = load i32, ptr %14438, align 4, !tbaa !5
  %14440 = call ptr @s2n_strerror(i32 noundef %14439, ptr noundef @.str.4)
  %14441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14442 = load i32, ptr %14441, align 4, !tbaa !5
  %14443 = call ptr @s2n_strerror_debug(i32 noundef %14442, ptr noundef @.str.4)
  %14444 = call ptr @__errno_location() #12
  %14445 = load i32, ptr %14444, align 4, !tbaa !5
  %14446 = call ptr @strerror(i32 noundef %14445) #11
  %14447 = call ptr @__errno_location() #12
  %14448 = load i32, ptr %14447, align 4, !tbaa !5
  %14449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14436, ptr noundef @.str.2, i32 noundef %14437, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 802, ptr noundef %14440, ptr noundef %14443, ptr noundef %14446, i32 noundef %14448) #11
  br label %14467

14450:                                            ; preds = %14428, %14421
  %14451 = load i32, ptr %358, align 4, !tbaa !5
  %14452 = call ptr @__errno_location() #12
  store i32 %14451, ptr %14452, align 4, !tbaa !5
  %14453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14454 = load i32, ptr @test_count, align 4, !tbaa !5
  %14455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14456 = load i32, ptr %14455, align 4, !tbaa !5
  %14457 = call ptr @s2n_strerror(i32 noundef %14456, ptr noundef @.str.4)
  %14458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14459 = load i32, ptr %14458, align 4, !tbaa !5
  %14460 = call ptr @s2n_strerror_debug(i32 noundef %14459, ptr noundef @.str.4)
  %14461 = call ptr @__errno_location() #12
  %14462 = load i32, ptr %14461, align 4, !tbaa !5
  %14463 = call ptr @strerror(i32 noundef %14462) #11
  %14464 = call ptr @__errno_location() #12
  %14465 = load i32, ptr %14464, align 4, !tbaa !5
  %14466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14453, ptr noundef @.str.5, i32 noundef %14454, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 802, ptr noundef %14457, ptr noundef %14460, ptr noundef %14463, i32 noundef %14465) #11
  br label %14467

14467:                                            ; preds = %14450, %14433
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #11
  br label %14468

14468:                                            ; preds = %14467
  br label %14469

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

14470:                                            ; No predecessors!
  br label %14471

14471:                                            ; preds = %14470
  br label %14472

14472:                                            ; preds = %14471, %14410
  br label %14473

14473:                                            ; preds = %14472
  br label %14474

14474:                                            ; preds = %14473
  call void @llvm.lifetime.start.p0(i64 6, ptr %359) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %359, ptr align 1 @__const.main.bad_identity_data.114, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %360) #11
  call void @llvm.memset.p0.i64(ptr align 8 %360, i8 0, i64 24, i1 false)
  br label %14475

14475:                                            ; preds = %14474
  %14476 = load i32, ptr @test_count, align 4, !tbaa !5
  %14477 = add nsw i32 %14476, 1
  store i32 %14477, ptr @test_count, align 4, !tbaa !5
  %14478 = getelementptr inbounds [6 x i8], ptr %359, i64 0, i64 0
  %14479 = call i32 @s2n_blob_init(ptr noundef %360, ptr noundef %14478, i32 noundef 6)
  %14480 = icmp eq i32 %14479, -1
  br i1 %14480, label %14481, label %14534

14481:                                            ; preds = %14475
  br label %14482

14482:                                            ; preds = %14481
  br label %14483

14483:                                            ; preds = %14482
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %14484 = call ptr @__errno_location() #12
  %14485 = load i32, ptr %14484, align 4, !tbaa !5
  store i32 %14485, ptr %361, align 4, !tbaa !5
  %14486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14487 = call i32 @s2n_print_stacktrace(ptr noundef %14486)
  %14488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14489 = trunc i8 %14488 to i1
  br i1 %14489, label %14490, label %14512

14490:                                            ; preds = %14483
  %14491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14492 = call i32 @fileno(ptr noundef %14491) #11
  %14493 = call i32 @isatty(i32 noundef %14492) #11
  %14494 = icmp ne i32 %14493, 0
  br i1 %14494, label %14495, label %14512

14495:                                            ; preds = %14490
  %14496 = load i32, ptr %361, align 4, !tbaa !5
  %14497 = call ptr @__errno_location() #12
  store i32 %14496, ptr %14497, align 4, !tbaa !5
  %14498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14499 = load i32, ptr @test_count, align 4, !tbaa !5
  %14500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14501 = load i32, ptr %14500, align 4, !tbaa !5
  %14502 = call ptr @s2n_strerror(i32 noundef %14501, ptr noundef @.str.4)
  %14503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14504 = load i32, ptr %14503, align 4, !tbaa !5
  %14505 = call ptr @s2n_strerror_debug(i32 noundef %14504, ptr noundef @.str.4)
  %14506 = call ptr @__errno_location() #12
  %14507 = load i32, ptr %14506, align 4, !tbaa !5
  %14508 = call ptr @strerror(i32 noundef %14507) #11
  %14509 = call ptr @__errno_location() #12
  %14510 = load i32, ptr %14509, align 4, !tbaa !5
  %14511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14498, ptr noundef @.str.2, i32 noundef %14499, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 807, ptr noundef %14502, ptr noundef %14505, ptr noundef %14508, i32 noundef %14510) #11
  br label %14529

14512:                                            ; preds = %14490, %14483
  %14513 = load i32, ptr %361, align 4, !tbaa !5
  %14514 = call ptr @__errno_location() #12
  store i32 %14513, ptr %14514, align 4, !tbaa !5
  %14515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14516 = load i32, ptr @test_count, align 4, !tbaa !5
  %14517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14518 = load i32, ptr %14517, align 4, !tbaa !5
  %14519 = call ptr @s2n_strerror(i32 noundef %14518, ptr noundef @.str.4)
  %14520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14521 = load i32, ptr %14520, align 4, !tbaa !5
  %14522 = call ptr @s2n_strerror_debug(i32 noundef %14521, ptr noundef @.str.4)
  %14523 = call ptr @__errno_location() #12
  %14524 = load i32, ptr %14523, align 4, !tbaa !5
  %14525 = call ptr @strerror(i32 noundef %14524) #11
  %14526 = call ptr @__errno_location() #12
  %14527 = load i32, ptr %14526, align 4, !tbaa !5
  %14528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14515, ptr noundef @.str.5, i32 noundef %14516, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 807, ptr noundef %14519, ptr noundef %14522, ptr noundef %14525, i32 noundef %14527) #11
  br label %14529

14529:                                            ; preds = %14512, %14495
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %14530

14530:                                            ; preds = %14529
  br label %14531

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

14532:                                            ; No predecessors!
  br label %14533

14533:                                            ; preds = %14532
  br label %14534

14534:                                            ; preds = %14533, %14475
  br label %14535

14535:                                            ; preds = %14534
  br label %14536

14536:                                            ; preds = %14535
  call void @llvm.lifetime.start.p0(i64 56, ptr %362) #11
  call void @llvm.memset.p0.i64(ptr align 8 %362, i8 0, i64 56, i1 false)
  %14537 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %362, i32 0, i32 0
  %14538 = load ptr, ptr %348, align 8, !tbaa !9
  store ptr %14538, ptr %14537, align 8, !tbaa !93
  %14539 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %362, i32 0, i32 1
  %14540 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %362, i32 0, i32 2
  br label %14541

14541:                                            ; preds = %14536
  %14542 = load i32, ptr @test_count, align 4, !tbaa !5
  %14543 = add nsw i32 %14542, 1
  store i32 %14543, ptr @test_count, align 4, !tbaa !5
  %14544 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %362, i32 0, i32 1
  %14545 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %14544, i32 noundef 0)
  %14546 = icmp eq i32 %14545, -1
  br i1 %14546, label %14547, label %14600

14547:                                            ; preds = %14541
  br label %14548

14548:                                            ; preds = %14547
  br label %14549

14549:                                            ; preds = %14548
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #11
  %14550 = call ptr @__errno_location() #12
  %14551 = load i32, ptr %14550, align 4, !tbaa !5
  store i32 %14551, ptr %363, align 4, !tbaa !5
  %14552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14553 = call i32 @s2n_print_stacktrace(ptr noundef %14552)
  %14554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14555 = trunc i8 %14554 to i1
  br i1 %14555, label %14556, label %14578

14556:                                            ; preds = %14549
  %14557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14558 = call i32 @fileno(ptr noundef %14557) #11
  %14559 = call i32 @isatty(i32 noundef %14558) #11
  %14560 = icmp ne i32 %14559, 0
  br i1 %14560, label %14561, label %14578

14561:                                            ; preds = %14556
  %14562 = load i32, ptr %363, align 4, !tbaa !5
  %14563 = call ptr @__errno_location() #12
  store i32 %14562, ptr %14563, align 4, !tbaa !5
  %14564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14565 = load i32, ptr @test_count, align 4, !tbaa !5
  %14566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14567 = load i32, ptr %14566, align 4, !tbaa !5
  %14568 = call ptr @s2n_strerror(i32 noundef %14567, ptr noundef @.str.4)
  %14569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14570 = load i32, ptr %14569, align 4, !tbaa !5
  %14571 = call ptr @s2n_strerror_debug(i32 noundef %14570, ptr noundef @.str.4)
  %14572 = call ptr @__errno_location() #12
  %14573 = load i32, ptr %14572, align 4, !tbaa !5
  %14574 = call ptr @strerror(i32 noundef %14573) #11
  %14575 = call ptr @__errno_location() #12
  %14576 = load i32, ptr %14575, align 4, !tbaa !5
  %14577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14564, ptr noundef @.str.2, i32 noundef %14565, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 810, ptr noundef %14568, ptr noundef %14571, ptr noundef %14574, i32 noundef %14576) #11
  br label %14595

14578:                                            ; preds = %14556, %14549
  %14579 = load i32, ptr %363, align 4, !tbaa !5
  %14580 = call ptr @__errno_location() #12
  store i32 %14579, ptr %14580, align 4, !tbaa !5
  %14581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14582 = load i32, ptr @test_count, align 4, !tbaa !5
  %14583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14584 = load i32, ptr %14583, align 4, !tbaa !5
  %14585 = call ptr @s2n_strerror(i32 noundef %14584, ptr noundef @.str.4)
  %14586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14587 = load i32, ptr %14586, align 4, !tbaa !5
  %14588 = call ptr @s2n_strerror_debug(i32 noundef %14587, ptr noundef @.str.4)
  %14589 = call ptr @__errno_location() #12
  %14590 = load i32, ptr %14589, align 4, !tbaa !5
  %14591 = call ptr @strerror(i32 noundef %14590) #11
  %14592 = call ptr @__errno_location() #12
  %14593 = load i32, ptr %14592, align 4, !tbaa !5
  %14594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14581, ptr noundef @.str.5, i32 noundef %14582, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 810, ptr noundef %14585, ptr noundef %14588, ptr noundef %14591, i32 noundef %14593) #11
  br label %14595

14595:                                            ; preds = %14578, %14561
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #11
  br label %14596

14596:                                            ; preds = %14595
  br label %14597

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

14598:                                            ; No predecessors!
  br label %14599

14599:                                            ; preds = %14598
  br label %14600

14600:                                            ; preds = %14599, %14541
  br label %14601

14601:                                            ; preds = %14600
  br label %14602

14602:                                            ; preds = %14601
  call void @llvm.lifetime.start.p0(i64 1, ptr %364) #11
  store i8 3, ptr %364, align 1, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 8, ptr %365) #11
  store i64 0, ptr %365, align 8, !tbaa !58
  br label %14603

14603:                                            ; preds = %14675, %14602
  %14604 = load i64, ptr %365, align 8, !tbaa !58
  %14605 = load i8, ptr %364, align 1, !tbaa !81
  %14606 = zext i8 %14605 to i64
  %14607 = icmp ult i64 %14604, %14606
  br i1 %14607, label %14609, label %14608

14608:                                            ; preds = %14603
  store i32 1324, ptr %239, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %365) #11
  br label %14678

14609:                                            ; preds = %14603
  br label %14610

14610:                                            ; preds = %14609
  %14611 = load i32, ptr @test_count, align 4, !tbaa !5
  %14612 = add nsw i32 %14611, 1
  store i32 %14612, ptr @test_count, align 4, !tbaa !5
  %14613 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %362, i32 0, i32 1
  %14614 = call i32 @s2n_write_test_identity(ptr noundef %14613, ptr noundef %360)
  %14615 = getelementptr inbounds %struct.s2n_result, ptr %366, i32 0, i32 0
  store i32 %14614, ptr %14615, align 4
  %14616 = getelementptr inbounds %struct.s2n_result, ptr %366, i32 0, i32 0
  %14617 = load i32, ptr %14616, align 4
  %14618 = call zeroext i1 @s2n_result_is_ok(i32 %14617)
  br i1 %14618, label %14672, label %14619

14619:                                            ; preds = %14610
  br label %14620

14620:                                            ; preds = %14619
  br label %14621

14621:                                            ; preds = %14620
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %14622 = call ptr @__errno_location() #12
  %14623 = load i32, ptr %14622, align 4, !tbaa !5
  store i32 %14623, ptr %367, align 4, !tbaa !5
  %14624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14625 = call i32 @s2n_print_stacktrace(ptr noundef %14624)
  %14626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14627 = trunc i8 %14626 to i1
  br i1 %14627, label %14628, label %14650

14628:                                            ; preds = %14621
  %14629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14630 = call i32 @fileno(ptr noundef %14629) #11
  %14631 = call i32 @isatty(i32 noundef %14630) #11
  %14632 = icmp ne i32 %14631, 0
  br i1 %14632, label %14633, label %14650

14633:                                            ; preds = %14628
  %14634 = load i32, ptr %367, align 4, !tbaa !5
  %14635 = call ptr @__errno_location() #12
  store i32 %14634, ptr %14635, align 4, !tbaa !5
  %14636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14637 = load i32, ptr @test_count, align 4, !tbaa !5
  %14638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14639 = load i32, ptr %14638, align 4, !tbaa !5
  %14640 = call ptr @s2n_strerror(i32 noundef %14639, ptr noundef @.str.4)
  %14641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14642 = load i32, ptr %14641, align 4, !tbaa !5
  %14643 = call ptr @s2n_strerror_debug(i32 noundef %14642, ptr noundef @.str.4)
  %14644 = call ptr @__errno_location() #12
  %14645 = load i32, ptr %14644, align 4, !tbaa !5
  %14646 = call ptr @strerror(i32 noundef %14645) #11
  %14647 = call ptr @__errno_location() #12
  %14648 = load i32, ptr %14647, align 4, !tbaa !5
  %14649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14636, ptr noundef @.str.2, i32 noundef %14637, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 814, ptr noundef %14640, ptr noundef %14643, ptr noundef %14646, i32 noundef %14648) #11
  br label %14667

14650:                                            ; preds = %14628, %14621
  %14651 = load i32, ptr %367, align 4, !tbaa !5
  %14652 = call ptr @__errno_location() #12
  store i32 %14651, ptr %14652, align 4, !tbaa !5
  %14653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14654 = load i32, ptr @test_count, align 4, !tbaa !5
  %14655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14656 = load i32, ptr %14655, align 4, !tbaa !5
  %14657 = call ptr @s2n_strerror(i32 noundef %14656, ptr noundef @.str.4)
  %14658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14659 = load i32, ptr %14658, align 4, !tbaa !5
  %14660 = call ptr @s2n_strerror_debug(i32 noundef %14659, ptr noundef @.str.4)
  %14661 = call ptr @__errno_location() #12
  %14662 = load i32, ptr %14661, align 4, !tbaa !5
  %14663 = call ptr @strerror(i32 noundef %14662) #11
  %14664 = call ptr @__errno_location() #12
  %14665 = load i32, ptr %14664, align 4, !tbaa !5
  %14666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14653, ptr noundef @.str.5, i32 noundef %14654, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 814, ptr noundef %14657, ptr noundef %14660, ptr noundef %14663, i32 noundef %14665) #11
  br label %14667

14667:                                            ; preds = %14650, %14633
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %14668

14668:                                            ; preds = %14667
  br label %14669

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

14670:                                            ; No predecessors!
  br label %14671

14671:                                            ; preds = %14670
  br label %14672

14672:                                            ; preds = %14671, %14610
  br label %14673

14673:                                            ; preds = %14672
  br label %14674

14674:                                            ; preds = %14673
  br label %14675

14675:                                            ; preds = %14674
  %14676 = load i64, ptr %365, align 8, !tbaa !58
  %14677 = add i64 %14676, 1
  store i64 %14677, ptr %365, align 8, !tbaa !58
  br label %14603, !llvm.loop !103

14678:                                            ; preds = %14608
  br label %14679

14679:                                            ; preds = %14678
  %14680 = load i32, ptr @test_count, align 4, !tbaa !5
  %14681 = add nsw i32 %14680, 1
  store i32 %14681, ptr @test_count, align 4, !tbaa !5
  %14682 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %362, i32 0, i32 1
  %14683 = getelementptr inbounds %struct.s2n_stuffer, ptr %355, i32 0, i32 0
  %14684 = call i32 @s2n_write_test_identity(ptr noundef %14682, ptr noundef %14683)
  %14685 = getelementptr inbounds %struct.s2n_result, ptr %368, i32 0, i32 0
  store i32 %14684, ptr %14685, align 4
  %14686 = getelementptr inbounds %struct.s2n_result, ptr %368, i32 0, i32 0
  %14687 = load i32, ptr %14686, align 4
  %14688 = call zeroext i1 @s2n_result_is_ok(i32 %14687)
  br i1 %14688, label %14742, label %14689

14689:                                            ; preds = %14679
  br label %14690

14690:                                            ; preds = %14689
  br label %14691

14691:                                            ; preds = %14690
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  %14692 = call ptr @__errno_location() #12
  %14693 = load i32, ptr %14692, align 4, !tbaa !5
  store i32 %14693, ptr %369, align 4, !tbaa !5
  %14694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14695 = call i32 @s2n_print_stacktrace(ptr noundef %14694)
  %14696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14697 = trunc i8 %14696 to i1
  br i1 %14697, label %14698, label %14720

14698:                                            ; preds = %14691
  %14699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14700 = call i32 @fileno(ptr noundef %14699) #11
  %14701 = call i32 @isatty(i32 noundef %14700) #11
  %14702 = icmp ne i32 %14701, 0
  br i1 %14702, label %14703, label %14720

14703:                                            ; preds = %14698
  %14704 = load i32, ptr %369, align 4, !tbaa !5
  %14705 = call ptr @__errno_location() #12
  store i32 %14704, ptr %14705, align 4, !tbaa !5
  %14706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14707 = load i32, ptr @test_count, align 4, !tbaa !5
  %14708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14709 = load i32, ptr %14708, align 4, !tbaa !5
  %14710 = call ptr @s2n_strerror(i32 noundef %14709, ptr noundef @.str.4)
  %14711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14712 = load i32, ptr %14711, align 4, !tbaa !5
  %14713 = call ptr @s2n_strerror_debug(i32 noundef %14712, ptr noundef @.str.4)
  %14714 = call ptr @__errno_location() #12
  %14715 = load i32, ptr %14714, align 4, !tbaa !5
  %14716 = call ptr @strerror(i32 noundef %14715) #11
  %14717 = call ptr @__errno_location() #12
  %14718 = load i32, ptr %14717, align 4, !tbaa !5
  %14719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14706, ptr noundef @.str.2, i32 noundef %14707, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 816, ptr noundef %14710, ptr noundef %14713, ptr noundef %14716, i32 noundef %14718) #11
  br label %14737

14720:                                            ; preds = %14698, %14691
  %14721 = load i32, ptr %369, align 4, !tbaa !5
  %14722 = call ptr @__errno_location() #12
  store i32 %14721, ptr %14722, align 4, !tbaa !5
  %14723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14724 = load i32, ptr @test_count, align 4, !tbaa !5
  %14725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14726 = load i32, ptr %14725, align 4, !tbaa !5
  %14727 = call ptr @s2n_strerror(i32 noundef %14726, ptr noundef @.str.4)
  %14728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14729 = load i32, ptr %14728, align 4, !tbaa !5
  %14730 = call ptr @s2n_strerror_debug(i32 noundef %14729, ptr noundef @.str.4)
  %14731 = call ptr @__errno_location() #12
  %14732 = load i32, ptr %14731, align 4, !tbaa !5
  %14733 = call ptr @strerror(i32 noundef %14732) #11
  %14734 = call ptr @__errno_location() #12
  %14735 = load i32, ptr %14734, align 4, !tbaa !5
  %14736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14723, ptr noundef @.str.5, i32 noundef %14724, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 816, ptr noundef %14727, ptr noundef %14730, ptr noundef %14733, i32 noundef %14735) #11
  br label %14737

14737:                                            ; preds = %14720, %14703
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  br label %14738

14738:                                            ; preds = %14737
  br label %14739

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

14740:                                            ; No predecessors!
  br label %14741

14741:                                            ; preds = %14740
  br label %14742

14742:                                            ; preds = %14741, %14679
  br label %14743

14743:                                            ; preds = %14742
  br label %14744

14744:                                            ; preds = %14743
  br label %14745

14745:                                            ; preds = %14744
  br label %14746

14746:                                            ; preds = %14745
  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 %348, align 8, !tbaa !9
  %14751 = call i32 @s2n_select_resumption_psk(ptr noundef %14750, ptr noundef %362)
  %14752 = getelementptr inbounds %struct.s2n_result, ptr %370, i32 0, i32 0
  store i32 %14751, ptr %14752, align 4
  %14753 = getelementptr inbounds %struct.s2n_result, ptr %370, i32 0, i32 0
  %14754 = load i32, ptr %14753, align 4
  %14755 = call zeroext i1 @s2n_result_is_error(i32 %14754)
  br i1 %14755, label %14809, label %14756

14756:                                            ; preds = %14747
  br label %14757

14757:                                            ; preds = %14756
  br label %14758

14758:                                            ; preds = %14757
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #11
  %14759 = call ptr @__errno_location() #12
  %14760 = load i32, ptr %14759, align 4, !tbaa !5
  store i32 %14760, ptr %371, align 4, !tbaa !5
  %14761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14762 = call i32 @s2n_print_stacktrace(ptr noundef %14761)
  %14763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14764 = trunc i8 %14763 to i1
  br i1 %14764, label %14765, label %14787

14765:                                            ; preds = %14758
  %14766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14767 = call i32 @fileno(ptr noundef %14766) #11
  %14768 = call i32 @isatty(i32 noundef %14767) #11
  %14769 = icmp ne i32 %14768, 0
  br i1 %14769, label %14770, label %14787

14770:                                            ; preds = %14765
  %14771 = load i32, ptr %371, align 4, !tbaa !5
  %14772 = call ptr @__errno_location() #12
  store i32 %14771, ptr %14772, align 4, !tbaa !5
  %14773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14774 = load i32, ptr @test_count, align 4, !tbaa !5
  %14775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14776 = load i32, ptr %14775, align 4, !tbaa !5
  %14777 = call ptr @s2n_strerror(i32 noundef %14776, ptr noundef @.str.4)
  %14778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14779 = load i32, ptr %14778, align 4, !tbaa !5
  %14780 = call ptr @s2n_strerror_debug(i32 noundef %14779, ptr noundef @.str.4)
  %14781 = call ptr @__errno_location() #12
  %14782 = load i32, ptr %14781, align 4, !tbaa !5
  %14783 = call ptr @strerror(i32 noundef %14782) #11
  %14784 = call ptr @__errno_location() #12
  %14785 = load i32, ptr %14784, align 4, !tbaa !5
  %14786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14773, ptr noundef @.str.2, i32 noundef %14774, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 818, ptr noundef %14777, ptr noundef %14780, ptr noundef %14783, i32 noundef %14785) #11
  br label %14804

14787:                                            ; preds = %14765, %14758
  %14788 = load i32, ptr %371, align 4, !tbaa !5
  %14789 = call ptr @__errno_location() #12
  store i32 %14788, ptr %14789, align 4, !tbaa !5
  %14790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14791 = load i32, ptr @test_count, align 4, !tbaa !5
  %14792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14793 = load i32, ptr %14792, align 4, !tbaa !5
  %14794 = call ptr @s2n_strerror(i32 noundef %14793, ptr noundef @.str.4)
  %14795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14796 = load i32, ptr %14795, align 4, !tbaa !5
  %14797 = call ptr @s2n_strerror_debug(i32 noundef %14796, ptr noundef @.str.4)
  %14798 = call ptr @__errno_location() #12
  %14799 = load i32, ptr %14798, align 4, !tbaa !5
  %14800 = call ptr @strerror(i32 noundef %14799) #11
  %14801 = call ptr @__errno_location() #12
  %14802 = load i32, ptr %14801, align 4, !tbaa !5
  %14803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14790, ptr noundef @.str.5, i32 noundef %14791, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 818, ptr noundef %14794, ptr noundef %14797, ptr noundef %14800, i32 noundef %14802) #11
  br label %14804

14804:                                            ; preds = %14787, %14770
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #11
  br label %14805

14805:                                            ; preds = %14804
  br label %14806

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

14807:                                            ; No predecessors!
  br label %14808

14808:                                            ; preds = %14807
  br label %14809

14809:                                            ; preds = %14808, %14747
  br label %14810

14810:                                            ; preds = %14809
  br label %14811

14811:                                            ; preds = %14810
  br label %14812

14812:                                            ; preds = %14811
  %14813 = load i32, ptr @test_count, align 4, !tbaa !5
  %14814 = add nsw i32 %14813, 1
  store i32 %14814, ptr @test_count, align 4, !tbaa !5
  %14815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14816 = load i32, ptr %14815, align 4, !tbaa !5
  %14817 = icmp eq i32 %14816, 469762110
  br i1 %14817, label %14871, label %14818

14818:                                            ; preds = %14812
  br label %14819

14819:                                            ; preds = %14818
  br label %14820

14820:                                            ; preds = %14819
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  %14821 = call ptr @__errno_location() #12
  %14822 = load i32, ptr %14821, align 4, !tbaa !5
  store i32 %14822, ptr %372, align 4, !tbaa !5
  %14823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14824 = call i32 @s2n_print_stacktrace(ptr noundef %14823)
  %14825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14826 = trunc i8 %14825 to i1
  br i1 %14826, label %14827, label %14849

14827:                                            ; preds = %14820
  %14828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14829 = call i32 @fileno(ptr noundef %14828) #11
  %14830 = call i32 @isatty(i32 noundef %14829) #11
  %14831 = icmp ne i32 %14830, 0
  br i1 %14831, label %14832, label %14849

14832:                                            ; preds = %14827
  %14833 = load i32, ptr %372, align 4, !tbaa !5
  %14834 = call ptr @__errno_location() #12
  store i32 %14833, ptr %14834, align 4, !tbaa !5
  %14835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14836 = load i32, ptr @test_count, align 4, !tbaa !5
  %14837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14838 = load i32, ptr %14837, align 4, !tbaa !5
  %14839 = call ptr @s2n_strerror(i32 noundef %14838, ptr noundef @.str.4)
  %14840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14841 = load i32, ptr %14840, align 4, !tbaa !5
  %14842 = call ptr @s2n_strerror_debug(i32 noundef %14841, ptr noundef @.str.4)
  %14843 = call ptr @__errno_location() #12
  %14844 = load i32, ptr %14843, align 4, !tbaa !5
  %14845 = call ptr @strerror(i32 noundef %14844) #11
  %14846 = call ptr @__errno_location() #12
  %14847 = load i32, ptr %14846, align 4, !tbaa !5
  %14848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14835, ptr noundef @.str.2, i32 noundef %14836, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 818, ptr noundef %14839, ptr noundef %14842, ptr noundef %14845, i32 noundef %14847) #11
  br label %14866

14849:                                            ; preds = %14827, %14820
  %14850 = load i32, ptr %372, align 4, !tbaa !5
  %14851 = call ptr @__errno_location() #12
  store i32 %14850, ptr %14851, align 4, !tbaa !5
  %14852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14853 = load i32, ptr @test_count, align 4, !tbaa !5
  %14854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14855 = load i32, ptr %14854, align 4, !tbaa !5
  %14856 = call ptr @s2n_strerror(i32 noundef %14855, ptr noundef @.str.4)
  %14857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14858 = load i32, ptr %14857, align 4, !tbaa !5
  %14859 = call ptr @s2n_strerror_debug(i32 noundef %14858, ptr noundef @.str.4)
  %14860 = call ptr @__errno_location() #12
  %14861 = load i32, ptr %14860, align 4, !tbaa !5
  %14862 = call ptr @strerror(i32 noundef %14861) #11
  %14863 = call ptr @__errno_location() #12
  %14864 = load i32, ptr %14863, align 4, !tbaa !5
  %14865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14852, ptr noundef @.str.5, i32 noundef %14853, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 818, ptr noundef %14856, ptr noundef %14859, ptr noundef %14862, i32 noundef %14864) #11
  br label %14866

14866:                                            ; preds = %14849, %14832
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  br label %14867

14867:                                            ; preds = %14866
  br label %14868

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

14869:                                            ; No predecessors!
  br label %14870

14870:                                            ; preds = %14869
  br label %14871

14871:                                            ; preds = %14870, %14812
  br label %14872

14872:                                            ; preds = %14871
  br label %14873

14873:                                            ; preds = %14872
  br label %14874

14874:                                            ; preds = %14873
  %14875 = load i32, ptr @test_count, align 4, !tbaa !5
  %14876 = add nsw i32 %14875, 1
  store i32 %14876, ptr @test_count, align 4, !tbaa !5
  %14877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14878 = load i32, ptr %14877, align 4, !tbaa !5
  %14879 = call ptr @s2n_strerror_debug(i32 noundef %14878, ptr noundef @.str.4)
  %14880 = icmp eq ptr %14879, null
  br i1 %14880, label %14881, label %14934

14881:                                            ; preds = %14874
  br label %14882

14882:                                            ; preds = %14881
  br label %14883

14883:                                            ; preds = %14882
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #11
  %14884 = call ptr @__errno_location() #12
  %14885 = load i32, ptr %14884, align 4, !tbaa !5
  store i32 %14885, ptr %373, align 4, !tbaa !5
  %14886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14887 = call i32 @s2n_print_stacktrace(ptr noundef %14886)
  %14888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14889 = trunc i8 %14888 to i1
  br i1 %14889, label %14890, label %14912

14890:                                            ; preds = %14883
  %14891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14892 = call i32 @fileno(ptr noundef %14891) #11
  %14893 = call i32 @isatty(i32 noundef %14892) #11
  %14894 = icmp ne i32 %14893, 0
  br i1 %14894, label %14895, label %14912

14895:                                            ; preds = %14890
  %14896 = load i32, ptr %373, align 4, !tbaa !5
  %14897 = call ptr @__errno_location() #12
  store i32 %14896, ptr %14897, align 4, !tbaa !5
  %14898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14899 = load i32, ptr @test_count, align 4, !tbaa !5
  %14900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14901 = load i32, ptr %14900, align 4, !tbaa !5
  %14902 = call ptr @s2n_strerror(i32 noundef %14901, ptr noundef @.str.4)
  %14903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14904 = load i32, ptr %14903, align 4, !tbaa !5
  %14905 = call ptr @s2n_strerror_debug(i32 noundef %14904, ptr noundef @.str.4)
  %14906 = call ptr @__errno_location() #12
  %14907 = load i32, ptr %14906, align 4, !tbaa !5
  %14908 = call ptr @strerror(i32 noundef %14907) #11
  %14909 = call ptr @__errno_location() #12
  %14910 = load i32, ptr %14909, align 4, !tbaa !5
  %14911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14898, ptr noundef @.str.2, i32 noundef %14899, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 818, ptr noundef %14902, ptr noundef %14905, ptr noundef %14908, i32 noundef %14910) #11
  br label %14929

14912:                                            ; preds = %14890, %14883
  %14913 = load i32, ptr %373, align 4, !tbaa !5
  %14914 = call ptr @__errno_location() #12
  store i32 %14913, ptr %14914, align 4, !tbaa !5
  %14915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14916 = load i32, ptr @test_count, align 4, !tbaa !5
  %14917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14918 = load i32, ptr %14917, align 4, !tbaa !5
  %14919 = call ptr @s2n_strerror(i32 noundef %14918, ptr noundef @.str.4)
  %14920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14921 = load i32, ptr %14920, align 4, !tbaa !5
  %14922 = call ptr @s2n_strerror_debug(i32 noundef %14921, ptr noundef @.str.4)
  %14923 = call ptr @__errno_location() #12
  %14924 = load i32, ptr %14923, align 4, !tbaa !5
  %14925 = call ptr @strerror(i32 noundef %14924) #11
  %14926 = call ptr @__errno_location() #12
  %14927 = load i32, ptr %14926, align 4, !tbaa !5
  %14928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14915, ptr noundef @.str.5, i32 noundef %14916, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 818, ptr noundef %14919, ptr noundef %14922, ptr noundef %14925, i32 noundef %14927) #11
  br label %14929

14929:                                            ; preds = %14912, %14895
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #11
  br label %14930

14930:                                            ; preds = %14929
  br label %14931

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

14932:                                            ; No predecessors!
  br label %14933

14933:                                            ; preds = %14932
  br label %14934

14934:                                            ; preds = %14933, %14874
  br label %14935

14935:                                            ; preds = %14934
  br label %14936

14936:                                            ; preds = %14935
  br label %14937

14937:                                            ; preds = %14936
  br label %14938

14938:                                            ; preds = %14937
  br label %14939

14939:                                            ; preds = %14938
  %14940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14940, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14941 = call ptr @__errno_location() #12
  store i32 0, ptr %14941, align 4, !tbaa !5
  br label %14942

14942:                                            ; preds = %14939
  br label %14943

14943:                                            ; preds = %14942
  br label %14944

14944:                                            ; preds = %14943
  br label %14945

14945:                                            ; preds = %14944
  br label %14946

14946:                                            ; preds = %14945
  %14947 = load i32, ptr @test_count, align 4, !tbaa !5
  %14948 = add nsw i32 %14947, 1
  store i32 %14948, ptr @test_count, align 4, !tbaa !5
  %14949 = load ptr, ptr %348, align 8, !tbaa !9
  %14950 = getelementptr inbounds %struct.s2n_connection, ptr %14949, i32 0, i32 33
  %14951 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %14950, i32 0, i32 4
  %14952 = load ptr, ptr %14951, align 8, !tbaa !100
  %14953 = icmp eq ptr %14952, null
  br i1 %14953, label %15007, label %14954

14954:                                            ; preds = %14946
  br label %14955

14955:                                            ; preds = %14954
  br label %14956

14956:                                            ; preds = %14955
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #11
  %14957 = call ptr @__errno_location() #12
  %14958 = load i32, ptr %14957, align 4, !tbaa !5
  store i32 %14958, ptr %374, align 4, !tbaa !5
  %14959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14960 = call i32 @s2n_print_stacktrace(ptr noundef %14959)
  %14961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14962 = trunc i8 %14961 to i1
  br i1 %14962, label %14963, label %14985

14963:                                            ; preds = %14956
  %14964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14965 = call i32 @fileno(ptr noundef %14964) #11
  %14966 = call i32 @isatty(i32 noundef %14965) #11
  %14967 = icmp ne i32 %14966, 0
  br i1 %14967, label %14968, label %14985

14968:                                            ; preds = %14963
  %14969 = load i32, ptr %374, align 4, !tbaa !5
  %14970 = call ptr @__errno_location() #12
  store i32 %14969, ptr %14970, align 4, !tbaa !5
  %14971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14972 = load i32, ptr @test_count, align 4, !tbaa !5
  %14973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14974 = load i32, ptr %14973, align 4, !tbaa !5
  %14975 = call ptr @s2n_strerror(i32 noundef %14974, ptr noundef @.str.4)
  %14976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14977 = load i32, ptr %14976, align 4, !tbaa !5
  %14978 = call ptr @s2n_strerror_debug(i32 noundef %14977, ptr noundef @.str.4)
  %14979 = call ptr @__errno_location() #12
  %14980 = load i32, ptr %14979, align 4, !tbaa !5
  %14981 = call ptr @strerror(i32 noundef %14980) #11
  %14982 = call ptr @__errno_location() #12
  %14983 = load i32, ptr %14982, align 4, !tbaa !5
  %14984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14971, ptr noundef @.str.2, i32 noundef %14972, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 819, ptr noundef %14975, ptr noundef %14978, ptr noundef %14981, i32 noundef %14983) #11
  br label %15002

14985:                                            ; preds = %14963, %14956
  %14986 = load i32, ptr %374, align 4, !tbaa !5
  %14987 = call ptr @__errno_location() #12
  store i32 %14986, ptr %14987, align 4, !tbaa !5
  %14988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14989 = load i32, ptr @test_count, align 4, !tbaa !5
  %14990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14991 = load i32, ptr %14990, align 4, !tbaa !5
  %14992 = call ptr @s2n_strerror(i32 noundef %14991, ptr noundef @.str.4)
  %14993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14994 = load i32, ptr %14993, align 4, !tbaa !5
  %14995 = call ptr @s2n_strerror_debug(i32 noundef %14994, ptr noundef @.str.4)
  %14996 = call ptr @__errno_location() #12
  %14997 = load i32, ptr %14996, align 4, !tbaa !5
  %14998 = call ptr @strerror(i32 noundef %14997) #11
  %14999 = call ptr @__errno_location() #12
  %15000 = load i32, ptr %14999, align 4, !tbaa !5
  %15001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14988, ptr noundef @.str.5, i32 noundef %14989, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 819, ptr noundef %14992, ptr noundef %14995, ptr noundef %14998, i32 noundef %15000) #11
  br label %15002

15002:                                            ; preds = %14985, %14968
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #11
  br label %15003

15003:                                            ; preds = %15002
  br label %15004

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

15005:                                            ; No predecessors!
  br label %15006

15006:                                            ; preds = %15005
  br label %15007

15007:                                            ; preds = %15006, %14946
  br label %15008

15008:                                            ; preds = %15007
  br label %15009

15009:                                            ; preds = %15008
  br label %15010

15010:                                            ; preds = %15009
  %15011 = load i32, ptr @test_count, align 4, !tbaa !5
  %15012 = add nsw i32 %15011, 1
  store i32 %15012, ptr @test_count, align 4, !tbaa !5
  %15013 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %362, i32 0, i32 1
  %15014 = call i32 @s2n_stuffer_free(ptr noundef %15013)
  %15015 = icmp eq i32 %15014, -1
  br i1 %15015, label %15016, label %15069

15016:                                            ; preds = %15010
  br label %15017

15017:                                            ; preds = %15016
  br label %15018

15018:                                            ; preds = %15017
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  %15019 = call ptr @__errno_location() #12
  %15020 = load i32, ptr %15019, align 4, !tbaa !5
  store i32 %15020, ptr %375, align 4, !tbaa !5
  %15021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15022 = call i32 @s2n_print_stacktrace(ptr noundef %15021)
  %15023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15024 = trunc i8 %15023 to i1
  br i1 %15024, label %15025, label %15047

15025:                                            ; preds = %15018
  %15026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15027 = call i32 @fileno(ptr noundef %15026) #11
  %15028 = call i32 @isatty(i32 noundef %15027) #11
  %15029 = icmp ne i32 %15028, 0
  br i1 %15029, label %15030, label %15047

15030:                                            ; preds = %15025
  %15031 = load i32, ptr %375, align 4, !tbaa !5
  %15032 = call ptr @__errno_location() #12
  store i32 %15031, ptr %15032, align 4, !tbaa !5
  %15033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15034 = load i32, ptr @test_count, align 4, !tbaa !5
  %15035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15036 = load i32, ptr %15035, align 4, !tbaa !5
  %15037 = call ptr @s2n_strerror(i32 noundef %15036, ptr noundef @.str.4)
  %15038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15039 = load i32, ptr %15038, align 4, !tbaa !5
  %15040 = call ptr @s2n_strerror_debug(i32 noundef %15039, ptr noundef @.str.4)
  %15041 = call ptr @__errno_location() #12
  %15042 = load i32, ptr %15041, align 4, !tbaa !5
  %15043 = call ptr @strerror(i32 noundef %15042) #11
  %15044 = call ptr @__errno_location() #12
  %15045 = load i32, ptr %15044, align 4, !tbaa !5
  %15046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15033, ptr noundef @.str.2, i32 noundef %15034, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 821, ptr noundef %15037, ptr noundef %15040, ptr noundef %15043, i32 noundef %15045) #11
  br label %15064

15047:                                            ; preds = %15025, %15018
  %15048 = load i32, ptr %375, align 4, !tbaa !5
  %15049 = call ptr @__errno_location() #12
  store i32 %15048, ptr %15049, align 4, !tbaa !5
  %15050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15051 = load i32, ptr @test_count, align 4, !tbaa !5
  %15052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15053 = load i32, ptr %15052, align 4, !tbaa !5
  %15054 = call ptr @s2n_strerror(i32 noundef %15053, ptr noundef @.str.4)
  %15055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15056 = load i32, ptr %15055, align 4, !tbaa !5
  %15057 = call ptr @s2n_strerror_debug(i32 noundef %15056, ptr noundef @.str.4)
  %15058 = call ptr @__errno_location() #12
  %15059 = load i32, ptr %15058, align 4, !tbaa !5
  %15060 = call ptr @strerror(i32 noundef %15059) #11
  %15061 = call ptr @__errno_location() #12
  %15062 = load i32, ptr %15061, align 4, !tbaa !5
  %15063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15050, ptr noundef @.str.5, i32 noundef %15051, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 821, ptr noundef %15054, ptr noundef %15057, ptr noundef %15060, i32 noundef %15062) #11
  br label %15064

15064:                                            ; preds = %15047, %15030
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #11
  br label %15065

15065:                                            ; preds = %15064
  br label %15066

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

15067:                                            ; No predecessors!
  br label %15068

15068:                                            ; preds = %15067
  br label %15069

15069:                                            ; preds = %15068, %15010
  br label %15070

15070:                                            ; preds = %15069
  br label %15071

15071:                                            ; preds = %15070
  br label %15072

15072:                                            ; preds = %15071
  %15073 = load i32, ptr @test_count, align 4, !tbaa !5
  %15074 = add nsw i32 %15073, 1
  store i32 %15074, ptr @test_count, align 4, !tbaa !5
  %15075 = load ptr, ptr %348, align 8, !tbaa !9
  %15076 = call i32 @s2n_connection_free(ptr noundef %15075)
  %15077 = icmp eq i32 %15076, -1
  br i1 %15077, label %15078, label %15131

15078:                                            ; preds = %15072
  br label %15079

15079:                                            ; preds = %15078
  br label %15080

15080:                                            ; preds = %15079
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #11
  %15081 = call ptr @__errno_location() #12
  %15082 = load i32, ptr %15081, align 4, !tbaa !5
  store i32 %15082, ptr %376, align 4, !tbaa !5
  %15083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15084 = call i32 @s2n_print_stacktrace(ptr noundef %15083)
  %15085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15086 = trunc i8 %15085 to i1
  br i1 %15086, label %15087, label %15109

15087:                                            ; preds = %15080
  %15088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15089 = call i32 @fileno(ptr noundef %15088) #11
  %15090 = call i32 @isatty(i32 noundef %15089) #11
  %15091 = icmp ne i32 %15090, 0
  br i1 %15091, label %15092, label %15109

15092:                                            ; preds = %15087
  %15093 = load i32, ptr %376, align 4, !tbaa !5
  %15094 = call ptr @__errno_location() #12
  store i32 %15093, ptr %15094, align 4, !tbaa !5
  %15095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15096 = load i32, ptr @test_count, align 4, !tbaa !5
  %15097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15098 = load i32, ptr %15097, align 4, !tbaa !5
  %15099 = call ptr @s2n_strerror(i32 noundef %15098, ptr noundef @.str.4)
  %15100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15101 = load i32, ptr %15100, align 4, !tbaa !5
  %15102 = call ptr @s2n_strerror_debug(i32 noundef %15101, ptr noundef @.str.4)
  %15103 = call ptr @__errno_location() #12
  %15104 = load i32, ptr %15103, align 4, !tbaa !5
  %15105 = call ptr @strerror(i32 noundef %15104) #11
  %15106 = call ptr @__errno_location() #12
  %15107 = load i32, ptr %15106, align 4, !tbaa !5
  %15108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15095, ptr noundef @.str.2, i32 noundef %15096, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 822, ptr noundef %15099, ptr noundef %15102, ptr noundef %15105, i32 noundef %15107) #11
  br label %15126

15109:                                            ; preds = %15087, %15080
  %15110 = load i32, ptr %376, align 4, !tbaa !5
  %15111 = call ptr @__errno_location() #12
  store i32 %15110, ptr %15111, align 4, !tbaa !5
  %15112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15113 = load i32, ptr @test_count, align 4, !tbaa !5
  %15114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15115 = load i32, ptr %15114, align 4, !tbaa !5
  %15116 = call ptr @s2n_strerror(i32 noundef %15115, ptr noundef @.str.4)
  %15117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15118 = load i32, ptr %15117, align 4, !tbaa !5
  %15119 = call ptr @s2n_strerror_debug(i32 noundef %15118, ptr noundef @.str.4)
  %15120 = call ptr @__errno_location() #12
  %15121 = load i32, ptr %15120, align 4, !tbaa !5
  %15122 = call ptr @strerror(i32 noundef %15121) #11
  %15123 = call ptr @__errno_location() #12
  %15124 = load i32, ptr %15123, align 4, !tbaa !5
  %15125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15112, ptr noundef @.str.5, i32 noundef %15113, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 822, ptr noundef %15116, ptr noundef %15119, ptr noundef %15122, i32 noundef %15124) #11
  br label %15126

15126:                                            ; preds = %15109, %15092
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #11
  br label %15127

15127:                                            ; preds = %15126
  br label %15128

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

15129:                                            ; No predecessors!
  br label %15130

15130:                                            ; preds = %15129
  br label %15131

15131:                                            ; preds = %15130, %15072
  br label %15132

15132:                                            ; preds = %15131
  br label %15133

15133:                                            ; preds = %15132
  br label %15134

15134:                                            ; preds = %15133
  %15135 = load i32, ptr @test_count, align 4, !tbaa !5
  %15136 = add nsw i32 %15135, 1
  store i32 %15136, ptr @test_count, align 4, !tbaa !5
  %15137 = load ptr, ptr %350, align 8, !tbaa !9
  %15138 = call i32 @s2n_config_free(ptr noundef %15137)
  %15139 = icmp eq i32 %15138, -1
  br i1 %15139, label %15140, label %15193

15140:                                            ; preds = %15134
  br label %15141

15141:                                            ; preds = %15140
  br label %15142

15142:                                            ; preds = %15141
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #11
  %15143 = call ptr @__errno_location() #12
  %15144 = load i32, ptr %15143, align 4, !tbaa !5
  store i32 %15144, ptr %377, align 4, !tbaa !5
  %15145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15146 = call i32 @s2n_print_stacktrace(ptr noundef %15145)
  %15147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15148 = trunc i8 %15147 to i1
  br i1 %15148, label %15149, label %15171

15149:                                            ; preds = %15142
  %15150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15151 = call i32 @fileno(ptr noundef %15150) #11
  %15152 = call i32 @isatty(i32 noundef %15151) #11
  %15153 = icmp ne i32 %15152, 0
  br i1 %15153, label %15154, label %15171

15154:                                            ; preds = %15149
  %15155 = load i32, ptr %377, align 4, !tbaa !5
  %15156 = call ptr @__errno_location() #12
  store i32 %15155, ptr %15156, align 4, !tbaa !5
  %15157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15158 = load i32, ptr @test_count, align 4, !tbaa !5
  %15159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15160 = load i32, ptr %15159, align 4, !tbaa !5
  %15161 = call ptr @s2n_strerror(i32 noundef %15160, ptr noundef @.str.4)
  %15162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15163 = load i32, ptr %15162, align 4, !tbaa !5
  %15164 = call ptr @s2n_strerror_debug(i32 noundef %15163, ptr noundef @.str.4)
  %15165 = call ptr @__errno_location() #12
  %15166 = load i32, ptr %15165, align 4, !tbaa !5
  %15167 = call ptr @strerror(i32 noundef %15166) #11
  %15168 = call ptr @__errno_location() #12
  %15169 = load i32, ptr %15168, align 4, !tbaa !5
  %15170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15157, ptr noundef @.str.2, i32 noundef %15158, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 823, ptr noundef %15161, ptr noundef %15164, ptr noundef %15167, i32 noundef %15169) #11
  br label %15188

15171:                                            ; preds = %15149, %15142
  %15172 = load i32, ptr %377, align 4, !tbaa !5
  %15173 = call ptr @__errno_location() #12
  store i32 %15172, ptr %15173, align 4, !tbaa !5
  %15174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15175 = load i32, ptr @test_count, align 4, !tbaa !5
  %15176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15177 = load i32, ptr %15176, align 4, !tbaa !5
  %15178 = call ptr @s2n_strerror(i32 noundef %15177, ptr noundef @.str.4)
  %15179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15180 = load i32, ptr %15179, align 4, !tbaa !5
  %15181 = call ptr @s2n_strerror_debug(i32 noundef %15180, ptr noundef @.str.4)
  %15182 = call ptr @__errno_location() #12
  %15183 = load i32, ptr %15182, align 4, !tbaa !5
  %15184 = call ptr @strerror(i32 noundef %15183) #11
  %15185 = call ptr @__errno_location() #12
  %15186 = load i32, ptr %15185, align 4, !tbaa !5
  %15187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15174, ptr noundef @.str.5, i32 noundef %15175, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 823, ptr noundef %15178, ptr noundef %15181, ptr noundef %15184, i32 noundef %15186) #11
  br label %15188

15188:                                            ; preds = %15171, %15154
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #11
  br label %15189

15189:                                            ; preds = %15188
  br label %15190

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

15191:                                            ; No predecessors!
  br label %15192

15192:                                            ; preds = %15191
  br label %15193

15193:                                            ; preds = %15192, %15134
  br label %15194

15194:                                            ; preds = %15193
  br label %15195

15195:                                            ; preds = %15194
  call void @llvm.lifetime.end.p0(i64 1, ptr %364) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %362) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %360) #11
  call void @llvm.lifetime.end.p0(i64 6, ptr %359) #11
  %15196 = call i32 @s2n_stuffer_free(ptr noundef %355)
  call void @llvm.lifetime.end.p0(i64 40, ptr %355) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %350) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %348) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr %378) #11
  call void @llvm.memset.p0.i64(ptr align 8 %378, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %379) #11
  store ptr null, ptr %379, align 8, !tbaa !9
  br label %15197

15197:                                            ; preds = %15195
  %15198 = load i32, ptr @test_count, align 4, !tbaa !5
  %15199 = add nsw i32 %15198, 1
  store i32 %15199, ptr @test_count, align 4, !tbaa !5
  %15200 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15200, ptr %379, align 8, !tbaa !9
  %15201 = icmp eq ptr %15200, null
  br i1 %15201, label %15202, label %15255

15202:                                            ; preds = %15197
  br label %15203

15203:                                            ; preds = %15202
  br label %15204

15204:                                            ; preds = %15203
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #11
  %15205 = call ptr @__errno_location() #12
  %15206 = load i32, ptr %15205, align 4, !tbaa !5
  store i32 %15206, ptr %380, align 4, !tbaa !5
  %15207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15208 = call i32 @s2n_print_stacktrace(ptr noundef %15207)
  %15209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15210 = trunc i8 %15209 to i1
  br i1 %15210, label %15211, label %15233

15211:                                            ; preds = %15204
  %15212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15213 = call i32 @fileno(ptr noundef %15212) #11
  %15214 = call i32 @isatty(i32 noundef %15213) #11
  %15215 = icmp ne i32 %15214, 0
  br i1 %15215, label %15216, label %15233

15216:                                            ; preds = %15211
  %15217 = load i32, ptr %380, align 4, !tbaa !5
  %15218 = call ptr @__errno_location() #12
  store i32 %15217, ptr %15218, align 4, !tbaa !5
  %15219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15220 = load i32, ptr @test_count, align 4, !tbaa !5
  %15221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15222 = load i32, ptr %15221, align 4, !tbaa !5
  %15223 = call ptr @s2n_strerror(i32 noundef %15222, ptr noundef @.str.4)
  %15224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15225 = load i32, ptr %15224, align 4, !tbaa !5
  %15226 = call ptr @s2n_strerror_debug(i32 noundef %15225, ptr noundef @.str.4)
  %15227 = call ptr @__errno_location() #12
  %15228 = load i32, ptr %15227, align 4, !tbaa !5
  %15229 = call ptr @strerror(i32 noundef %15228) #11
  %15230 = call ptr @__errno_location() #12
  %15231 = load i32, ptr %15230, align 4, !tbaa !5
  %15232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15219, ptr noundef @.str.2, i32 noundef %15220, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 834, ptr noundef %15223, ptr noundef %15226, ptr noundef %15229, i32 noundef %15231) #11
  br label %15250

15233:                                            ; preds = %15211, %15204
  %15234 = load i32, ptr %380, align 4, !tbaa !5
  %15235 = call ptr @__errno_location() #12
  store i32 %15234, ptr %15235, align 4, !tbaa !5
  %15236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15237 = load i32, ptr @test_count, align 4, !tbaa !5
  %15238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15239 = load i32, ptr %15238, align 4, !tbaa !5
  %15240 = call ptr @s2n_strerror(i32 noundef %15239, ptr noundef @.str.4)
  %15241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15242 = load i32, ptr %15241, align 4, !tbaa !5
  %15243 = call ptr @s2n_strerror_debug(i32 noundef %15242, ptr noundef @.str.4)
  %15244 = call ptr @__errno_location() #12
  %15245 = load i32, ptr %15244, align 4, !tbaa !5
  %15246 = call ptr @strerror(i32 noundef %15245) #11
  %15247 = call ptr @__errno_location() #12
  %15248 = load i32, ptr %15247, align 4, !tbaa !5
  %15249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15236, ptr noundef @.str.5, i32 noundef %15237, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 834, ptr noundef %15240, ptr noundef %15243, ptr noundef %15246, i32 noundef %15248) #11
  br label %15250

15250:                                            ; preds = %15233, %15216
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #11
  br label %15251

15251:                                            ; preds = %15250
  br label %15252

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

15253:                                            ; No predecessors!
  br label %15254

15254:                                            ; preds = %15253
  br label %15255

15255:                                            ; preds = %15254, %15197
  br label %15256

15256:                                            ; preds = %15255
  br label %15257

15257:                                            ; preds = %15256
  br label %15258

15258:                                            ; preds = %15257
  br label %15259

15259:                                            ; preds = %15258
  br label %15260

15260:                                            ; preds = %15259
  %15261 = load i32, ptr @test_count, align 4, !tbaa !5
  %15262 = add nsw i32 %15261, 1
  store i32 %15262, ptr @test_count, align 4, !tbaa !5
  %15263 = load ptr, ptr %379, align 8, !tbaa !9
  %15264 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %15263, ptr noundef null)
  %15265 = getelementptr inbounds %struct.s2n_result, ptr %381, i32 0, i32 0
  store i32 %15264, ptr %15265, align 4
  %15266 = getelementptr inbounds %struct.s2n_result, ptr %381, i32 0, i32 0
  %15267 = load i32, ptr %15266, align 4
  %15268 = call zeroext i1 @s2n_result_is_error(i32 %15267)
  br i1 %15268, label %15322, label %15269

15269:                                            ; preds = %15260
  br label %15270

15270:                                            ; preds = %15269
  br label %15271

15271:                                            ; preds = %15270
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #11
  %15272 = call ptr @__errno_location() #12
  %15273 = load i32, ptr %15272, align 4, !tbaa !5
  store i32 %15273, ptr %382, align 4, !tbaa !5
  %15274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15275 = call i32 @s2n_print_stacktrace(ptr noundef %15274)
  %15276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15277 = trunc i8 %15276 to i1
  br i1 %15277, label %15278, label %15300

15278:                                            ; preds = %15271
  %15279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15280 = call i32 @fileno(ptr noundef %15279) #11
  %15281 = call i32 @isatty(i32 noundef %15280) #11
  %15282 = icmp ne i32 %15281, 0
  br i1 %15282, label %15283, label %15300

15283:                                            ; preds = %15278
  %15284 = load i32, ptr %382, align 4, !tbaa !5
  %15285 = call ptr @__errno_location() #12
  store i32 %15284, ptr %15285, align 4, !tbaa !5
  %15286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15287 = load i32, ptr @test_count, align 4, !tbaa !5
  %15288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15289 = load i32, ptr %15288, align 4, !tbaa !5
  %15290 = call ptr @s2n_strerror(i32 noundef %15289, ptr noundef @.str.4)
  %15291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15292 = load i32, ptr %15291, align 4, !tbaa !5
  %15293 = call ptr @s2n_strerror_debug(i32 noundef %15292, ptr noundef @.str.4)
  %15294 = call ptr @__errno_location() #12
  %15295 = load i32, ptr %15294, align 4, !tbaa !5
  %15296 = call ptr @strerror(i32 noundef %15295) #11
  %15297 = call ptr @__errno_location() #12
  %15298 = load i32, ptr %15297, align 4, !tbaa !5
  %15299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15286, ptr noundef @.str.2, i32 noundef %15287, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 836, ptr noundef %15290, ptr noundef %15293, ptr noundef %15296, i32 noundef %15298) #11
  br label %15317

15300:                                            ; preds = %15278, %15271
  %15301 = load i32, ptr %382, align 4, !tbaa !5
  %15302 = call ptr @__errno_location() #12
  store i32 %15301, ptr %15302, align 4, !tbaa !5
  %15303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15304 = load i32, ptr @test_count, align 4, !tbaa !5
  %15305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15306 = load i32, ptr %15305, align 4, !tbaa !5
  %15307 = call ptr @s2n_strerror(i32 noundef %15306, ptr noundef @.str.4)
  %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_debug(i32 noundef %15309, ptr noundef @.str.4)
  %15311 = call ptr @__errno_location() #12
  %15312 = load i32, ptr %15311, align 4, !tbaa !5
  %15313 = call ptr @strerror(i32 noundef %15312) #11
  %15314 = call ptr @__errno_location() #12
  %15315 = load i32, ptr %15314, align 4, !tbaa !5
  %15316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15303, ptr noundef @.str.5, i32 noundef %15304, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 836, ptr noundef %15307, ptr noundef %15310, ptr noundef %15313, i32 noundef %15315) #11
  br label %15317

15317:                                            ; preds = %15300, %15283
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #11
  br label %15318

15318:                                            ; preds = %15317
  br label %15319

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

15320:                                            ; No predecessors!
  br label %15321

15321:                                            ; preds = %15320
  br label %15322

15322:                                            ; preds = %15321, %15260
  br label %15323

15323:                                            ; preds = %15322
  br label %15324

15324:                                            ; preds = %15323
  br label %15325

15325:                                            ; preds = %15324
  %15326 = load i32, ptr @test_count, align 4, !tbaa !5
  %15327 = add nsw i32 %15326, 1
  store i32 %15327, ptr @test_count, align 4, !tbaa !5
  %15328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15329 = load i32, ptr %15328, align 4, !tbaa !5
  %15330 = icmp eq i32 %15329, 402653193
  br i1 %15330, label %15384, label %15331

15331:                                            ; preds = %15325
  br label %15332

15332:                                            ; preds = %15331
  br label %15333

15333:                                            ; preds = %15332
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #11
  %15334 = call ptr @__errno_location() #12
  %15335 = load i32, ptr %15334, align 4, !tbaa !5
  store i32 %15335, ptr %383, align 4, !tbaa !5
  %15336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15337 = call i32 @s2n_print_stacktrace(ptr noundef %15336)
  %15338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15339 = trunc i8 %15338 to i1
  br i1 %15339, label %15340, label %15362

15340:                                            ; preds = %15333
  %15341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15342 = call i32 @fileno(ptr noundef %15341) #11
  %15343 = call i32 @isatty(i32 noundef %15342) #11
  %15344 = icmp ne i32 %15343, 0
  br i1 %15344, label %15345, label %15362

15345:                                            ; preds = %15340
  %15346 = load i32, ptr %383, align 4, !tbaa !5
  %15347 = call ptr @__errno_location() #12
  store i32 %15346, ptr %15347, align 4, !tbaa !5
  %15348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15349 = load i32, ptr @test_count, align 4, !tbaa !5
  %15350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15351 = load i32, ptr %15350, align 4, !tbaa !5
  %15352 = call ptr @s2n_strerror(i32 noundef %15351, ptr noundef @.str.4)
  %15353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15354 = load i32, ptr %15353, align 4, !tbaa !5
  %15355 = call ptr @s2n_strerror_debug(i32 noundef %15354, ptr noundef @.str.4)
  %15356 = call ptr @__errno_location() #12
  %15357 = load i32, ptr %15356, align 4, !tbaa !5
  %15358 = call ptr @strerror(i32 noundef %15357) #11
  %15359 = call ptr @__errno_location() #12
  %15360 = load i32, ptr %15359, align 4, !tbaa !5
  %15361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15348, ptr noundef @.str.2, i32 noundef %15349, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 836, ptr noundef %15352, ptr noundef %15355, ptr noundef %15358, i32 noundef %15360) #11
  br label %15379

15362:                                            ; preds = %15340, %15333
  %15363 = load i32, ptr %383, align 4, !tbaa !5
  %15364 = call ptr @__errno_location() #12
  store i32 %15363, ptr %15364, align 4, !tbaa !5
  %15365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15366 = load i32, ptr @test_count, align 4, !tbaa !5
  %15367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15368 = load i32, ptr %15367, align 4, !tbaa !5
  %15369 = call ptr @s2n_strerror(i32 noundef %15368, ptr noundef @.str.4)
  %15370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15371 = load i32, ptr %15370, align 4, !tbaa !5
  %15372 = call ptr @s2n_strerror_debug(i32 noundef %15371, ptr noundef @.str.4)
  %15373 = call ptr @__errno_location() #12
  %15374 = load i32, ptr %15373, align 4, !tbaa !5
  %15375 = call ptr @strerror(i32 noundef %15374) #11
  %15376 = call ptr @__errno_location() #12
  %15377 = load i32, ptr %15376, align 4, !tbaa !5
  %15378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15365, ptr noundef @.str.5, i32 noundef %15366, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 836, ptr noundef %15369, ptr noundef %15372, ptr noundef %15375, i32 noundef %15377) #11
  br label %15379

15379:                                            ; preds = %15362, %15345
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #11
  br label %15380

15380:                                            ; preds = %15379
  br label %15381

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

15382:                                            ; No predecessors!
  br label %15383

15383:                                            ; preds = %15382
  br label %15384

15384:                                            ; preds = %15383, %15325
  br label %15385

15385:                                            ; preds = %15384
  br label %15386

15386:                                            ; preds = %15385
  br label %15387

15387:                                            ; preds = %15386
  %15388 = load i32, ptr @test_count, align 4, !tbaa !5
  %15389 = add nsw i32 %15388, 1
  store i32 %15389, ptr @test_count, align 4, !tbaa !5
  %15390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15391 = load i32, ptr %15390, align 4, !tbaa !5
  %15392 = call ptr @s2n_strerror_debug(i32 noundef %15391, ptr noundef @.str.4)
  %15393 = icmp eq ptr %15392, null
  br i1 %15393, label %15394, label %15447

15394:                                            ; preds = %15387
  br label %15395

15395:                                            ; preds = %15394
  br label %15396

15396:                                            ; preds = %15395
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #11
  %15397 = call ptr @__errno_location() #12
  %15398 = load i32, ptr %15397, align 4, !tbaa !5
  store i32 %15398, ptr %384, align 4, !tbaa !5
  %15399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15400 = call i32 @s2n_print_stacktrace(ptr noundef %15399)
  %15401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15402 = trunc i8 %15401 to i1
  br i1 %15402, label %15403, label %15425

15403:                                            ; preds = %15396
  %15404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15405 = call i32 @fileno(ptr noundef %15404) #11
  %15406 = call i32 @isatty(i32 noundef %15405) #11
  %15407 = icmp ne i32 %15406, 0
  br i1 %15407, label %15408, label %15425

15408:                                            ; preds = %15403
  %15409 = load i32, ptr %384, align 4, !tbaa !5
  %15410 = call ptr @__errno_location() #12
  store i32 %15409, ptr %15410, align 4, !tbaa !5
  %15411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15412 = load i32, ptr @test_count, align 4, !tbaa !5
  %15413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15414 = load i32, ptr %15413, align 4, !tbaa !5
  %15415 = call ptr @s2n_strerror(i32 noundef %15414, ptr noundef @.str.4)
  %15416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15417 = load i32, ptr %15416, align 4, !tbaa !5
  %15418 = call ptr @s2n_strerror_debug(i32 noundef %15417, ptr noundef @.str.4)
  %15419 = call ptr @__errno_location() #12
  %15420 = load i32, ptr %15419, align 4, !tbaa !5
  %15421 = call ptr @strerror(i32 noundef %15420) #11
  %15422 = call ptr @__errno_location() #12
  %15423 = load i32, ptr %15422, align 4, !tbaa !5
  %15424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15411, ptr noundef @.str.2, i32 noundef %15412, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 836, ptr noundef %15415, ptr noundef %15418, ptr noundef %15421, i32 noundef %15423) #11
  br label %15442

15425:                                            ; preds = %15403, %15396
  %15426 = load i32, ptr %384, align 4, !tbaa !5
  %15427 = call ptr @__errno_location() #12
  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.4)
  %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.4)
  %15436 = call ptr @__errno_location() #12
  %15437 = load i32, ptr %15436, align 4, !tbaa !5
  %15438 = call ptr @strerror(i32 noundef %15437) #11
  %15439 = call ptr @__errno_location() #12
  %15440 = load i32, ptr %15439, align 4, !tbaa !5
  %15441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15428, ptr noundef @.str.5, i32 noundef %15429, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 836, ptr noundef %15432, ptr noundef %15435, ptr noundef %15438, i32 noundef %15440) #11
  br label %15442

15442:                                            ; preds = %15425, %15408
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #11
  br label %15443

15443:                                            ; preds = %15442
  br label %15444

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

15445:                                            ; No predecessors!
  br label %15446

15446:                                            ; preds = %15445
  br label %15447

15447:                                            ; preds = %15446, %15387
  br label %15448

15448:                                            ; preds = %15447
  br label %15449

15449:                                            ; preds = %15448
  br label %15450

15450:                                            ; preds = %15449
  br label %15451

15451:                                            ; preds = %15450
  br label %15452

15452:                                            ; preds = %15451
  %15453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15453, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15454 = call ptr @__errno_location() #12
  store i32 0, ptr %15454, align 4, !tbaa !5
  br label %15455

15455:                                            ; preds = %15452
  br label %15456

15456:                                            ; preds = %15455
  br label %15457

15457:                                            ; preds = %15456
  br label %15458

15458:                                            ; preds = %15457
  br label %15459

15459:                                            ; preds = %15458
  br label %15460

15460:                                            ; preds = %15459
  br label %15461

15461:                                            ; preds = %15460
  %15462 = load i32, ptr @test_count, align 4, !tbaa !5
  %15463 = add nsw i32 %15462, 1
  store i32 %15463, ptr @test_count, align 4, !tbaa !5
  %15464 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef null, ptr noundef %378)
  %15465 = getelementptr inbounds %struct.s2n_result, ptr %385, i32 0, i32 0
  store i32 %15464, ptr %15465, align 4
  %15466 = getelementptr inbounds %struct.s2n_result, ptr %385, i32 0, i32 0
  %15467 = load i32, ptr %15466, align 4
  %15468 = call zeroext i1 @s2n_result_is_error(i32 %15467)
  br i1 %15468, label %15522, label %15469

15469:                                            ; preds = %15461
  br label %15470

15470:                                            ; preds = %15469
  br label %15471

15471:                                            ; preds = %15470
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #11
  %15472 = call ptr @__errno_location() #12
  %15473 = load i32, ptr %15472, align 4, !tbaa !5
  store i32 %15473, ptr %386, align 4, !tbaa !5
  %15474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15475 = call i32 @s2n_print_stacktrace(ptr noundef %15474)
  %15476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15477 = trunc i8 %15476 to i1
  br i1 %15477, label %15478, label %15500

15478:                                            ; preds = %15471
  %15479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15480 = call i32 @fileno(ptr noundef %15479) #11
  %15481 = call i32 @isatty(i32 noundef %15480) #11
  %15482 = icmp ne i32 %15481, 0
  br i1 %15482, label %15483, label %15500

15483:                                            ; preds = %15478
  %15484 = load i32, ptr %386, align 4, !tbaa !5
  %15485 = call ptr @__errno_location() #12
  store i32 %15484, ptr %15485, align 4, !tbaa !5
  %15486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15487 = load i32, ptr @test_count, align 4, !tbaa !5
  %15488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15489 = load i32, ptr %15488, align 4, !tbaa !5
  %15490 = call ptr @s2n_strerror(i32 noundef %15489, ptr noundef @.str.4)
  %15491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15492 = load i32, ptr %15491, align 4, !tbaa !5
  %15493 = call ptr @s2n_strerror_debug(i32 noundef %15492, ptr noundef @.str.4)
  %15494 = call ptr @__errno_location() #12
  %15495 = load i32, ptr %15494, align 4, !tbaa !5
  %15496 = call ptr @strerror(i32 noundef %15495) #11
  %15497 = call ptr @__errno_location() #12
  %15498 = load i32, ptr %15497, align 4, !tbaa !5
  %15499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15486, ptr noundef @.str.2, i32 noundef %15487, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 837, ptr noundef %15490, ptr noundef %15493, ptr noundef %15496, i32 noundef %15498) #11
  br label %15517

15500:                                            ; preds = %15478, %15471
  %15501 = load i32, ptr %386, align 4, !tbaa !5
  %15502 = call ptr @__errno_location() #12
  store i32 %15501, ptr %15502, align 4, !tbaa !5
  %15503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15504 = load i32, ptr @test_count, align 4, !tbaa !5
  %15505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15506 = load i32, ptr %15505, align 4, !tbaa !5
  %15507 = call ptr @s2n_strerror(i32 noundef %15506, ptr noundef @.str.4)
  %15508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15509 = load i32, ptr %15508, align 4, !tbaa !5
  %15510 = call ptr @s2n_strerror_debug(i32 noundef %15509, ptr noundef @.str.4)
  %15511 = call ptr @__errno_location() #12
  %15512 = load i32, ptr %15511, align 4, !tbaa !5
  %15513 = call ptr @strerror(i32 noundef %15512) #11
  %15514 = call ptr @__errno_location() #12
  %15515 = load i32, ptr %15514, align 4, !tbaa !5
  %15516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15503, ptr noundef @.str.5, i32 noundef %15504, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 837, ptr noundef %15507, ptr noundef %15510, ptr noundef %15513, i32 noundef %15515) #11
  br label %15517

15517:                                            ; preds = %15500, %15483
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #11
  br label %15518

15518:                                            ; preds = %15517
  br label %15519

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

15520:                                            ; No predecessors!
  br label %15521

15521:                                            ; preds = %15520
  br label %15522

15522:                                            ; preds = %15521, %15461
  br label %15523

15523:                                            ; preds = %15522
  br label %15524

15524:                                            ; preds = %15523
  br label %15525

15525:                                            ; preds = %15524
  %15526 = load i32, ptr @test_count, align 4, !tbaa !5
  %15527 = add nsw i32 %15526, 1
  store i32 %15527, ptr @test_count, align 4, !tbaa !5
  %15528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15529 = load i32, ptr %15528, align 4, !tbaa !5
  %15530 = icmp eq i32 %15529, 402653193
  br i1 %15530, label %15584, label %15531

15531:                                            ; preds = %15525
  br label %15532

15532:                                            ; preds = %15531
  br label %15533

15533:                                            ; preds = %15532
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #11
  %15534 = call ptr @__errno_location() #12
  %15535 = load i32, ptr %15534, align 4, !tbaa !5
  store i32 %15535, ptr %387, align 4, !tbaa !5
  %15536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15537 = call i32 @s2n_print_stacktrace(ptr noundef %15536)
  %15538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15539 = trunc i8 %15538 to i1
  br i1 %15539, label %15540, label %15562

15540:                                            ; preds = %15533
  %15541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15542 = call i32 @fileno(ptr noundef %15541) #11
  %15543 = call i32 @isatty(i32 noundef %15542) #11
  %15544 = icmp ne i32 %15543, 0
  br i1 %15544, label %15545, label %15562

15545:                                            ; preds = %15540
  %15546 = load i32, ptr %387, align 4, !tbaa !5
  %15547 = call ptr @__errno_location() #12
  store i32 %15546, ptr %15547, align 4, !tbaa !5
  %15548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15549 = load i32, ptr @test_count, align 4, !tbaa !5
  %15550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15551 = load i32, ptr %15550, align 4, !tbaa !5
  %15552 = call ptr @s2n_strerror(i32 noundef %15551, ptr noundef @.str.4)
  %15553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15554 = load i32, ptr %15553, align 4, !tbaa !5
  %15555 = call ptr @s2n_strerror_debug(i32 noundef %15554, ptr noundef @.str.4)
  %15556 = call ptr @__errno_location() #12
  %15557 = load i32, ptr %15556, align 4, !tbaa !5
  %15558 = call ptr @strerror(i32 noundef %15557) #11
  %15559 = call ptr @__errno_location() #12
  %15560 = load i32, ptr %15559, align 4, !tbaa !5
  %15561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15548, ptr noundef @.str.2, i32 noundef %15549, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 837, ptr noundef %15552, ptr noundef %15555, ptr noundef %15558, i32 noundef %15560) #11
  br label %15579

15562:                                            ; preds = %15540, %15533
  %15563 = load i32, ptr %387, align 4, !tbaa !5
  %15564 = call ptr @__errno_location() #12
  store i32 %15563, ptr %15564, align 4, !tbaa !5
  %15565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15566 = load i32, ptr @test_count, align 4, !tbaa !5
  %15567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15568 = load i32, ptr %15567, align 4, !tbaa !5
  %15569 = call ptr @s2n_strerror(i32 noundef %15568, ptr noundef @.str.4)
  %15570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15571 = load i32, ptr %15570, align 4, !tbaa !5
  %15572 = call ptr @s2n_strerror_debug(i32 noundef %15571, ptr noundef @.str.4)
  %15573 = call ptr @__errno_location() #12
  %15574 = load i32, ptr %15573, align 4, !tbaa !5
  %15575 = call ptr @strerror(i32 noundef %15574) #11
  %15576 = call ptr @__errno_location() #12
  %15577 = load i32, ptr %15576, align 4, !tbaa !5
  %15578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15565, ptr noundef @.str.5, i32 noundef %15566, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 837, ptr noundef %15569, ptr noundef %15572, ptr noundef %15575, i32 noundef %15577) #11
  br label %15579

15579:                                            ; preds = %15562, %15545
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #11
  br label %15580

15580:                                            ; preds = %15579
  br label %15581

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

15582:                                            ; No predecessors!
  br label %15583

15583:                                            ; preds = %15582
  br label %15584

15584:                                            ; preds = %15583, %15525
  br label %15585

15585:                                            ; preds = %15584
  br label %15586

15586:                                            ; preds = %15585
  br label %15587

15587:                                            ; preds = %15586
  %15588 = load i32, ptr @test_count, align 4, !tbaa !5
  %15589 = add nsw i32 %15588, 1
  store i32 %15589, ptr @test_count, align 4, !tbaa !5
  %15590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15591 = load i32, ptr %15590, align 4, !tbaa !5
  %15592 = call ptr @s2n_strerror_debug(i32 noundef %15591, ptr noundef @.str.4)
  %15593 = icmp eq ptr %15592, null
  br i1 %15593, label %15594, label %15647

15594:                                            ; preds = %15587
  br label %15595

15595:                                            ; preds = %15594
  br label %15596

15596:                                            ; preds = %15595
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #11
  %15597 = call ptr @__errno_location() #12
  %15598 = load i32, ptr %15597, align 4, !tbaa !5
  store i32 %15598, ptr %388, align 4, !tbaa !5
  %15599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15600 = call i32 @s2n_print_stacktrace(ptr noundef %15599)
  %15601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15602 = trunc i8 %15601 to i1
  br i1 %15602, label %15603, label %15625

15603:                                            ; preds = %15596
  %15604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15605 = call i32 @fileno(ptr noundef %15604) #11
  %15606 = call i32 @isatty(i32 noundef %15605) #11
  %15607 = icmp ne i32 %15606, 0
  br i1 %15607, label %15608, label %15625

15608:                                            ; preds = %15603
  %15609 = load i32, ptr %388, align 4, !tbaa !5
  %15610 = call ptr @__errno_location() #12
  store i32 %15609, ptr %15610, align 4, !tbaa !5
  %15611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15612 = load i32, ptr @test_count, align 4, !tbaa !5
  %15613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15614 = load i32, ptr %15613, align 4, !tbaa !5
  %15615 = call ptr @s2n_strerror(i32 noundef %15614, ptr noundef @.str.4)
  %15616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15617 = load i32, ptr %15616, align 4, !tbaa !5
  %15618 = call ptr @s2n_strerror_debug(i32 noundef %15617, ptr noundef @.str.4)
  %15619 = call ptr @__errno_location() #12
  %15620 = load i32, ptr %15619, align 4, !tbaa !5
  %15621 = call ptr @strerror(i32 noundef %15620) #11
  %15622 = call ptr @__errno_location() #12
  %15623 = load i32, ptr %15622, align 4, !tbaa !5
  %15624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15611, ptr noundef @.str.2, i32 noundef %15612, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 837, ptr noundef %15615, ptr noundef %15618, ptr noundef %15621, i32 noundef %15623) #11
  br label %15642

15625:                                            ; preds = %15603, %15596
  %15626 = load i32, ptr %388, align 4, !tbaa !5
  %15627 = call ptr @__errno_location() #12
  store i32 %15626, ptr %15627, align 4, !tbaa !5
  %15628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15629 = load i32, ptr @test_count, align 4, !tbaa !5
  %15630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15631 = load i32, ptr %15630, align 4, !tbaa !5
  %15632 = call ptr @s2n_strerror(i32 noundef %15631, ptr noundef @.str.4)
  %15633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15634 = load i32, ptr %15633, align 4, !tbaa !5
  %15635 = call ptr @s2n_strerror_debug(i32 noundef %15634, ptr noundef @.str.4)
  %15636 = call ptr @__errno_location() #12
  %15637 = load i32, ptr %15636, align 4, !tbaa !5
  %15638 = call ptr @strerror(i32 noundef %15637) #11
  %15639 = call ptr @__errno_location() #12
  %15640 = load i32, ptr %15639, align 4, !tbaa !5
  %15641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15628, ptr noundef @.str.5, i32 noundef %15629, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 837, ptr noundef %15632, ptr noundef %15635, ptr noundef %15638, i32 noundef %15640) #11
  br label %15642

15642:                                            ; preds = %15625, %15608
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #11
  br label %15643

15643:                                            ; preds = %15642
  br label %15644

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

15645:                                            ; No predecessors!
  br label %15646

15646:                                            ; preds = %15645
  br label %15647

15647:                                            ; preds = %15646, %15587
  br label %15648

15648:                                            ; preds = %15647
  br label %15649

15649:                                            ; preds = %15648
  br label %15650

15650:                                            ; preds = %15649
  br label %15651

15651:                                            ; preds = %15650
  br label %15652

15652:                                            ; preds = %15651
  %15653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15653, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15654 = call ptr @__errno_location() #12
  store i32 0, ptr %15654, align 4, !tbaa !5
  br label %15655

15655:                                            ; preds = %15652
  br label %15656

15656:                                            ; preds = %15655
  br label %15657

15657:                                            ; preds = %15656
  br label %15658

15658:                                            ; preds = %15657
  br label %15659

15659:                                            ; preds = %15658
  %15660 = load i32, ptr @test_count, align 4, !tbaa !5
  %15661 = add nsw i32 %15660, 1
  store i32 %15661, ptr @test_count, align 4, !tbaa !5
  %15662 = load ptr, ptr %379, align 8, !tbaa !9
  %15663 = call i32 @s2n_connection_free(ptr noundef %15662)
  %15664 = icmp eq i32 %15663, -1
  br i1 %15664, label %15665, label %15718

15665:                                            ; preds = %15659
  br label %15666

15666:                                            ; preds = %15665
  br label %15667

15667:                                            ; preds = %15666
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #11
  %15668 = call ptr @__errno_location() #12
  %15669 = load i32, ptr %15668, align 4, !tbaa !5
  store i32 %15669, ptr %389, align 4, !tbaa !5
  %15670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15671 = call i32 @s2n_print_stacktrace(ptr noundef %15670)
  %15672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15673 = trunc i8 %15672 to i1
  br i1 %15673, label %15674, label %15696

15674:                                            ; preds = %15667
  %15675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15676 = call i32 @fileno(ptr noundef %15675) #11
  %15677 = call i32 @isatty(i32 noundef %15676) #11
  %15678 = icmp ne i32 %15677, 0
  br i1 %15678, label %15679, label %15696

15679:                                            ; preds = %15674
  %15680 = load i32, ptr %389, align 4, !tbaa !5
  %15681 = call ptr @__errno_location() #12
  store i32 %15680, ptr %15681, align 4, !tbaa !5
  %15682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15683 = load i32, ptr @test_count, align 4, !tbaa !5
  %15684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15685 = load i32, ptr %15684, align 4, !tbaa !5
  %15686 = call ptr @s2n_strerror(i32 noundef %15685, ptr noundef @.str.4)
  %15687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15688 = load i32, ptr %15687, align 4, !tbaa !5
  %15689 = call ptr @s2n_strerror_debug(i32 noundef %15688, ptr noundef @.str.4)
  %15690 = call ptr @__errno_location() #12
  %15691 = load i32, ptr %15690, align 4, !tbaa !5
  %15692 = call ptr @strerror(i32 noundef %15691) #11
  %15693 = call ptr @__errno_location() #12
  %15694 = load i32, ptr %15693, align 4, !tbaa !5
  %15695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15682, ptr noundef @.str.2, i32 noundef %15683, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 839, ptr noundef %15686, ptr noundef %15689, ptr noundef %15692, i32 noundef %15694) #11
  br label %15713

15696:                                            ; preds = %15674, %15667
  %15697 = load i32, ptr %389, align 4, !tbaa !5
  %15698 = call ptr @__errno_location() #12
  store i32 %15697, ptr %15698, align 4, !tbaa !5
  %15699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15700 = load i32, ptr @test_count, align 4, !tbaa !5
  %15701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15702 = load i32, ptr %15701, align 4, !tbaa !5
  %15703 = call ptr @s2n_strerror(i32 noundef %15702, ptr noundef @.str.4)
  %15704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15705 = load i32, ptr %15704, align 4, !tbaa !5
  %15706 = call ptr @s2n_strerror_debug(i32 noundef %15705, ptr noundef @.str.4)
  %15707 = call ptr @__errno_location() #12
  %15708 = load i32, ptr %15707, align 4, !tbaa !5
  %15709 = call ptr @strerror(i32 noundef %15708) #11
  %15710 = call ptr @__errno_location() #12
  %15711 = load i32, ptr %15710, align 4, !tbaa !5
  %15712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15699, ptr noundef @.str.5, i32 noundef %15700, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 839, ptr noundef %15703, ptr noundef %15706, ptr noundef %15709, i32 noundef %15711) #11
  br label %15713

15713:                                            ; preds = %15696, %15679
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #11
  br label %15714

15714:                                            ; preds = %15713
  br label %15715

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

15716:                                            ; No predecessors!
  br label %15717

15717:                                            ; preds = %15716
  br label %15718

15718:                                            ; preds = %15717, %15659
  br label %15719

15719:                                            ; preds = %15718
  br label %15720

15720:                                            ; preds = %15719
  call void @llvm.lifetime.end.p0(i64 8, ptr %379) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %378) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr %390) #11
  call void @llvm.memset.p0.i64(ptr align 8 %390, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %391) #11
  store ptr null, ptr %391, align 8, !tbaa !9
  br label %15721

15721:                                            ; preds = %15720
  %15722 = load i32, ptr @test_count, align 4, !tbaa !5
  %15723 = add nsw i32 %15722, 1
  store i32 %15723, ptr @test_count, align 4, !tbaa !5
  %15724 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15724, ptr %391, align 8, !tbaa !9
  %15725 = icmp eq ptr %15724, null
  br i1 %15725, label %15726, label %15779

15726:                                            ; preds = %15721
  br label %15727

15727:                                            ; preds = %15726
  br label %15728

15728:                                            ; preds = %15727
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #11
  %15729 = call ptr @__errno_location() #12
  %15730 = load i32, ptr %15729, align 4, !tbaa !5
  store i32 %15730, ptr %392, align 4, !tbaa !5
  %15731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15732 = call i32 @s2n_print_stacktrace(ptr noundef %15731)
  %15733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15734 = trunc i8 %15733 to i1
  br i1 %15734, label %15735, label %15757

15735:                                            ; preds = %15728
  %15736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15737 = call i32 @fileno(ptr noundef %15736) #11
  %15738 = call i32 @isatty(i32 noundef %15737) #11
  %15739 = icmp ne i32 %15738, 0
  br i1 %15739, label %15740, label %15757

15740:                                            ; preds = %15735
  %15741 = load i32, ptr %392, align 4, !tbaa !5
  %15742 = call ptr @__errno_location() #12
  store i32 %15741, ptr %15742, align 4, !tbaa !5
  %15743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15744 = load i32, ptr @test_count, align 4, !tbaa !5
  %15745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15746 = load i32, ptr %15745, align 4, !tbaa !5
  %15747 = call ptr @s2n_strerror(i32 noundef %15746, ptr noundef @.str.4)
  %15748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15749 = load i32, ptr %15748, align 4, !tbaa !5
  %15750 = call ptr @s2n_strerror_debug(i32 noundef %15749, ptr noundef @.str.4)
  %15751 = call ptr @__errno_location() #12
  %15752 = load i32, ptr %15751, align 4, !tbaa !5
  %15753 = call ptr @strerror(i32 noundef %15752) #11
  %15754 = call ptr @__errno_location() #12
  %15755 = load i32, ptr %15754, align 4, !tbaa !5
  %15756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15743, ptr noundef @.str.2, i32 noundef %15744, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 847, ptr noundef %15747, ptr noundef %15750, ptr noundef %15753, i32 noundef %15755) #11
  br label %15774

15757:                                            ; preds = %15735, %15728
  %15758 = load i32, ptr %392, align 4, !tbaa !5
  %15759 = call ptr @__errno_location() #12
  store i32 %15758, ptr %15759, align 4, !tbaa !5
  %15760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15761 = load i32, ptr @test_count, align 4, !tbaa !5
  %15762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15763 = load i32, ptr %15762, align 4, !tbaa !5
  %15764 = call ptr @s2n_strerror(i32 noundef %15763, ptr noundef @.str.4)
  %15765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15766 = load i32, ptr %15765, align 4, !tbaa !5
  %15767 = call ptr @s2n_strerror_debug(i32 noundef %15766, ptr noundef @.str.4)
  %15768 = call ptr @__errno_location() #12
  %15769 = load i32, ptr %15768, align 4, !tbaa !5
  %15770 = call ptr @strerror(i32 noundef %15769) #11
  %15771 = call ptr @__errno_location() #12
  %15772 = load i32, ptr %15771, align 4, !tbaa !5
  %15773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15760, ptr noundef @.str.5, i32 noundef %15761, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 847, ptr noundef %15764, ptr noundef %15767, ptr noundef %15770, i32 noundef %15772) #11
  br label %15774

15774:                                            ; preds = %15757, %15740
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #11
  br label %15775

15775:                                            ; preds = %15774
  br label %15776

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

15777:                                            ; No predecessors!
  br label %15778

15778:                                            ; preds = %15777
  br label %15779

15779:                                            ; preds = %15778, %15721
  br label %15780

15780:                                            ; preds = %15779
  br label %15781

15781:                                            ; preds = %15780
  br label %15782

15782:                                            ; preds = %15781
  %15783 = load i32, ptr @test_count, align 4, !tbaa !5
  %15784 = add nsw i32 %15783, 1
  store i32 %15784, ptr @test_count, align 4, !tbaa !5
  %15785 = load ptr, ptr %391, align 8, !tbaa !9
  %15786 = call i32 @s2n_connection_set_psk_type(ptr noundef %15785, i32 noundef 1)
  %15787 = getelementptr inbounds %struct.s2n_result, ptr %393, i32 0, i32 0
  store i32 %15786, ptr %15787, align 4
  %15788 = getelementptr inbounds %struct.s2n_result, ptr %393, i32 0, i32 0
  %15789 = load i32, ptr %15788, align 4
  %15790 = call zeroext i1 @s2n_result_is_ok(i32 %15789)
  br i1 %15790, label %15844, label %15791

15791:                                            ; preds = %15782
  br label %15792

15792:                                            ; preds = %15791
  br label %15793

15793:                                            ; preds = %15792
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %15794 = call ptr @__errno_location() #12
  %15795 = load i32, ptr %15794, align 4, !tbaa !5
  store i32 %15795, ptr %394, align 4, !tbaa !5
  %15796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15797 = call i32 @s2n_print_stacktrace(ptr noundef %15796)
  %15798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15799 = trunc i8 %15798 to i1
  br i1 %15799, label %15800, label %15822

15800:                                            ; preds = %15793
  %15801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15802 = call i32 @fileno(ptr noundef %15801) #11
  %15803 = call i32 @isatty(i32 noundef %15802) #11
  %15804 = icmp ne i32 %15803, 0
  br i1 %15804, label %15805, label %15822

15805:                                            ; preds = %15800
  %15806 = load i32, ptr %394, align 4, !tbaa !5
  %15807 = call ptr @__errno_location() #12
  store i32 %15806, ptr %15807, align 4, !tbaa !5
  %15808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15809 = load i32, ptr @test_count, align 4, !tbaa !5
  %15810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15811 = load i32, ptr %15810, align 4, !tbaa !5
  %15812 = call ptr @s2n_strerror(i32 noundef %15811, ptr noundef @.str.4)
  %15813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15814 = load i32, ptr %15813, align 4, !tbaa !5
  %15815 = call ptr @s2n_strerror_debug(i32 noundef %15814, ptr noundef @.str.4)
  %15816 = call ptr @__errno_location() #12
  %15817 = load i32, ptr %15816, align 4, !tbaa !5
  %15818 = call ptr @strerror(i32 noundef %15817) #11
  %15819 = call ptr @__errno_location() #12
  %15820 = load i32, ptr %15819, align 4, !tbaa !5
  %15821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15808, ptr noundef @.str.2, i32 noundef %15809, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 848, ptr noundef %15812, ptr noundef %15815, ptr noundef %15818, i32 noundef %15820) #11
  br label %15839

15822:                                            ; preds = %15800, %15793
  %15823 = load i32, ptr %394, align 4, !tbaa !5
  %15824 = call ptr @__errno_location() #12
  store i32 %15823, ptr %15824, align 4, !tbaa !5
  %15825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15826 = load i32, ptr @test_count, align 4, !tbaa !5
  %15827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15828 = load i32, ptr %15827, align 4, !tbaa !5
  %15829 = call ptr @s2n_strerror(i32 noundef %15828, ptr noundef @.str.4)
  %15830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15831 = load i32, ptr %15830, align 4, !tbaa !5
  %15832 = call ptr @s2n_strerror_debug(i32 noundef %15831, ptr noundef @.str.4)
  %15833 = call ptr @__errno_location() #12
  %15834 = load i32, ptr %15833, align 4, !tbaa !5
  %15835 = call ptr @strerror(i32 noundef %15834) #11
  %15836 = call ptr @__errno_location() #12
  %15837 = load i32, ptr %15836, align 4, !tbaa !5
  %15838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15825, ptr noundef @.str.5, i32 noundef %15826, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 848, ptr noundef %15829, ptr noundef %15832, ptr noundef %15835, i32 noundef %15837) #11
  br label %15839

15839:                                            ; preds = %15822, %15805
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %15840

15840:                                            ; preds = %15839
  br label %15841

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

15842:                                            ; No predecessors!
  br label %15843

15843:                                            ; preds = %15842
  br label %15844

15844:                                            ; preds = %15843, %15782
  br label %15845

15845:                                            ; preds = %15844
  br label %15846

15846:                                            ; preds = %15845
  br label %15847

15847:                                            ; preds = %15846
  br label %15848

15848:                                            ; preds = %15847
  %15849 = load i32, ptr @test_count, align 4, !tbaa !5
  %15850 = add nsw i32 %15849, 1
  store i32 %15850, ptr @test_count, align 4, !tbaa !5
  %15851 = load ptr, ptr %391, align 8, !tbaa !9
  %15852 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %15851, ptr noundef %390)
  %15853 = getelementptr inbounds %struct.s2n_result, ptr %395, i32 0, i32 0
  store i32 %15852, ptr %15853, align 4
  %15854 = getelementptr inbounds %struct.s2n_result, ptr %395, i32 0, i32 0
  %15855 = load i32, ptr %15854, align 4
  %15856 = call zeroext i1 @s2n_result_is_error(i32 %15855)
  br i1 %15856, label %15910, label %15857

15857:                                            ; preds = %15848
  br label %15858

15858:                                            ; preds = %15857
  br label %15859

15859:                                            ; preds = %15858
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #11
  %15860 = call ptr @__errno_location() #12
  %15861 = load i32, ptr %15860, align 4, !tbaa !5
  store i32 %15861, ptr %396, align 4, !tbaa !5
  %15862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15863 = call i32 @s2n_print_stacktrace(ptr noundef %15862)
  %15864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15865 = trunc i8 %15864 to i1
  br i1 %15865, label %15866, label %15888

15866:                                            ; preds = %15859
  %15867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15868 = call i32 @fileno(ptr noundef %15867) #11
  %15869 = call i32 @isatty(i32 noundef %15868) #11
  %15870 = icmp ne i32 %15869, 0
  br i1 %15870, label %15871, label %15888

15871:                                            ; preds = %15866
  %15872 = load i32, ptr %396, align 4, !tbaa !5
  %15873 = call ptr @__errno_location() #12
  store i32 %15872, ptr %15873, align 4, !tbaa !5
  %15874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15875 = load i32, ptr @test_count, align 4, !tbaa !5
  %15876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15877 = load i32, ptr %15876, align 4, !tbaa !5
  %15878 = call ptr @s2n_strerror(i32 noundef %15877, ptr noundef @.str.4)
  %15879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15880 = load i32, ptr %15879, align 4, !tbaa !5
  %15881 = call ptr @s2n_strerror_debug(i32 noundef %15880, ptr noundef @.str.4)
  %15882 = call ptr @__errno_location() #12
  %15883 = load i32, ptr %15882, align 4, !tbaa !5
  %15884 = call ptr @strerror(i32 noundef %15883) #11
  %15885 = call ptr @__errno_location() #12
  %15886 = load i32, ptr %15885, align 4, !tbaa !5
  %15887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15874, ptr noundef @.str.2, i32 noundef %15875, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 850, ptr noundef %15878, ptr noundef %15881, ptr noundef %15884, i32 noundef %15886) #11
  br label %15905

15888:                                            ; preds = %15866, %15859
  %15889 = load i32, ptr %396, align 4, !tbaa !5
  %15890 = call ptr @__errno_location() #12
  store i32 %15889, ptr %15890, align 4, !tbaa !5
  %15891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15892 = load i32, ptr @test_count, align 4, !tbaa !5
  %15893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15894 = load i32, ptr %15893, align 4, !tbaa !5
  %15895 = call ptr @s2n_strerror(i32 noundef %15894, ptr noundef @.str.4)
  %15896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15897 = load i32, ptr %15896, align 4, !tbaa !5
  %15898 = call ptr @s2n_strerror_debug(i32 noundef %15897, ptr noundef @.str.4)
  %15899 = call ptr @__errno_location() #12
  %15900 = load i32, ptr %15899, align 4, !tbaa !5
  %15901 = call ptr @strerror(i32 noundef %15900) #11
  %15902 = call ptr @__errno_location() #12
  %15903 = load i32, ptr %15902, align 4, !tbaa !5
  %15904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15891, ptr noundef @.str.5, i32 noundef %15892, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 850, ptr noundef %15895, ptr noundef %15898, ptr noundef %15901, i32 noundef %15903) #11
  br label %15905

15905:                                            ; preds = %15888, %15871
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #11
  br label %15906

15906:                                            ; preds = %15905
  br label %15907

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

15908:                                            ; No predecessors!
  br label %15909

15909:                                            ; preds = %15908
  br label %15910

15910:                                            ; preds = %15909, %15848
  br label %15911

15911:                                            ; preds = %15910
  br label %15912

15912:                                            ; preds = %15911
  br label %15913

15913:                                            ; preds = %15912
  %15914 = load i32, ptr @test_count, align 4, !tbaa !5
  %15915 = add nsw i32 %15914, 1
  store i32 %15915, ptr @test_count, align 4, !tbaa !5
  %15916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15917 = load i32, ptr %15916, align 4, !tbaa !5
  %15918 = icmp eq i32 %15917, 0
  br i1 %15918, label %15919, label %15972

15919:                                            ; preds = %15913
  br label %15920

15920:                                            ; preds = %15919
  br label %15921

15921:                                            ; preds = %15920
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #11
  %15922 = call ptr @__errno_location() #12
  %15923 = load i32, ptr %15922, align 4, !tbaa !5
  store i32 %15923, ptr %397, align 4, !tbaa !5
  %15924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15925 = call i32 @s2n_print_stacktrace(ptr noundef %15924)
  %15926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15927 = trunc i8 %15926 to i1
  br i1 %15927, label %15928, label %15950

15928:                                            ; preds = %15921
  %15929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15930 = call i32 @fileno(ptr noundef %15929) #11
  %15931 = call i32 @isatty(i32 noundef %15930) #11
  %15932 = icmp ne i32 %15931, 0
  br i1 %15932, label %15933, label %15950

15933:                                            ; preds = %15928
  %15934 = load i32, ptr %397, align 4, !tbaa !5
  %15935 = call ptr @__errno_location() #12
  store i32 %15934, ptr %15935, align 4, !tbaa !5
  %15936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15937 = load i32, ptr @test_count, align 4, !tbaa !5
  %15938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15939 = load i32, ptr %15938, align 4, !tbaa !5
  %15940 = call ptr @s2n_strerror(i32 noundef %15939, ptr noundef @.str.4)
  %15941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15942 = load i32, ptr %15941, align 4, !tbaa !5
  %15943 = call ptr @s2n_strerror_debug(i32 noundef %15942, ptr noundef @.str.4)
  %15944 = call ptr @__errno_location() #12
  %15945 = load i32, ptr %15944, align 4, !tbaa !5
  %15946 = call ptr @strerror(i32 noundef %15945) #11
  %15947 = call ptr @__errno_location() #12
  %15948 = load i32, ptr %15947, align 4, !tbaa !5
  %15949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15936, ptr noundef @.str.2, i32 noundef %15937, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 850, ptr noundef %15940, ptr noundef %15943, ptr noundef %15946, i32 noundef %15948) #11
  br label %15967

15950:                                            ; preds = %15928, %15921
  %15951 = load i32, ptr %397, align 4, !tbaa !5
  %15952 = call ptr @__errno_location() #12
  store i32 %15951, ptr %15952, align 4, !tbaa !5
  %15953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15954 = load i32, ptr @test_count, align 4, !tbaa !5
  %15955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15956 = load i32, ptr %15955, align 4, !tbaa !5
  %15957 = call ptr @s2n_strerror(i32 noundef %15956, ptr noundef @.str.4)
  %15958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15959 = load i32, ptr %15958, align 4, !tbaa !5
  %15960 = call ptr @s2n_strerror_debug(i32 noundef %15959, ptr noundef @.str.4)
  %15961 = call ptr @__errno_location() #12
  %15962 = load i32, ptr %15961, align 4, !tbaa !5
  %15963 = call ptr @strerror(i32 noundef %15962) #11
  %15964 = call ptr @__errno_location() #12
  %15965 = load i32, ptr %15964, align 4, !tbaa !5
  %15966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15953, ptr noundef @.str.5, i32 noundef %15954, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 850, ptr noundef %15957, ptr noundef %15960, ptr noundef %15963, i32 noundef %15965) #11
  br label %15967

15967:                                            ; preds = %15950, %15933
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #11
  br label %15968

15968:                                            ; preds = %15967
  br label %15969

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

15970:                                            ; No predecessors!
  br label %15971

15971:                                            ; preds = %15970
  br label %15972

15972:                                            ; preds = %15971, %15913
  br label %15973

15973:                                            ; preds = %15972
  br label %15974

15974:                                            ; preds = %15973
  br label %15975

15975:                                            ; preds = %15974
  %15976 = load i32, ptr @test_count, align 4, !tbaa !5
  %15977 = add nsw i32 %15976, 1
  store i32 %15977, ptr @test_count, align 4, !tbaa !5
  %15978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15979 = load i32, ptr %15978, align 4, !tbaa !5
  %15980 = call ptr @s2n_strerror_debug(i32 noundef %15979, ptr noundef @.str.4)
  %15981 = icmp eq ptr %15980, null
  br i1 %15981, label %15982, label %16035

15982:                                            ; preds = %15975
  br label %15983

15983:                                            ; preds = %15982
  br label %15984

15984:                                            ; preds = %15983
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %15985 = call ptr @__errno_location() #12
  %15986 = load i32, ptr %15985, align 4, !tbaa !5
  store i32 %15986, ptr %398, align 4, !tbaa !5
  %15987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15988 = call i32 @s2n_print_stacktrace(ptr noundef %15987)
  %15989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15990 = trunc i8 %15989 to i1
  br i1 %15990, label %15991, label %16013

15991:                                            ; preds = %15984
  %15992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15993 = call i32 @fileno(ptr noundef %15992) #11
  %15994 = call i32 @isatty(i32 noundef %15993) #11
  %15995 = icmp ne i32 %15994, 0
  br i1 %15995, label %15996, label %16013

15996:                                            ; preds = %15991
  %15997 = load i32, ptr %398, align 4, !tbaa !5
  %15998 = call ptr @__errno_location() #12
  store i32 %15997, ptr %15998, align 4, !tbaa !5
  %15999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16000 = load i32, ptr @test_count, align 4, !tbaa !5
  %16001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16002 = load i32, ptr %16001, align 4, !tbaa !5
  %16003 = call ptr @s2n_strerror(i32 noundef %16002, ptr noundef @.str.4)
  %16004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16005 = load i32, ptr %16004, align 4, !tbaa !5
  %16006 = call ptr @s2n_strerror_debug(i32 noundef %16005, ptr noundef @.str.4)
  %16007 = call ptr @__errno_location() #12
  %16008 = load i32, ptr %16007, align 4, !tbaa !5
  %16009 = call ptr @strerror(i32 noundef %16008) #11
  %16010 = call ptr @__errno_location() #12
  %16011 = load i32, ptr %16010, align 4, !tbaa !5
  %16012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15999, ptr noundef @.str.2, i32 noundef %16000, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 850, ptr noundef %16003, ptr noundef %16006, ptr noundef %16009, i32 noundef %16011) #11
  br label %16030

16013:                                            ; preds = %15991, %15984
  %16014 = load i32, ptr %398, align 4, !tbaa !5
  %16015 = call ptr @__errno_location() #12
  store i32 %16014, ptr %16015, align 4, !tbaa !5
  %16016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16017 = load i32, ptr @test_count, align 4, !tbaa !5
  %16018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16019 = load i32, ptr %16018, align 4, !tbaa !5
  %16020 = call ptr @s2n_strerror(i32 noundef %16019, ptr noundef @.str.4)
  %16021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16022 = load i32, ptr %16021, align 4, !tbaa !5
  %16023 = call ptr @s2n_strerror_debug(i32 noundef %16022, ptr noundef @.str.4)
  %16024 = call ptr @__errno_location() #12
  %16025 = load i32, ptr %16024, align 4, !tbaa !5
  %16026 = call ptr @strerror(i32 noundef %16025) #11
  %16027 = call ptr @__errno_location() #12
  %16028 = load i32, ptr %16027, align 4, !tbaa !5
  %16029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16016, ptr noundef @.str.5, i32 noundef %16017, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 850, ptr noundef %16020, ptr noundef %16023, ptr noundef %16026, i32 noundef %16028) #11
  br label %16030

16030:                                            ; preds = %16013, %15996
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %16031

16031:                                            ; preds = %16030
  br label %16032

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

16033:                                            ; No predecessors!
  br label %16034

16034:                                            ; preds = %16033
  br label %16035

16035:                                            ; preds = %16034, %15975
  br label %16036

16036:                                            ; preds = %16035
  br label %16037

16037:                                            ; preds = %16036
  br label %16038

16038:                                            ; preds = %16037
  %16039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16039, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16040 = call ptr @__errno_location() #12
  store i32 0, ptr %16040, align 4, !tbaa !5
  br label %16041

16041:                                            ; preds = %16038
  br label %16042

16042:                                            ; preds = %16041
  br label %16043

16043:                                            ; preds = %16042
  br label %16044

16044:                                            ; preds = %16043
  br label %16045

16045:                                            ; preds = %16044
  %16046 = load i32, ptr @test_count, align 4, !tbaa !5
  %16047 = add nsw i32 %16046, 1
  store i32 %16047, ptr @test_count, align 4, !tbaa !5
  %16048 = load ptr, ptr %391, align 8, !tbaa !9
  %16049 = getelementptr inbounds %struct.s2n_connection, ptr %16048, i32 0, i32 33
  %16050 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16049, i32 0, i32 4
  %16051 = load ptr, ptr %16050, align 8, !tbaa !100
  %16052 = icmp eq ptr %16051, null
  br i1 %16052, label %16106, label %16053

16053:                                            ; preds = %16045
  br label %16054

16054:                                            ; preds = %16053
  br label %16055

16055:                                            ; preds = %16054
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #11
  %16056 = call ptr @__errno_location() #12
  %16057 = load i32, ptr %16056, align 4, !tbaa !5
  store i32 %16057, ptr %399, align 4, !tbaa !5
  %16058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16059 = call i32 @s2n_print_stacktrace(ptr noundef %16058)
  %16060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16061 = trunc i8 %16060 to i1
  br i1 %16061, label %16062, label %16084

16062:                                            ; preds = %16055
  %16063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16064 = call i32 @fileno(ptr noundef %16063) #11
  %16065 = call i32 @isatty(i32 noundef %16064) #11
  %16066 = icmp ne i32 %16065, 0
  br i1 %16066, label %16067, label %16084

16067:                                            ; preds = %16062
  %16068 = load i32, ptr %399, align 4, !tbaa !5
  %16069 = call ptr @__errno_location() #12
  store i32 %16068, ptr %16069, align 4, !tbaa !5
  %16070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16071 = load i32, ptr @test_count, align 4, !tbaa !5
  %16072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16073 = load i32, ptr %16072, align 4, !tbaa !5
  %16074 = call ptr @s2n_strerror(i32 noundef %16073, ptr noundef @.str.4)
  %16075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16076 = load i32, ptr %16075, align 4, !tbaa !5
  %16077 = call ptr @s2n_strerror_debug(i32 noundef %16076, ptr noundef @.str.4)
  %16078 = call ptr @__errno_location() #12
  %16079 = load i32, ptr %16078, align 4, !tbaa !5
  %16080 = call ptr @strerror(i32 noundef %16079) #11
  %16081 = call ptr @__errno_location() #12
  %16082 = load i32, ptr %16081, align 4, !tbaa !5
  %16083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16070, ptr noundef @.str.2, i32 noundef %16071, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 851, ptr noundef %16074, ptr noundef %16077, ptr noundef %16080, i32 noundef %16082) #11
  br label %16101

16084:                                            ; preds = %16062, %16055
  %16085 = load i32, ptr %399, align 4, !tbaa !5
  %16086 = call ptr @__errno_location() #12
  store i32 %16085, ptr %16086, align 4, !tbaa !5
  %16087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16088 = load i32, ptr @test_count, align 4, !tbaa !5
  %16089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16090 = load i32, ptr %16089, align 4, !tbaa !5
  %16091 = call ptr @s2n_strerror(i32 noundef %16090, ptr noundef @.str.4)
  %16092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16093 = load i32, ptr %16092, align 4, !tbaa !5
  %16094 = call ptr @s2n_strerror_debug(i32 noundef %16093, ptr noundef @.str.4)
  %16095 = call ptr @__errno_location() #12
  %16096 = load i32, ptr %16095, align 4, !tbaa !5
  %16097 = call ptr @strerror(i32 noundef %16096) #11
  %16098 = call ptr @__errno_location() #12
  %16099 = load i32, ptr %16098, align 4, !tbaa !5
  %16100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16087, ptr noundef @.str.5, i32 noundef %16088, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 851, ptr noundef %16091, ptr noundef %16094, ptr noundef %16097, i32 noundef %16099) #11
  br label %16101

16101:                                            ; preds = %16084, %16067
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #11
  br label %16102

16102:                                            ; preds = %16101
  br label %16103

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

16104:                                            ; No predecessors!
  br label %16105

16105:                                            ; preds = %16104
  br label %16106

16106:                                            ; preds = %16105, %16045
  br label %16107

16107:                                            ; preds = %16106
  br label %16108

16108:                                            ; preds = %16107
  br label %16109

16109:                                            ; preds = %16108
  %16110 = load i32, ptr @test_count, align 4, !tbaa !5
  %16111 = add nsw i32 %16110, 1
  store i32 %16111, ptr @test_count, align 4, !tbaa !5
  %16112 = load ptr, ptr %391, align 8, !tbaa !9
  %16113 = call i32 @s2n_connection_free(ptr noundef %16112)
  %16114 = icmp eq i32 %16113, -1
  br i1 %16114, label %16115, label %16168

16115:                                            ; preds = %16109
  br label %16116

16116:                                            ; preds = %16115
  br label %16117

16117:                                            ; preds = %16116
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #11
  %16118 = call ptr @__errno_location() #12
  %16119 = load i32, ptr %16118, align 4, !tbaa !5
  store i32 %16119, ptr %400, align 4, !tbaa !5
  %16120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16121 = call i32 @s2n_print_stacktrace(ptr noundef %16120)
  %16122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16123 = trunc i8 %16122 to i1
  br i1 %16123, label %16124, label %16146

16124:                                            ; preds = %16117
  %16125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16126 = call i32 @fileno(ptr noundef %16125) #11
  %16127 = call i32 @isatty(i32 noundef %16126) #11
  %16128 = icmp ne i32 %16127, 0
  br i1 %16128, label %16129, label %16146

16129:                                            ; preds = %16124
  %16130 = load i32, ptr %400, align 4, !tbaa !5
  %16131 = call ptr @__errno_location() #12
  store i32 %16130, ptr %16131, align 4, !tbaa !5
  %16132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16133 = load i32, ptr @test_count, align 4, !tbaa !5
  %16134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16135 = load i32, ptr %16134, align 4, !tbaa !5
  %16136 = call ptr @s2n_strerror(i32 noundef %16135, ptr noundef @.str.4)
  %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_debug(i32 noundef %16138, ptr noundef @.str.4)
  %16140 = call ptr @__errno_location() #12
  %16141 = load i32, ptr %16140, align 4, !tbaa !5
  %16142 = call ptr @strerror(i32 noundef %16141) #11
  %16143 = call ptr @__errno_location() #12
  %16144 = load i32, ptr %16143, align 4, !tbaa !5
  %16145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16132, ptr noundef @.str.2, i32 noundef %16133, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 853, ptr noundef %16136, ptr noundef %16139, ptr noundef %16142, i32 noundef %16144) #11
  br label %16163

16146:                                            ; preds = %16124, %16117
  %16147 = load i32, ptr %400, align 4, !tbaa !5
  %16148 = call ptr @__errno_location() #12
  store i32 %16147, ptr %16148, align 4, !tbaa !5
  %16149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16150 = load i32, ptr @test_count, align 4, !tbaa !5
  %16151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16152 = load i32, ptr %16151, align 4, !tbaa !5
  %16153 = call ptr @s2n_strerror(i32 noundef %16152, ptr noundef @.str.4)
  %16154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16155 = load i32, ptr %16154, align 4, !tbaa !5
  %16156 = call ptr @s2n_strerror_debug(i32 noundef %16155, ptr noundef @.str.4)
  %16157 = call ptr @__errno_location() #12
  %16158 = load i32, ptr %16157, align 4, !tbaa !5
  %16159 = call ptr @strerror(i32 noundef %16158) #11
  %16160 = call ptr @__errno_location() #12
  %16161 = load i32, ptr %16160, align 4, !tbaa !5
  %16162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16149, ptr noundef @.str.5, i32 noundef %16150, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 853, ptr noundef %16153, ptr noundef %16156, ptr noundef %16159, i32 noundef %16161) #11
  br label %16163

16163:                                            ; preds = %16146, %16129
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #11
  br label %16164

16164:                                            ; preds = %16163
  br label %16165

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

16166:                                            ; No predecessors!
  br label %16167

16167:                                            ; preds = %16166
  br label %16168

16168:                                            ; preds = %16167, %16109
  br label %16169

16169:                                            ; preds = %16168
  br label %16170

16170:                                            ; preds = %16169
  call void @llvm.lifetime.end.p0(i64 8, ptr %391) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %390) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %401) #11
  store ptr null, ptr %401, align 8, !tbaa !9
  br label %16171

16171:                                            ; preds = %16170
  %16172 = load i32, ptr @test_count, align 4, !tbaa !5
  %16173 = add nsw i32 %16172, 1
  store i32 %16173, ptr @test_count, align 4, !tbaa !5
  %16174 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %16174, ptr %401, align 8, !tbaa !9
  %16175 = icmp eq ptr %16174, null
  br i1 %16175, label %16176, label %16229

16176:                                            ; preds = %16171
  br label %16177

16177:                                            ; preds = %16176
  br label %16178

16178:                                            ; preds = %16177
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %16179 = call ptr @__errno_location() #12
  %16180 = load i32, ptr %16179, align 4, !tbaa !5
  store i32 %16180, ptr %402, align 4, !tbaa !5
  %16181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16182 = call i32 @s2n_print_stacktrace(ptr noundef %16181)
  %16183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16184 = trunc i8 %16183 to i1
  br i1 %16184, label %16185, label %16207

16185:                                            ; preds = %16178
  %16186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16187 = call i32 @fileno(ptr noundef %16186) #11
  %16188 = call i32 @isatty(i32 noundef %16187) #11
  %16189 = icmp ne i32 %16188, 0
  br i1 %16189, label %16190, label %16207

16190:                                            ; preds = %16185
  %16191 = load i32, ptr %402, align 4, !tbaa !5
  %16192 = call ptr @__errno_location() #12
  store i32 %16191, ptr %16192, align 4, !tbaa !5
  %16193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16194 = load i32, ptr @test_count, align 4, !tbaa !5
  %16195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16196 = load i32, ptr %16195, align 4, !tbaa !5
  %16197 = call ptr @s2n_strerror(i32 noundef %16196, ptr noundef @.str.4)
  %16198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16199 = load i32, ptr %16198, align 4, !tbaa !5
  %16200 = call ptr @s2n_strerror_debug(i32 noundef %16199, ptr noundef @.str.4)
  %16201 = call ptr @__errno_location() #12
  %16202 = load i32, ptr %16201, align 4, !tbaa !5
  %16203 = call ptr @strerror(i32 noundef %16202) #11
  %16204 = call ptr @__errno_location() #12
  %16205 = load i32, ptr %16204, align 4, !tbaa !5
  %16206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16193, ptr noundef @.str.2, i32 noundef %16194, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 859, ptr noundef %16197, ptr noundef %16200, ptr noundef %16203, i32 noundef %16205) #11
  br label %16224

16207:                                            ; preds = %16185, %16178
  %16208 = load i32, ptr %402, align 4, !tbaa !5
  %16209 = call ptr @__errno_location() #12
  store i32 %16208, ptr %16209, align 4, !tbaa !5
  %16210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16211 = load i32, ptr @test_count, align 4, !tbaa !5
  %16212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16213 = load i32, ptr %16212, align 4, !tbaa !5
  %16214 = call ptr @s2n_strerror(i32 noundef %16213, ptr noundef @.str.4)
  %16215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16216 = load i32, ptr %16215, align 4, !tbaa !5
  %16217 = call ptr @s2n_strerror_debug(i32 noundef %16216, ptr noundef @.str.4)
  %16218 = call ptr @__errno_location() #12
  %16219 = load i32, ptr %16218, align 4, !tbaa !5
  %16220 = call ptr @strerror(i32 noundef %16219) #11
  %16221 = call ptr @__errno_location() #12
  %16222 = load i32, ptr %16221, align 4, !tbaa !5
  %16223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16210, ptr noundef @.str.5, i32 noundef %16211, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 859, ptr noundef %16214, ptr noundef %16217, ptr noundef %16220, i32 noundef %16222) #11
  br label %16224

16224:                                            ; preds = %16207, %16190
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %16225

16225:                                            ; preds = %16224
  br label %16226

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

16227:                                            ; No predecessors!
  br label %16228

16228:                                            ; preds = %16227
  br label %16229

16229:                                            ; preds = %16228, %16171
  br label %16230

16230:                                            ; preds = %16229
  br label %16231

16231:                                            ; preds = %16230
  br label %16232

16232:                                            ; preds = %16231
  %16233 = load i32, ptr @test_count, align 4, !tbaa !5
  %16234 = add nsw i32 %16233, 1
  store i32 %16234, ptr @test_count, align 4, !tbaa !5
  %16235 = load ptr, ptr %401, align 8, !tbaa !9
  %16236 = call i32 @s2n_connection_set_psk_type(ptr noundef %16235, i32 noundef 1)
  %16237 = getelementptr inbounds %struct.s2n_result, ptr %403, i32 0, i32 0
  store i32 %16236, ptr %16237, align 4
  %16238 = getelementptr inbounds %struct.s2n_result, ptr %403, i32 0, i32 0
  %16239 = load i32, ptr %16238, align 4
  %16240 = call zeroext i1 @s2n_result_is_ok(i32 %16239)
  br i1 %16240, label %16294, label %16241

16241:                                            ; preds = %16232
  br label %16242

16242:                                            ; preds = %16241
  br label %16243

16243:                                            ; preds = %16242
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #11
  %16244 = call ptr @__errno_location() #12
  %16245 = load i32, ptr %16244, align 4, !tbaa !5
  store i32 %16245, ptr %404, align 4, !tbaa !5
  %16246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16247 = call i32 @s2n_print_stacktrace(ptr noundef %16246)
  %16248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16249 = trunc i8 %16248 to i1
  br i1 %16249, label %16250, label %16272

16250:                                            ; preds = %16243
  %16251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16252 = call i32 @fileno(ptr noundef %16251) #11
  %16253 = call i32 @isatty(i32 noundef %16252) #11
  %16254 = icmp ne i32 %16253, 0
  br i1 %16254, label %16255, label %16272

16255:                                            ; preds = %16250
  %16256 = load i32, ptr %404, align 4, !tbaa !5
  %16257 = call ptr @__errno_location() #12
  store i32 %16256, ptr %16257, align 4, !tbaa !5
  %16258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16259 = load i32, ptr @test_count, align 4, !tbaa !5
  %16260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16261 = load i32, ptr %16260, align 4, !tbaa !5
  %16262 = call ptr @s2n_strerror(i32 noundef %16261, ptr noundef @.str.4)
  %16263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16264 = load i32, ptr %16263, align 4, !tbaa !5
  %16265 = call ptr @s2n_strerror_debug(i32 noundef %16264, ptr noundef @.str.4)
  %16266 = call ptr @__errno_location() #12
  %16267 = load i32, ptr %16266, align 4, !tbaa !5
  %16268 = call ptr @strerror(i32 noundef %16267) #11
  %16269 = call ptr @__errno_location() #12
  %16270 = load i32, ptr %16269, align 4, !tbaa !5
  %16271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16258, ptr noundef @.str.2, i32 noundef %16259, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 860, ptr noundef %16262, ptr noundef %16265, ptr noundef %16268, i32 noundef %16270) #11
  br label %16289

16272:                                            ; preds = %16250, %16243
  %16273 = load i32, ptr %404, align 4, !tbaa !5
  %16274 = call ptr @__errno_location() #12
  store i32 %16273, ptr %16274, align 4, !tbaa !5
  %16275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16276 = load i32, ptr @test_count, align 4, !tbaa !5
  %16277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16278 = load i32, ptr %16277, align 4, !tbaa !5
  %16279 = call ptr @s2n_strerror(i32 noundef %16278, ptr noundef @.str.4)
  %16280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16281 = load i32, ptr %16280, align 4, !tbaa !5
  %16282 = call ptr @s2n_strerror_debug(i32 noundef %16281, ptr noundef @.str.4)
  %16283 = call ptr @__errno_location() #12
  %16284 = load i32, ptr %16283, align 4, !tbaa !5
  %16285 = call ptr @strerror(i32 noundef %16284) #11
  %16286 = call ptr @__errno_location() #12
  %16287 = load i32, ptr %16286, align 4, !tbaa !5
  %16288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16275, ptr noundef @.str.5, i32 noundef %16276, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 860, ptr noundef %16279, ptr noundef %16282, ptr noundef %16285, i32 noundef %16287) #11
  br label %16289

16289:                                            ; preds = %16272, %16255
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #11
  br label %16290

16290:                                            ; preds = %16289
  br label %16291

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

16292:                                            ; No predecessors!
  br label %16293

16293:                                            ; preds = %16292
  br label %16294

16294:                                            ; preds = %16293, %16232
  br label %16295

16295:                                            ; preds = %16294
  br label %16296

16296:                                            ; preds = %16295
  call void @llvm.lifetime.start.p0(i64 40, ptr %405) #11
  call void @llvm.memset.p0.i64(ptr align 8 %405, i8 0, i64 40, i1 false)
  br label %16297

16297:                                            ; preds = %16296
  %16298 = load i32, ptr @test_count, align 4, !tbaa !5
  %16299 = add nsw i32 %16298, 1
  store i32 %16299, ptr @test_count, align 4, !tbaa !5
  %16300 = call i32 @s2n_stuffer_alloc(ptr noundef %405, i32 noundef 40)
  %16301 = icmp eq i32 %16300, -1
  br i1 %16301, label %16302, label %16355

16302:                                            ; preds = %16297
  br label %16303

16303:                                            ; preds = %16302
  br label %16304

16304:                                            ; preds = %16303
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #11
  %16305 = call ptr @__errno_location() #12
  %16306 = load i32, ptr %16305, align 4, !tbaa !5
  store i32 %16306, ptr %406, align 4, !tbaa !5
  %16307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16308 = call i32 @s2n_print_stacktrace(ptr noundef %16307)
  %16309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16310 = trunc i8 %16309 to i1
  br i1 %16310, label %16311, label %16333

16311:                                            ; preds = %16304
  %16312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16313 = call i32 @fileno(ptr noundef %16312) #11
  %16314 = call i32 @isatty(i32 noundef %16313) #11
  %16315 = icmp ne i32 %16314, 0
  br i1 %16315, label %16316, label %16333

16316:                                            ; preds = %16311
  %16317 = load i32, ptr %406, align 4, !tbaa !5
  %16318 = call ptr @__errno_location() #12
  store i32 %16317, ptr %16318, align 4, !tbaa !5
  %16319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16320 = load i32, ptr @test_count, align 4, !tbaa !5
  %16321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16322 = load i32, ptr %16321, align 4, !tbaa !5
  %16323 = call ptr @s2n_strerror(i32 noundef %16322, ptr noundef @.str.4)
  %16324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16325 = load i32, ptr %16324, align 4, !tbaa !5
  %16326 = call ptr @s2n_strerror_debug(i32 noundef %16325, ptr noundef @.str.4)
  %16327 = call ptr @__errno_location() #12
  %16328 = load i32, ptr %16327, align 4, !tbaa !5
  %16329 = call ptr @strerror(i32 noundef %16328) #11
  %16330 = call ptr @__errno_location() #12
  %16331 = load i32, ptr %16330, align 4, !tbaa !5
  %16332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16319, ptr noundef @.str.2, i32 noundef %16320, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 863, ptr noundef %16323, ptr noundef %16326, ptr noundef %16329, i32 noundef %16331) #11
  br label %16350

16333:                                            ; preds = %16311, %16304
  %16334 = load i32, ptr %406, align 4, !tbaa !5
  %16335 = call ptr @__errno_location() #12
  store i32 %16334, ptr %16335, align 4, !tbaa !5
  %16336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16337 = load i32, ptr @test_count, align 4, !tbaa !5
  %16338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16339 = load i32, ptr %16338, align 4, !tbaa !5
  %16340 = call ptr @s2n_strerror(i32 noundef %16339, ptr noundef @.str.4)
  %16341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16342 = load i32, ptr %16341, align 4, !tbaa !5
  %16343 = call ptr @s2n_strerror_debug(i32 noundef %16342, ptr noundef @.str.4)
  %16344 = call ptr @__errno_location() #12
  %16345 = load i32, ptr %16344, align 4, !tbaa !5
  %16346 = call ptr @strerror(i32 noundef %16345) #11
  %16347 = call ptr @__errno_location() #12
  %16348 = load i32, ptr %16347, align 4, !tbaa !5
  %16349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16336, ptr noundef @.str.5, i32 noundef %16337, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 863, ptr noundef %16340, ptr noundef %16343, ptr noundef %16346, i32 noundef %16348) #11
  br label %16350

16350:                                            ; preds = %16333, %16316
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #11
  br label %16351

16351:                                            ; preds = %16350
  br label %16352

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

16353:                                            ; No predecessors!
  br label %16354

16354:                                            ; preds = %16353
  br label %16355

16355:                                            ; preds = %16354, %16297
  br label %16356

16356:                                            ; preds = %16355
  br label %16357

16357:                                            ; preds = %16356
  br label %16358

16358:                                            ; preds = %16357
  %16359 = load i32, ptr @test_count, align 4, !tbaa !5
  %16360 = add nsw i32 %16359, 1
  store i32 %16360, ptr @test_count, align 4, !tbaa !5
  %16361 = getelementptr inbounds [40 x i8], ptr %16, i64 0, i64 0
  %16362 = call i32 @s2n_stuffer_write_bytes(ptr noundef %405, ptr noundef %16361, i32 noundef 40)
  %16363 = icmp eq i32 %16362, -1
  br i1 %16363, label %16364, label %16417

16364:                                            ; preds = %16358
  br label %16365

16365:                                            ; preds = %16364
  br label %16366

16366:                                            ; preds = %16365
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #11
  %16367 = call ptr @__errno_location() #12
  %16368 = load i32, ptr %16367, align 4, !tbaa !5
  store i32 %16368, ptr %407, align 4, !tbaa !5
  %16369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16370 = call i32 @s2n_print_stacktrace(ptr noundef %16369)
  %16371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16372 = trunc i8 %16371 to i1
  br i1 %16372, label %16373, label %16395

16373:                                            ; preds = %16366
  %16374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16375 = call i32 @fileno(ptr noundef %16374) #11
  %16376 = call i32 @isatty(i32 noundef %16375) #11
  %16377 = icmp ne i32 %16376, 0
  br i1 %16377, label %16378, label %16395

16378:                                            ; preds = %16373
  %16379 = load i32, ptr %407, align 4, !tbaa !5
  %16380 = call ptr @__errno_location() #12
  store i32 %16379, ptr %16380, align 4, !tbaa !5
  %16381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16382 = load i32, ptr @test_count, align 4, !tbaa !5
  %16383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16384 = load i32, ptr %16383, align 4, !tbaa !5
  %16385 = call ptr @s2n_strerror(i32 noundef %16384, ptr noundef @.str.4)
  %16386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16387 = load i32, ptr %16386, align 4, !tbaa !5
  %16388 = call ptr @s2n_strerror_debug(i32 noundef %16387, ptr noundef @.str.4)
  %16389 = call ptr @__errno_location() #12
  %16390 = load i32, ptr %16389, align 4, !tbaa !5
  %16391 = call ptr @strerror(i32 noundef %16390) #11
  %16392 = call ptr @__errno_location() #12
  %16393 = load i32, ptr %16392, align 4, !tbaa !5
  %16394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16381, ptr noundef @.str.2, i32 noundef %16382, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 864, ptr noundef %16385, ptr noundef %16388, ptr noundef %16391, i32 noundef %16393) #11
  br label %16412

16395:                                            ; preds = %16373, %16366
  %16396 = load i32, ptr %407, align 4, !tbaa !5
  %16397 = call ptr @__errno_location() #12
  store i32 %16396, ptr %16397, align 4, !tbaa !5
  %16398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16399 = load i32, ptr @test_count, align 4, !tbaa !5
  %16400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16401 = load i32, ptr %16400, align 4, !tbaa !5
  %16402 = call ptr @s2n_strerror(i32 noundef %16401, ptr noundef @.str.4)
  %16403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16404 = load i32, ptr %16403, align 4, !tbaa !5
  %16405 = call ptr @s2n_strerror_debug(i32 noundef %16404, ptr noundef @.str.4)
  %16406 = call ptr @__errno_location() #12
  %16407 = load i32, ptr %16406, align 4, !tbaa !5
  %16408 = call ptr @strerror(i32 noundef %16407) #11
  %16409 = call ptr @__errno_location() #12
  %16410 = load i32, ptr %16409, align 4, !tbaa !5
  %16411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16398, ptr noundef @.str.5, i32 noundef %16399, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 864, ptr noundef %16402, ptr noundef %16405, ptr noundef %16408, i32 noundef %16410) #11
  br label %16412

16412:                                            ; preds = %16395, %16378
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #11
  br label %16413

16413:                                            ; preds = %16412
  br label %16414

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

16415:                                            ; No predecessors!
  br label %16416

16416:                                            ; preds = %16415
  br label %16417

16417:                                            ; preds = %16416, %16358
  br label %16418

16418:                                            ; preds = %16417
  br label %16419

16419:                                            ; preds = %16418
  call void @llvm.lifetime.start.p0(i64 8, ptr %408) #11
  store ptr null, ptr %408, align 8, !tbaa !9
  br label %16420

16420:                                            ; preds = %16419
  %16421 = load i32, ptr @test_count, align 4, !tbaa !5
  %16422 = add nsw i32 %16421, 1
  store i32 %16422, ptr @test_count, align 4, !tbaa !5
  %16423 = load ptr, ptr %401, align 8, !tbaa !9
  %16424 = getelementptr inbounds %struct.s2n_connection, ptr %16423, i32 0, i32 33
  %16425 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16424, i32 0, i32 1
  %16426 = call i32 @s2n_array_pushback(ptr noundef %16425, ptr noundef %408)
  %16427 = getelementptr inbounds %struct.s2n_result, ptr %409, i32 0, i32 0
  store i32 %16426, ptr %16427, align 4
  %16428 = getelementptr inbounds %struct.s2n_result, ptr %409, i32 0, i32 0
  %16429 = load i32, ptr %16428, align 4
  %16430 = call zeroext i1 @s2n_result_is_ok(i32 %16429)
  br i1 %16430, label %16484, label %16431

16431:                                            ; preds = %16420
  br label %16432

16432:                                            ; preds = %16431
  br label %16433

16433:                                            ; preds = %16432
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #11
  %16434 = call ptr @__errno_location() #12
  %16435 = load i32, ptr %16434, align 4, !tbaa !5
  store i32 %16435, ptr %410, align 4, !tbaa !5
  %16436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16437 = call i32 @s2n_print_stacktrace(ptr noundef %16436)
  %16438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16439 = trunc i8 %16438 to i1
  br i1 %16439, label %16440, label %16462

16440:                                            ; preds = %16433
  %16441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16442 = call i32 @fileno(ptr noundef %16441) #11
  %16443 = call i32 @isatty(i32 noundef %16442) #11
  %16444 = icmp ne i32 %16443, 0
  br i1 %16444, label %16445, label %16462

16445:                                            ; preds = %16440
  %16446 = load i32, ptr %410, align 4, !tbaa !5
  %16447 = call ptr @__errno_location() #12
  store i32 %16446, ptr %16447, align 4, !tbaa !5
  %16448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16449 = load i32, ptr @test_count, align 4, !tbaa !5
  %16450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16451 = load i32, ptr %16450, align 4, !tbaa !5
  %16452 = call ptr @s2n_strerror(i32 noundef %16451, ptr noundef @.str.4)
  %16453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16454 = load i32, ptr %16453, align 4, !tbaa !5
  %16455 = call ptr @s2n_strerror_debug(i32 noundef %16454, ptr noundef @.str.4)
  %16456 = call ptr @__errno_location() #12
  %16457 = load i32, ptr %16456, align 4, !tbaa !5
  %16458 = call ptr @strerror(i32 noundef %16457) #11
  %16459 = call ptr @__errno_location() #12
  %16460 = load i32, ptr %16459, align 4, !tbaa !5
  %16461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16448, ptr noundef @.str.2, i32 noundef %16449, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 867, ptr noundef %16452, ptr noundef %16455, ptr noundef %16458, i32 noundef %16460) #11
  br label %16479

16462:                                            ; preds = %16440, %16433
  %16463 = load i32, ptr %410, align 4, !tbaa !5
  %16464 = call ptr @__errno_location() #12
  store i32 %16463, ptr %16464, align 4, !tbaa !5
  %16465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16466 = load i32, ptr @test_count, align 4, !tbaa !5
  %16467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16468 = load i32, ptr %16467, align 4, !tbaa !5
  %16469 = call ptr @s2n_strerror(i32 noundef %16468, ptr noundef @.str.4)
  %16470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16471 = load i32, ptr %16470, align 4, !tbaa !5
  %16472 = call ptr @s2n_strerror_debug(i32 noundef %16471, ptr noundef @.str.4)
  %16473 = call ptr @__errno_location() #12
  %16474 = load i32, ptr %16473, align 4, !tbaa !5
  %16475 = call ptr @strerror(i32 noundef %16474) #11
  %16476 = call ptr @__errno_location() #12
  %16477 = load i32, ptr %16476, align 4, !tbaa !5
  %16478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16465, ptr noundef @.str.5, i32 noundef %16466, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 867, ptr noundef %16469, ptr noundef %16472, ptr noundef %16475, i32 noundef %16477) #11
  br label %16479

16479:                                            ; preds = %16462, %16445
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #11
  br label %16480

16480:                                            ; preds = %16479
  br label %16481

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

16482:                                            ; No predecessors!
  br label %16483

16483:                                            ; preds = %16482
  br label %16484

16484:                                            ; preds = %16483, %16420
  br label %16485

16485:                                            ; preds = %16484
  br label %16486

16486:                                            ; preds = %16485
  br label %16487

16487:                                            ; preds = %16486
  %16488 = load i32, ptr @test_count, align 4, !tbaa !5
  %16489 = add nsw i32 %16488, 1
  store i32 %16489, ptr @test_count, align 4, !tbaa !5
  %16490 = load ptr, ptr %408, align 8, !tbaa !9
  %16491 = call i32 @s2n_psk_init(ptr noundef %16490, i32 noundef 1)
  %16492 = getelementptr inbounds %struct.s2n_result, ptr %411, i32 0, i32 0
  store i32 %16491, ptr %16492, align 4
  %16493 = getelementptr inbounds %struct.s2n_result, ptr %411, i32 0, i32 0
  %16494 = load i32, ptr %16493, align 4
  %16495 = call zeroext i1 @s2n_result_is_ok(i32 %16494)
  br i1 %16495, label %16549, label %16496

16496:                                            ; preds = %16487
  br label %16497

16497:                                            ; preds = %16496
  br label %16498

16498:                                            ; preds = %16497
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #11
  %16499 = call ptr @__errno_location() #12
  %16500 = load i32, ptr %16499, align 4, !tbaa !5
  store i32 %16500, ptr %412, align 4, !tbaa !5
  %16501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16502 = call i32 @s2n_print_stacktrace(ptr noundef %16501)
  %16503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16504 = trunc i8 %16503 to i1
  br i1 %16504, label %16505, label %16527

16505:                                            ; preds = %16498
  %16506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16507 = call i32 @fileno(ptr noundef %16506) #11
  %16508 = call i32 @isatty(i32 noundef %16507) #11
  %16509 = icmp ne i32 %16508, 0
  br i1 %16509, label %16510, label %16527

16510:                                            ; preds = %16505
  %16511 = load i32, ptr %412, align 4, !tbaa !5
  %16512 = call ptr @__errno_location() #12
  store i32 %16511, ptr %16512, align 4, !tbaa !5
  %16513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16514 = load i32, ptr @test_count, align 4, !tbaa !5
  %16515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16516 = load i32, ptr %16515, align 4, !tbaa !5
  %16517 = call ptr @s2n_strerror(i32 noundef %16516, ptr noundef @.str.4)
  %16518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16519 = load i32, ptr %16518, align 4, !tbaa !5
  %16520 = call ptr @s2n_strerror_debug(i32 noundef %16519, ptr noundef @.str.4)
  %16521 = call ptr @__errno_location() #12
  %16522 = load i32, ptr %16521, align 4, !tbaa !5
  %16523 = call ptr @strerror(i32 noundef %16522) #11
  %16524 = call ptr @__errno_location() #12
  %16525 = load i32, ptr %16524, align 4, !tbaa !5
  %16526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16513, ptr noundef @.str.2, i32 noundef %16514, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 868, ptr noundef %16517, ptr noundef %16520, ptr noundef %16523, i32 noundef %16525) #11
  br label %16544

16527:                                            ; preds = %16505, %16498
  %16528 = load i32, ptr %412, align 4, !tbaa !5
  %16529 = call ptr @__errno_location() #12
  store i32 %16528, ptr %16529, align 4, !tbaa !5
  %16530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16531 = load i32, ptr @test_count, align 4, !tbaa !5
  %16532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16533 = load i32, ptr %16532, align 4, !tbaa !5
  %16534 = call ptr @s2n_strerror(i32 noundef %16533, ptr noundef @.str.4)
  %16535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16536 = load i32, ptr %16535, align 4, !tbaa !5
  %16537 = call ptr @s2n_strerror_debug(i32 noundef %16536, ptr noundef @.str.4)
  %16538 = call ptr @__errno_location() #12
  %16539 = load i32, ptr %16538, align 4, !tbaa !5
  %16540 = call ptr @strerror(i32 noundef %16539) #11
  %16541 = call ptr @__errno_location() #12
  %16542 = load i32, ptr %16541, align 4, !tbaa !5
  %16543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16530, ptr noundef @.str.5, i32 noundef %16531, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 868, ptr noundef %16534, ptr noundef %16537, ptr noundef %16540, i32 noundef %16542) #11
  br label %16544

16544:                                            ; preds = %16527, %16510
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #11
  br label %16545

16545:                                            ; preds = %16544
  br label %16546

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

16547:                                            ; No predecessors!
  br label %16548

16548:                                            ; preds = %16547
  br label %16549

16549:                                            ; preds = %16548, %16487
  br label %16550

16550:                                            ; preds = %16549
  br label %16551

16551:                                            ; preds = %16550
  br label %16552

16552:                                            ; preds = %16551
  %16553 = load i32, ptr @test_count, align 4, !tbaa !5
  %16554 = add nsw i32 %16553, 1
  store i32 %16554, ptr @test_count, align 4, !tbaa !5
  %16555 = load ptr, ptr %408, align 8, !tbaa !9
  %16556 = getelementptr inbounds [3 x i8], ptr %10, i64 0, i64 0
  %16557 = call i32 @s2n_psk_set_identity(ptr noundef %16555, ptr noundef %16556, i16 noundef zeroext 3)
  %16558 = icmp eq i32 %16557, -1
  br i1 %16558, label %16559, label %16612

16559:                                            ; preds = %16552
  br label %16560

16560:                                            ; preds = %16559
  br label %16561

16561:                                            ; preds = %16560
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #11
  %16562 = call ptr @__errno_location() #12
  %16563 = load i32, ptr %16562, align 4, !tbaa !5
  store i32 %16563, ptr %413, align 4, !tbaa !5
  %16564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16565 = call i32 @s2n_print_stacktrace(ptr noundef %16564)
  %16566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16567 = trunc i8 %16566 to i1
  br i1 %16567, label %16568, label %16590

16568:                                            ; preds = %16561
  %16569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16570 = call i32 @fileno(ptr noundef %16569) #11
  %16571 = call i32 @isatty(i32 noundef %16570) #11
  %16572 = icmp ne i32 %16571, 0
  br i1 %16572, label %16573, label %16590

16573:                                            ; preds = %16568
  %16574 = load i32, ptr %413, align 4, !tbaa !5
  %16575 = call ptr @__errno_location() #12
  store i32 %16574, ptr %16575, align 4, !tbaa !5
  %16576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16577 = load i32, ptr @test_count, align 4, !tbaa !5
  %16578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16579 = load i32, ptr %16578, align 4, !tbaa !5
  %16580 = call ptr @s2n_strerror(i32 noundef %16579, ptr noundef @.str.4)
  %16581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16582 = load i32, ptr %16581, align 4, !tbaa !5
  %16583 = call ptr @s2n_strerror_debug(i32 noundef %16582, ptr noundef @.str.4)
  %16584 = call ptr @__errno_location() #12
  %16585 = load i32, ptr %16584, align 4, !tbaa !5
  %16586 = call ptr @strerror(i32 noundef %16585) #11
  %16587 = call ptr @__errno_location() #12
  %16588 = load i32, ptr %16587, align 4, !tbaa !5
  %16589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16576, ptr noundef @.str.2, i32 noundef %16577, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 869, ptr noundef %16580, ptr noundef %16583, ptr noundef %16586, i32 noundef %16588) #11
  br label %16607

16590:                                            ; preds = %16568, %16561
  %16591 = load i32, ptr %413, align 4, !tbaa !5
  %16592 = call ptr @__errno_location() #12
  store i32 %16591, ptr %16592, align 4, !tbaa !5
  %16593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16594 = load i32, ptr @test_count, align 4, !tbaa !5
  %16595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16596 = load i32, ptr %16595, align 4, !tbaa !5
  %16597 = call ptr @s2n_strerror(i32 noundef %16596, ptr noundef @.str.4)
  %16598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16599 = load i32, ptr %16598, align 4, !tbaa !5
  %16600 = call ptr @s2n_strerror_debug(i32 noundef %16599, ptr noundef @.str.4)
  %16601 = call ptr @__errno_location() #12
  %16602 = load i32, ptr %16601, align 4, !tbaa !5
  %16603 = call ptr @strerror(i32 noundef %16602) #11
  %16604 = call ptr @__errno_location() #12
  %16605 = load i32, ptr %16604, align 4, !tbaa !5
  %16606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16593, ptr noundef @.str.5, i32 noundef %16594, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 869, ptr noundef %16597, ptr noundef %16600, ptr noundef %16603, i32 noundef %16605) #11
  br label %16607

16607:                                            ; preds = %16590, %16573
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #11
  br label %16608

16608:                                            ; preds = %16607
  br label %16609

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

16610:                                            ; No predecessors!
  br label %16611

16611:                                            ; preds = %16610
  br label %16612

16612:                                            ; preds = %16611, %16552
  br label %16613

16613:                                            ; preds = %16612
  br label %16614

16614:                                            ; preds = %16613
  br label %16615

16615:                                            ; preds = %16614
  br label %16616

16616:                                            ; preds = %16615
  br label %16617

16617:                                            ; preds = %16616
  %16618 = load i32, ptr @test_count, align 4, !tbaa !5
  %16619 = add nsw i32 %16618, 1
  store i32 %16619, ptr @test_count, align 4, !tbaa !5
  %16620 = load ptr, ptr %401, align 8, !tbaa !9
  %16621 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %16620, ptr noundef %405)
  %16622 = getelementptr inbounds %struct.s2n_result, ptr %414, i32 0, i32 0
  store i32 %16621, ptr %16622, align 4
  %16623 = getelementptr inbounds %struct.s2n_result, ptr %414, i32 0, i32 0
  %16624 = load i32, ptr %16623, align 4
  %16625 = call zeroext i1 @s2n_result_is_error(i32 %16624)
  br i1 %16625, label %16679, label %16626

16626:                                            ; preds = %16617
  br label %16627

16627:                                            ; preds = %16626
  br label %16628

16628:                                            ; preds = %16627
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  %16629 = call ptr @__errno_location() #12
  %16630 = load i32, ptr %16629, align 4, !tbaa !5
  store i32 %16630, ptr %415, align 4, !tbaa !5
  %16631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16632 = call i32 @s2n_print_stacktrace(ptr noundef %16631)
  %16633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16634 = trunc i8 %16633 to i1
  br i1 %16634, label %16635, label %16657

16635:                                            ; preds = %16628
  %16636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16637 = call i32 @fileno(ptr noundef %16636) #11
  %16638 = call i32 @isatty(i32 noundef %16637) #11
  %16639 = icmp ne i32 %16638, 0
  br i1 %16639, label %16640, label %16657

16640:                                            ; preds = %16635
  %16641 = load i32, ptr %415, align 4, !tbaa !5
  %16642 = call ptr @__errno_location() #12
  store i32 %16641, ptr %16642, align 4, !tbaa !5
  %16643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16644 = load i32, ptr @test_count, align 4, !tbaa !5
  %16645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16646 = load i32, ptr %16645, align 4, !tbaa !5
  %16647 = call ptr @s2n_strerror(i32 noundef %16646, ptr noundef @.str.4)
  %16648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16649 = load i32, ptr %16648, align 4, !tbaa !5
  %16650 = call ptr @s2n_strerror_debug(i32 noundef %16649, ptr noundef @.str.4)
  %16651 = call ptr @__errno_location() #12
  %16652 = load i32, ptr %16651, align 4, !tbaa !5
  %16653 = call ptr @strerror(i32 noundef %16652) #11
  %16654 = call ptr @__errno_location() #12
  %16655 = load i32, ptr %16654, align 4, !tbaa !5
  %16656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16643, ptr noundef @.str.2, i32 noundef %16644, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 871, ptr noundef %16647, ptr noundef %16650, ptr noundef %16653, i32 noundef %16655) #11
  br label %16674

16657:                                            ; preds = %16635, %16628
  %16658 = load i32, ptr %415, align 4, !tbaa !5
  %16659 = call ptr @__errno_location() #12
  store i32 %16658, ptr %16659, align 4, !tbaa !5
  %16660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16661 = load i32, ptr @test_count, align 4, !tbaa !5
  %16662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16663 = load i32, ptr %16662, align 4, !tbaa !5
  %16664 = call ptr @s2n_strerror(i32 noundef %16663, ptr noundef @.str.4)
  %16665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16666 = load i32, ptr %16665, align 4, !tbaa !5
  %16667 = call ptr @s2n_strerror_debug(i32 noundef %16666, ptr noundef @.str.4)
  %16668 = call ptr @__errno_location() #12
  %16669 = load i32, ptr %16668, align 4, !tbaa !5
  %16670 = call ptr @strerror(i32 noundef %16669) #11
  %16671 = call ptr @__errno_location() #12
  %16672 = load i32, ptr %16671, align 4, !tbaa !5
  %16673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16660, ptr noundef @.str.5, i32 noundef %16661, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 871, ptr noundef %16664, ptr noundef %16667, ptr noundef %16670, i32 noundef %16672) #11
  br label %16674

16674:                                            ; preds = %16657, %16640
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  br label %16675

16675:                                            ; preds = %16674
  br label %16676

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

16677:                                            ; No predecessors!
  br label %16678

16678:                                            ; preds = %16677
  br label %16679

16679:                                            ; preds = %16678, %16617
  br label %16680

16680:                                            ; preds = %16679
  br label %16681

16681:                                            ; preds = %16680
  br label %16682

16682:                                            ; preds = %16681
  %16683 = load i32, ptr @test_count, align 4, !tbaa !5
  %16684 = add nsw i32 %16683, 1
  store i32 %16684, ptr @test_count, align 4, !tbaa !5
  %16685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16686 = load i32, ptr %16685, align 4, !tbaa !5
  %16687 = icmp eq i32 %16686, 402653193
  br i1 %16687, label %16741, label %16688

16688:                                            ; preds = %16682
  br label %16689

16689:                                            ; preds = %16688
  br label %16690

16690:                                            ; preds = %16689
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #11
  %16691 = call ptr @__errno_location() #12
  %16692 = load i32, ptr %16691, align 4, !tbaa !5
  store i32 %16692, ptr %416, align 4, !tbaa !5
  %16693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16694 = call i32 @s2n_print_stacktrace(ptr noundef %16693)
  %16695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16696 = trunc i8 %16695 to i1
  br i1 %16696, label %16697, label %16719

16697:                                            ; preds = %16690
  %16698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16699 = call i32 @fileno(ptr noundef %16698) #11
  %16700 = call i32 @isatty(i32 noundef %16699) #11
  %16701 = icmp ne i32 %16700, 0
  br i1 %16701, label %16702, label %16719

16702:                                            ; preds = %16697
  %16703 = load i32, ptr %416, align 4, !tbaa !5
  %16704 = call ptr @__errno_location() #12
  store i32 %16703, ptr %16704, align 4, !tbaa !5
  %16705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16706 = load i32, ptr @test_count, align 4, !tbaa !5
  %16707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16708 = load i32, ptr %16707, align 4, !tbaa !5
  %16709 = call ptr @s2n_strerror(i32 noundef %16708, ptr noundef @.str.4)
  %16710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16711 = load i32, ptr %16710, align 4, !tbaa !5
  %16712 = call ptr @s2n_strerror_debug(i32 noundef %16711, ptr noundef @.str.4)
  %16713 = call ptr @__errno_location() #12
  %16714 = load i32, ptr %16713, align 4, !tbaa !5
  %16715 = call ptr @strerror(i32 noundef %16714) #11
  %16716 = call ptr @__errno_location() #12
  %16717 = load i32, ptr %16716, align 4, !tbaa !5
  %16718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16705, ptr noundef @.str.2, i32 noundef %16706, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 871, ptr noundef %16709, ptr noundef %16712, ptr noundef %16715, i32 noundef %16717) #11
  br label %16736

16719:                                            ; preds = %16697, %16690
  %16720 = load i32, ptr %416, align 4, !tbaa !5
  %16721 = call ptr @__errno_location() #12
  store i32 %16720, ptr %16721, align 4, !tbaa !5
  %16722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16723 = load i32, ptr @test_count, align 4, !tbaa !5
  %16724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16725 = load i32, ptr %16724, align 4, !tbaa !5
  %16726 = call ptr @s2n_strerror(i32 noundef %16725, ptr noundef @.str.4)
  %16727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16728 = load i32, ptr %16727, align 4, !tbaa !5
  %16729 = call ptr @s2n_strerror_debug(i32 noundef %16728, ptr noundef @.str.4)
  %16730 = call ptr @__errno_location() #12
  %16731 = load i32, ptr %16730, align 4, !tbaa !5
  %16732 = call ptr @strerror(i32 noundef %16731) #11
  %16733 = call ptr @__errno_location() #12
  %16734 = load i32, ptr %16733, align 4, !tbaa !5
  %16735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16722, ptr noundef @.str.5, i32 noundef %16723, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 871, ptr noundef %16726, ptr noundef %16729, ptr noundef %16732, i32 noundef %16734) #11
  br label %16736

16736:                                            ; preds = %16719, %16702
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #11
  br label %16737

16737:                                            ; preds = %16736
  br label %16738

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

16739:                                            ; No predecessors!
  br label %16740

16740:                                            ; preds = %16739
  br label %16741

16741:                                            ; preds = %16740, %16682
  br label %16742

16742:                                            ; preds = %16741
  br label %16743

16743:                                            ; preds = %16742
  br label %16744

16744:                                            ; preds = %16743
  %16745 = load i32, ptr @test_count, align 4, !tbaa !5
  %16746 = add nsw i32 %16745, 1
  store i32 %16746, ptr @test_count, align 4, !tbaa !5
  %16747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16748 = load i32, ptr %16747, align 4, !tbaa !5
  %16749 = call ptr @s2n_strerror_debug(i32 noundef %16748, ptr noundef @.str.4)
  %16750 = icmp eq ptr %16749, null
  br i1 %16750, label %16751, label %16804

16751:                                            ; preds = %16744
  br label %16752

16752:                                            ; preds = %16751
  br label %16753

16753:                                            ; preds = %16752
  call void @llvm.lifetime.start.p0(i64 4, ptr %417) #11
  %16754 = call ptr @__errno_location() #12
  %16755 = load i32, ptr %16754, align 4, !tbaa !5
  store i32 %16755, ptr %417, align 4, !tbaa !5
  %16756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16757 = call i32 @s2n_print_stacktrace(ptr noundef %16756)
  %16758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16759 = trunc i8 %16758 to i1
  br i1 %16759, label %16760, label %16782

16760:                                            ; preds = %16753
  %16761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16762 = call i32 @fileno(ptr noundef %16761) #11
  %16763 = call i32 @isatty(i32 noundef %16762) #11
  %16764 = icmp ne i32 %16763, 0
  br i1 %16764, label %16765, label %16782

16765:                                            ; preds = %16760
  %16766 = load i32, ptr %417, align 4, !tbaa !5
  %16767 = call ptr @__errno_location() #12
  store i32 %16766, ptr %16767, align 4, !tbaa !5
  %16768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16769 = load i32, ptr @test_count, align 4, !tbaa !5
  %16770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16771 = load i32, ptr %16770, align 4, !tbaa !5
  %16772 = call ptr @s2n_strerror(i32 noundef %16771, ptr noundef @.str.4)
  %16773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16774 = load i32, ptr %16773, align 4, !tbaa !5
  %16775 = call ptr @s2n_strerror_debug(i32 noundef %16774, ptr noundef @.str.4)
  %16776 = call ptr @__errno_location() #12
  %16777 = load i32, ptr %16776, align 4, !tbaa !5
  %16778 = call ptr @strerror(i32 noundef %16777) #11
  %16779 = call ptr @__errno_location() #12
  %16780 = load i32, ptr %16779, align 4, !tbaa !5
  %16781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16768, ptr noundef @.str.2, i32 noundef %16769, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 871, ptr noundef %16772, ptr noundef %16775, ptr noundef %16778, i32 noundef %16780) #11
  br label %16799

16782:                                            ; preds = %16760, %16753
  %16783 = load i32, ptr %417, align 4, !tbaa !5
  %16784 = call ptr @__errno_location() #12
  store i32 %16783, ptr %16784, align 4, !tbaa !5
  %16785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16786 = load i32, ptr @test_count, align 4, !tbaa !5
  %16787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16788 = load i32, ptr %16787, align 4, !tbaa !5
  %16789 = call ptr @s2n_strerror(i32 noundef %16788, ptr noundef @.str.4)
  %16790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16791 = load i32, ptr %16790, align 4, !tbaa !5
  %16792 = call ptr @s2n_strerror_debug(i32 noundef %16791, ptr noundef @.str.4)
  %16793 = call ptr @__errno_location() #12
  %16794 = load i32, ptr %16793, align 4, !tbaa !5
  %16795 = call ptr @strerror(i32 noundef %16794) #11
  %16796 = call ptr @__errno_location() #12
  %16797 = load i32, ptr %16796, align 4, !tbaa !5
  %16798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16785, ptr noundef @.str.5, i32 noundef %16786, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 871, ptr noundef %16789, ptr noundef %16792, ptr noundef %16795, i32 noundef %16797) #11
  br label %16799

16799:                                            ; preds = %16782, %16765
  call void @llvm.lifetime.end.p0(i64 4, ptr %417) #11
  br label %16800

16800:                                            ; preds = %16799
  br label %16801

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

16802:                                            ; No predecessors!
  br label %16803

16803:                                            ; preds = %16802
  br label %16804

16804:                                            ; preds = %16803, %16744
  br label %16805

16805:                                            ; preds = %16804
  br label %16806

16806:                                            ; preds = %16805
  br label %16807

16807:                                            ; preds = %16806
  br label %16808

16808:                                            ; preds = %16807
  br label %16809

16809:                                            ; preds = %16808
  %16810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16810, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16811 = call ptr @__errno_location() #12
  store i32 0, ptr %16811, align 4, !tbaa !5
  br label %16812

16812:                                            ; preds = %16809
  br label %16813

16813:                                            ; preds = %16812
  br label %16814

16814:                                            ; preds = %16813
  br label %16815

16815:                                            ; preds = %16814
  br label %16816

16816:                                            ; preds = %16815
  %16817 = load i32, ptr @test_count, align 4, !tbaa !5
  %16818 = add nsw i32 %16817, 1
  store i32 %16818, ptr @test_count, align 4, !tbaa !5
  %16819 = load ptr, ptr %401, align 8, !tbaa !9
  %16820 = getelementptr inbounds %struct.s2n_connection, ptr %16819, i32 0, i32 33
  %16821 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16820, i32 0, i32 4
  %16822 = load ptr, ptr %16821, align 8, !tbaa !100
  %16823 = icmp eq ptr %16822, null
  br i1 %16823, label %16877, label %16824

16824:                                            ; preds = %16816
  br label %16825

16825:                                            ; preds = %16824
  br label %16826

16826:                                            ; preds = %16825
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #11
  %16827 = call ptr @__errno_location() #12
  %16828 = load i32, ptr %16827, align 4, !tbaa !5
  store i32 %16828, ptr %418, align 4, !tbaa !5
  %16829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16830 = call i32 @s2n_print_stacktrace(ptr noundef %16829)
  %16831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16832 = trunc i8 %16831 to i1
  br i1 %16832, label %16833, label %16855

16833:                                            ; preds = %16826
  %16834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16835 = call i32 @fileno(ptr noundef %16834) #11
  %16836 = call i32 @isatty(i32 noundef %16835) #11
  %16837 = icmp ne i32 %16836, 0
  br i1 %16837, label %16838, label %16855

16838:                                            ; preds = %16833
  %16839 = load i32, ptr %418, align 4, !tbaa !5
  %16840 = call ptr @__errno_location() #12
  store i32 %16839, ptr %16840, align 4, !tbaa !5
  %16841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16842 = load i32, ptr @test_count, align 4, !tbaa !5
  %16843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16844 = load i32, ptr %16843, align 4, !tbaa !5
  %16845 = call ptr @s2n_strerror(i32 noundef %16844, ptr noundef @.str.4)
  %16846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16847 = load i32, ptr %16846, align 4, !tbaa !5
  %16848 = call ptr @s2n_strerror_debug(i32 noundef %16847, ptr noundef @.str.4)
  %16849 = call ptr @__errno_location() #12
  %16850 = load i32, ptr %16849, align 4, !tbaa !5
  %16851 = call ptr @strerror(i32 noundef %16850) #11
  %16852 = call ptr @__errno_location() #12
  %16853 = load i32, ptr %16852, align 4, !tbaa !5
  %16854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16841, ptr noundef @.str.2, i32 noundef %16842, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 872, ptr noundef %16845, ptr noundef %16848, ptr noundef %16851, i32 noundef %16853) #11
  br label %16872

16855:                                            ; preds = %16833, %16826
  %16856 = load i32, ptr %418, align 4, !tbaa !5
  %16857 = call ptr @__errno_location() #12
  store i32 %16856, ptr %16857, align 4, !tbaa !5
  %16858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16859 = load i32, ptr @test_count, align 4, !tbaa !5
  %16860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16861 = load i32, ptr %16860, align 4, !tbaa !5
  %16862 = call ptr @s2n_strerror(i32 noundef %16861, ptr noundef @.str.4)
  %16863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16864 = load i32, ptr %16863, align 4, !tbaa !5
  %16865 = call ptr @s2n_strerror_debug(i32 noundef %16864, ptr noundef @.str.4)
  %16866 = call ptr @__errno_location() #12
  %16867 = load i32, ptr %16866, align 4, !tbaa !5
  %16868 = call ptr @strerror(i32 noundef %16867) #11
  %16869 = call ptr @__errno_location() #12
  %16870 = load i32, ptr %16869, align 4, !tbaa !5
  %16871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16858, ptr noundef @.str.5, i32 noundef %16859, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 872, ptr noundef %16862, ptr noundef %16865, ptr noundef %16868, i32 noundef %16870) #11
  br label %16872

16872:                                            ; preds = %16855, %16838
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #11
  br label %16873

16873:                                            ; preds = %16872
  br label %16874

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

16875:                                            ; No predecessors!
  br label %16876

16876:                                            ; preds = %16875
  br label %16877

16877:                                            ; preds = %16876, %16816
  br label %16878

16878:                                            ; preds = %16877
  br label %16879

16879:                                            ; preds = %16878
  br label %16880

16880:                                            ; preds = %16879
  %16881 = load i32, ptr @test_count, align 4, !tbaa !5
  %16882 = add nsw i32 %16881, 1
  store i32 %16882, ptr @test_count, align 4, !tbaa !5
  %16883 = load ptr, ptr %401, align 8, !tbaa !9
  %16884 = call i32 @s2n_connection_free(ptr noundef %16883)
  %16885 = icmp eq i32 %16884, -1
  br i1 %16885, label %16886, label %16939

16886:                                            ; preds = %16880
  br label %16887

16887:                                            ; preds = %16886
  br label %16888

16888:                                            ; preds = %16887
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %16889 = call ptr @__errno_location() #12
  %16890 = load i32, ptr %16889, align 4, !tbaa !5
  store i32 %16890, ptr %419, align 4, !tbaa !5
  %16891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16892 = call i32 @s2n_print_stacktrace(ptr noundef %16891)
  %16893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16894 = trunc i8 %16893 to i1
  br i1 %16894, label %16895, label %16917

16895:                                            ; preds = %16888
  %16896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16897 = call i32 @fileno(ptr noundef %16896) #11
  %16898 = call i32 @isatty(i32 noundef %16897) #11
  %16899 = icmp ne i32 %16898, 0
  br i1 %16899, label %16900, label %16917

16900:                                            ; preds = %16895
  %16901 = load i32, ptr %419, align 4, !tbaa !5
  %16902 = call ptr @__errno_location() #12
  store i32 %16901, ptr %16902, align 4, !tbaa !5
  %16903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16904 = load i32, ptr @test_count, align 4, !tbaa !5
  %16905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16906 = load i32, ptr %16905, align 4, !tbaa !5
  %16907 = call ptr @s2n_strerror(i32 noundef %16906, ptr noundef @.str.4)
  %16908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16909 = load i32, ptr %16908, align 4, !tbaa !5
  %16910 = call ptr @s2n_strerror_debug(i32 noundef %16909, ptr noundef @.str.4)
  %16911 = call ptr @__errno_location() #12
  %16912 = load i32, ptr %16911, align 4, !tbaa !5
  %16913 = call ptr @strerror(i32 noundef %16912) #11
  %16914 = call ptr @__errno_location() #12
  %16915 = load i32, ptr %16914, align 4, !tbaa !5
  %16916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16903, ptr noundef @.str.2, i32 noundef %16904, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 874, ptr noundef %16907, ptr noundef %16910, ptr noundef %16913, i32 noundef %16915) #11
  br label %16934

16917:                                            ; preds = %16895, %16888
  %16918 = load i32, ptr %419, align 4, !tbaa !5
  %16919 = call ptr @__errno_location() #12
  store i32 %16918, ptr %16919, align 4, !tbaa !5
  %16920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16921 = load i32, ptr @test_count, align 4, !tbaa !5
  %16922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16923 = load i32, ptr %16922, align 4, !tbaa !5
  %16924 = call ptr @s2n_strerror(i32 noundef %16923, ptr noundef @.str.4)
  %16925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16926 = load i32, ptr %16925, align 4, !tbaa !5
  %16927 = call ptr @s2n_strerror_debug(i32 noundef %16926, ptr noundef @.str.4)
  %16928 = call ptr @__errno_location() #12
  %16929 = load i32, ptr %16928, align 4, !tbaa !5
  %16930 = call ptr @strerror(i32 noundef %16929) #11
  %16931 = call ptr @__errno_location() #12
  %16932 = load i32, ptr %16931, align 4, !tbaa !5
  %16933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16920, ptr noundef @.str.5, i32 noundef %16921, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 874, ptr noundef %16924, ptr noundef %16927, ptr noundef %16930, i32 noundef %16932) #11
  br label %16934

16934:                                            ; preds = %16917, %16900
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %16935

16935:                                            ; preds = %16934
  br label %16936

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

16937:                                            ; No predecessors!
  br label %16938

16938:                                            ; preds = %16937
  br label %16939

16939:                                            ; preds = %16938, %16880
  br label %16940

16940:                                            ; preds = %16939
  br label %16941

16941:                                            ; preds = %16940
  br label %16942

16942:                                            ; preds = %16941
  %16943 = load i32, ptr @test_count, align 4, !tbaa !5
  %16944 = add nsw i32 %16943, 1
  store i32 %16944, ptr @test_count, align 4, !tbaa !5
  %16945 = call i32 @s2n_stuffer_free(ptr noundef %405)
  %16946 = icmp eq i32 %16945, -1
  br i1 %16946, label %16947, label %17000

16947:                                            ; preds = %16942
  br label %16948

16948:                                            ; preds = %16947
  br label %16949

16949:                                            ; preds = %16948
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #11
  %16950 = call ptr @__errno_location() #12
  %16951 = load i32, ptr %16950, align 4, !tbaa !5
  store i32 %16951, ptr %420, align 4, !tbaa !5
  %16952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16953 = call i32 @s2n_print_stacktrace(ptr noundef %16952)
  %16954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16955 = trunc i8 %16954 to i1
  br i1 %16955, label %16956, label %16978

16956:                                            ; preds = %16949
  %16957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16958 = call i32 @fileno(ptr noundef %16957) #11
  %16959 = call i32 @isatty(i32 noundef %16958) #11
  %16960 = icmp ne i32 %16959, 0
  br i1 %16960, label %16961, label %16978

16961:                                            ; preds = %16956
  %16962 = load i32, ptr %420, align 4, !tbaa !5
  %16963 = call ptr @__errno_location() #12
  store i32 %16962, ptr %16963, align 4, !tbaa !5
  %16964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16965 = load i32, ptr @test_count, align 4, !tbaa !5
  %16966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16967 = load i32, ptr %16966, align 4, !tbaa !5
  %16968 = call ptr @s2n_strerror(i32 noundef %16967, ptr noundef @.str.4)
  %16969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16970 = load i32, ptr %16969, align 4, !tbaa !5
  %16971 = call ptr @s2n_strerror_debug(i32 noundef %16970, ptr noundef @.str.4)
  %16972 = call ptr @__errno_location() #12
  %16973 = load i32, ptr %16972, align 4, !tbaa !5
  %16974 = call ptr @strerror(i32 noundef %16973) #11
  %16975 = call ptr @__errno_location() #12
  %16976 = load i32, ptr %16975, align 4, !tbaa !5
  %16977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16964, ptr noundef @.str.2, i32 noundef %16965, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 875, ptr noundef %16968, ptr noundef %16971, ptr noundef %16974, i32 noundef %16976) #11
  br label %16995

16978:                                            ; preds = %16956, %16949
  %16979 = load i32, ptr %420, align 4, !tbaa !5
  %16980 = call ptr @__errno_location() #12
  store i32 %16979, ptr %16980, align 4, !tbaa !5
  %16981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16982 = load i32, ptr @test_count, align 4, !tbaa !5
  %16983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16984 = load i32, ptr %16983, align 4, !tbaa !5
  %16985 = call ptr @s2n_strerror(i32 noundef %16984, ptr noundef @.str.4)
  %16986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16987 = load i32, ptr %16986, align 4, !tbaa !5
  %16988 = call ptr @s2n_strerror_debug(i32 noundef %16987, ptr noundef @.str.4)
  %16989 = call ptr @__errno_location() #12
  %16990 = load i32, ptr %16989, align 4, !tbaa !5
  %16991 = call ptr @strerror(i32 noundef %16990) #11
  %16992 = call ptr @__errno_location() #12
  %16993 = load i32, ptr %16992, align 4, !tbaa !5
  %16994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16981, ptr noundef @.str.5, i32 noundef %16982, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 875, ptr noundef %16985, ptr noundef %16988, ptr noundef %16991, i32 noundef %16993) #11
  br label %16995

16995:                                            ; preds = %16978, %16961
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #11
  br label %16996

16996:                                            ; preds = %16995
  br label %16997

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

16998:                                            ; No predecessors!
  br label %16999

16999:                                            ; preds = %16998
  br label %17000

17000:                                            ; preds = %16999, %16942
  br label %17001

17001:                                            ; preds = %17000
  br label %17002

17002:                                            ; preds = %17001
  call void @llvm.lifetime.end.p0(i64 8, ptr %408) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %405) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %401) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %421) #11
  store ptr null, ptr %421, align 8, !tbaa !9
  br label %17003

17003:                                            ; preds = %17002
  %17004 = load i32, ptr @test_count, align 4, !tbaa !5
  %17005 = add nsw i32 %17004, 1
  store i32 %17005, ptr @test_count, align 4, !tbaa !5
  %17006 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %17006, ptr %421, align 8, !tbaa !9
  %17007 = icmp eq ptr %17006, null
  br i1 %17007, label %17008, label %17061

17008:                                            ; preds = %17003
  br label %17009

17009:                                            ; preds = %17008
  br label %17010

17010:                                            ; preds = %17009
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #11
  %17011 = call ptr @__errno_location() #12
  %17012 = load i32, ptr %17011, align 4, !tbaa !5
  store i32 %17012, ptr %422, align 4, !tbaa !5
  %17013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17014 = call i32 @s2n_print_stacktrace(ptr noundef %17013)
  %17015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17016 = trunc i8 %17015 to i1
  br i1 %17016, label %17017, label %17039

17017:                                            ; preds = %17010
  %17018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17019 = call i32 @fileno(ptr noundef %17018) #11
  %17020 = call i32 @isatty(i32 noundef %17019) #11
  %17021 = icmp ne i32 %17020, 0
  br i1 %17021, label %17022, label %17039

17022:                                            ; preds = %17017
  %17023 = load i32, ptr %422, align 4, !tbaa !5
  %17024 = call ptr @__errno_location() #12
  store i32 %17023, ptr %17024, align 4, !tbaa !5
  %17025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17026 = load i32, ptr @test_count, align 4, !tbaa !5
  %17027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17028 = load i32, ptr %17027, align 4, !tbaa !5
  %17029 = call ptr @s2n_strerror(i32 noundef %17028, ptr noundef @.str.4)
  %17030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17031 = load i32, ptr %17030, align 4, !tbaa !5
  %17032 = call ptr @s2n_strerror_debug(i32 noundef %17031, ptr noundef @.str.4)
  %17033 = call ptr @__errno_location() #12
  %17034 = load i32, ptr %17033, align 4, !tbaa !5
  %17035 = call ptr @strerror(i32 noundef %17034) #11
  %17036 = call ptr @__errno_location() #12
  %17037 = load i32, ptr %17036, align 4, !tbaa !5
  %17038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17025, ptr noundef @.str.2, i32 noundef %17026, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 881, ptr noundef %17029, ptr noundef %17032, ptr noundef %17035, i32 noundef %17037) #11
  br label %17056

17039:                                            ; preds = %17017, %17010
  %17040 = load i32, ptr %422, align 4, !tbaa !5
  %17041 = call ptr @__errno_location() #12
  store i32 %17040, ptr %17041, align 4, !tbaa !5
  %17042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17043 = load i32, ptr @test_count, align 4, !tbaa !5
  %17044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17045 = load i32, ptr %17044, align 4, !tbaa !5
  %17046 = call ptr @s2n_strerror(i32 noundef %17045, ptr noundef @.str.4)
  %17047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17048 = load i32, ptr %17047, align 4, !tbaa !5
  %17049 = call ptr @s2n_strerror_debug(i32 noundef %17048, ptr noundef @.str.4)
  %17050 = call ptr @__errno_location() #12
  %17051 = load i32, ptr %17050, align 4, !tbaa !5
  %17052 = call ptr @strerror(i32 noundef %17051) #11
  %17053 = call ptr @__errno_location() #12
  %17054 = load i32, ptr %17053, align 4, !tbaa !5
  %17055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17042, ptr noundef @.str.5, i32 noundef %17043, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 881, ptr noundef %17046, ptr noundef %17049, ptr noundef %17052, i32 noundef %17054) #11
  br label %17056

17056:                                            ; preds = %17039, %17022
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #11
  br label %17057

17057:                                            ; preds = %17056
  br label %17058

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

17059:                                            ; No predecessors!
  br label %17060

17060:                                            ; preds = %17059
  br label %17061

17061:                                            ; preds = %17060, %17003
  br label %17062

17062:                                            ; preds = %17061
  br label %17063

17063:                                            ; preds = %17062
  br label %17064

17064:                                            ; preds = %17063
  %17065 = load i32, ptr @test_count, align 4, !tbaa !5
  %17066 = add nsw i32 %17065, 1
  store i32 %17066, ptr @test_count, align 4, !tbaa !5
  %17067 = load ptr, ptr %421, align 8, !tbaa !9
  %17068 = call i32 @s2n_connection_set_psk_type(ptr noundef %17067, i32 noundef 1)
  %17069 = getelementptr inbounds %struct.s2n_result, ptr %423, i32 0, i32 0
  store i32 %17068, ptr %17069, align 4
  %17070 = getelementptr inbounds %struct.s2n_result, ptr %423, i32 0, i32 0
  %17071 = load i32, ptr %17070, align 4
  %17072 = call zeroext i1 @s2n_result_is_ok(i32 %17071)
  br i1 %17072, label %17126, label %17073

17073:                                            ; preds = %17064
  br label %17074

17074:                                            ; preds = %17073
  br label %17075

17075:                                            ; preds = %17074
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #11
  %17076 = call ptr @__errno_location() #12
  %17077 = load i32, ptr %17076, align 4, !tbaa !5
  store i32 %17077, ptr %424, align 4, !tbaa !5
  %17078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17079 = call i32 @s2n_print_stacktrace(ptr noundef %17078)
  %17080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17081 = trunc i8 %17080 to i1
  br i1 %17081, label %17082, label %17104

17082:                                            ; preds = %17075
  %17083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17084 = call i32 @fileno(ptr noundef %17083) #11
  %17085 = call i32 @isatty(i32 noundef %17084) #11
  %17086 = icmp ne i32 %17085, 0
  br i1 %17086, label %17087, label %17104

17087:                                            ; preds = %17082
  %17088 = load i32, ptr %424, align 4, !tbaa !5
  %17089 = call ptr @__errno_location() #12
  store i32 %17088, ptr %17089, align 4, !tbaa !5
  %17090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17091 = load i32, ptr @test_count, align 4, !tbaa !5
  %17092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17093 = load i32, ptr %17092, align 4, !tbaa !5
  %17094 = call ptr @s2n_strerror(i32 noundef %17093, ptr noundef @.str.4)
  %17095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17096 = load i32, ptr %17095, align 4, !tbaa !5
  %17097 = call ptr @s2n_strerror_debug(i32 noundef %17096, ptr noundef @.str.4)
  %17098 = call ptr @__errno_location() #12
  %17099 = load i32, ptr %17098, align 4, !tbaa !5
  %17100 = call ptr @strerror(i32 noundef %17099) #11
  %17101 = call ptr @__errno_location() #12
  %17102 = load i32, ptr %17101, align 4, !tbaa !5
  %17103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17090, ptr noundef @.str.2, i32 noundef %17091, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 882, ptr noundef %17094, ptr noundef %17097, ptr noundef %17100, i32 noundef %17102) #11
  br label %17121

17104:                                            ; preds = %17082, %17075
  %17105 = load i32, ptr %424, align 4, !tbaa !5
  %17106 = call ptr @__errno_location() #12
  store i32 %17105, ptr %17106, align 4, !tbaa !5
  %17107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17108 = load i32, ptr @test_count, align 4, !tbaa !5
  %17109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17110 = load i32, ptr %17109, align 4, !tbaa !5
  %17111 = call ptr @s2n_strerror(i32 noundef %17110, ptr noundef @.str.4)
  %17112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17113 = load i32, ptr %17112, align 4, !tbaa !5
  %17114 = call ptr @s2n_strerror_debug(i32 noundef %17113, ptr noundef @.str.4)
  %17115 = call ptr @__errno_location() #12
  %17116 = load i32, ptr %17115, align 4, !tbaa !5
  %17117 = call ptr @strerror(i32 noundef %17116) #11
  %17118 = call ptr @__errno_location() #12
  %17119 = load i32, ptr %17118, align 4, !tbaa !5
  %17120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17107, ptr noundef @.str.5, i32 noundef %17108, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 882, ptr noundef %17111, ptr noundef %17114, ptr noundef %17117, i32 noundef %17119) #11
  br label %17121

17121:                                            ; preds = %17104, %17087
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #11
  br label %17122

17122:                                            ; preds = %17121
  br label %17123

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

17124:                                            ; No predecessors!
  br label %17125

17125:                                            ; preds = %17124
  br label %17126

17126:                                            ; preds = %17125, %17064
  br label %17127

17127:                                            ; preds = %17126
  br label %17128

17128:                                            ; preds = %17127
  call void @llvm.lifetime.start.p0(i64 40, ptr %425) #11
  call void @llvm.memset.p0.i64(ptr align 8 %425, i8 0, i64 40, i1 false)
  br label %17129

17129:                                            ; preds = %17128
  %17130 = load i32, ptr @test_count, align 4, !tbaa !5
  %17131 = add nsw i32 %17130, 1
  store i32 %17131, ptr @test_count, align 4, !tbaa !5
  %17132 = call i32 @s2n_stuffer_alloc(ptr noundef %425, i32 noundef 9)
  %17133 = icmp eq i32 %17132, -1
  br i1 %17133, label %17134, label %17187

17134:                                            ; preds = %17129
  br label %17135

17135:                                            ; preds = %17134
  br label %17136

17136:                                            ; preds = %17135
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #11
  %17137 = call ptr @__errno_location() #12
  %17138 = load i32, ptr %17137, align 4, !tbaa !5
  store i32 %17138, ptr %426, align 4, !tbaa !5
  %17139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17140 = call i32 @s2n_print_stacktrace(ptr noundef %17139)
  %17141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17142 = trunc i8 %17141 to i1
  br i1 %17142, label %17143, label %17165

17143:                                            ; preds = %17136
  %17144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17145 = call i32 @fileno(ptr noundef %17144) #11
  %17146 = call i32 @isatty(i32 noundef %17145) #11
  %17147 = icmp ne i32 %17146, 0
  br i1 %17147, label %17148, label %17165

17148:                                            ; preds = %17143
  %17149 = load i32, ptr %426, align 4, !tbaa !5
  %17150 = call ptr @__errno_location() #12
  store i32 %17149, ptr %17150, align 4, !tbaa !5
  %17151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17152 = load i32, ptr @test_count, align 4, !tbaa !5
  %17153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17154 = load i32, ptr %17153, align 4, !tbaa !5
  %17155 = call ptr @s2n_strerror(i32 noundef %17154, ptr noundef @.str.4)
  %17156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17157 = load i32, ptr %17156, align 4, !tbaa !5
  %17158 = call ptr @s2n_strerror_debug(i32 noundef %17157, ptr noundef @.str.4)
  %17159 = call ptr @__errno_location() #12
  %17160 = load i32, ptr %17159, align 4, !tbaa !5
  %17161 = call ptr @strerror(i32 noundef %17160) #11
  %17162 = call ptr @__errno_location() #12
  %17163 = load i32, ptr %17162, align 4, !tbaa !5
  %17164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17151, ptr noundef @.str.2, i32 noundef %17152, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 885, ptr noundef %17155, ptr noundef %17158, ptr noundef %17161, i32 noundef %17163) #11
  br label %17182

17165:                                            ; preds = %17143, %17136
  %17166 = load i32, ptr %426, align 4, !tbaa !5
  %17167 = call ptr @__errno_location() #12
  store i32 %17166, ptr %17167, align 4, !tbaa !5
  %17168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17169 = load i32, ptr @test_count, align 4, !tbaa !5
  %17170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17171 = load i32, ptr %17170, align 4, !tbaa !5
  %17172 = call ptr @s2n_strerror(i32 noundef %17171, ptr noundef @.str.4)
  %17173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17174 = load i32, ptr %17173, align 4, !tbaa !5
  %17175 = call ptr @s2n_strerror_debug(i32 noundef %17174, ptr noundef @.str.4)
  %17176 = call ptr @__errno_location() #12
  %17177 = load i32, ptr %17176, align 4, !tbaa !5
  %17178 = call ptr @strerror(i32 noundef %17177) #11
  %17179 = call ptr @__errno_location() #12
  %17180 = load i32, ptr %17179, align 4, !tbaa !5
  %17181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17168, ptr noundef @.str.5, i32 noundef %17169, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 885, ptr noundef %17172, ptr noundef %17175, ptr noundef %17178, i32 noundef %17180) #11
  br label %17182

17182:                                            ; preds = %17165, %17148
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #11
  br label %17183

17183:                                            ; preds = %17182
  br label %17184

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

17185:                                            ; No predecessors!
  br label %17186

17186:                                            ; preds = %17185
  br label %17187

17187:                                            ; preds = %17186, %17129
  br label %17188

17188:                                            ; preds = %17187
  br label %17189

17189:                                            ; preds = %17188
  br label %17190

17190:                                            ; preds = %17189
  %17191 = load i32, ptr @test_count, align 4, !tbaa !5
  %17192 = add nsw i32 %17191, 1
  store i32 %17192, ptr @test_count, align 4, !tbaa !5
  %17193 = getelementptr inbounds [9 x i8], ptr %15, i64 0, i64 0
  %17194 = call i32 @s2n_stuffer_write_bytes(ptr noundef %425, ptr noundef %17193, i32 noundef 9)
  %17195 = icmp eq i32 %17194, -1
  br i1 %17195, label %17196, label %17249

17196:                                            ; preds = %17190
  br label %17197

17197:                                            ; preds = %17196
  br label %17198

17198:                                            ; preds = %17197
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #11
  %17199 = call ptr @__errno_location() #12
  %17200 = load i32, ptr %17199, align 4, !tbaa !5
  store i32 %17200, ptr %427, align 4, !tbaa !5
  %17201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17202 = call i32 @s2n_print_stacktrace(ptr noundef %17201)
  %17203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17204 = trunc i8 %17203 to i1
  br i1 %17204, label %17205, label %17227

17205:                                            ; preds = %17198
  %17206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17207 = call i32 @fileno(ptr noundef %17206) #11
  %17208 = call i32 @isatty(i32 noundef %17207) #11
  %17209 = icmp ne i32 %17208, 0
  br i1 %17209, label %17210, label %17227

17210:                                            ; preds = %17205
  %17211 = load i32, ptr %427, align 4, !tbaa !5
  %17212 = call ptr @__errno_location() #12
  store i32 %17211, ptr %17212, align 4, !tbaa !5
  %17213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17214 = load i32, ptr @test_count, align 4, !tbaa !5
  %17215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17216 = load i32, ptr %17215, align 4, !tbaa !5
  %17217 = call ptr @s2n_strerror(i32 noundef %17216, ptr noundef @.str.4)
  %17218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17219 = load i32, ptr %17218, align 4, !tbaa !5
  %17220 = call ptr @s2n_strerror_debug(i32 noundef %17219, ptr noundef @.str.4)
  %17221 = call ptr @__errno_location() #12
  %17222 = load i32, ptr %17221, align 4, !tbaa !5
  %17223 = call ptr @strerror(i32 noundef %17222) #11
  %17224 = call ptr @__errno_location() #12
  %17225 = load i32, ptr %17224, align 4, !tbaa !5
  %17226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17213, ptr noundef @.str.2, i32 noundef %17214, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 886, ptr noundef %17217, ptr noundef %17220, ptr noundef %17223, i32 noundef %17225) #11
  br label %17244

17227:                                            ; preds = %17205, %17198
  %17228 = load i32, ptr %427, align 4, !tbaa !5
  %17229 = call ptr @__errno_location() #12
  store i32 %17228, ptr %17229, align 4, !tbaa !5
  %17230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17231 = load i32, ptr @test_count, align 4, !tbaa !5
  %17232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17233 = load i32, ptr %17232, align 4, !tbaa !5
  %17234 = call ptr @s2n_strerror(i32 noundef %17233, ptr noundef @.str.4)
  %17235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17236 = load i32, ptr %17235, align 4, !tbaa !5
  %17237 = call ptr @s2n_strerror_debug(i32 noundef %17236, ptr noundef @.str.4)
  %17238 = call ptr @__errno_location() #12
  %17239 = load i32, ptr %17238, align 4, !tbaa !5
  %17240 = call ptr @strerror(i32 noundef %17239) #11
  %17241 = call ptr @__errno_location() #12
  %17242 = load i32, ptr %17241, align 4, !tbaa !5
  %17243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17230, ptr noundef @.str.5, i32 noundef %17231, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 886, ptr noundef %17234, ptr noundef %17237, ptr noundef %17240, i32 noundef %17242) #11
  br label %17244

17244:                                            ; preds = %17227, %17210
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #11
  br label %17245

17245:                                            ; preds = %17244
  br label %17246

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

17247:                                            ; No predecessors!
  br label %17248

17248:                                            ; preds = %17247
  br label %17249

17249:                                            ; preds = %17248, %17190
  br label %17250

17250:                                            ; preds = %17249
  br label %17251

17251:                                            ; preds = %17250
  call void @llvm.lifetime.start.p0(i64 8, ptr %428) #11
  store ptr null, ptr %428, align 8, !tbaa !9
  br label %17252

17252:                                            ; preds = %17251
  %17253 = load i32, ptr @test_count, align 4, !tbaa !5
  %17254 = add nsw i32 %17253, 1
  store i32 %17254, ptr @test_count, align 4, !tbaa !5
  %17255 = load ptr, ptr %421, align 8, !tbaa !9
  %17256 = getelementptr inbounds %struct.s2n_connection, ptr %17255, i32 0, i32 33
  %17257 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %17256, i32 0, i32 1
  %17258 = call i32 @s2n_array_pushback(ptr noundef %17257, ptr noundef %428)
  %17259 = getelementptr inbounds %struct.s2n_result, ptr %429, i32 0, i32 0
  store i32 %17258, ptr %17259, align 4
  %17260 = getelementptr inbounds %struct.s2n_result, ptr %429, i32 0, i32 0
  %17261 = load i32, ptr %17260, align 4
  %17262 = call zeroext i1 @s2n_result_is_ok(i32 %17261)
  br i1 %17262, label %17316, label %17263

17263:                                            ; preds = %17252
  br label %17264

17264:                                            ; preds = %17263
  br label %17265

17265:                                            ; preds = %17264
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %17266 = call ptr @__errno_location() #12
  %17267 = load i32, ptr %17266, align 4, !tbaa !5
  store i32 %17267, ptr %430, align 4, !tbaa !5
  %17268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17269 = call i32 @s2n_print_stacktrace(ptr noundef %17268)
  %17270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17271 = trunc i8 %17270 to i1
  br i1 %17271, label %17272, label %17294

17272:                                            ; preds = %17265
  %17273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17274 = call i32 @fileno(ptr noundef %17273) #11
  %17275 = call i32 @isatty(i32 noundef %17274) #11
  %17276 = icmp ne i32 %17275, 0
  br i1 %17276, label %17277, label %17294

17277:                                            ; preds = %17272
  %17278 = load i32, ptr %430, align 4, !tbaa !5
  %17279 = call ptr @__errno_location() #12
  store i32 %17278, ptr %17279, align 4, !tbaa !5
  %17280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17281 = load i32, ptr @test_count, align 4, !tbaa !5
  %17282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17283 = load i32, ptr %17282, align 4, !tbaa !5
  %17284 = call ptr @s2n_strerror(i32 noundef %17283, ptr noundef @.str.4)
  %17285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17286 = load i32, ptr %17285, align 4, !tbaa !5
  %17287 = call ptr @s2n_strerror_debug(i32 noundef %17286, ptr noundef @.str.4)
  %17288 = call ptr @__errno_location() #12
  %17289 = load i32, ptr %17288, align 4, !tbaa !5
  %17290 = call ptr @strerror(i32 noundef %17289) #11
  %17291 = call ptr @__errno_location() #12
  %17292 = load i32, ptr %17291, align 4, !tbaa !5
  %17293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17280, ptr noundef @.str.2, i32 noundef %17281, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 889, ptr noundef %17284, ptr noundef %17287, ptr noundef %17290, i32 noundef %17292) #11
  br label %17311

17294:                                            ; preds = %17272, %17265
  %17295 = load i32, ptr %430, align 4, !tbaa !5
  %17296 = call ptr @__errno_location() #12
  store i32 %17295, ptr %17296, align 4, !tbaa !5
  %17297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17298 = load i32, ptr @test_count, align 4, !tbaa !5
  %17299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17300 = load i32, ptr %17299, align 4, !tbaa !5
  %17301 = call ptr @s2n_strerror(i32 noundef %17300, ptr noundef @.str.4)
  %17302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17303 = load i32, ptr %17302, align 4, !tbaa !5
  %17304 = call ptr @s2n_strerror_debug(i32 noundef %17303, ptr noundef @.str.4)
  %17305 = call ptr @__errno_location() #12
  %17306 = load i32, ptr %17305, align 4, !tbaa !5
  %17307 = call ptr @strerror(i32 noundef %17306) #11
  %17308 = call ptr @__errno_location() #12
  %17309 = load i32, ptr %17308, align 4, !tbaa !5
  %17310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17297, ptr noundef @.str.5, i32 noundef %17298, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 889, ptr noundef %17301, ptr noundef %17304, ptr noundef %17307, i32 noundef %17309) #11
  br label %17311

17311:                                            ; preds = %17294, %17277
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %17312

17312:                                            ; preds = %17311
  br label %17313

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

17314:                                            ; No predecessors!
  br label %17315

17315:                                            ; preds = %17314
  br label %17316

17316:                                            ; preds = %17315, %17252
  br label %17317

17317:                                            ; preds = %17316
  br label %17318

17318:                                            ; preds = %17317
  br label %17319

17319:                                            ; preds = %17318
  %17320 = load i32, ptr @test_count, align 4, !tbaa !5
  %17321 = add nsw i32 %17320, 1
  store i32 %17321, ptr @test_count, align 4, !tbaa !5
  %17322 = load ptr, ptr %428, align 8, !tbaa !9
  %17323 = call i32 @s2n_psk_init(ptr noundef %17322, i32 noundef 1)
  %17324 = getelementptr inbounds %struct.s2n_result, ptr %431, i32 0, i32 0
  store i32 %17323, ptr %17324, align 4
  %17325 = getelementptr inbounds %struct.s2n_result, ptr %431, i32 0, i32 0
  %17326 = load i32, ptr %17325, align 4
  %17327 = call zeroext i1 @s2n_result_is_ok(i32 %17326)
  br i1 %17327, label %17381, label %17328

17328:                                            ; preds = %17319
  br label %17329

17329:                                            ; preds = %17328
  br label %17330

17330:                                            ; preds = %17329
  call void @llvm.lifetime.start.p0(i64 4, ptr %432) #11
  %17331 = call ptr @__errno_location() #12
  %17332 = load i32, ptr %17331, align 4, !tbaa !5
  store i32 %17332, ptr %432, align 4, !tbaa !5
  %17333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17334 = call i32 @s2n_print_stacktrace(ptr noundef %17333)
  %17335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17336 = trunc i8 %17335 to i1
  br i1 %17336, label %17337, label %17359

17337:                                            ; preds = %17330
  %17338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17339 = call i32 @fileno(ptr noundef %17338) #11
  %17340 = call i32 @isatty(i32 noundef %17339) #11
  %17341 = icmp ne i32 %17340, 0
  br i1 %17341, label %17342, label %17359

17342:                                            ; preds = %17337
  %17343 = load i32, ptr %432, align 4, !tbaa !5
  %17344 = call ptr @__errno_location() #12
  store i32 %17343, ptr %17344, align 4, !tbaa !5
  %17345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17346 = load i32, ptr @test_count, align 4, !tbaa !5
  %17347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17348 = load i32, ptr %17347, align 4, !tbaa !5
  %17349 = call ptr @s2n_strerror(i32 noundef %17348, ptr noundef @.str.4)
  %17350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17351 = load i32, ptr %17350, align 4, !tbaa !5
  %17352 = call ptr @s2n_strerror_debug(i32 noundef %17351, ptr noundef @.str.4)
  %17353 = call ptr @__errno_location() #12
  %17354 = load i32, ptr %17353, align 4, !tbaa !5
  %17355 = call ptr @strerror(i32 noundef %17354) #11
  %17356 = call ptr @__errno_location() #12
  %17357 = load i32, ptr %17356, align 4, !tbaa !5
  %17358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17345, ptr noundef @.str.2, i32 noundef %17346, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 890, ptr noundef %17349, ptr noundef %17352, ptr noundef %17355, i32 noundef %17357) #11
  br label %17376

17359:                                            ; preds = %17337, %17330
  %17360 = load i32, ptr %432, align 4, !tbaa !5
  %17361 = call ptr @__errno_location() #12
  store i32 %17360, ptr %17361, align 4, !tbaa !5
  %17362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17363 = load i32, ptr @test_count, align 4, !tbaa !5
  %17364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17365 = load i32, ptr %17364, align 4, !tbaa !5
  %17366 = call ptr @s2n_strerror(i32 noundef %17365, ptr noundef @.str.4)
  %17367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17368 = load i32, ptr %17367, align 4, !tbaa !5
  %17369 = call ptr @s2n_strerror_debug(i32 noundef %17368, ptr noundef @.str.4)
  %17370 = call ptr @__errno_location() #12
  %17371 = load i32, ptr %17370, align 4, !tbaa !5
  %17372 = call ptr @strerror(i32 noundef %17371) #11
  %17373 = call ptr @__errno_location() #12
  %17374 = load i32, ptr %17373, align 4, !tbaa !5
  %17375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17362, ptr noundef @.str.5, i32 noundef %17363, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 890, ptr noundef %17366, ptr noundef %17369, ptr noundef %17372, i32 noundef %17374) #11
  br label %17376

17376:                                            ; preds = %17359, %17342
  call void @llvm.lifetime.end.p0(i64 4, ptr %432) #11
  br label %17377

17377:                                            ; preds = %17376
  br label %17378

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

17379:                                            ; No predecessors!
  br label %17380

17380:                                            ; preds = %17379
  br label %17381

17381:                                            ; preds = %17380, %17319
  br label %17382

17382:                                            ; preds = %17381
  br label %17383

17383:                                            ; preds = %17382
  br label %17384

17384:                                            ; preds = %17383
  %17385 = load i32, ptr @test_count, align 4, !tbaa !5
  %17386 = add nsw i32 %17385, 1
  store i32 %17386, ptr @test_count, align 4, !tbaa !5
  %17387 = load ptr, ptr %428, align 8, !tbaa !9
  %17388 = getelementptr inbounds [3 x i8], ptr %9, i64 0, i64 0
  %17389 = call i32 @s2n_psk_set_identity(ptr noundef %17387, ptr noundef %17388, i16 noundef zeroext 3)
  %17390 = icmp eq i32 %17389, -1
  br i1 %17390, label %17391, label %17444

17391:                                            ; preds = %17384
  br label %17392

17392:                                            ; preds = %17391
  br label %17393

17393:                                            ; preds = %17392
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #11
  %17394 = call ptr @__errno_location() #12
  %17395 = load i32, ptr %17394, align 4, !tbaa !5
  store i32 %17395, ptr %433, align 4, !tbaa !5
  %17396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17397 = call i32 @s2n_print_stacktrace(ptr noundef %17396)
  %17398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17399 = trunc i8 %17398 to i1
  br i1 %17399, label %17400, label %17422

17400:                                            ; preds = %17393
  %17401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17402 = call i32 @fileno(ptr noundef %17401) #11
  %17403 = call i32 @isatty(i32 noundef %17402) #11
  %17404 = icmp ne i32 %17403, 0
  br i1 %17404, label %17405, label %17422

17405:                                            ; preds = %17400
  %17406 = load i32, ptr %433, align 4, !tbaa !5
  %17407 = call ptr @__errno_location() #12
  store i32 %17406, ptr %17407, align 4, !tbaa !5
  %17408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17409 = load i32, ptr @test_count, align 4, !tbaa !5
  %17410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17411 = load i32, ptr %17410, align 4, !tbaa !5
  %17412 = call ptr @s2n_strerror(i32 noundef %17411, ptr noundef @.str.4)
  %17413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17414 = load i32, ptr %17413, align 4, !tbaa !5
  %17415 = call ptr @s2n_strerror_debug(i32 noundef %17414, ptr noundef @.str.4)
  %17416 = call ptr @__errno_location() #12
  %17417 = load i32, ptr %17416, align 4, !tbaa !5
  %17418 = call ptr @strerror(i32 noundef %17417) #11
  %17419 = call ptr @__errno_location() #12
  %17420 = load i32, ptr %17419, align 4, !tbaa !5
  %17421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17408, ptr noundef @.str.2, i32 noundef %17409, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 891, ptr noundef %17412, ptr noundef %17415, ptr noundef %17418, i32 noundef %17420) #11
  br label %17439

17422:                                            ; preds = %17400, %17393
  %17423 = load i32, ptr %433, align 4, !tbaa !5
  %17424 = call ptr @__errno_location() #12
  store i32 %17423, ptr %17424, align 4, !tbaa !5
  %17425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17426 = load i32, ptr @test_count, align 4, !tbaa !5
  %17427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17428 = load i32, ptr %17427, align 4, !tbaa !5
  %17429 = call ptr @s2n_strerror(i32 noundef %17428, ptr noundef @.str.4)
  %17430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17431 = load i32, ptr %17430, align 4, !tbaa !5
  %17432 = call ptr @s2n_strerror_debug(i32 noundef %17431, ptr noundef @.str.4)
  %17433 = call ptr @__errno_location() #12
  %17434 = load i32, ptr %17433, align 4, !tbaa !5
  %17435 = call ptr @strerror(i32 noundef %17434) #11
  %17436 = call ptr @__errno_location() #12
  %17437 = load i32, ptr %17436, align 4, !tbaa !5
  %17438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17425, ptr noundef @.str.5, i32 noundef %17426, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 891, ptr noundef %17429, ptr noundef %17432, ptr noundef %17435, i32 noundef %17437) #11
  br label %17439

17439:                                            ; preds = %17422, %17405
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #11
  br label %17440

17440:                                            ; preds = %17439
  br label %17441

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

17442:                                            ; No predecessors!
  br label %17443

17443:                                            ; preds = %17442
  br label %17444

17444:                                            ; preds = %17443, %17384
  br label %17445

17445:                                            ; preds = %17444
  br label %17446

17446:                                            ; preds = %17445
  br label %17447

17447:                                            ; preds = %17446
  %17448 = load i32, ptr @test_count, align 4, !tbaa !5
  %17449 = add nsw i32 %17448, 1
  store i32 %17449, ptr @test_count, align 4, !tbaa !5
  %17450 = load ptr, ptr %421, align 8, !tbaa !9
  %17451 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %17450, ptr noundef %425)
  %17452 = getelementptr inbounds %struct.s2n_result, ptr %434, i32 0, i32 0
  store i32 %17451, ptr %17452, align 4
  %17453 = getelementptr inbounds %struct.s2n_result, ptr %434, i32 0, i32 0
  %17454 = load i32, ptr %17453, align 4
  %17455 = call zeroext i1 @s2n_result_is_ok(i32 %17454)
  br i1 %17455, label %17509, label %17456

17456:                                            ; preds = %17447
  br label %17457

17457:                                            ; preds = %17456
  br label %17458

17458:                                            ; preds = %17457
  call void @llvm.lifetime.start.p0(i64 4, ptr %435) #11
  %17459 = call ptr @__errno_location() #12
  %17460 = load i32, ptr %17459, align 4, !tbaa !5
  store i32 %17460, ptr %435, align 4, !tbaa !5
  %17461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17462 = call i32 @s2n_print_stacktrace(ptr noundef %17461)
  %17463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17464 = trunc i8 %17463 to i1
  br i1 %17464, label %17465, label %17487

17465:                                            ; preds = %17458
  %17466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17467 = call i32 @fileno(ptr noundef %17466) #11
  %17468 = call i32 @isatty(i32 noundef %17467) #11
  %17469 = icmp ne i32 %17468, 0
  br i1 %17469, label %17470, label %17487

17470:                                            ; preds = %17465
  %17471 = load i32, ptr %435, align 4, !tbaa !5
  %17472 = call ptr @__errno_location() #12
  store i32 %17471, ptr %17472, align 4, !tbaa !5
  %17473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17474 = load i32, ptr @test_count, align 4, !tbaa !5
  %17475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17476 = load i32, ptr %17475, align 4, !tbaa !5
  %17477 = call ptr @s2n_strerror(i32 noundef %17476, ptr noundef @.str.4)
  %17478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17479 = load i32, ptr %17478, align 4, !tbaa !5
  %17480 = call ptr @s2n_strerror_debug(i32 noundef %17479, ptr noundef @.str.4)
  %17481 = call ptr @__errno_location() #12
  %17482 = load i32, ptr %17481, align 4, !tbaa !5
  %17483 = call ptr @strerror(i32 noundef %17482) #11
  %17484 = call ptr @__errno_location() #12
  %17485 = load i32, ptr %17484, align 4, !tbaa !5
  %17486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17473, ptr noundef @.str.2, i32 noundef %17474, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 893, ptr noundef %17477, ptr noundef %17480, ptr noundef %17483, i32 noundef %17485) #11
  br label %17504

17487:                                            ; preds = %17465, %17458
  %17488 = load i32, ptr %435, align 4, !tbaa !5
  %17489 = call ptr @__errno_location() #12
  store i32 %17488, ptr %17489, align 4, !tbaa !5
  %17490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17491 = load i32, ptr @test_count, align 4, !tbaa !5
  %17492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17493 = load i32, ptr %17492, align 4, !tbaa !5
  %17494 = call ptr @s2n_strerror(i32 noundef %17493, ptr noundef @.str.4)
  %17495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17496 = load i32, ptr %17495, align 4, !tbaa !5
  %17497 = call ptr @s2n_strerror_debug(i32 noundef %17496, ptr noundef @.str.4)
  %17498 = call ptr @__errno_location() #12
  %17499 = load i32, ptr %17498, align 4, !tbaa !5
  %17500 = call ptr @strerror(i32 noundef %17499) #11
  %17501 = call ptr @__errno_location() #12
  %17502 = load i32, ptr %17501, align 4, !tbaa !5
  %17503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17490, ptr noundef @.str.5, i32 noundef %17491, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 893, ptr noundef %17494, ptr noundef %17497, ptr noundef %17500, i32 noundef %17502) #11
  br label %17504

17504:                                            ; preds = %17487, %17470
  call void @llvm.lifetime.end.p0(i64 4, ptr %435) #11
  br label %17505

17505:                                            ; preds = %17504
  br label %17506

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

17507:                                            ; No predecessors!
  br label %17508

17508:                                            ; preds = %17507
  br label %17509

17509:                                            ; preds = %17508, %17447
  br label %17510

17510:                                            ; preds = %17509
  br label %17511

17511:                                            ; preds = %17510
  br label %17512

17512:                                            ; preds = %17511
  %17513 = load i32, ptr @test_count, align 4, !tbaa !5
  %17514 = add nsw i32 %17513, 1
  store i32 %17514, ptr @test_count, align 4, !tbaa !5
  %17515 = load ptr, ptr %421, align 8, !tbaa !9
  %17516 = getelementptr inbounds %struct.s2n_connection, ptr %17515, i32 0, i32 33
  %17517 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %17516, i32 0, i32 3
  %17518 = load i16, ptr %17517, align 2, !tbaa !99
  %17519 = zext i16 %17518 to i32
  %17520 = icmp eq i32 %17519, 0
  br i1 %17520, label %17574, label %17521

17521:                                            ; preds = %17512
  br label %17522

17522:                                            ; preds = %17521
  br label %17523

17523:                                            ; preds = %17522
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #11
  %17524 = call ptr @__errno_location() #12
  %17525 = load i32, ptr %17524, align 4, !tbaa !5
  store i32 %17525, ptr %436, align 4, !tbaa !5
  %17526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17527 = call i32 @s2n_print_stacktrace(ptr noundef %17526)
  %17528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17529 = trunc i8 %17528 to i1
  br i1 %17529, label %17530, label %17552

17530:                                            ; preds = %17523
  %17531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17532 = call i32 @fileno(ptr noundef %17531) #11
  %17533 = call i32 @isatty(i32 noundef %17532) #11
  %17534 = icmp ne i32 %17533, 0
  br i1 %17534, label %17535, label %17552

17535:                                            ; preds = %17530
  %17536 = load i32, ptr %436, align 4, !tbaa !5
  %17537 = call ptr @__errno_location() #12
  store i32 %17536, ptr %17537, align 4, !tbaa !5
  %17538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17539 = load i32, ptr @test_count, align 4, !tbaa !5
  %17540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17541 = load i32, ptr %17540, align 4, !tbaa !5
  %17542 = call ptr @s2n_strerror(i32 noundef %17541, ptr noundef @.str.4)
  %17543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17544 = load i32, ptr %17543, align 4, !tbaa !5
  %17545 = call ptr @s2n_strerror_debug(i32 noundef %17544, ptr noundef @.str.4)
  %17546 = call ptr @__errno_location() #12
  %17547 = load i32, ptr %17546, align 4, !tbaa !5
  %17548 = call ptr @strerror(i32 noundef %17547) #11
  %17549 = call ptr @__errno_location() #12
  %17550 = load i32, ptr %17549, align 4, !tbaa !5
  %17551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17538, ptr noundef @.str.2, i32 noundef %17539, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 894, ptr noundef %17542, ptr noundef %17545, ptr noundef %17548, i32 noundef %17550) #11
  br label %17569

17552:                                            ; preds = %17530, %17523
  %17553 = load i32, ptr %436, align 4, !tbaa !5
  %17554 = call ptr @__errno_location() #12
  store i32 %17553, ptr %17554, align 4, !tbaa !5
  %17555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17556 = load i32, ptr @test_count, align 4, !tbaa !5
  %17557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17558 = load i32, ptr %17557, align 4, !tbaa !5
  %17559 = call ptr @s2n_strerror(i32 noundef %17558, ptr noundef @.str.4)
  %17560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17561 = load i32, ptr %17560, align 4, !tbaa !5
  %17562 = call ptr @s2n_strerror_debug(i32 noundef %17561, ptr noundef @.str.4)
  %17563 = call ptr @__errno_location() #12
  %17564 = load i32, ptr %17563, align 4, !tbaa !5
  %17565 = call ptr @strerror(i32 noundef %17564) #11
  %17566 = call ptr @__errno_location() #12
  %17567 = load i32, ptr %17566, align 4, !tbaa !5
  %17568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17555, ptr noundef @.str.5, i32 noundef %17556, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 894, ptr noundef %17559, ptr noundef %17562, ptr noundef %17565, i32 noundef %17567) #11
  br label %17569

17569:                                            ; preds = %17552, %17535
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #11
  br label %17570

17570:                                            ; preds = %17569
  br label %17571

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

17572:                                            ; No predecessors!
  br label %17573

17573:                                            ; preds = %17572
  br label %17574

17574:                                            ; preds = %17573, %17512
  br label %17575

17575:                                            ; preds = %17574
  br label %17576

17576:                                            ; preds = %17575
  br label %17577

17577:                                            ; preds = %17576
  %17578 = load i32, ptr @test_count, align 4, !tbaa !5
  %17579 = add nsw i32 %17578, 1
  store i32 %17579, ptr @test_count, align 4, !tbaa !5
  %17580 = load ptr, ptr %421, align 8, !tbaa !9
  %17581 = getelementptr inbounds %struct.s2n_connection, ptr %17580, i32 0, i32 33
  %17582 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %17581, i32 0, i32 4
  %17583 = load ptr, ptr %17582, align 8, !tbaa !100
  %17584 = load ptr, ptr %428, align 8, !tbaa !9
  %17585 = icmp eq ptr %17583, %17584
  br i1 %17585, label %17639, label %17586

17586:                                            ; preds = %17577
  br label %17587

17587:                                            ; preds = %17586
  br label %17588

17588:                                            ; preds = %17587
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #11
  %17589 = call ptr @__errno_location() #12
  %17590 = load i32, ptr %17589, align 4, !tbaa !5
  store i32 %17590, ptr %437, align 4, !tbaa !5
  %17591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17592 = call i32 @s2n_print_stacktrace(ptr noundef %17591)
  %17593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17594 = trunc i8 %17593 to i1
  br i1 %17594, label %17595, label %17617

17595:                                            ; preds = %17588
  %17596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17597 = call i32 @fileno(ptr noundef %17596) #11
  %17598 = call i32 @isatty(i32 noundef %17597) #11
  %17599 = icmp ne i32 %17598, 0
  br i1 %17599, label %17600, label %17617

17600:                                            ; preds = %17595
  %17601 = load i32, ptr %437, align 4, !tbaa !5
  %17602 = call ptr @__errno_location() #12
  store i32 %17601, ptr %17602, align 4, !tbaa !5
  %17603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17604 = load i32, ptr @test_count, align 4, !tbaa !5
  %17605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17606 = load i32, ptr %17605, align 4, !tbaa !5
  %17607 = call ptr @s2n_strerror(i32 noundef %17606, ptr noundef @.str.4)
  %17608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17609 = load i32, ptr %17608, align 4, !tbaa !5
  %17610 = call ptr @s2n_strerror_debug(i32 noundef %17609, ptr noundef @.str.4)
  %17611 = call ptr @__errno_location() #12
  %17612 = load i32, ptr %17611, align 4, !tbaa !5
  %17613 = call ptr @strerror(i32 noundef %17612) #11
  %17614 = call ptr @__errno_location() #12
  %17615 = load i32, ptr %17614, align 4, !tbaa !5
  %17616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17603, ptr noundef @.str.2, i32 noundef %17604, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 895, ptr noundef %17607, ptr noundef %17610, ptr noundef %17613, i32 noundef %17615) #11
  br label %17634

17617:                                            ; preds = %17595, %17588
  %17618 = load i32, ptr %437, align 4, !tbaa !5
  %17619 = call ptr @__errno_location() #12
  store i32 %17618, ptr %17619, align 4, !tbaa !5
  %17620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17621 = load i32, ptr @test_count, align 4, !tbaa !5
  %17622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17623 = load i32, ptr %17622, align 4, !tbaa !5
  %17624 = call ptr @s2n_strerror(i32 noundef %17623, ptr noundef @.str.4)
  %17625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17626 = load i32, ptr %17625, align 4, !tbaa !5
  %17627 = call ptr @s2n_strerror_debug(i32 noundef %17626, ptr noundef @.str.4)
  %17628 = call ptr @__errno_location() #12
  %17629 = load i32, ptr %17628, align 4, !tbaa !5
  %17630 = call ptr @strerror(i32 noundef %17629) #11
  %17631 = call ptr @__errno_location() #12
  %17632 = load i32, ptr %17631, align 4, !tbaa !5
  %17633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17620, ptr noundef @.str.5, i32 noundef %17621, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 895, ptr noundef %17624, ptr noundef %17627, ptr noundef %17630, i32 noundef %17632) #11
  br label %17634

17634:                                            ; preds = %17617, %17600
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #11
  br label %17635

17635:                                            ; preds = %17634
  br label %17636

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

17637:                                            ; No predecessors!
  br label %17638

17638:                                            ; preds = %17637
  br label %17639

17639:                                            ; preds = %17638, %17577
  br label %17640

17640:                                            ; preds = %17639
  br label %17641

17641:                                            ; preds = %17640
  br label %17642

17642:                                            ; preds = %17641
  %17643 = load i32, ptr @test_count, align 4, !tbaa !5
  %17644 = add nsw i32 %17643, 1
  store i32 %17644, ptr @test_count, align 4, !tbaa !5
  %17645 = load ptr, ptr %421, align 8, !tbaa !9
  %17646 = call i32 @s2n_connection_free(ptr noundef %17645)
  %17647 = icmp eq i32 %17646, -1
  br i1 %17647, label %17648, label %17701

17648:                                            ; preds = %17642
  br label %17649

17649:                                            ; preds = %17648
  br label %17650

17650:                                            ; preds = %17649
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #11
  %17651 = call ptr @__errno_location() #12
  %17652 = load i32, ptr %17651, align 4, !tbaa !5
  store i32 %17652, ptr %438, align 4, !tbaa !5
  %17653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17654 = call i32 @s2n_print_stacktrace(ptr noundef %17653)
  %17655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17656 = trunc i8 %17655 to i1
  br i1 %17656, label %17657, label %17679

17657:                                            ; preds = %17650
  %17658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17659 = call i32 @fileno(ptr noundef %17658) #11
  %17660 = call i32 @isatty(i32 noundef %17659) #11
  %17661 = icmp ne i32 %17660, 0
  br i1 %17661, label %17662, label %17679

17662:                                            ; preds = %17657
  %17663 = load i32, ptr %438, align 4, !tbaa !5
  %17664 = call ptr @__errno_location() #12
  store i32 %17663, ptr %17664, align 4, !tbaa !5
  %17665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17666 = load i32, ptr @test_count, align 4, !tbaa !5
  %17667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17668 = load i32, ptr %17667, align 4, !tbaa !5
  %17669 = call ptr @s2n_strerror(i32 noundef %17668, ptr noundef @.str.4)
  %17670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17671 = load i32, ptr %17670, align 4, !tbaa !5
  %17672 = call ptr @s2n_strerror_debug(i32 noundef %17671, ptr noundef @.str.4)
  %17673 = call ptr @__errno_location() #12
  %17674 = load i32, ptr %17673, align 4, !tbaa !5
  %17675 = call ptr @strerror(i32 noundef %17674) #11
  %17676 = call ptr @__errno_location() #12
  %17677 = load i32, ptr %17676, align 4, !tbaa !5
  %17678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17665, ptr noundef @.str.2, i32 noundef %17666, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 897, ptr noundef %17669, ptr noundef %17672, ptr noundef %17675, i32 noundef %17677) #11
  br label %17696

17679:                                            ; preds = %17657, %17650
  %17680 = load i32, ptr %438, align 4, !tbaa !5
  %17681 = call ptr @__errno_location() #12
  store i32 %17680, ptr %17681, align 4, !tbaa !5
  %17682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17683 = load i32, ptr @test_count, align 4, !tbaa !5
  %17684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17685 = load i32, ptr %17684, align 4, !tbaa !5
  %17686 = call ptr @s2n_strerror(i32 noundef %17685, ptr noundef @.str.4)
  %17687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17688 = load i32, ptr %17687, align 4, !tbaa !5
  %17689 = call ptr @s2n_strerror_debug(i32 noundef %17688, ptr noundef @.str.4)
  %17690 = call ptr @__errno_location() #12
  %17691 = load i32, ptr %17690, align 4, !tbaa !5
  %17692 = call ptr @strerror(i32 noundef %17691) #11
  %17693 = call ptr @__errno_location() #12
  %17694 = load i32, ptr %17693, align 4, !tbaa !5
  %17695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17682, ptr noundef @.str.5, i32 noundef %17683, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 897, ptr noundef %17686, ptr noundef %17689, ptr noundef %17692, i32 noundef %17694) #11
  br label %17696

17696:                                            ; preds = %17679, %17662
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #11
  br label %17697

17697:                                            ; preds = %17696
  br label %17698

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

17699:                                            ; No predecessors!
  br label %17700

17700:                                            ; preds = %17699
  br label %17701

17701:                                            ; preds = %17700, %17642
  br label %17702

17702:                                            ; preds = %17701
  br label %17703

17703:                                            ; preds = %17702
  br label %17704

17704:                                            ; preds = %17703
  %17705 = load i32, ptr @test_count, align 4, !tbaa !5
  %17706 = add nsw i32 %17705, 1
  store i32 %17706, ptr @test_count, align 4, !tbaa !5
  %17707 = call i32 @s2n_stuffer_free(ptr noundef %425)
  %17708 = icmp eq i32 %17707, -1
  br i1 %17708, label %17709, label %17762

17709:                                            ; preds = %17704
  br label %17710

17710:                                            ; preds = %17709
  br label %17711

17711:                                            ; preds = %17710
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #11
  %17712 = call ptr @__errno_location() #12
  %17713 = load i32, ptr %17712, align 4, !tbaa !5
  store i32 %17713, ptr %439, align 4, !tbaa !5
  %17714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17715 = call i32 @s2n_print_stacktrace(ptr noundef %17714)
  %17716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17717 = trunc i8 %17716 to i1
  br i1 %17717, label %17718, label %17740

17718:                                            ; preds = %17711
  %17719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17720 = call i32 @fileno(ptr noundef %17719) #11
  %17721 = call i32 @isatty(i32 noundef %17720) #11
  %17722 = icmp ne i32 %17721, 0
  br i1 %17722, label %17723, label %17740

17723:                                            ; preds = %17718
  %17724 = load i32, ptr %439, align 4, !tbaa !5
  %17725 = call ptr @__errno_location() #12
  store i32 %17724, ptr %17725, align 4, !tbaa !5
  %17726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17727 = load i32, ptr @test_count, align 4, !tbaa !5
  %17728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17729 = load i32, ptr %17728, align 4, !tbaa !5
  %17730 = call ptr @s2n_strerror(i32 noundef %17729, ptr noundef @.str.4)
  %17731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17732 = load i32, ptr %17731, align 4, !tbaa !5
  %17733 = call ptr @s2n_strerror_debug(i32 noundef %17732, ptr noundef @.str.4)
  %17734 = call ptr @__errno_location() #12
  %17735 = load i32, ptr %17734, align 4, !tbaa !5
  %17736 = call ptr @strerror(i32 noundef %17735) #11
  %17737 = call ptr @__errno_location() #12
  %17738 = load i32, ptr %17737, align 4, !tbaa !5
  %17739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17726, ptr noundef @.str.2, i32 noundef %17727, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 898, ptr noundef %17730, ptr noundef %17733, ptr noundef %17736, i32 noundef %17738) #11
  br label %17757

17740:                                            ; preds = %17718, %17711
  %17741 = load i32, ptr %439, align 4, !tbaa !5
  %17742 = call ptr @__errno_location() #12
  store i32 %17741, ptr %17742, align 4, !tbaa !5
  %17743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17744 = load i32, ptr @test_count, align 4, !tbaa !5
  %17745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17746 = load i32, ptr %17745, align 4, !tbaa !5
  %17747 = call ptr @s2n_strerror(i32 noundef %17746, ptr noundef @.str.4)
  %17748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17749 = load i32, ptr %17748, align 4, !tbaa !5
  %17750 = call ptr @s2n_strerror_debug(i32 noundef %17749, ptr noundef @.str.4)
  %17751 = call ptr @__errno_location() #12
  %17752 = load i32, ptr %17751, align 4, !tbaa !5
  %17753 = call ptr @strerror(i32 noundef %17752) #11
  %17754 = call ptr @__errno_location() #12
  %17755 = load i32, ptr %17754, align 4, !tbaa !5
  %17756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17743, ptr noundef @.str.5, i32 noundef %17744, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 898, ptr noundef %17747, ptr noundef %17750, ptr noundef %17753, i32 noundef %17755) #11
  br label %17757

17757:                                            ; preds = %17740, %17723
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #11
  br label %17758

17758:                                            ; preds = %17757
  br label %17759

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

17760:                                            ; No predecessors!
  br label %17761

17761:                                            ; preds = %17760
  br label %17762

17762:                                            ; preds = %17761, %17704
  br label %17763

17763:                                            ; preds = %17762
  br label %17764

17764:                                            ; preds = %17763
  call void @llvm.lifetime.end.p0(i64 8, ptr %428) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %425) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %421) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %440) #11
  %17765 = call ptr @s2n_config_new()
  store ptr %17765, ptr %440, align 8, !tbaa !9
  br label %17766

17766:                                            ; preds = %17764
  %17767 = load i32, ptr @test_count, align 4, !tbaa !5
  %17768 = add nsw i32 %17767, 1
  store i32 %17768, ptr @test_count, align 4, !tbaa !5
  %17769 = load ptr, ptr %440, align 8, !tbaa !9
  %17770 = icmp eq ptr %17769, null
  br i1 %17770, label %17771, label %17824

17771:                                            ; preds = %17766
  br label %17772

17772:                                            ; preds = %17771
  br label %17773

17773:                                            ; preds = %17772
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #11
  %17774 = call ptr @__errno_location() #12
  %17775 = load i32, ptr %17774, align 4, !tbaa !5
  store i32 %17775, ptr %441, align 4, !tbaa !5
  %17776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17777 = call i32 @s2n_print_stacktrace(ptr noundef %17776)
  %17778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17779 = trunc i8 %17778 to i1
  br i1 %17779, label %17780, label %17802

17780:                                            ; preds = %17773
  %17781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17782 = call i32 @fileno(ptr noundef %17781) #11
  %17783 = call i32 @isatty(i32 noundef %17782) #11
  %17784 = icmp ne i32 %17783, 0
  br i1 %17784, label %17785, label %17802

17785:                                            ; preds = %17780
  %17786 = load i32, ptr %441, align 4, !tbaa !5
  %17787 = call ptr @__errno_location() #12
  store i32 %17786, ptr %17787, align 4, !tbaa !5
  %17788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17789 = load i32, ptr @test_count, align 4, !tbaa !5
  %17790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17791 = load i32, ptr %17790, align 4, !tbaa !5
  %17792 = call ptr @s2n_strerror(i32 noundef %17791, ptr noundef @.str.4)
  %17793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17794 = load i32, ptr %17793, align 4, !tbaa !5
  %17795 = call ptr @s2n_strerror_debug(i32 noundef %17794, ptr noundef @.str.4)
  %17796 = call ptr @__errno_location() #12
  %17797 = load i32, ptr %17796, align 4, !tbaa !5
  %17798 = call ptr @strerror(i32 noundef %17797) #11
  %17799 = call ptr @__errno_location() #12
  %17800 = load i32, ptr %17799, align 4, !tbaa !5
  %17801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17788, ptr noundef @.str.2, i32 noundef %17789, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 904, ptr noundef %17792, ptr noundef %17795, ptr noundef %17798, i32 noundef %17800) #11
  br label %17819

17802:                                            ; preds = %17780, %17773
  %17803 = load i32, ptr %441, align 4, !tbaa !5
  %17804 = call ptr @__errno_location() #12
  store i32 %17803, ptr %17804, align 4, !tbaa !5
  %17805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17806 = load i32, ptr @test_count, align 4, !tbaa !5
  %17807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17808 = load i32, ptr %17807, align 4, !tbaa !5
  %17809 = call ptr @s2n_strerror(i32 noundef %17808, ptr noundef @.str.4)
  %17810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17811 = load i32, ptr %17810, align 4, !tbaa !5
  %17812 = call ptr @s2n_strerror_debug(i32 noundef %17811, ptr noundef @.str.4)
  %17813 = call ptr @__errno_location() #12
  %17814 = load i32, ptr %17813, align 4, !tbaa !5
  %17815 = call ptr @strerror(i32 noundef %17814) #11
  %17816 = call ptr @__errno_location() #12
  %17817 = load i32, ptr %17816, align 4, !tbaa !5
  %17818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17805, ptr noundef @.str.5, i32 noundef %17806, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 904, ptr noundef %17809, ptr noundef %17812, ptr noundef %17815, i32 noundef %17817) #11
  br label %17819

17819:                                            ; preds = %17802, %17785
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #11
  br label %17820

17820:                                            ; preds = %17819
  br label %17821

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

17822:                                            ; No predecessors!
  br label %17823

17823:                                            ; preds = %17822
  br label %17824

17824:                                            ; preds = %17823, %17766
  br label %17825

17825:                                            ; preds = %17824
  br label %17826

17826:                                            ; preds = %17825
  br label %17827

17827:                                            ; preds = %17826
  %17828 = load i32, ptr @test_count, align 4, !tbaa !5
  %17829 = add nsw i32 %17828, 1
  store i32 %17829, ptr @test_count, align 4, !tbaa !5
  %17830 = load ptr, ptr %440, align 8, !tbaa !9
  %17831 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef %17830, ptr noundef @s2n_test_error_select_psk_identity_callback, ptr noundef null)
  %17832 = icmp eq i32 %17831, -1
  br i1 %17832, label %17833, label %17886

17833:                                            ; preds = %17827
  br label %17834

17834:                                            ; preds = %17833
  br label %17835

17835:                                            ; preds = %17834
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #11
  %17836 = call ptr @__errno_location() #12
  %17837 = load i32, ptr %17836, align 4, !tbaa !5
  store i32 %17837, ptr %442, align 4, !tbaa !5
  %17838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17839 = call i32 @s2n_print_stacktrace(ptr noundef %17838)
  %17840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17841 = trunc i8 %17840 to i1
  br i1 %17841, label %17842, label %17864

17842:                                            ; preds = %17835
  %17843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17844 = call i32 @fileno(ptr noundef %17843) #11
  %17845 = call i32 @isatty(i32 noundef %17844) #11
  %17846 = icmp ne i32 %17845, 0
  br i1 %17846, label %17847, label %17864

17847:                                            ; preds = %17842
  %17848 = load i32, ptr %442, align 4, !tbaa !5
  %17849 = call ptr @__errno_location() #12
  store i32 %17848, ptr %17849, align 4, !tbaa !5
  %17850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17851 = load i32, ptr @test_count, align 4, !tbaa !5
  %17852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17853 = load i32, ptr %17852, align 4, !tbaa !5
  %17854 = call ptr @s2n_strerror(i32 noundef %17853, ptr noundef @.str.4)
  %17855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17856 = load i32, ptr %17855, align 4, !tbaa !5
  %17857 = call ptr @s2n_strerror_debug(i32 noundef %17856, ptr noundef @.str.4)
  %17858 = call ptr @__errno_location() #12
  %17859 = load i32, ptr %17858, align 4, !tbaa !5
  %17860 = call ptr @strerror(i32 noundef %17859) #11
  %17861 = call ptr @__errno_location() #12
  %17862 = load i32, ptr %17861, align 4, !tbaa !5
  %17863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17850, ptr noundef @.str.2, i32 noundef %17851, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 905, ptr noundef %17854, ptr noundef %17857, ptr noundef %17860, i32 noundef %17862) #11
  br label %17881

17864:                                            ; preds = %17842, %17835
  %17865 = load i32, ptr %442, align 4, !tbaa !5
  %17866 = call ptr @__errno_location() #12
  store i32 %17865, ptr %17866, align 4, !tbaa !5
  %17867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17868 = load i32, ptr @test_count, align 4, !tbaa !5
  %17869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17870 = load i32, ptr %17869, align 4, !tbaa !5
  %17871 = call ptr @s2n_strerror(i32 noundef %17870, ptr noundef @.str.4)
  %17872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17873 = load i32, ptr %17872, align 4, !tbaa !5
  %17874 = call ptr @s2n_strerror_debug(i32 noundef %17873, ptr noundef @.str.4)
  %17875 = call ptr @__errno_location() #12
  %17876 = load i32, ptr %17875, align 4, !tbaa !5
  %17877 = call ptr @strerror(i32 noundef %17876) #11
  %17878 = call ptr @__errno_location() #12
  %17879 = load i32, ptr %17878, align 4, !tbaa !5
  %17880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17867, ptr noundef @.str.5, i32 noundef %17868, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 905, ptr noundef %17871, ptr noundef %17874, ptr noundef %17877, i32 noundef %17879) #11
  br label %17881

17881:                                            ; preds = %17864, %17847
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #11
  br label %17882

17882:                                            ; preds = %17881
  br label %17883

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

17884:                                            ; No predecessors!
  br label %17885

17885:                                            ; preds = %17884
  br label %17886

17886:                                            ; preds = %17885, %17827
  br label %17887

17887:                                            ; preds = %17886
  br label %17888

17888:                                            ; preds = %17887
  call void @llvm.lifetime.start.p0(i64 8, ptr %443) #11
  store ptr null, ptr %443, align 8, !tbaa !9
  br label %17889

17889:                                            ; preds = %17888
  %17890 = load i32, ptr @test_count, align 4, !tbaa !5
  %17891 = add nsw i32 %17890, 1
  store i32 %17891, ptr @test_count, align 4, !tbaa !5
  %17892 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %17892, ptr %443, align 8, !tbaa !9
  %17893 = icmp eq ptr %17892, null
  br i1 %17893, label %17894, label %17947

17894:                                            ; preds = %17889
  br label %17895

17895:                                            ; preds = %17894
  br label %17896

17896:                                            ; preds = %17895
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #11
  %17897 = call ptr @__errno_location() #12
  %17898 = load i32, ptr %17897, align 4, !tbaa !5
  store i32 %17898, ptr %444, align 4, !tbaa !5
  %17899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17900 = call i32 @s2n_print_stacktrace(ptr noundef %17899)
  %17901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17902 = trunc i8 %17901 to i1
  br i1 %17902, label %17903, label %17925

17903:                                            ; preds = %17896
  %17904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17905 = call i32 @fileno(ptr noundef %17904) #11
  %17906 = call i32 @isatty(i32 noundef %17905) #11
  %17907 = icmp ne i32 %17906, 0
  br i1 %17907, label %17908, label %17925

17908:                                            ; preds = %17903
  %17909 = load i32, ptr %444, align 4, !tbaa !5
  %17910 = call ptr @__errno_location() #12
  store i32 %17909, ptr %17910, align 4, !tbaa !5
  %17911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17912 = load i32, ptr @test_count, align 4, !tbaa !5
  %17913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17914 = load i32, ptr %17913, align 4, !tbaa !5
  %17915 = call ptr @s2n_strerror(i32 noundef %17914, ptr noundef @.str.4)
  %17916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17917 = load i32, ptr %17916, align 4, !tbaa !5
  %17918 = call ptr @s2n_strerror_debug(i32 noundef %17917, ptr noundef @.str.4)
  %17919 = call ptr @__errno_location() #12
  %17920 = load i32, ptr %17919, align 4, !tbaa !5
  %17921 = call ptr @strerror(i32 noundef %17920) #11
  %17922 = call ptr @__errno_location() #12
  %17923 = load i32, ptr %17922, align 4, !tbaa !5
  %17924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17911, ptr noundef @.str.2, i32 noundef %17912, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 908, ptr noundef %17915, ptr noundef %17918, ptr noundef %17921, i32 noundef %17923) #11
  br label %17942

17925:                                            ; preds = %17903, %17896
  %17926 = load i32, ptr %444, align 4, !tbaa !5
  %17927 = call ptr @__errno_location() #12
  store i32 %17926, ptr %17927, align 4, !tbaa !5
  %17928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17929 = load i32, ptr @test_count, align 4, !tbaa !5
  %17930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17931 = load i32, ptr %17930, align 4, !tbaa !5
  %17932 = call ptr @s2n_strerror(i32 noundef %17931, ptr noundef @.str.4)
  %17933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17934 = load i32, ptr %17933, align 4, !tbaa !5
  %17935 = call ptr @s2n_strerror_debug(i32 noundef %17934, ptr noundef @.str.4)
  %17936 = call ptr @__errno_location() #12
  %17937 = load i32, ptr %17936, align 4, !tbaa !5
  %17938 = call ptr @strerror(i32 noundef %17937) #11
  %17939 = call ptr @__errno_location() #12
  %17940 = load i32, ptr %17939, align 4, !tbaa !5
  %17941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17928, ptr noundef @.str.5, i32 noundef %17929, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 908, ptr noundef %17932, ptr noundef %17935, ptr noundef %17938, i32 noundef %17940) #11
  br label %17942

17942:                                            ; preds = %17925, %17908
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #11
  br label %17943

17943:                                            ; preds = %17942
  br label %17944

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

17945:                                            ; No predecessors!
  br label %17946

17946:                                            ; preds = %17945
  br label %17947

17947:                                            ; preds = %17946, %17889
  br label %17948

17948:                                            ; preds = %17947
  br label %17949

17949:                                            ; preds = %17948
  br label %17950

17950:                                            ; preds = %17949
  %17951 = load i32, ptr @test_count, align 4, !tbaa !5
  %17952 = add nsw i32 %17951, 1
  store i32 %17952, ptr @test_count, align 4, !tbaa !5
  %17953 = load ptr, ptr %443, align 8, !tbaa !9
  %17954 = call i32 @s2n_connection_set_psk_type(ptr noundef %17953, i32 noundef 1)
  %17955 = getelementptr inbounds %struct.s2n_result, ptr %445, i32 0, i32 0
  store i32 %17954, ptr %17955, align 4
  %17956 = getelementptr inbounds %struct.s2n_result, ptr %445, i32 0, i32 0
  %17957 = load i32, ptr %17956, align 4
  %17958 = call zeroext i1 @s2n_result_is_ok(i32 %17957)
  br i1 %17958, label %18012, label %17959

17959:                                            ; preds = %17950
  br label %17960

17960:                                            ; preds = %17959
  br label %17961

17961:                                            ; preds = %17960
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #11
  %17962 = call ptr @__errno_location() #12
  %17963 = load i32, ptr %17962, align 4, !tbaa !5
  store i32 %17963, ptr %446, align 4, !tbaa !5
  %17964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17965 = call i32 @s2n_print_stacktrace(ptr noundef %17964)
  %17966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17967 = trunc i8 %17966 to i1
  br i1 %17967, label %17968, label %17990

17968:                                            ; preds = %17961
  %17969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17970 = call i32 @fileno(ptr noundef %17969) #11
  %17971 = call i32 @isatty(i32 noundef %17970) #11
  %17972 = icmp ne i32 %17971, 0
  br i1 %17972, label %17973, label %17990

17973:                                            ; preds = %17968
  %17974 = load i32, ptr %446, align 4, !tbaa !5
  %17975 = call ptr @__errno_location() #12
  store i32 %17974, ptr %17975, align 4, !tbaa !5
  %17976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17977 = load i32, ptr @test_count, align 4, !tbaa !5
  %17978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17979 = load i32, ptr %17978, align 4, !tbaa !5
  %17980 = call ptr @s2n_strerror(i32 noundef %17979, ptr noundef @.str.4)
  %17981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17982 = load i32, ptr %17981, align 4, !tbaa !5
  %17983 = call ptr @s2n_strerror_debug(i32 noundef %17982, ptr noundef @.str.4)
  %17984 = call ptr @__errno_location() #12
  %17985 = load i32, ptr %17984, align 4, !tbaa !5
  %17986 = call ptr @strerror(i32 noundef %17985) #11
  %17987 = call ptr @__errno_location() #12
  %17988 = load i32, ptr %17987, align 4, !tbaa !5
  %17989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17976, ptr noundef @.str.2, i32 noundef %17977, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 909, ptr noundef %17980, ptr noundef %17983, ptr noundef %17986, i32 noundef %17988) #11
  br label %18007

17990:                                            ; preds = %17968, %17961
  %17991 = load i32, ptr %446, align 4, !tbaa !5
  %17992 = call ptr @__errno_location() #12
  store i32 %17991, ptr %17992, align 4, !tbaa !5
  %17993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17994 = load i32, ptr @test_count, align 4, !tbaa !5
  %17995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17996 = load i32, ptr %17995, align 4, !tbaa !5
  %17997 = call ptr @s2n_strerror(i32 noundef %17996, ptr noundef @.str.4)
  %17998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17999 = load i32, ptr %17998, align 4, !tbaa !5
  %18000 = call ptr @s2n_strerror_debug(i32 noundef %17999, ptr noundef @.str.4)
  %18001 = call ptr @__errno_location() #12
  %18002 = load i32, ptr %18001, align 4, !tbaa !5
  %18003 = call ptr @strerror(i32 noundef %18002) #11
  %18004 = call ptr @__errno_location() #12
  %18005 = load i32, ptr %18004, align 4, !tbaa !5
  %18006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17993, ptr noundef @.str.5, i32 noundef %17994, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 909, ptr noundef %17997, ptr noundef %18000, ptr noundef %18003, i32 noundef %18005) #11
  br label %18007

18007:                                            ; preds = %17990, %17973
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #11
  br label %18008

18008:                                            ; preds = %18007
  br label %18009

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

18010:                                            ; No predecessors!
  br label %18011

18011:                                            ; preds = %18010
  br label %18012

18012:                                            ; preds = %18011, %17950
  br label %18013

18013:                                            ; preds = %18012
  br label %18014

18014:                                            ; preds = %18013
  br label %18015

18015:                                            ; preds = %18014
  %18016 = load i32, ptr @test_count, align 4, !tbaa !5
  %18017 = add nsw i32 %18016, 1
  store i32 %18017, ptr @test_count, align 4, !tbaa !5
  %18018 = load ptr, ptr %443, align 8, !tbaa !9
  %18019 = load ptr, ptr %440, align 8, !tbaa !9
  %18020 = call i32 @s2n_connection_set_config(ptr noundef %18018, ptr noundef %18019)
  %18021 = icmp eq i32 %18020, -1
  br i1 %18021, label %18022, label %18075

18022:                                            ; preds = %18015
  br label %18023

18023:                                            ; preds = %18022
  br label %18024

18024:                                            ; preds = %18023
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #11
  %18025 = call ptr @__errno_location() #12
  %18026 = load i32, ptr %18025, align 4, !tbaa !5
  store i32 %18026, ptr %447, align 4, !tbaa !5
  %18027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18028 = call i32 @s2n_print_stacktrace(ptr noundef %18027)
  %18029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18030 = trunc i8 %18029 to i1
  br i1 %18030, label %18031, label %18053

18031:                                            ; preds = %18024
  %18032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18033 = call i32 @fileno(ptr noundef %18032) #11
  %18034 = call i32 @isatty(i32 noundef %18033) #11
  %18035 = icmp ne i32 %18034, 0
  br i1 %18035, label %18036, label %18053

18036:                                            ; preds = %18031
  %18037 = load i32, ptr %447, align 4, !tbaa !5
  %18038 = call ptr @__errno_location() #12
  store i32 %18037, ptr %18038, align 4, !tbaa !5
  %18039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18040 = load i32, ptr @test_count, align 4, !tbaa !5
  %18041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18042 = load i32, ptr %18041, align 4, !tbaa !5
  %18043 = call ptr @s2n_strerror(i32 noundef %18042, ptr noundef @.str.4)
  %18044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18045 = load i32, ptr %18044, align 4, !tbaa !5
  %18046 = call ptr @s2n_strerror_debug(i32 noundef %18045, ptr noundef @.str.4)
  %18047 = call ptr @__errno_location() #12
  %18048 = load i32, ptr %18047, align 4, !tbaa !5
  %18049 = call ptr @strerror(i32 noundef %18048) #11
  %18050 = call ptr @__errno_location() #12
  %18051 = load i32, ptr %18050, align 4, !tbaa !5
  %18052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18039, ptr noundef @.str.2, i32 noundef %18040, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 910, ptr noundef %18043, ptr noundef %18046, ptr noundef %18049, i32 noundef %18051) #11
  br label %18070

18053:                                            ; preds = %18031, %18024
  %18054 = load i32, ptr %447, align 4, !tbaa !5
  %18055 = call ptr @__errno_location() #12
  store i32 %18054, ptr %18055, align 4, !tbaa !5
  %18056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18057 = load i32, ptr @test_count, align 4, !tbaa !5
  %18058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18059 = load i32, ptr %18058, align 4, !tbaa !5
  %18060 = call ptr @s2n_strerror(i32 noundef %18059, ptr noundef @.str.4)
  %18061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18062 = load i32, ptr %18061, align 4, !tbaa !5
  %18063 = call ptr @s2n_strerror_debug(i32 noundef %18062, ptr noundef @.str.4)
  %18064 = call ptr @__errno_location() #12
  %18065 = load i32, ptr %18064, align 4, !tbaa !5
  %18066 = call ptr @strerror(i32 noundef %18065) #11
  %18067 = call ptr @__errno_location() #12
  %18068 = load i32, ptr %18067, align 4, !tbaa !5
  %18069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18056, ptr noundef @.str.5, i32 noundef %18057, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 910, ptr noundef %18060, ptr noundef %18063, ptr noundef %18066, i32 noundef %18068) #11
  br label %18070

18070:                                            ; preds = %18053, %18036
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #11
  br label %18071

18071:                                            ; preds = %18070
  br label %18072

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

18073:                                            ; No predecessors!
  br label %18074

18074:                                            ; preds = %18073
  br label %18075

18075:                                            ; preds = %18074, %18015
  br label %18076

18076:                                            ; preds = %18075
  br label %18077

18077:                                            ; preds = %18076
  call void @llvm.lifetime.start.p0(i64 40, ptr %448) #11
  call void @llvm.memset.p0.i64(ptr align 8 %448, i8 0, i64 40, i1 false)
  br label %18078

18078:                                            ; preds = %18077
  br label %18079

18079:                                            ; preds = %18078
  br label %18080

18080:                                            ; preds = %18079
  %18081 = load i32, ptr @test_count, align 4, !tbaa !5
  %18082 = add nsw i32 %18081, 1
  store i32 %18082, ptr @test_count, align 4, !tbaa !5
  %18083 = load ptr, ptr %443, align 8, !tbaa !9
  %18084 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %18083, ptr noundef %448)
  %18085 = getelementptr inbounds %struct.s2n_result, ptr %449, i32 0, i32 0
  store i32 %18084, ptr %18085, align 4
  %18086 = getelementptr inbounds %struct.s2n_result, ptr %449, i32 0, i32 0
  %18087 = load i32, ptr %18086, align 4
  %18088 = call zeroext i1 @s2n_result_is_error(i32 %18087)
  br i1 %18088, label %18142, label %18089

18089:                                            ; preds = %18080
  br label %18090

18090:                                            ; preds = %18089
  br label %18091

18091:                                            ; preds = %18090
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #11
  %18092 = call ptr @__errno_location() #12
  %18093 = load i32, ptr %18092, align 4, !tbaa !5
  store i32 %18093, ptr %450, align 4, !tbaa !5
  %18094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18095 = call i32 @s2n_print_stacktrace(ptr noundef %18094)
  %18096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18097 = trunc i8 %18096 to i1
  br i1 %18097, label %18098, label %18120

18098:                                            ; preds = %18091
  %18099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18100 = call i32 @fileno(ptr noundef %18099) #11
  %18101 = call i32 @isatty(i32 noundef %18100) #11
  %18102 = icmp ne i32 %18101, 0
  br i1 %18102, label %18103, label %18120

18103:                                            ; preds = %18098
  %18104 = load i32, ptr %450, align 4, !tbaa !5
  %18105 = call ptr @__errno_location() #12
  store i32 %18104, ptr %18105, align 4, !tbaa !5
  %18106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18107 = load i32, ptr @test_count, align 4, !tbaa !5
  %18108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18109 = load i32, ptr %18108, align 4, !tbaa !5
  %18110 = call ptr @s2n_strerror(i32 noundef %18109, ptr noundef @.str.4)
  %18111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18112 = load i32, ptr %18111, align 4, !tbaa !5
  %18113 = call ptr @s2n_strerror_debug(i32 noundef %18112, ptr noundef @.str.4)
  %18114 = call ptr @__errno_location() #12
  %18115 = load i32, ptr %18114, align 4, !tbaa !5
  %18116 = call ptr @strerror(i32 noundef %18115) #11
  %18117 = call ptr @__errno_location() #12
  %18118 = load i32, ptr %18117, align 4, !tbaa !5
  %18119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18106, ptr noundef @.str.2, i32 noundef %18107, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 914, ptr noundef %18110, ptr noundef %18113, ptr noundef %18116, i32 noundef %18118) #11
  br label %18137

18120:                                            ; preds = %18098, %18091
  %18121 = load i32, ptr %450, align 4, !tbaa !5
  %18122 = call ptr @__errno_location() #12
  store i32 %18121, ptr %18122, align 4, !tbaa !5
  %18123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18124 = load i32, ptr @test_count, align 4, !tbaa !5
  %18125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18126 = load i32, ptr %18125, align 4, !tbaa !5
  %18127 = call ptr @s2n_strerror(i32 noundef %18126, ptr noundef @.str.4)
  %18128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18129 = load i32, ptr %18128, align 4, !tbaa !5
  %18130 = call ptr @s2n_strerror_debug(i32 noundef %18129, ptr noundef @.str.4)
  %18131 = call ptr @__errno_location() #12
  %18132 = load i32, ptr %18131, align 4, !tbaa !5
  %18133 = call ptr @strerror(i32 noundef %18132) #11
  %18134 = call ptr @__errno_location() #12
  %18135 = load i32, ptr %18134, align 4, !tbaa !5
  %18136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18123, ptr noundef @.str.5, i32 noundef %18124, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 914, ptr noundef %18127, ptr noundef %18130, ptr noundef %18133, i32 noundef %18135) #11
  br label %18137

18137:                                            ; preds = %18120, %18103
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #11
  br label %18138

18138:                                            ; preds = %18137
  br label %18139

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

18140:                                            ; No predecessors!
  br label %18141

18141:                                            ; preds = %18140
  br label %18142

18142:                                            ; preds = %18141, %18080
  br label %18143

18143:                                            ; preds = %18142
  br label %18144

18144:                                            ; preds = %18143
  br label %18145

18145:                                            ; preds = %18144
  %18146 = load i32, ptr @test_count, align 4, !tbaa !5
  %18147 = add nsw i32 %18146, 1
  store i32 %18147, ptr @test_count, align 4, !tbaa !5
  %18148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18149 = load i32, ptr %18148, align 4, !tbaa !5
  %18150 = icmp eq i32 %18149, 402653231
  br i1 %18150, label %18204, label %18151

18151:                                            ; preds = %18145
  br label %18152

18152:                                            ; preds = %18151
  br label %18153

18153:                                            ; preds = %18152
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #11
  %18154 = call ptr @__errno_location() #12
  %18155 = load i32, ptr %18154, align 4, !tbaa !5
  store i32 %18155, ptr %451, align 4, !tbaa !5
  %18156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18157 = call i32 @s2n_print_stacktrace(ptr noundef %18156)
  %18158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18159 = trunc i8 %18158 to i1
  br i1 %18159, label %18160, label %18182

18160:                                            ; preds = %18153
  %18161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18162 = call i32 @fileno(ptr noundef %18161) #11
  %18163 = call i32 @isatty(i32 noundef %18162) #11
  %18164 = icmp ne i32 %18163, 0
  br i1 %18164, label %18165, label %18182

18165:                                            ; preds = %18160
  %18166 = load i32, ptr %451, align 4, !tbaa !5
  %18167 = call ptr @__errno_location() #12
  store i32 %18166, ptr %18167, align 4, !tbaa !5
  %18168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18169 = load i32, ptr @test_count, align 4, !tbaa !5
  %18170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18171 = load i32, ptr %18170, align 4, !tbaa !5
  %18172 = call ptr @s2n_strerror(i32 noundef %18171, ptr noundef @.str.4)
  %18173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18174 = load i32, ptr %18173, align 4, !tbaa !5
  %18175 = call ptr @s2n_strerror_debug(i32 noundef %18174, ptr noundef @.str.4)
  %18176 = call ptr @__errno_location() #12
  %18177 = load i32, ptr %18176, align 4, !tbaa !5
  %18178 = call ptr @strerror(i32 noundef %18177) #11
  %18179 = call ptr @__errno_location() #12
  %18180 = load i32, ptr %18179, align 4, !tbaa !5
  %18181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18168, ptr noundef @.str.2, i32 noundef %18169, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 914, ptr noundef %18172, ptr noundef %18175, ptr noundef %18178, i32 noundef %18180) #11
  br label %18199

18182:                                            ; preds = %18160, %18153
  %18183 = load i32, ptr %451, align 4, !tbaa !5
  %18184 = call ptr @__errno_location() #12
  store i32 %18183, ptr %18184, align 4, !tbaa !5
  %18185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18186 = load i32, ptr @test_count, align 4, !tbaa !5
  %18187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18188 = load i32, ptr %18187, align 4, !tbaa !5
  %18189 = call ptr @s2n_strerror(i32 noundef %18188, ptr noundef @.str.4)
  %18190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18191 = load i32, ptr %18190, align 4, !tbaa !5
  %18192 = call ptr @s2n_strerror_debug(i32 noundef %18191, ptr noundef @.str.4)
  %18193 = call ptr @__errno_location() #12
  %18194 = load i32, ptr %18193, align 4, !tbaa !5
  %18195 = call ptr @strerror(i32 noundef %18194) #11
  %18196 = call ptr @__errno_location() #12
  %18197 = load i32, ptr %18196, align 4, !tbaa !5
  %18198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18185, ptr noundef @.str.5, i32 noundef %18186, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 914, ptr noundef %18189, ptr noundef %18192, ptr noundef %18195, i32 noundef %18197) #11
  br label %18199

18199:                                            ; preds = %18182, %18165
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #11
  br label %18200

18200:                                            ; preds = %18199
  br label %18201

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

18202:                                            ; No predecessors!
  br label %18203

18203:                                            ; preds = %18202
  br label %18204

18204:                                            ; preds = %18203, %18145
  br label %18205

18205:                                            ; preds = %18204
  br label %18206

18206:                                            ; preds = %18205
  br label %18207

18207:                                            ; preds = %18206
  %18208 = load i32, ptr @test_count, align 4, !tbaa !5
  %18209 = add nsw i32 %18208, 1
  store i32 %18209, ptr @test_count, align 4, !tbaa !5
  %18210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18211 = load i32, ptr %18210, align 4, !tbaa !5
  %18212 = call ptr @s2n_strerror_debug(i32 noundef %18211, ptr noundef @.str.4)
  %18213 = icmp eq ptr %18212, null
  br i1 %18213, label %18214, label %18267

18214:                                            ; preds = %18207
  br label %18215

18215:                                            ; preds = %18214
  br label %18216

18216:                                            ; preds = %18215
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #11
  %18217 = call ptr @__errno_location() #12
  %18218 = load i32, ptr %18217, align 4, !tbaa !5
  store i32 %18218, ptr %452, align 4, !tbaa !5
  %18219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18220 = call i32 @s2n_print_stacktrace(ptr noundef %18219)
  %18221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18222 = trunc i8 %18221 to i1
  br i1 %18222, label %18223, label %18245

18223:                                            ; preds = %18216
  %18224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18225 = call i32 @fileno(ptr noundef %18224) #11
  %18226 = call i32 @isatty(i32 noundef %18225) #11
  %18227 = icmp ne i32 %18226, 0
  br i1 %18227, label %18228, label %18245

18228:                                            ; preds = %18223
  %18229 = load i32, ptr %452, align 4, !tbaa !5
  %18230 = call ptr @__errno_location() #12
  store i32 %18229, ptr %18230, align 4, !tbaa !5
  %18231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18232 = load i32, ptr @test_count, align 4, !tbaa !5
  %18233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18234 = load i32, ptr %18233, align 4, !tbaa !5
  %18235 = call ptr @s2n_strerror(i32 noundef %18234, ptr noundef @.str.4)
  %18236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18237 = load i32, ptr %18236, align 4, !tbaa !5
  %18238 = call ptr @s2n_strerror_debug(i32 noundef %18237, ptr noundef @.str.4)
  %18239 = call ptr @__errno_location() #12
  %18240 = load i32, ptr %18239, align 4, !tbaa !5
  %18241 = call ptr @strerror(i32 noundef %18240) #11
  %18242 = call ptr @__errno_location() #12
  %18243 = load i32, ptr %18242, align 4, !tbaa !5
  %18244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18231, ptr noundef @.str.2, i32 noundef %18232, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 914, ptr noundef %18235, ptr noundef %18238, ptr noundef %18241, i32 noundef %18243) #11
  br label %18262

18245:                                            ; preds = %18223, %18216
  %18246 = load i32, ptr %452, align 4, !tbaa !5
  %18247 = call ptr @__errno_location() #12
  store i32 %18246, ptr %18247, align 4, !tbaa !5
  %18248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18249 = load i32, ptr @test_count, align 4, !tbaa !5
  %18250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18251 = load i32, ptr %18250, align 4, !tbaa !5
  %18252 = call ptr @s2n_strerror(i32 noundef %18251, ptr noundef @.str.4)
  %18253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18254 = load i32, ptr %18253, align 4, !tbaa !5
  %18255 = call ptr @s2n_strerror_debug(i32 noundef %18254, ptr noundef @.str.4)
  %18256 = call ptr @__errno_location() #12
  %18257 = load i32, ptr %18256, align 4, !tbaa !5
  %18258 = call ptr @strerror(i32 noundef %18257) #11
  %18259 = call ptr @__errno_location() #12
  %18260 = load i32, ptr %18259, align 4, !tbaa !5
  %18261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18248, ptr noundef @.str.5, i32 noundef %18249, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 914, ptr noundef %18252, ptr noundef %18255, ptr noundef %18258, i32 noundef %18260) #11
  br label %18262

18262:                                            ; preds = %18245, %18228
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #11
  br label %18263

18263:                                            ; preds = %18262
  br label %18264

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

18265:                                            ; No predecessors!
  br label %18266

18266:                                            ; preds = %18265
  br label %18267

18267:                                            ; preds = %18266, %18207
  br label %18268

18268:                                            ; preds = %18267
  br label %18269

18269:                                            ; preds = %18268
  br label %18270

18270:                                            ; preds = %18269
  br label %18271

18271:                                            ; preds = %18270
  br label %18272

18272:                                            ; preds = %18271
  %18273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %18273, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %18274 = call ptr @__errno_location() #12
  store i32 0, ptr %18274, align 4, !tbaa !5
  br label %18275

18275:                                            ; preds = %18272
  br label %18276

18276:                                            ; preds = %18275
  br label %18277

18277:                                            ; preds = %18276
  br label %18278

18278:                                            ; preds = %18277
  br label %18279

18279:                                            ; preds = %18278
  %18280 = load i32, ptr @test_count, align 4, !tbaa !5
  %18281 = add nsw i32 %18280, 1
  store i32 %18281, ptr @test_count, align 4, !tbaa !5
  %18282 = load ptr, ptr %443, align 8, !tbaa !9
  %18283 = getelementptr inbounds %struct.s2n_connection, ptr %18282, i32 0, i32 33
  %18284 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %18283, i32 0, i32 4
  %18285 = load ptr, ptr %18284, align 8, !tbaa !100
  %18286 = icmp eq ptr %18285, null
  br i1 %18286, label %18340, label %18287

18287:                                            ; preds = %18279
  br label %18288

18288:                                            ; preds = %18287
  br label %18289

18289:                                            ; preds = %18288
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #11
  %18290 = call ptr @__errno_location() #12
  %18291 = load i32, ptr %18290, align 4, !tbaa !5
  store i32 %18291, ptr %453, align 4, !tbaa !5
  %18292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18293 = call i32 @s2n_print_stacktrace(ptr noundef %18292)
  %18294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18295 = trunc i8 %18294 to i1
  br i1 %18295, label %18296, label %18318

18296:                                            ; preds = %18289
  %18297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18298 = call i32 @fileno(ptr noundef %18297) #11
  %18299 = call i32 @isatty(i32 noundef %18298) #11
  %18300 = icmp ne i32 %18299, 0
  br i1 %18300, label %18301, label %18318

18301:                                            ; preds = %18296
  %18302 = load i32, ptr %453, align 4, !tbaa !5
  %18303 = call ptr @__errno_location() #12
  store i32 %18302, ptr %18303, align 4, !tbaa !5
  %18304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18305 = load i32, ptr @test_count, align 4, !tbaa !5
  %18306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18307 = load i32, ptr %18306, align 4, !tbaa !5
  %18308 = call ptr @s2n_strerror(i32 noundef %18307, ptr noundef @.str.4)
  %18309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18310 = load i32, ptr %18309, align 4, !tbaa !5
  %18311 = call ptr @s2n_strerror_debug(i32 noundef %18310, ptr noundef @.str.4)
  %18312 = call ptr @__errno_location() #12
  %18313 = load i32, ptr %18312, align 4, !tbaa !5
  %18314 = call ptr @strerror(i32 noundef %18313) #11
  %18315 = call ptr @__errno_location() #12
  %18316 = load i32, ptr %18315, align 4, !tbaa !5
  %18317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18304, ptr noundef @.str.2, i32 noundef %18305, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 915, ptr noundef %18308, ptr noundef %18311, ptr noundef %18314, i32 noundef %18316) #11
  br label %18335

18318:                                            ; preds = %18296, %18289
  %18319 = load i32, ptr %453, align 4, !tbaa !5
  %18320 = call ptr @__errno_location() #12
  store i32 %18319, ptr %18320, align 4, !tbaa !5
  %18321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18322 = load i32, ptr @test_count, align 4, !tbaa !5
  %18323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18324 = load i32, ptr %18323, align 4, !tbaa !5
  %18325 = call ptr @s2n_strerror(i32 noundef %18324, ptr noundef @.str.4)
  %18326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18327 = load i32, ptr %18326, align 4, !tbaa !5
  %18328 = call ptr @s2n_strerror_debug(i32 noundef %18327, ptr noundef @.str.4)
  %18329 = call ptr @__errno_location() #12
  %18330 = load i32, ptr %18329, align 4, !tbaa !5
  %18331 = call ptr @strerror(i32 noundef %18330) #11
  %18332 = call ptr @__errno_location() #12
  %18333 = load i32, ptr %18332, align 4, !tbaa !5
  %18334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18321, ptr noundef @.str.5, i32 noundef %18322, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 915, ptr noundef %18325, ptr noundef %18328, ptr noundef %18331, i32 noundef %18333) #11
  br label %18335

18335:                                            ; preds = %18318, %18301
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #11
  br label %18336

18336:                                            ; preds = %18335
  br label %18337

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

18338:                                            ; No predecessors!
  br label %18339

18339:                                            ; preds = %18338
  br label %18340

18340:                                            ; preds = %18339, %18279
  br label %18341

18341:                                            ; preds = %18340
  br label %18342

18342:                                            ; preds = %18341
  br label %18343

18343:                                            ; preds = %18342
  %18344 = load i32, ptr @test_count, align 4, !tbaa !5
  %18345 = add nsw i32 %18344, 1
  store i32 %18345, ptr @test_count, align 4, !tbaa !5
  %18346 = load ptr, ptr %443, align 8, !tbaa !9
  %18347 = call i32 @s2n_connection_free(ptr noundef %18346)
  %18348 = icmp eq i32 %18347, -1
  br i1 %18348, label %18349, label %18402

18349:                                            ; preds = %18343
  br label %18350

18350:                                            ; preds = %18349
  br label %18351

18351:                                            ; preds = %18350
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #11
  %18352 = call ptr @__errno_location() #12
  %18353 = load i32, ptr %18352, align 4, !tbaa !5
  store i32 %18353, ptr %454, align 4, !tbaa !5
  %18354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18355 = call i32 @s2n_print_stacktrace(ptr noundef %18354)
  %18356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18357 = trunc i8 %18356 to i1
  br i1 %18357, label %18358, label %18380

18358:                                            ; preds = %18351
  %18359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18360 = call i32 @fileno(ptr noundef %18359) #11
  %18361 = call i32 @isatty(i32 noundef %18360) #11
  %18362 = icmp ne i32 %18361, 0
  br i1 %18362, label %18363, label %18380

18363:                                            ; preds = %18358
  %18364 = load i32, ptr %454, align 4, !tbaa !5
  %18365 = call ptr @__errno_location() #12
  store i32 %18364, ptr %18365, align 4, !tbaa !5
  %18366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18367 = load i32, ptr @test_count, align 4, !tbaa !5
  %18368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18369 = load i32, ptr %18368, align 4, !tbaa !5
  %18370 = call ptr @s2n_strerror(i32 noundef %18369, ptr noundef @.str.4)
  %18371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18372 = load i32, ptr %18371, align 4, !tbaa !5
  %18373 = call ptr @s2n_strerror_debug(i32 noundef %18372, ptr noundef @.str.4)
  %18374 = call ptr @__errno_location() #12
  %18375 = load i32, ptr %18374, align 4, !tbaa !5
  %18376 = call ptr @strerror(i32 noundef %18375) #11
  %18377 = call ptr @__errno_location() #12
  %18378 = load i32, ptr %18377, align 4, !tbaa !5
  %18379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18366, ptr noundef @.str.2, i32 noundef %18367, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 917, ptr noundef %18370, ptr noundef %18373, ptr noundef %18376, i32 noundef %18378) #11
  br label %18397

18380:                                            ; preds = %18358, %18351
  %18381 = load i32, ptr %454, align 4, !tbaa !5
  %18382 = call ptr @__errno_location() #12
  store i32 %18381, ptr %18382, align 4, !tbaa !5
  %18383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18384 = load i32, ptr @test_count, align 4, !tbaa !5
  %18385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18386 = load i32, ptr %18385, align 4, !tbaa !5
  %18387 = call ptr @s2n_strerror(i32 noundef %18386, ptr noundef @.str.4)
  %18388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18389 = load i32, ptr %18388, align 4, !tbaa !5
  %18390 = call ptr @s2n_strerror_debug(i32 noundef %18389, ptr noundef @.str.4)
  %18391 = call ptr @__errno_location() #12
  %18392 = load i32, ptr %18391, align 4, !tbaa !5
  %18393 = call ptr @strerror(i32 noundef %18392) #11
  %18394 = call ptr @__errno_location() #12
  %18395 = load i32, ptr %18394, align 4, !tbaa !5
  %18396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18383, ptr noundef @.str.5, i32 noundef %18384, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 917, ptr noundef %18387, ptr noundef %18390, ptr noundef %18393, i32 noundef %18395) #11
  br label %18397

18397:                                            ; preds = %18380, %18363
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #11
  br label %18398

18398:                                            ; preds = %18397
  br label %18399

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

18400:                                            ; No predecessors!
  br label %18401

18401:                                            ; preds = %18400
  br label %18402

18402:                                            ; preds = %18401, %18343
  br label %18403

18403:                                            ; preds = %18402
  br label %18404

18404:                                            ; preds = %18403
  br label %18405

18405:                                            ; preds = %18404
  %18406 = load i32, ptr @test_count, align 4, !tbaa !5
  %18407 = add nsw i32 %18406, 1
  store i32 %18407, ptr @test_count, align 4, !tbaa !5
  %18408 = load ptr, ptr %440, align 8, !tbaa !9
  %18409 = call i32 @s2n_config_free(ptr noundef %18408)
  %18410 = icmp eq i32 %18409, -1
  br i1 %18410, label %18411, label %18464

18411:                                            ; preds = %18405
  br label %18412

18412:                                            ; preds = %18411
  br label %18413

18413:                                            ; preds = %18412
  call void @llvm.lifetime.start.p0(i64 4, ptr %455) #11
  %18414 = call ptr @__errno_location() #12
  %18415 = load i32, ptr %18414, align 4, !tbaa !5
  store i32 %18415, ptr %455, align 4, !tbaa !5
  %18416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18417 = call i32 @s2n_print_stacktrace(ptr noundef %18416)
  %18418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18419 = trunc i8 %18418 to i1
  br i1 %18419, label %18420, label %18442

18420:                                            ; preds = %18413
  %18421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18422 = call i32 @fileno(ptr noundef %18421) #11
  %18423 = call i32 @isatty(i32 noundef %18422) #11
  %18424 = icmp ne i32 %18423, 0
  br i1 %18424, label %18425, label %18442

18425:                                            ; preds = %18420
  %18426 = load i32, ptr %455, align 4, !tbaa !5
  %18427 = call ptr @__errno_location() #12
  store i32 %18426, ptr %18427, align 4, !tbaa !5
  %18428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18429 = load i32, ptr @test_count, align 4, !tbaa !5
  %18430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18431 = load i32, ptr %18430, align 4, !tbaa !5
  %18432 = call ptr @s2n_strerror(i32 noundef %18431, ptr noundef @.str.4)
  %18433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18434 = load i32, ptr %18433, align 4, !tbaa !5
  %18435 = call ptr @s2n_strerror_debug(i32 noundef %18434, ptr noundef @.str.4)
  %18436 = call ptr @__errno_location() #12
  %18437 = load i32, ptr %18436, align 4, !tbaa !5
  %18438 = call ptr @strerror(i32 noundef %18437) #11
  %18439 = call ptr @__errno_location() #12
  %18440 = load i32, ptr %18439, align 4, !tbaa !5
  %18441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18428, ptr noundef @.str.2, i32 noundef %18429, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 918, ptr noundef %18432, ptr noundef %18435, ptr noundef %18438, i32 noundef %18440) #11
  br label %18459

18442:                                            ; preds = %18420, %18413
  %18443 = load i32, ptr %455, align 4, !tbaa !5
  %18444 = call ptr @__errno_location() #12
  store i32 %18443, ptr %18444, align 4, !tbaa !5
  %18445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18446 = load i32, ptr @test_count, align 4, !tbaa !5
  %18447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18448 = load i32, ptr %18447, align 4, !tbaa !5
  %18449 = call ptr @s2n_strerror(i32 noundef %18448, ptr noundef @.str.4)
  %18450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18451 = load i32, ptr %18450, align 4, !tbaa !5
  %18452 = call ptr @s2n_strerror_debug(i32 noundef %18451, ptr noundef @.str.4)
  %18453 = call ptr @__errno_location() #12
  %18454 = load i32, ptr %18453, align 4, !tbaa !5
  %18455 = call ptr @strerror(i32 noundef %18454) #11
  %18456 = call ptr @__errno_location() #12
  %18457 = load i32, ptr %18456, align 4, !tbaa !5
  %18458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18445, ptr noundef @.str.5, i32 noundef %18446, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 918, ptr noundef %18449, ptr noundef %18452, ptr noundef %18455, i32 noundef %18457) #11
  br label %18459

18459:                                            ; preds = %18442, %18425
  call void @llvm.lifetime.end.p0(i64 4, ptr %455) #11
  br label %18460

18460:                                            ; preds = %18459
  br label %18461

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

18462:                                            ; No predecessors!
  br label %18463

18463:                                            ; preds = %18462
  br label %18464

18464:                                            ; preds = %18463, %18405
  br label %18465

18465:                                            ; preds = %18464
  br label %18466

18466:                                            ; preds = %18465
  br label %18467

18467:                                            ; preds = %18466
  %18468 = load i32, ptr @test_count, align 4, !tbaa !5
  %18469 = add nsw i32 %18468, 1
  store i32 %18469, ptr @test_count, align 4, !tbaa !5
  %18470 = call i32 @s2n_stuffer_free(ptr noundef %448)
  %18471 = icmp eq i32 %18470, -1
  br i1 %18471, label %18472, label %18525

18472:                                            ; preds = %18467
  br label %18473

18473:                                            ; preds = %18472
  br label %18474

18474:                                            ; preds = %18473
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #11
  %18475 = call ptr @__errno_location() #12
  %18476 = load i32, ptr %18475, align 4, !tbaa !5
  store i32 %18476, ptr %456, align 4, !tbaa !5
  %18477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18478 = call i32 @s2n_print_stacktrace(ptr noundef %18477)
  %18479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18480 = trunc i8 %18479 to i1
  br i1 %18480, label %18481, label %18503

18481:                                            ; preds = %18474
  %18482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18483 = call i32 @fileno(ptr noundef %18482) #11
  %18484 = call i32 @isatty(i32 noundef %18483) #11
  %18485 = icmp ne i32 %18484, 0
  br i1 %18485, label %18486, label %18503

18486:                                            ; preds = %18481
  %18487 = load i32, ptr %456, align 4, !tbaa !5
  %18488 = call ptr @__errno_location() #12
  store i32 %18487, ptr %18488, align 4, !tbaa !5
  %18489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18490 = load i32, ptr @test_count, align 4, !tbaa !5
  %18491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18492 = load i32, ptr %18491, align 4, !tbaa !5
  %18493 = call ptr @s2n_strerror(i32 noundef %18492, ptr noundef @.str.4)
  %18494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18495 = load i32, ptr %18494, align 4, !tbaa !5
  %18496 = call ptr @s2n_strerror_debug(i32 noundef %18495, ptr noundef @.str.4)
  %18497 = call ptr @__errno_location() #12
  %18498 = load i32, ptr %18497, align 4, !tbaa !5
  %18499 = call ptr @strerror(i32 noundef %18498) #11
  %18500 = call ptr @__errno_location() #12
  %18501 = load i32, ptr %18500, align 4, !tbaa !5
  %18502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18489, ptr noundef @.str.2, i32 noundef %18490, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 919, ptr noundef %18493, ptr noundef %18496, ptr noundef %18499, i32 noundef %18501) #11
  br label %18520

18503:                                            ; preds = %18481, %18474
  %18504 = load i32, ptr %456, align 4, !tbaa !5
  %18505 = call ptr @__errno_location() #12
  store i32 %18504, ptr %18505, align 4, !tbaa !5
  %18506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18507 = load i32, ptr @test_count, align 4, !tbaa !5
  %18508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18509 = load i32, ptr %18508, align 4, !tbaa !5
  %18510 = call ptr @s2n_strerror(i32 noundef %18509, ptr noundef @.str.4)
  %18511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18512 = load i32, ptr %18511, align 4, !tbaa !5
  %18513 = call ptr @s2n_strerror_debug(i32 noundef %18512, ptr noundef @.str.4)
  %18514 = call ptr @__errno_location() #12
  %18515 = load i32, ptr %18514, align 4, !tbaa !5
  %18516 = call ptr @strerror(i32 noundef %18515) #11
  %18517 = call ptr @__errno_location() #12
  %18518 = load i32, ptr %18517, align 4, !tbaa !5
  %18519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18506, ptr noundef @.str.5, i32 noundef %18507, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 919, ptr noundef %18510, ptr noundef %18513, ptr noundef %18516, i32 noundef %18518) #11
  br label %18520

18520:                                            ; preds = %18503, %18486
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #11
  br label %18521

18521:                                            ; preds = %18520
  br label %18522

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

18523:                                            ; No predecessors!
  br label %18524

18524:                                            ; preds = %18523
  br label %18525

18525:                                            ; preds = %18524, %18467
  br label %18526

18526:                                            ; preds = %18525
  br label %18527

18527:                                            ; preds = %18526
  call void @llvm.lifetime.end.p0(i64 40, ptr %448) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %443) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %440) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %457) #11
  %18528 = call ptr @s2n_config_new()
  store ptr %18528, ptr %457, align 8, !tbaa !9
  br label %18529

18529:                                            ; preds = %18527
  %18530 = load i32, ptr @test_count, align 4, !tbaa !5
  %18531 = add nsw i32 %18530, 1
  store i32 %18531, ptr @test_count, align 4, !tbaa !5
  %18532 = load ptr, ptr %457, align 8, !tbaa !9
  %18533 = icmp eq ptr %18532, null
  br i1 %18533, label %18534, label %18587

18534:                                            ; preds = %18529
  br label %18535

18535:                                            ; preds = %18534
  br label %18536

18536:                                            ; preds = %18535
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #11
  %18537 = call ptr @__errno_location() #12
  %18538 = load i32, ptr %18537, align 4, !tbaa !5
  store i32 %18538, ptr %458, align 4, !tbaa !5
  %18539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18540 = call i32 @s2n_print_stacktrace(ptr noundef %18539)
  %18541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18542 = trunc i8 %18541 to i1
  br i1 %18542, label %18543, label %18565

18543:                                            ; preds = %18536
  %18544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18545 = call i32 @fileno(ptr noundef %18544) #11
  %18546 = call i32 @isatty(i32 noundef %18545) #11
  %18547 = icmp ne i32 %18546, 0
  br i1 %18547, label %18548, label %18565

18548:                                            ; preds = %18543
  %18549 = load i32, ptr %458, align 4, !tbaa !5
  %18550 = call ptr @__errno_location() #12
  store i32 %18549, ptr %18550, align 4, !tbaa !5
  %18551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18552 = load i32, ptr @test_count, align 4, !tbaa !5
  %18553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18554 = load i32, ptr %18553, align 4, !tbaa !5
  %18555 = call ptr @s2n_strerror(i32 noundef %18554, ptr noundef @.str.4)
  %18556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18557 = load i32, ptr %18556, align 4, !tbaa !5
  %18558 = call ptr @s2n_strerror_debug(i32 noundef %18557, ptr noundef @.str.4)
  %18559 = call ptr @__errno_location() #12
  %18560 = load i32, ptr %18559, align 4, !tbaa !5
  %18561 = call ptr @strerror(i32 noundef %18560) #11
  %18562 = call ptr @__errno_location() #12
  %18563 = load i32, ptr %18562, align 4, !tbaa !5
  %18564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18551, ptr noundef @.str.2, i32 noundef %18552, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 925, ptr noundef %18555, ptr noundef %18558, ptr noundef %18561, i32 noundef %18563) #11
  br label %18582

18565:                                            ; preds = %18543, %18536
  %18566 = load i32, ptr %458, align 4, !tbaa !5
  %18567 = call ptr @__errno_location() #12
  store i32 %18566, ptr %18567, align 4, !tbaa !5
  %18568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18569 = load i32, ptr @test_count, align 4, !tbaa !5
  %18570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18571 = load i32, ptr %18570, align 4, !tbaa !5
  %18572 = call ptr @s2n_strerror(i32 noundef %18571, ptr noundef @.str.4)
  %18573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18574 = load i32, ptr %18573, align 4, !tbaa !5
  %18575 = call ptr @s2n_strerror_debug(i32 noundef %18574, ptr noundef @.str.4)
  %18576 = call ptr @__errno_location() #12
  %18577 = load i32, ptr %18576, align 4, !tbaa !5
  %18578 = call ptr @strerror(i32 noundef %18577) #11
  %18579 = call ptr @__errno_location() #12
  %18580 = load i32, ptr %18579, align 4, !tbaa !5
  %18581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18568, ptr noundef @.str.5, i32 noundef %18569, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 925, ptr noundef %18572, ptr noundef %18575, ptr noundef %18578, i32 noundef %18580) #11
  br label %18582

18582:                                            ; preds = %18565, %18548
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #11
  br label %18583

18583:                                            ; preds = %18582
  br label %18584

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

18585:                                            ; No predecessors!
  br label %18586

18586:                                            ; preds = %18585
  br label %18587

18587:                                            ; preds = %18586, %18529
  br label %18588

18588:                                            ; preds = %18587
  br label %18589

18589:                                            ; preds = %18588
  call void @llvm.lifetime.start.p0(i64 2, ptr %459) #11
  store i16 0, ptr %459, align 2, !tbaa !72
  br label %18590

18590:                                            ; preds = %18589
  %18591 = load i32, ptr @test_count, align 4, !tbaa !5
  %18592 = add nsw i32 %18591, 1
  store i32 %18592, ptr @test_count, align 4, !tbaa !5
  %18593 = load ptr, ptr %457, align 8, !tbaa !9
  %18594 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef %18593, ptr noundef @s2n_test_select_psk_identity_callback, ptr noundef %459)
  %18595 = icmp eq i32 %18594, -1
  br i1 %18595, label %18596, label %18649

18596:                                            ; preds = %18590
  br label %18597

18597:                                            ; preds = %18596
  br label %18598

18598:                                            ; preds = %18597
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #11
  %18599 = call ptr @__errno_location() #12
  %18600 = load i32, ptr %18599, align 4, !tbaa !5
  store i32 %18600, ptr %460, align 4, !tbaa !5
  %18601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18602 = call i32 @s2n_print_stacktrace(ptr noundef %18601)
  %18603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18604 = trunc i8 %18603 to i1
  br i1 %18604, label %18605, label %18627

18605:                                            ; preds = %18598
  %18606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18607 = call i32 @fileno(ptr noundef %18606) #11
  %18608 = call i32 @isatty(i32 noundef %18607) #11
  %18609 = icmp ne i32 %18608, 0
  br i1 %18609, label %18610, label %18627

18610:                                            ; preds = %18605
  %18611 = load i32, ptr %460, align 4, !tbaa !5
  %18612 = call ptr @__errno_location() #12
  store i32 %18611, ptr %18612, align 4, !tbaa !5
  %18613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18614 = load i32, ptr @test_count, align 4, !tbaa !5
  %18615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18616 = load i32, ptr %18615, align 4, !tbaa !5
  %18617 = call ptr @s2n_strerror(i32 noundef %18616, ptr noundef @.str.4)
  %18618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18619 = load i32, ptr %18618, align 4, !tbaa !5
  %18620 = call ptr @s2n_strerror_debug(i32 noundef %18619, ptr noundef @.str.4)
  %18621 = call ptr @__errno_location() #12
  %18622 = load i32, ptr %18621, align 4, !tbaa !5
  %18623 = call ptr @strerror(i32 noundef %18622) #11
  %18624 = call ptr @__errno_location() #12
  %18625 = load i32, ptr %18624, align 4, !tbaa !5
  %18626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18613, ptr noundef @.str.2, i32 noundef %18614, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 928, ptr noundef %18617, ptr noundef %18620, ptr noundef %18623, i32 noundef %18625) #11
  br label %18644

18627:                                            ; preds = %18605, %18598
  %18628 = load i32, ptr %460, align 4, !tbaa !5
  %18629 = call ptr @__errno_location() #12
  store i32 %18628, ptr %18629, align 4, !tbaa !5
  %18630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18631 = load i32, ptr @test_count, align 4, !tbaa !5
  %18632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18633 = load i32, ptr %18632, align 4, !tbaa !5
  %18634 = call ptr @s2n_strerror(i32 noundef %18633, ptr noundef @.str.4)
  %18635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18636 = load i32, ptr %18635, align 4, !tbaa !5
  %18637 = call ptr @s2n_strerror_debug(i32 noundef %18636, ptr noundef @.str.4)
  %18638 = call ptr @__errno_location() #12
  %18639 = load i32, ptr %18638, align 4, !tbaa !5
  %18640 = call ptr @strerror(i32 noundef %18639) #11
  %18641 = call ptr @__errno_location() #12
  %18642 = load i32, ptr %18641, align 4, !tbaa !5
  %18643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18630, ptr noundef @.str.5, i32 noundef %18631, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 928, ptr noundef %18634, ptr noundef %18637, ptr noundef %18640, i32 noundef %18642) #11
  br label %18644

18644:                                            ; preds = %18627, %18610
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #11
  br label %18645

18645:                                            ; preds = %18644
  br label %18646

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

18647:                                            ; No predecessors!
  br label %18648

18648:                                            ; preds = %18647
  br label %18649

18649:                                            ; preds = %18648, %18590
  br label %18650

18650:                                            ; preds = %18649
  br label %18651

18651:                                            ; preds = %18650
  call void @llvm.lifetime.start.p0(i64 8, ptr %461) #11
  store ptr null, ptr %461, align 8, !tbaa !9
  br label %18652

18652:                                            ; preds = %18651
  %18653 = load i32, ptr @test_count, align 4, !tbaa !5
  %18654 = add nsw i32 %18653, 1
  store i32 %18654, ptr @test_count, align 4, !tbaa !5
  %18655 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18655, ptr %461, align 8, !tbaa !9
  %18656 = icmp eq ptr %18655, null
  br i1 %18656, label %18657, label %18710

18657:                                            ; preds = %18652
  br label %18658

18658:                                            ; preds = %18657
  br label %18659

18659:                                            ; preds = %18658
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #11
  %18660 = call ptr @__errno_location() #12
  %18661 = load i32, ptr %18660, align 4, !tbaa !5
  store i32 %18661, ptr %462, align 4, !tbaa !5
  %18662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18663 = call i32 @s2n_print_stacktrace(ptr noundef %18662)
  %18664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18665 = trunc i8 %18664 to i1
  br i1 %18665, label %18666, label %18688

18666:                                            ; preds = %18659
  %18667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18668 = call i32 @fileno(ptr noundef %18667) #11
  %18669 = call i32 @isatty(i32 noundef %18668) #11
  %18670 = icmp ne i32 %18669, 0
  br i1 %18670, label %18671, label %18688

18671:                                            ; preds = %18666
  %18672 = load i32, ptr %462, align 4, !tbaa !5
  %18673 = call ptr @__errno_location() #12
  store i32 %18672, ptr %18673, align 4, !tbaa !5
  %18674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18675 = load i32, ptr @test_count, align 4, !tbaa !5
  %18676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18677 = load i32, ptr %18676, align 4, !tbaa !5
  %18678 = call ptr @s2n_strerror(i32 noundef %18677, ptr noundef @.str.4)
  %18679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18680 = load i32, ptr %18679, align 4, !tbaa !5
  %18681 = call ptr @s2n_strerror_debug(i32 noundef %18680, ptr noundef @.str.4)
  %18682 = call ptr @__errno_location() #12
  %18683 = load i32, ptr %18682, align 4, !tbaa !5
  %18684 = call ptr @strerror(i32 noundef %18683) #11
  %18685 = call ptr @__errno_location() #12
  %18686 = load i32, ptr %18685, align 4, !tbaa !5
  %18687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18674, ptr noundef @.str.2, i32 noundef %18675, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 931, ptr noundef %18678, ptr noundef %18681, ptr noundef %18684, i32 noundef %18686) #11
  br label %18705

18688:                                            ; preds = %18666, %18659
  %18689 = load i32, ptr %462, align 4, !tbaa !5
  %18690 = call ptr @__errno_location() #12
  store i32 %18689, ptr %18690, align 4, !tbaa !5
  %18691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18692 = load i32, ptr @test_count, align 4, !tbaa !5
  %18693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18694 = load i32, ptr %18693, align 4, !tbaa !5
  %18695 = call ptr @s2n_strerror(i32 noundef %18694, ptr noundef @.str.4)
  %18696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18697 = load i32, ptr %18696, align 4, !tbaa !5
  %18698 = call ptr @s2n_strerror_debug(i32 noundef %18697, ptr noundef @.str.4)
  %18699 = call ptr @__errno_location() #12
  %18700 = load i32, ptr %18699, align 4, !tbaa !5
  %18701 = call ptr @strerror(i32 noundef %18700) #11
  %18702 = call ptr @__errno_location() #12
  %18703 = load i32, ptr %18702, align 4, !tbaa !5
  %18704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18691, ptr noundef @.str.5, i32 noundef %18692, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 931, ptr noundef %18695, ptr noundef %18698, ptr noundef %18701, i32 noundef %18703) #11
  br label %18705

18705:                                            ; preds = %18688, %18671
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #11
  br label %18706

18706:                                            ; preds = %18705
  br label %18707

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

18708:                                            ; No predecessors!
  br label %18709

18709:                                            ; preds = %18708
  br label %18710

18710:                                            ; preds = %18709, %18652
  br label %18711

18711:                                            ; preds = %18710
  br label %18712

18712:                                            ; preds = %18711
  br label %18713

18713:                                            ; preds = %18712
  %18714 = load i32, ptr @test_count, align 4, !tbaa !5
  %18715 = add nsw i32 %18714, 1
  store i32 %18715, ptr @test_count, align 4, !tbaa !5
  %18716 = load ptr, ptr %461, align 8, !tbaa !9
  %18717 = load ptr, ptr %457, align 8, !tbaa !9
  %18718 = call i32 @s2n_connection_set_config(ptr noundef %18716, ptr noundef %18717)
  %18719 = icmp eq i32 %18718, -1
  br i1 %18719, label %18720, label %18773

18720:                                            ; preds = %18713
  br label %18721

18721:                                            ; preds = %18720
  br label %18722

18722:                                            ; preds = %18721
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #11
  %18723 = call ptr @__errno_location() #12
  %18724 = load i32, ptr %18723, align 4, !tbaa !5
  store i32 %18724, ptr %463, align 4, !tbaa !5
  %18725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18726 = call i32 @s2n_print_stacktrace(ptr noundef %18725)
  %18727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18728 = trunc i8 %18727 to i1
  br i1 %18728, label %18729, label %18751

18729:                                            ; preds = %18722
  %18730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18731 = call i32 @fileno(ptr noundef %18730) #11
  %18732 = call i32 @isatty(i32 noundef %18731) #11
  %18733 = icmp ne i32 %18732, 0
  br i1 %18733, label %18734, label %18751

18734:                                            ; preds = %18729
  %18735 = load i32, ptr %463, align 4, !tbaa !5
  %18736 = call ptr @__errno_location() #12
  store i32 %18735, ptr %18736, align 4, !tbaa !5
  %18737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18738 = load i32, ptr @test_count, align 4, !tbaa !5
  %18739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18740 = load i32, ptr %18739, align 4, !tbaa !5
  %18741 = call ptr @s2n_strerror(i32 noundef %18740, ptr noundef @.str.4)
  %18742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18743 = load i32, ptr %18742, align 4, !tbaa !5
  %18744 = call ptr @s2n_strerror_debug(i32 noundef %18743, ptr noundef @.str.4)
  %18745 = call ptr @__errno_location() #12
  %18746 = load i32, ptr %18745, align 4, !tbaa !5
  %18747 = call ptr @strerror(i32 noundef %18746) #11
  %18748 = call ptr @__errno_location() #12
  %18749 = load i32, ptr %18748, align 4, !tbaa !5
  %18750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18737, ptr noundef @.str.2, i32 noundef %18738, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 932, ptr noundef %18741, ptr noundef %18744, ptr noundef %18747, i32 noundef %18749) #11
  br label %18768

18751:                                            ; preds = %18729, %18722
  %18752 = load i32, ptr %463, align 4, !tbaa !5
  %18753 = call ptr @__errno_location() #12
  store i32 %18752, ptr %18753, align 4, !tbaa !5
  %18754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18755 = load i32, ptr @test_count, align 4, !tbaa !5
  %18756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18757 = load i32, ptr %18756, align 4, !tbaa !5
  %18758 = call ptr @s2n_strerror(i32 noundef %18757, ptr noundef @.str.4)
  %18759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18760 = load i32, ptr %18759, align 4, !tbaa !5
  %18761 = call ptr @s2n_strerror_debug(i32 noundef %18760, ptr noundef @.str.4)
  %18762 = call ptr @__errno_location() #12
  %18763 = load i32, ptr %18762, align 4, !tbaa !5
  %18764 = call ptr @strerror(i32 noundef %18763) #11
  %18765 = call ptr @__errno_location() #12
  %18766 = load i32, ptr %18765, align 4, !tbaa !5
  %18767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18754, ptr noundef @.str.5, i32 noundef %18755, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 932, ptr noundef %18758, ptr noundef %18761, ptr noundef %18764, i32 noundef %18766) #11
  br label %18768

18768:                                            ; preds = %18751, %18734
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #11
  br label %18769

18769:                                            ; preds = %18768
  br label %18770

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

18771:                                            ; No predecessors!
  br label %18772

18772:                                            ; preds = %18771
  br label %18773

18773:                                            ; preds = %18772, %18713
  br label %18774

18774:                                            ; preds = %18773
  br label %18775

18775:                                            ; preds = %18774
  br label %18776

18776:                                            ; preds = %18775
  %18777 = load i32, ptr @test_count, align 4, !tbaa !5
  %18778 = add nsw i32 %18777, 1
  store i32 %18778, ptr @test_count, align 4, !tbaa !5
  %18779 = load ptr, ptr %461, align 8, !tbaa !9
  %18780 = call i32 @s2n_connection_set_psk_type(ptr noundef %18779, i32 noundef 1)
  %18781 = getelementptr inbounds %struct.s2n_result, ptr %464, i32 0, i32 0
  store i32 %18780, ptr %18781, align 4
  %18782 = getelementptr inbounds %struct.s2n_result, ptr %464, i32 0, i32 0
  %18783 = load i32, ptr %18782, align 4
  %18784 = call zeroext i1 @s2n_result_is_ok(i32 %18783)
  br i1 %18784, label %18838, label %18785

18785:                                            ; preds = %18776
  br label %18786

18786:                                            ; preds = %18785
  br label %18787

18787:                                            ; preds = %18786
  call void @llvm.lifetime.start.p0(i64 4, ptr %465) #11
  %18788 = call ptr @__errno_location() #12
  %18789 = load i32, ptr %18788, align 4, !tbaa !5
  store i32 %18789, ptr %465, align 4, !tbaa !5
  %18790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18791 = call i32 @s2n_print_stacktrace(ptr noundef %18790)
  %18792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18793 = trunc i8 %18792 to i1
  br i1 %18793, label %18794, label %18816

18794:                                            ; preds = %18787
  %18795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18796 = call i32 @fileno(ptr noundef %18795) #11
  %18797 = call i32 @isatty(i32 noundef %18796) #11
  %18798 = icmp ne i32 %18797, 0
  br i1 %18798, label %18799, label %18816

18799:                                            ; preds = %18794
  %18800 = load i32, ptr %465, align 4, !tbaa !5
  %18801 = call ptr @__errno_location() #12
  store i32 %18800, ptr %18801, align 4, !tbaa !5
  %18802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18803 = load i32, ptr @test_count, align 4, !tbaa !5
  %18804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18805 = load i32, ptr %18804, align 4, !tbaa !5
  %18806 = call ptr @s2n_strerror(i32 noundef %18805, ptr noundef @.str.4)
  %18807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18808 = load i32, ptr %18807, align 4, !tbaa !5
  %18809 = call ptr @s2n_strerror_debug(i32 noundef %18808, ptr noundef @.str.4)
  %18810 = call ptr @__errno_location() #12
  %18811 = load i32, ptr %18810, align 4, !tbaa !5
  %18812 = call ptr @strerror(i32 noundef %18811) #11
  %18813 = call ptr @__errno_location() #12
  %18814 = load i32, ptr %18813, align 4, !tbaa !5
  %18815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18802, ptr noundef @.str.2, i32 noundef %18803, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 933, ptr noundef %18806, ptr noundef %18809, ptr noundef %18812, i32 noundef %18814) #11
  br label %18833

18816:                                            ; preds = %18794, %18787
  %18817 = load i32, ptr %465, align 4, !tbaa !5
  %18818 = call ptr @__errno_location() #12
  store i32 %18817, ptr %18818, align 4, !tbaa !5
  %18819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18820 = load i32, ptr @test_count, align 4, !tbaa !5
  %18821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18822 = load i32, ptr %18821, align 4, !tbaa !5
  %18823 = call ptr @s2n_strerror(i32 noundef %18822, ptr noundef @.str.4)
  %18824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18825 = load i32, ptr %18824, align 4, !tbaa !5
  %18826 = call ptr @s2n_strerror_debug(i32 noundef %18825, ptr noundef @.str.4)
  %18827 = call ptr @__errno_location() #12
  %18828 = load i32, ptr %18827, align 4, !tbaa !5
  %18829 = call ptr @strerror(i32 noundef %18828) #11
  %18830 = call ptr @__errno_location() #12
  %18831 = load i32, ptr %18830, align 4, !tbaa !5
  %18832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18819, ptr noundef @.str.5, i32 noundef %18820, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 933, ptr noundef %18823, ptr noundef %18826, ptr noundef %18829, i32 noundef %18831) #11
  br label %18833

18833:                                            ; preds = %18816, %18799
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #11
  br label %18834

18834:                                            ; preds = %18833
  br label %18835

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

18836:                                            ; No predecessors!
  br label %18837

18837:                                            ; preds = %18836
  br label %18838

18838:                                            ; preds = %18837, %18776
  br label %18839

18839:                                            ; preds = %18838
  br label %18840

18840:                                            ; preds = %18839
  call void @llvm.lifetime.start.p0(i64 8, ptr %466) #11
  store ptr null, ptr %466, align 8, !tbaa !9
  br label %18841

18841:                                            ; preds = %18840
  %18842 = load i32, ptr @test_count, align 4, !tbaa !5
  %18843 = add nsw i32 %18842, 1
  store i32 %18843, ptr @test_count, align 4, !tbaa !5
  %18844 = load ptr, ptr %461, align 8, !tbaa !9
  %18845 = getelementptr inbounds %struct.s2n_connection, ptr %18844, i32 0, i32 33
  %18846 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %18845, i32 0, i32 1
  %18847 = call i32 @s2n_array_pushback(ptr noundef %18846, ptr noundef %466)
  %18848 = getelementptr inbounds %struct.s2n_result, ptr %467, i32 0, i32 0
  store i32 %18847, ptr %18848, align 4
  %18849 = getelementptr inbounds %struct.s2n_result, ptr %467, i32 0, i32 0
  %18850 = load i32, ptr %18849, align 4
  %18851 = call zeroext i1 @s2n_result_is_ok(i32 %18850)
  br i1 %18851, label %18905, label %18852

18852:                                            ; preds = %18841
  br label %18853

18853:                                            ; preds = %18852
  br label %18854

18854:                                            ; preds = %18853
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #11
  %18855 = call ptr @__errno_location() #12
  %18856 = load i32, ptr %18855, align 4, !tbaa !5
  store i32 %18856, ptr %468, align 4, !tbaa !5
  %18857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18858 = call i32 @s2n_print_stacktrace(ptr noundef %18857)
  %18859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18860 = trunc i8 %18859 to i1
  br i1 %18860, label %18861, label %18883

18861:                                            ; preds = %18854
  %18862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18863 = call i32 @fileno(ptr noundef %18862) #11
  %18864 = call i32 @isatty(i32 noundef %18863) #11
  %18865 = icmp ne i32 %18864, 0
  br i1 %18865, label %18866, label %18883

18866:                                            ; preds = %18861
  %18867 = load i32, ptr %468, align 4, !tbaa !5
  %18868 = call ptr @__errno_location() #12
  store i32 %18867, ptr %18868, align 4, !tbaa !5
  %18869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18870 = load i32, ptr @test_count, align 4, !tbaa !5
  %18871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18872 = load i32, ptr %18871, align 4, !tbaa !5
  %18873 = call ptr @s2n_strerror(i32 noundef %18872, ptr noundef @.str.4)
  %18874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18875 = load i32, ptr %18874, align 4, !tbaa !5
  %18876 = call ptr @s2n_strerror_debug(i32 noundef %18875, ptr noundef @.str.4)
  %18877 = call ptr @__errno_location() #12
  %18878 = load i32, ptr %18877, align 4, !tbaa !5
  %18879 = call ptr @strerror(i32 noundef %18878) #11
  %18880 = call ptr @__errno_location() #12
  %18881 = load i32, ptr %18880, align 4, !tbaa !5
  %18882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18869, ptr noundef @.str.2, i32 noundef %18870, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 936, ptr noundef %18873, ptr noundef %18876, ptr noundef %18879, i32 noundef %18881) #11
  br label %18900

18883:                                            ; preds = %18861, %18854
  %18884 = load i32, ptr %468, align 4, !tbaa !5
  %18885 = call ptr @__errno_location() #12
  store i32 %18884, ptr %18885, align 4, !tbaa !5
  %18886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18887 = load i32, ptr @test_count, align 4, !tbaa !5
  %18888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18889 = load i32, ptr %18888, align 4, !tbaa !5
  %18890 = call ptr @s2n_strerror(i32 noundef %18889, ptr noundef @.str.4)
  %18891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18892 = load i32, ptr %18891, align 4, !tbaa !5
  %18893 = call ptr @s2n_strerror_debug(i32 noundef %18892, ptr noundef @.str.4)
  %18894 = call ptr @__errno_location() #12
  %18895 = load i32, ptr %18894, align 4, !tbaa !5
  %18896 = call ptr @strerror(i32 noundef %18895) #11
  %18897 = call ptr @__errno_location() #12
  %18898 = load i32, ptr %18897, align 4, !tbaa !5
  %18899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18886, ptr noundef @.str.5, i32 noundef %18887, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 936, ptr noundef %18890, ptr noundef %18893, ptr noundef %18896, i32 noundef %18898) #11
  br label %18900

18900:                                            ; preds = %18883, %18866
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #11
  br label %18901

18901:                                            ; preds = %18900
  br label %18902

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

18903:                                            ; No predecessors!
  br label %18904

18904:                                            ; preds = %18903
  br label %18905

18905:                                            ; preds = %18904, %18841
  br label %18906

18906:                                            ; preds = %18905
  br label %18907

18907:                                            ; preds = %18906
  br label %18908

18908:                                            ; preds = %18907
  %18909 = load i32, ptr @test_count, align 4, !tbaa !5
  %18910 = add nsw i32 %18909, 1
  store i32 %18910, ptr @test_count, align 4, !tbaa !5
  %18911 = load ptr, ptr %466, align 8, !tbaa !9
  %18912 = call i32 @s2n_psk_init(ptr noundef %18911, i32 noundef 1)
  %18913 = getelementptr inbounds %struct.s2n_result, ptr %469, i32 0, i32 0
  store i32 %18912, ptr %18913, align 4
  %18914 = getelementptr inbounds %struct.s2n_result, ptr %469, i32 0, i32 0
  %18915 = load i32, ptr %18914, align 4
  %18916 = call zeroext i1 @s2n_result_is_ok(i32 %18915)
  br i1 %18916, label %18970, label %18917

18917:                                            ; preds = %18908
  br label %18918

18918:                                            ; preds = %18917
  br label %18919

18919:                                            ; preds = %18918
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %18920 = call ptr @__errno_location() #12
  %18921 = load i32, ptr %18920, align 4, !tbaa !5
  store i32 %18921, ptr %470, align 4, !tbaa !5
  %18922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18923 = call i32 @s2n_print_stacktrace(ptr noundef %18922)
  %18924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18925 = trunc i8 %18924 to i1
  br i1 %18925, label %18926, label %18948

18926:                                            ; preds = %18919
  %18927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18928 = call i32 @fileno(ptr noundef %18927) #11
  %18929 = call i32 @isatty(i32 noundef %18928) #11
  %18930 = icmp ne i32 %18929, 0
  br i1 %18930, label %18931, label %18948

18931:                                            ; preds = %18926
  %18932 = load i32, ptr %470, align 4, !tbaa !5
  %18933 = call ptr @__errno_location() #12
  store i32 %18932, ptr %18933, align 4, !tbaa !5
  %18934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18935 = load i32, ptr @test_count, align 4, !tbaa !5
  %18936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18937 = load i32, ptr %18936, align 4, !tbaa !5
  %18938 = call ptr @s2n_strerror(i32 noundef %18937, ptr noundef @.str.4)
  %18939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18940 = load i32, ptr %18939, align 4, !tbaa !5
  %18941 = call ptr @s2n_strerror_debug(i32 noundef %18940, ptr noundef @.str.4)
  %18942 = call ptr @__errno_location() #12
  %18943 = load i32, ptr %18942, align 4, !tbaa !5
  %18944 = call ptr @strerror(i32 noundef %18943) #11
  %18945 = call ptr @__errno_location() #12
  %18946 = load i32, ptr %18945, align 4, !tbaa !5
  %18947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18934, ptr noundef @.str.2, i32 noundef %18935, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 937, ptr noundef %18938, ptr noundef %18941, ptr noundef %18944, i32 noundef %18946) #11
  br label %18965

18948:                                            ; preds = %18926, %18919
  %18949 = load i32, ptr %470, align 4, !tbaa !5
  %18950 = call ptr @__errno_location() #12
  store i32 %18949, ptr %18950, align 4, !tbaa !5
  %18951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18952 = load i32, ptr @test_count, align 4, !tbaa !5
  %18953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18954 = load i32, ptr %18953, align 4, !tbaa !5
  %18955 = call ptr @s2n_strerror(i32 noundef %18954, ptr noundef @.str.4)
  %18956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18957 = load i32, ptr %18956, align 4, !tbaa !5
  %18958 = call ptr @s2n_strerror_debug(i32 noundef %18957, ptr noundef @.str.4)
  %18959 = call ptr @__errno_location() #12
  %18960 = load i32, ptr %18959, align 4, !tbaa !5
  %18961 = call ptr @strerror(i32 noundef %18960) #11
  %18962 = call ptr @__errno_location() #12
  %18963 = load i32, ptr %18962, align 4, !tbaa !5
  %18964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18951, ptr noundef @.str.5, i32 noundef %18952, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 937, ptr noundef %18955, ptr noundef %18958, ptr noundef %18961, i32 noundef %18963) #11
  br label %18965

18965:                                            ; preds = %18948, %18931
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %18966

18966:                                            ; preds = %18965
  br label %18967

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

18968:                                            ; No predecessors!
  br label %18969

18969:                                            ; preds = %18968
  br label %18970

18970:                                            ; preds = %18969, %18908
  br label %18971

18971:                                            ; preds = %18970
  br label %18972

18972:                                            ; preds = %18971
  br label %18973

18973:                                            ; preds = %18972
  %18974 = load i32, ptr @test_count, align 4, !tbaa !5
  %18975 = add nsw i32 %18974, 1
  store i32 %18975, ptr @test_count, align 4, !tbaa !5
  %18976 = load ptr, ptr %466, align 8, !tbaa !9
  %18977 = getelementptr inbounds [3 x i8], ptr %9, i64 0, i64 0
  %18978 = call i32 @s2n_psk_set_identity(ptr noundef %18976, ptr noundef %18977, i16 noundef zeroext 3)
  %18979 = icmp eq i32 %18978, -1
  br i1 %18979, label %18980, label %19033

18980:                                            ; preds = %18973
  br label %18981

18981:                                            ; preds = %18980
  br label %18982

18982:                                            ; preds = %18981
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #11
  %18983 = call ptr @__errno_location() #12
  %18984 = load i32, ptr %18983, align 4, !tbaa !5
  store i32 %18984, ptr %471, align 4, !tbaa !5
  %18985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18986 = call i32 @s2n_print_stacktrace(ptr noundef %18985)
  %18987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18988 = trunc i8 %18987 to i1
  br i1 %18988, label %18989, label %19011

18989:                                            ; preds = %18982
  %18990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18991 = call i32 @fileno(ptr noundef %18990) #11
  %18992 = call i32 @isatty(i32 noundef %18991) #11
  %18993 = icmp ne i32 %18992, 0
  br i1 %18993, label %18994, label %19011

18994:                                            ; preds = %18989
  %18995 = load i32, ptr %471, align 4, !tbaa !5
  %18996 = call ptr @__errno_location() #12
  store i32 %18995, ptr %18996, align 4, !tbaa !5
  %18997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18998 = load i32, ptr @test_count, align 4, !tbaa !5
  %18999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19000 = load i32, ptr %18999, align 4, !tbaa !5
  %19001 = call ptr @s2n_strerror(i32 noundef %19000, ptr noundef @.str.4)
  %19002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19003 = load i32, ptr %19002, align 4, !tbaa !5
  %19004 = call ptr @s2n_strerror_debug(i32 noundef %19003, ptr noundef @.str.4)
  %19005 = call ptr @__errno_location() #12
  %19006 = load i32, ptr %19005, align 4, !tbaa !5
  %19007 = call ptr @strerror(i32 noundef %19006) #11
  %19008 = call ptr @__errno_location() #12
  %19009 = load i32, ptr %19008, align 4, !tbaa !5
  %19010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18997, ptr noundef @.str.2, i32 noundef %18998, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 938, ptr noundef %19001, ptr noundef %19004, ptr noundef %19007, i32 noundef %19009) #11
  br label %19028

19011:                                            ; preds = %18989, %18982
  %19012 = load i32, ptr %471, align 4, !tbaa !5
  %19013 = call ptr @__errno_location() #12
  store i32 %19012, ptr %19013, align 4, !tbaa !5
  %19014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19015 = load i32, ptr @test_count, align 4, !tbaa !5
  %19016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19017 = load i32, ptr %19016, align 4, !tbaa !5
  %19018 = call ptr @s2n_strerror(i32 noundef %19017, ptr noundef @.str.4)
  %19019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19020 = load i32, ptr %19019, align 4, !tbaa !5
  %19021 = call ptr @s2n_strerror_debug(i32 noundef %19020, ptr noundef @.str.4)
  %19022 = call ptr @__errno_location() #12
  %19023 = load i32, ptr %19022, align 4, !tbaa !5
  %19024 = call ptr @strerror(i32 noundef %19023) #11
  %19025 = call ptr @__errno_location() #12
  %19026 = load i32, ptr %19025, align 4, !tbaa !5
  %19027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19014, ptr noundef @.str.5, i32 noundef %19015, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 938, ptr noundef %19018, ptr noundef %19021, ptr noundef %19024, i32 noundef %19026) #11
  br label %19028

19028:                                            ; preds = %19011, %18994
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #11
  br label %19029

19029:                                            ; preds = %19028
  br label %19030

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

19031:                                            ; No predecessors!
  br label %19032

19032:                                            ; preds = %19031
  br label %19033

19033:                                            ; preds = %19032, %18973
  br label %19034

19034:                                            ; preds = %19033
  br label %19035

19035:                                            ; preds = %19034
  call void @llvm.lifetime.start.p0(i64 40, ptr %472) #11
  call void @llvm.memset.p0.i64(ptr align 8 %472, i8 0, i64 40, i1 false)
  br label %19036

19036:                                            ; preds = %19035
  %19037 = load i32, ptr @test_count, align 4, !tbaa !5
  %19038 = add nsw i32 %19037, 1
  store i32 %19038, ptr @test_count, align 4, !tbaa !5
  %19039 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %472, i32 noundef 0)
  %19040 = icmp eq i32 %19039, -1
  br i1 %19040, label %19041, label %19094

19041:                                            ; preds = %19036
  br label %19042

19042:                                            ; preds = %19041
  br label %19043

19043:                                            ; preds = %19042
  call void @llvm.lifetime.start.p0(i64 4, ptr %473) #11
  %19044 = call ptr @__errno_location() #12
  %19045 = load i32, ptr %19044, align 4, !tbaa !5
  store i32 %19045, ptr %473, align 4, !tbaa !5
  %19046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19047 = call i32 @s2n_print_stacktrace(ptr noundef %19046)
  %19048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19049 = trunc i8 %19048 to i1
  br i1 %19049, label %19050, label %19072

19050:                                            ; preds = %19043
  %19051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19052 = call i32 @fileno(ptr noundef %19051) #11
  %19053 = call i32 @isatty(i32 noundef %19052) #11
  %19054 = icmp ne i32 %19053, 0
  br i1 %19054, label %19055, label %19072

19055:                                            ; preds = %19050
  %19056 = load i32, ptr %473, align 4, !tbaa !5
  %19057 = call ptr @__errno_location() #12
  store i32 %19056, ptr %19057, align 4, !tbaa !5
  %19058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19059 = load i32, ptr @test_count, align 4, !tbaa !5
  %19060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19061 = load i32, ptr %19060, align 4, !tbaa !5
  %19062 = call ptr @s2n_strerror(i32 noundef %19061, ptr noundef @.str.4)
  %19063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19064 = load i32, ptr %19063, align 4, !tbaa !5
  %19065 = call ptr @s2n_strerror_debug(i32 noundef %19064, ptr noundef @.str.4)
  %19066 = call ptr @__errno_location() #12
  %19067 = load i32, ptr %19066, align 4, !tbaa !5
  %19068 = call ptr @strerror(i32 noundef %19067) #11
  %19069 = call ptr @__errno_location() #12
  %19070 = load i32, ptr %19069, align 4, !tbaa !5
  %19071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19058, ptr noundef @.str.2, i32 noundef %19059, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 941, ptr noundef %19062, ptr noundef %19065, ptr noundef %19068, i32 noundef %19070) #11
  br label %19089

19072:                                            ; preds = %19050, %19043
  %19073 = load i32, ptr %473, align 4, !tbaa !5
  %19074 = call ptr @__errno_location() #12
  store i32 %19073, ptr %19074, align 4, !tbaa !5
  %19075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19076 = load i32, ptr @test_count, align 4, !tbaa !5
  %19077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19078 = load i32, ptr %19077, align 4, !tbaa !5
  %19079 = call ptr @s2n_strerror(i32 noundef %19078, ptr noundef @.str.4)
  %19080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19081 = load i32, ptr %19080, align 4, !tbaa !5
  %19082 = call ptr @s2n_strerror_debug(i32 noundef %19081, ptr noundef @.str.4)
  %19083 = call ptr @__errno_location() #12
  %19084 = load i32, ptr %19083, align 4, !tbaa !5
  %19085 = call ptr @strerror(i32 noundef %19084) #11
  %19086 = call ptr @__errno_location() #12
  %19087 = load i32, ptr %19086, align 4, !tbaa !5
  %19088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19075, ptr noundef @.str.5, i32 noundef %19076, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 941, ptr noundef %19079, ptr noundef %19082, ptr noundef %19085, i32 noundef %19087) #11
  br label %19089

19089:                                            ; preds = %19072, %19055
  call void @llvm.lifetime.end.p0(i64 4, ptr %473) #11
  br label %19090

19090:                                            ; preds = %19089
  br label %19091

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

19092:                                            ; No predecessors!
  br label %19093

19093:                                            ; preds = %19092
  br label %19094

19094:                                            ; preds = %19093, %19036
  br label %19095

19095:                                            ; preds = %19094
  br label %19096

19096:                                            ; preds = %19095
  br label %19097

19097:                                            ; preds = %19096
  %19098 = load i32, ptr @test_count, align 4, !tbaa !5
  %19099 = add nsw i32 %19098, 1
  store i32 %19099, ptr @test_count, align 4, !tbaa !5
  %19100 = load ptr, ptr %466, align 8, !tbaa !9
  %19101 = getelementptr inbounds %struct.s2n_psk, ptr %19100, i32 0, i32 1
  %19102 = call i32 @s2n_write_test_identity(ptr noundef %472, ptr noundef %19101)
  %19103 = getelementptr inbounds %struct.s2n_result, ptr %474, i32 0, i32 0
  store i32 %19102, ptr %19103, align 4
  %19104 = getelementptr inbounds %struct.s2n_result, ptr %474, i32 0, i32 0
  %19105 = load i32, ptr %19104, align 4
  %19106 = call zeroext i1 @s2n_result_is_ok(i32 %19105)
  br i1 %19106, label %19160, label %19107

19107:                                            ; preds = %19097
  br label %19108

19108:                                            ; preds = %19107
  br label %19109

19109:                                            ; preds = %19108
  call void @llvm.lifetime.start.p0(i64 4, ptr %475) #11
  %19110 = call ptr @__errno_location() #12
  %19111 = load i32, ptr %19110, align 4, !tbaa !5
  store i32 %19111, ptr %475, align 4, !tbaa !5
  %19112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19113 = call i32 @s2n_print_stacktrace(ptr noundef %19112)
  %19114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19115 = trunc i8 %19114 to i1
  br i1 %19115, label %19116, label %19138

19116:                                            ; preds = %19109
  %19117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19118 = call i32 @fileno(ptr noundef %19117) #11
  %19119 = call i32 @isatty(i32 noundef %19118) #11
  %19120 = icmp ne i32 %19119, 0
  br i1 %19120, label %19121, label %19138

19121:                                            ; preds = %19116
  %19122 = load i32, ptr %475, align 4, !tbaa !5
  %19123 = call ptr @__errno_location() #12
  store i32 %19122, ptr %19123, align 4, !tbaa !5
  %19124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19125 = load i32, ptr @test_count, align 4, !tbaa !5
  %19126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19127 = load i32, ptr %19126, align 4, !tbaa !5
  %19128 = call ptr @s2n_strerror(i32 noundef %19127, ptr noundef @.str.4)
  %19129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19130 = load i32, ptr %19129, align 4, !tbaa !5
  %19131 = call ptr @s2n_strerror_debug(i32 noundef %19130, ptr noundef @.str.4)
  %19132 = call ptr @__errno_location() #12
  %19133 = load i32, ptr %19132, align 4, !tbaa !5
  %19134 = call ptr @strerror(i32 noundef %19133) #11
  %19135 = call ptr @__errno_location() #12
  %19136 = load i32, ptr %19135, align 4, !tbaa !5
  %19137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19124, ptr noundef @.str.2, i32 noundef %19125, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 942, ptr noundef %19128, ptr noundef %19131, ptr noundef %19134, i32 noundef %19136) #11
  br label %19155

19138:                                            ; preds = %19116, %19109
  %19139 = load i32, ptr %475, align 4, !tbaa !5
  %19140 = call ptr @__errno_location() #12
  store i32 %19139, ptr %19140, align 4, !tbaa !5
  %19141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19142 = load i32, ptr @test_count, align 4, !tbaa !5
  %19143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19144 = load i32, ptr %19143, align 4, !tbaa !5
  %19145 = call ptr @s2n_strerror(i32 noundef %19144, ptr noundef @.str.4)
  %19146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19147 = load i32, ptr %19146, align 4, !tbaa !5
  %19148 = call ptr @s2n_strerror_debug(i32 noundef %19147, ptr noundef @.str.4)
  %19149 = call ptr @__errno_location() #12
  %19150 = load i32, ptr %19149, align 4, !tbaa !5
  %19151 = call ptr @strerror(i32 noundef %19150) #11
  %19152 = call ptr @__errno_location() #12
  %19153 = load i32, ptr %19152, align 4, !tbaa !5
  %19154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19141, ptr noundef @.str.5, i32 noundef %19142, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 942, ptr noundef %19145, ptr noundef %19148, ptr noundef %19151, i32 noundef %19153) #11
  br label %19155

19155:                                            ; preds = %19138, %19121
  call void @llvm.lifetime.end.p0(i64 4, ptr %475) #11
  br label %19156

19156:                                            ; preds = %19155
  br label %19157

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

19158:                                            ; No predecessors!
  br label %19159

19159:                                            ; preds = %19158
  br label %19160

19160:                                            ; preds = %19159, %19097
  br label %19161

19161:                                            ; preds = %19160
  br label %19162

19162:                                            ; preds = %19161
  br label %19163

19163:                                            ; preds = %19162
  %19164 = load i32, ptr @test_count, align 4, !tbaa !5
  %19165 = add nsw i32 %19164, 1
  store i32 %19165, ptr @test_count, align 4, !tbaa !5
  %19166 = load ptr, ptr %461, align 8, !tbaa !9
  %19167 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %19166, ptr noundef %472)
  %19168 = getelementptr inbounds %struct.s2n_result, ptr %476, i32 0, i32 0
  store i32 %19167, ptr %19168, align 4
  %19169 = getelementptr inbounds %struct.s2n_result, ptr %476, i32 0, i32 0
  %19170 = load i32, ptr %19169, align 4
  %19171 = call zeroext i1 @s2n_result_is_ok(i32 %19170)
  br i1 %19171, label %19225, label %19172

19172:                                            ; preds = %19163
  br label %19173

19173:                                            ; preds = %19172
  br label %19174

19174:                                            ; preds = %19173
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #11
  %19175 = call ptr @__errno_location() #12
  %19176 = load i32, ptr %19175, align 4, !tbaa !5
  store i32 %19176, ptr %477, align 4, !tbaa !5
  %19177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19178 = call i32 @s2n_print_stacktrace(ptr noundef %19177)
  %19179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19180 = trunc i8 %19179 to i1
  br i1 %19180, label %19181, label %19203

19181:                                            ; preds = %19174
  %19182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19183 = call i32 @fileno(ptr noundef %19182) #11
  %19184 = call i32 @isatty(i32 noundef %19183) #11
  %19185 = icmp ne i32 %19184, 0
  br i1 %19185, label %19186, label %19203

19186:                                            ; preds = %19181
  %19187 = load i32, ptr %477, align 4, !tbaa !5
  %19188 = call ptr @__errno_location() #12
  store i32 %19187, ptr %19188, align 4, !tbaa !5
  %19189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19190 = load i32, ptr @test_count, align 4, !tbaa !5
  %19191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19192 = load i32, ptr %19191, align 4, !tbaa !5
  %19193 = call ptr @s2n_strerror(i32 noundef %19192, ptr noundef @.str.4)
  %19194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19195 = load i32, ptr %19194, align 4, !tbaa !5
  %19196 = call ptr @s2n_strerror_debug(i32 noundef %19195, ptr noundef @.str.4)
  %19197 = call ptr @__errno_location() #12
  %19198 = load i32, ptr %19197, align 4, !tbaa !5
  %19199 = call ptr @strerror(i32 noundef %19198) #11
  %19200 = call ptr @__errno_location() #12
  %19201 = load i32, ptr %19200, align 4, !tbaa !5
  %19202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19189, ptr noundef @.str.2, i32 noundef %19190, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 944, ptr noundef %19193, ptr noundef %19196, ptr noundef %19199, i32 noundef %19201) #11
  br label %19220

19203:                                            ; preds = %19181, %19174
  %19204 = load i32, ptr %477, align 4, !tbaa !5
  %19205 = call ptr @__errno_location() #12
  store i32 %19204, ptr %19205, align 4, !tbaa !5
  %19206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19207 = load i32, ptr @test_count, align 4, !tbaa !5
  %19208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19209 = load i32, ptr %19208, align 4, !tbaa !5
  %19210 = call ptr @s2n_strerror(i32 noundef %19209, ptr noundef @.str.4)
  %19211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19212 = load i32, ptr %19211, align 4, !tbaa !5
  %19213 = call ptr @s2n_strerror_debug(i32 noundef %19212, ptr noundef @.str.4)
  %19214 = call ptr @__errno_location() #12
  %19215 = load i32, ptr %19214, align 4, !tbaa !5
  %19216 = call ptr @strerror(i32 noundef %19215) #11
  %19217 = call ptr @__errno_location() #12
  %19218 = load i32, ptr %19217, align 4, !tbaa !5
  %19219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19206, ptr noundef @.str.5, i32 noundef %19207, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 944, ptr noundef %19210, ptr noundef %19213, ptr noundef %19216, i32 noundef %19218) #11
  br label %19220

19220:                                            ; preds = %19203, %19186
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #11
  br label %19221

19221:                                            ; preds = %19220
  br label %19222

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

19223:                                            ; No predecessors!
  br label %19224

19224:                                            ; preds = %19223
  br label %19225

19225:                                            ; preds = %19224, %19163
  br label %19226

19226:                                            ; preds = %19225
  br label %19227

19227:                                            ; preds = %19226
  br label %19228

19228:                                            ; preds = %19227
  %19229 = load i32, ptr @test_count, align 4, !tbaa !5
  %19230 = add nsw i32 %19229, 1
  store i32 %19230, ptr @test_count, align 4, !tbaa !5
  %19231 = load ptr, ptr %461, align 8, !tbaa !9
  %19232 = getelementptr inbounds %struct.s2n_connection, ptr %19231, i32 0, i32 33
  %19233 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %19232, i32 0, i32 4
  %19234 = load ptr, ptr %19233, align 8, !tbaa !100
  %19235 = load ptr, ptr %466, align 8, !tbaa !9
  %19236 = icmp eq ptr %19234, %19235
  br i1 %19236, label %19290, label %19237

19237:                                            ; preds = %19228
  br label %19238

19238:                                            ; preds = %19237
  br label %19239

19239:                                            ; preds = %19238
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #11
  %19240 = call ptr @__errno_location() #12
  %19241 = load i32, ptr %19240, align 4, !tbaa !5
  store i32 %19241, ptr %478, align 4, !tbaa !5
  %19242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19243 = call i32 @s2n_print_stacktrace(ptr noundef %19242)
  %19244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19245 = trunc i8 %19244 to i1
  br i1 %19245, label %19246, label %19268

19246:                                            ; preds = %19239
  %19247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19248 = call i32 @fileno(ptr noundef %19247) #11
  %19249 = call i32 @isatty(i32 noundef %19248) #11
  %19250 = icmp ne i32 %19249, 0
  br i1 %19250, label %19251, label %19268

19251:                                            ; preds = %19246
  %19252 = load i32, ptr %478, align 4, !tbaa !5
  %19253 = call ptr @__errno_location() #12
  store i32 %19252, ptr %19253, align 4, !tbaa !5
  %19254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19255 = load i32, ptr @test_count, align 4, !tbaa !5
  %19256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19257 = load i32, ptr %19256, align 4, !tbaa !5
  %19258 = call ptr @s2n_strerror(i32 noundef %19257, ptr noundef @.str.4)
  %19259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19260 = load i32, ptr %19259, align 4, !tbaa !5
  %19261 = call ptr @s2n_strerror_debug(i32 noundef %19260, ptr noundef @.str.4)
  %19262 = call ptr @__errno_location() #12
  %19263 = load i32, ptr %19262, align 4, !tbaa !5
  %19264 = call ptr @strerror(i32 noundef %19263) #11
  %19265 = call ptr @__errno_location() #12
  %19266 = load i32, ptr %19265, align 4, !tbaa !5
  %19267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19254, ptr noundef @.str.2, i32 noundef %19255, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 945, ptr noundef %19258, ptr noundef %19261, ptr noundef %19264, i32 noundef %19266) #11
  br label %19285

19268:                                            ; preds = %19246, %19239
  %19269 = load i32, ptr %478, align 4, !tbaa !5
  %19270 = call ptr @__errno_location() #12
  store i32 %19269, ptr %19270, align 4, !tbaa !5
  %19271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19272 = load i32, ptr @test_count, align 4, !tbaa !5
  %19273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19274 = load i32, ptr %19273, align 4, !tbaa !5
  %19275 = call ptr @s2n_strerror(i32 noundef %19274, ptr noundef @.str.4)
  %19276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19277 = load i32, ptr %19276, align 4, !tbaa !5
  %19278 = call ptr @s2n_strerror_debug(i32 noundef %19277, ptr noundef @.str.4)
  %19279 = call ptr @__errno_location() #12
  %19280 = load i32, ptr %19279, align 4, !tbaa !5
  %19281 = call ptr @strerror(i32 noundef %19280) #11
  %19282 = call ptr @__errno_location() #12
  %19283 = load i32, ptr %19282, align 4, !tbaa !5
  %19284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19271, ptr noundef @.str.5, i32 noundef %19272, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 945, ptr noundef %19275, ptr noundef %19278, ptr noundef %19281, i32 noundef %19283) #11
  br label %19285

19285:                                            ; preds = %19268, %19251
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #11
  br label %19286

19286:                                            ; preds = %19285
  br label %19287

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

19288:                                            ; No predecessors!
  br label %19289

19289:                                            ; preds = %19288
  br label %19290

19290:                                            ; preds = %19289, %19228
  br label %19291

19291:                                            ; preds = %19290
  br label %19292

19292:                                            ; preds = %19291
  br label %19293

19293:                                            ; preds = %19292
  %19294 = load i32, ptr @test_count, align 4, !tbaa !5
  %19295 = add nsw i32 %19294, 1
  store i32 %19295, ptr @test_count, align 4, !tbaa !5
  %19296 = load ptr, ptr %461, align 8, !tbaa !9
  %19297 = getelementptr inbounds %struct.s2n_connection, ptr %19296, i32 0, i32 33
  %19298 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %19297, i32 0, i32 3
  %19299 = load i16, ptr %19298, align 2, !tbaa !99
  %19300 = zext i16 %19299 to i32
  %19301 = icmp eq i32 %19300, 0
  br i1 %19301, label %19355, label %19302

19302:                                            ; preds = %19293
  br label %19303

19303:                                            ; preds = %19302
  br label %19304

19304:                                            ; preds = %19303
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #11
  %19305 = call ptr @__errno_location() #12
  %19306 = load i32, ptr %19305, align 4, !tbaa !5
  store i32 %19306, ptr %479, align 4, !tbaa !5
  %19307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19308 = call i32 @s2n_print_stacktrace(ptr noundef %19307)
  %19309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19310 = trunc i8 %19309 to i1
  br i1 %19310, label %19311, label %19333

19311:                                            ; preds = %19304
  %19312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19313 = call i32 @fileno(ptr noundef %19312) #11
  %19314 = call i32 @isatty(i32 noundef %19313) #11
  %19315 = icmp ne i32 %19314, 0
  br i1 %19315, label %19316, label %19333

19316:                                            ; preds = %19311
  %19317 = load i32, ptr %479, align 4, !tbaa !5
  %19318 = call ptr @__errno_location() #12
  store i32 %19317, ptr %19318, align 4, !tbaa !5
  %19319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19320 = load i32, ptr @test_count, align 4, !tbaa !5
  %19321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19322 = load i32, ptr %19321, align 4, !tbaa !5
  %19323 = call ptr @s2n_strerror(i32 noundef %19322, ptr noundef @.str.4)
  %19324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19325 = load i32, ptr %19324, align 4, !tbaa !5
  %19326 = call ptr @s2n_strerror_debug(i32 noundef %19325, ptr noundef @.str.4)
  %19327 = call ptr @__errno_location() #12
  %19328 = load i32, ptr %19327, align 4, !tbaa !5
  %19329 = call ptr @strerror(i32 noundef %19328) #11
  %19330 = call ptr @__errno_location() #12
  %19331 = load i32, ptr %19330, align 4, !tbaa !5
  %19332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19319, ptr noundef @.str.2, i32 noundef %19320, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 946, ptr noundef %19323, ptr noundef %19326, ptr noundef %19329, i32 noundef %19331) #11
  br label %19350

19333:                                            ; preds = %19311, %19304
  %19334 = load i32, ptr %479, align 4, !tbaa !5
  %19335 = call ptr @__errno_location() #12
  store i32 %19334, ptr %19335, align 4, !tbaa !5
  %19336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19337 = load i32, ptr @test_count, align 4, !tbaa !5
  %19338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19339 = load i32, ptr %19338, align 4, !tbaa !5
  %19340 = call ptr @s2n_strerror(i32 noundef %19339, ptr noundef @.str.4)
  %19341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19342 = load i32, ptr %19341, align 4, !tbaa !5
  %19343 = call ptr @s2n_strerror_debug(i32 noundef %19342, ptr noundef @.str.4)
  %19344 = call ptr @__errno_location() #12
  %19345 = load i32, ptr %19344, align 4, !tbaa !5
  %19346 = call ptr @strerror(i32 noundef %19345) #11
  %19347 = call ptr @__errno_location() #12
  %19348 = load i32, ptr %19347, align 4, !tbaa !5
  %19349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19336, ptr noundef @.str.5, i32 noundef %19337, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 946, ptr noundef %19340, ptr noundef %19343, ptr noundef %19346, i32 noundef %19348) #11
  br label %19350

19350:                                            ; preds = %19333, %19316
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #11
  br label %19351

19351:                                            ; preds = %19350
  br label %19352

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

19353:                                            ; No predecessors!
  br label %19354

19354:                                            ; preds = %19353
  br label %19355

19355:                                            ; preds = %19354, %19293
  br label %19356

19356:                                            ; preds = %19355
  br label %19357

19357:                                            ; preds = %19356
  br label %19358

19358:                                            ; preds = %19357
  %19359 = load i32, ptr @test_count, align 4, !tbaa !5
  %19360 = add nsw i32 %19359, 1
  store i32 %19360, ptr @test_count, align 4, !tbaa !5
  %19361 = load ptr, ptr %461, align 8, !tbaa !9
  %19362 = call i32 @s2n_connection_free(ptr noundef %19361)
  %19363 = icmp eq i32 %19362, -1
  br i1 %19363, label %19364, label %19417

19364:                                            ; preds = %19358
  br label %19365

19365:                                            ; preds = %19364
  br label %19366

19366:                                            ; preds = %19365
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %19367 = call ptr @__errno_location() #12
  %19368 = load i32, ptr %19367, align 4, !tbaa !5
  store i32 %19368, ptr %480, align 4, !tbaa !5
  %19369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19370 = call i32 @s2n_print_stacktrace(ptr noundef %19369)
  %19371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19372 = trunc i8 %19371 to i1
  br i1 %19372, label %19373, label %19395

19373:                                            ; preds = %19366
  %19374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19375 = call i32 @fileno(ptr noundef %19374) #11
  %19376 = call i32 @isatty(i32 noundef %19375) #11
  %19377 = icmp ne i32 %19376, 0
  br i1 %19377, label %19378, label %19395

19378:                                            ; preds = %19373
  %19379 = load i32, ptr %480, align 4, !tbaa !5
  %19380 = call ptr @__errno_location() #12
  store i32 %19379, ptr %19380, align 4, !tbaa !5
  %19381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19382 = load i32, ptr @test_count, align 4, !tbaa !5
  %19383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19384 = load i32, ptr %19383, align 4, !tbaa !5
  %19385 = call ptr @s2n_strerror(i32 noundef %19384, ptr noundef @.str.4)
  %19386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19387 = load i32, ptr %19386, align 4, !tbaa !5
  %19388 = call ptr @s2n_strerror_debug(i32 noundef %19387, ptr noundef @.str.4)
  %19389 = call ptr @__errno_location() #12
  %19390 = load i32, ptr %19389, align 4, !tbaa !5
  %19391 = call ptr @strerror(i32 noundef %19390) #11
  %19392 = call ptr @__errno_location() #12
  %19393 = load i32, ptr %19392, align 4, !tbaa !5
  %19394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19381, ptr noundef @.str.2, i32 noundef %19382, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 948, ptr noundef %19385, ptr noundef %19388, ptr noundef %19391, i32 noundef %19393) #11
  br label %19412

19395:                                            ; preds = %19373, %19366
  %19396 = load i32, ptr %480, align 4, !tbaa !5
  %19397 = call ptr @__errno_location() #12
  store i32 %19396, ptr %19397, align 4, !tbaa !5
  %19398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19399 = load i32, ptr @test_count, align 4, !tbaa !5
  %19400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19401 = load i32, ptr %19400, align 4, !tbaa !5
  %19402 = call ptr @s2n_strerror(i32 noundef %19401, ptr noundef @.str.4)
  %19403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19404 = load i32, ptr %19403, align 4, !tbaa !5
  %19405 = call ptr @s2n_strerror_debug(i32 noundef %19404, ptr noundef @.str.4)
  %19406 = call ptr @__errno_location() #12
  %19407 = load i32, ptr %19406, align 4, !tbaa !5
  %19408 = call ptr @strerror(i32 noundef %19407) #11
  %19409 = call ptr @__errno_location() #12
  %19410 = load i32, ptr %19409, align 4, !tbaa !5
  %19411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19398, ptr noundef @.str.5, i32 noundef %19399, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 948, ptr noundef %19402, ptr noundef %19405, ptr noundef %19408, i32 noundef %19410) #11
  br label %19412

19412:                                            ; preds = %19395, %19378
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %19413

19413:                                            ; preds = %19412
  br label %19414

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

19415:                                            ; No predecessors!
  br label %19416

19416:                                            ; preds = %19415
  br label %19417

19417:                                            ; preds = %19416, %19358
  br label %19418

19418:                                            ; preds = %19417
  br label %19419

19419:                                            ; preds = %19418
  br label %19420

19420:                                            ; preds = %19419
  %19421 = load i32, ptr @test_count, align 4, !tbaa !5
  %19422 = add nsw i32 %19421, 1
  store i32 %19422, ptr @test_count, align 4, !tbaa !5
  %19423 = load ptr, ptr %457, align 8, !tbaa !9
  %19424 = call i32 @s2n_config_free(ptr noundef %19423)
  %19425 = icmp eq i32 %19424, -1
  br i1 %19425, label %19426, label %19479

19426:                                            ; preds = %19420
  br label %19427

19427:                                            ; preds = %19426
  br label %19428

19428:                                            ; preds = %19427
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  %19429 = call ptr @__errno_location() #12
  %19430 = load i32, ptr %19429, align 4, !tbaa !5
  store i32 %19430, ptr %481, align 4, !tbaa !5
  %19431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19432 = call i32 @s2n_print_stacktrace(ptr noundef %19431)
  %19433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19434 = trunc i8 %19433 to i1
  br i1 %19434, label %19435, label %19457

19435:                                            ; preds = %19428
  %19436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19437 = call i32 @fileno(ptr noundef %19436) #11
  %19438 = call i32 @isatty(i32 noundef %19437) #11
  %19439 = icmp ne i32 %19438, 0
  br i1 %19439, label %19440, label %19457

19440:                                            ; preds = %19435
  %19441 = load i32, ptr %481, align 4, !tbaa !5
  %19442 = call ptr @__errno_location() #12
  store i32 %19441, ptr %19442, align 4, !tbaa !5
  %19443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19444 = load i32, ptr @test_count, align 4, !tbaa !5
  %19445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19446 = load i32, ptr %19445, align 4, !tbaa !5
  %19447 = call ptr @s2n_strerror(i32 noundef %19446, ptr noundef @.str.4)
  %19448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19449 = load i32, ptr %19448, align 4, !tbaa !5
  %19450 = call ptr @s2n_strerror_debug(i32 noundef %19449, ptr noundef @.str.4)
  %19451 = call ptr @__errno_location() #12
  %19452 = load i32, ptr %19451, align 4, !tbaa !5
  %19453 = call ptr @strerror(i32 noundef %19452) #11
  %19454 = call ptr @__errno_location() #12
  %19455 = load i32, ptr %19454, align 4, !tbaa !5
  %19456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19443, ptr noundef @.str.2, i32 noundef %19444, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 949, ptr noundef %19447, ptr noundef %19450, ptr noundef %19453, i32 noundef %19455) #11
  br label %19474

19457:                                            ; preds = %19435, %19428
  %19458 = load i32, ptr %481, align 4, !tbaa !5
  %19459 = call ptr @__errno_location() #12
  store i32 %19458, ptr %19459, align 4, !tbaa !5
  %19460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19461 = load i32, ptr @test_count, align 4, !tbaa !5
  %19462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19463 = load i32, ptr %19462, align 4, !tbaa !5
  %19464 = call ptr @s2n_strerror(i32 noundef %19463, ptr noundef @.str.4)
  %19465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19466 = load i32, ptr %19465, align 4, !tbaa !5
  %19467 = call ptr @s2n_strerror_debug(i32 noundef %19466, ptr noundef @.str.4)
  %19468 = call ptr @__errno_location() #12
  %19469 = load i32, ptr %19468, align 4, !tbaa !5
  %19470 = call ptr @strerror(i32 noundef %19469) #11
  %19471 = call ptr @__errno_location() #12
  %19472 = load i32, ptr %19471, align 4, !tbaa !5
  %19473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19460, ptr noundef @.str.5, i32 noundef %19461, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 949, ptr noundef %19464, ptr noundef %19467, ptr noundef %19470, i32 noundef %19472) #11
  br label %19474

19474:                                            ; preds = %19457, %19440
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  br label %19475

19475:                                            ; preds = %19474
  br label %19476

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

19477:                                            ; No predecessors!
  br label %19478

19478:                                            ; preds = %19477
  br label %19479

19479:                                            ; preds = %19478, %19420
  br label %19480

19480:                                            ; preds = %19479
  br label %19481

19481:                                            ; preds = %19480
  br label %19482

19482:                                            ; preds = %19481
  %19483 = load i32, ptr @test_count, align 4, !tbaa !5
  %19484 = add nsw i32 %19483, 1
  store i32 %19484, ptr @test_count, align 4, !tbaa !5
  %19485 = call i32 @s2n_stuffer_free(ptr noundef %472)
  %19486 = icmp eq i32 %19485, -1
  br i1 %19486, label %19487, label %19540

19487:                                            ; preds = %19482
  br label %19488

19488:                                            ; preds = %19487
  br label %19489

19489:                                            ; preds = %19488
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %19490 = call ptr @__errno_location() #12
  %19491 = load i32, ptr %19490, align 4, !tbaa !5
  store i32 %19491, ptr %482, align 4, !tbaa !5
  %19492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19493 = call i32 @s2n_print_stacktrace(ptr noundef %19492)
  %19494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19495 = trunc i8 %19494 to i1
  br i1 %19495, label %19496, label %19518

19496:                                            ; preds = %19489
  %19497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19498 = call i32 @fileno(ptr noundef %19497) #11
  %19499 = call i32 @isatty(i32 noundef %19498) #11
  %19500 = icmp ne i32 %19499, 0
  br i1 %19500, label %19501, label %19518

19501:                                            ; preds = %19496
  %19502 = load i32, ptr %482, align 4, !tbaa !5
  %19503 = call ptr @__errno_location() #12
  store i32 %19502, ptr %19503, align 4, !tbaa !5
  %19504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19505 = load i32, ptr @test_count, align 4, !tbaa !5
  %19506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19507 = load i32, ptr %19506, align 4, !tbaa !5
  %19508 = call ptr @s2n_strerror(i32 noundef %19507, ptr noundef @.str.4)
  %19509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19510 = load i32, ptr %19509, align 4, !tbaa !5
  %19511 = call ptr @s2n_strerror_debug(i32 noundef %19510, ptr noundef @.str.4)
  %19512 = call ptr @__errno_location() #12
  %19513 = load i32, ptr %19512, align 4, !tbaa !5
  %19514 = call ptr @strerror(i32 noundef %19513) #11
  %19515 = call ptr @__errno_location() #12
  %19516 = load i32, ptr %19515, align 4, !tbaa !5
  %19517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19504, ptr noundef @.str.2, i32 noundef %19505, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 950, ptr noundef %19508, ptr noundef %19511, ptr noundef %19514, i32 noundef %19516) #11
  br label %19535

19518:                                            ; preds = %19496, %19489
  %19519 = load i32, ptr %482, align 4, !tbaa !5
  %19520 = call ptr @__errno_location() #12
  store i32 %19519, ptr %19520, align 4, !tbaa !5
  %19521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19522 = load i32, ptr @test_count, align 4, !tbaa !5
  %19523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19524 = load i32, ptr %19523, align 4, !tbaa !5
  %19525 = call ptr @s2n_strerror(i32 noundef %19524, ptr noundef @.str.4)
  %19526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19527 = load i32, ptr %19526, align 4, !tbaa !5
  %19528 = call ptr @s2n_strerror_debug(i32 noundef %19527, ptr noundef @.str.4)
  %19529 = call ptr @__errno_location() #12
  %19530 = load i32, ptr %19529, align 4, !tbaa !5
  %19531 = call ptr @strerror(i32 noundef %19530) #11
  %19532 = call ptr @__errno_location() #12
  %19533 = load i32, ptr %19532, align 4, !tbaa !5
  %19534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19521, ptr noundef @.str.5, i32 noundef %19522, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 950, ptr noundef %19525, ptr noundef %19528, ptr noundef %19531, i32 noundef %19533) #11
  br label %19535

19535:                                            ; preds = %19518, %19501
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %19536

19536:                                            ; preds = %19535
  br label %19537

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

19538:                                            ; No predecessors!
  br label %19539

19539:                                            ; preds = %19538
  br label %19540

19540:                                            ; preds = %19539, %19482
  br label %19541

19541:                                            ; preds = %19540
  br label %19542

19542:                                            ; preds = %19541
  call void @llvm.lifetime.end.p0(i64 40, ptr %472) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %466) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %461) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %459) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %457) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %483) #11
  %19543 = call ptr @s2n_config_new()
  store ptr %19543, ptr %483, align 8, !tbaa !9
  br label %19544

19544:                                            ; preds = %19542
  %19545 = load i32, ptr @test_count, align 4, !tbaa !5
  %19546 = add nsw i32 %19545, 1
  store i32 %19546, ptr @test_count, align 4, !tbaa !5
  %19547 = load ptr, ptr %483, align 8, !tbaa !9
  %19548 = icmp eq ptr %19547, null
  br i1 %19548, label %19549, label %19602

19549:                                            ; preds = %19544
  br label %19550

19550:                                            ; preds = %19549
  br label %19551

19551:                                            ; preds = %19550
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #11
  %19552 = call ptr @__errno_location() #12
  %19553 = load i32, ptr %19552, align 4, !tbaa !5
  store i32 %19553, ptr %484, align 4, !tbaa !5
  %19554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19555 = call i32 @s2n_print_stacktrace(ptr noundef %19554)
  %19556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19557 = trunc i8 %19556 to i1
  br i1 %19557, label %19558, label %19580

19558:                                            ; preds = %19551
  %19559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19560 = call i32 @fileno(ptr noundef %19559) #11
  %19561 = call i32 @isatty(i32 noundef %19560) #11
  %19562 = icmp ne i32 %19561, 0
  br i1 %19562, label %19563, label %19580

19563:                                            ; preds = %19558
  %19564 = load i32, ptr %484, align 4, !tbaa !5
  %19565 = call ptr @__errno_location() #12
  store i32 %19564, ptr %19565, align 4, !tbaa !5
  %19566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19567 = load i32, ptr @test_count, align 4, !tbaa !5
  %19568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19569 = load i32, ptr %19568, align 4, !tbaa !5
  %19570 = call ptr @s2n_strerror(i32 noundef %19569, ptr noundef @.str.4)
  %19571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19572 = load i32, ptr %19571, align 4, !tbaa !5
  %19573 = call ptr @s2n_strerror_debug(i32 noundef %19572, ptr noundef @.str.4)
  %19574 = call ptr @__errno_location() #12
  %19575 = load i32, ptr %19574, align 4, !tbaa !5
  %19576 = call ptr @strerror(i32 noundef %19575) #11
  %19577 = call ptr @__errno_location() #12
  %19578 = load i32, ptr %19577, align 4, !tbaa !5
  %19579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19566, ptr noundef @.str.2, i32 noundef %19567, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 956, ptr noundef %19570, ptr noundef %19573, ptr noundef %19576, i32 noundef %19578) #11
  br label %19597

19580:                                            ; preds = %19558, %19551
  %19581 = load i32, ptr %484, align 4, !tbaa !5
  %19582 = call ptr @__errno_location() #12
  store i32 %19581, ptr %19582, align 4, !tbaa !5
  %19583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19584 = load i32, ptr @test_count, align 4, !tbaa !5
  %19585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19586 = load i32, ptr %19585, align 4, !tbaa !5
  %19587 = call ptr @s2n_strerror(i32 noundef %19586, ptr noundef @.str.4)
  %19588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19589 = load i32, ptr %19588, align 4, !tbaa !5
  %19590 = call ptr @s2n_strerror_debug(i32 noundef %19589, ptr noundef @.str.4)
  %19591 = call ptr @__errno_location() #12
  %19592 = load i32, ptr %19591, align 4, !tbaa !5
  %19593 = call ptr @strerror(i32 noundef %19592) #11
  %19594 = call ptr @__errno_location() #12
  %19595 = load i32, ptr %19594, align 4, !tbaa !5
  %19596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19583, ptr noundef @.str.5, i32 noundef %19584, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 956, ptr noundef %19587, ptr noundef %19590, ptr noundef %19593, i32 noundef %19595) #11
  br label %19597

19597:                                            ; preds = %19580, %19563
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #11
  br label %19598

19598:                                            ; preds = %19597
  br label %19599

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

19600:                                            ; No predecessors!
  br label %19601

19601:                                            ; preds = %19600
  br label %19602

19602:                                            ; preds = %19601, %19544
  br label %19603

19603:                                            ; preds = %19602
  br label %19604

19604:                                            ; preds = %19603
  call void @llvm.lifetime.start.p0(i64 2, ptr %485) #11
  store i16 10, ptr %485, align 2, !tbaa !72
  br label %19605

19605:                                            ; preds = %19604
  %19606 = load i32, ptr @test_count, align 4, !tbaa !5
  %19607 = add nsw i32 %19606, 1
  store i32 %19607, ptr @test_count, align 4, !tbaa !5
  %19608 = load ptr, ptr %483, align 8, !tbaa !9
  %19609 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef %19608, ptr noundef @s2n_test_select_psk_identity_callback, ptr noundef %485)
  %19610 = icmp eq i32 %19609, -1
  br i1 %19610, label %19611, label %19664

19611:                                            ; preds = %19605
  br label %19612

19612:                                            ; preds = %19611
  br label %19613

19613:                                            ; preds = %19612
  call void @llvm.lifetime.start.p0(i64 4, ptr %486) #11
  %19614 = call ptr @__errno_location() #12
  %19615 = load i32, ptr %19614, align 4, !tbaa !5
  store i32 %19615, ptr %486, align 4, !tbaa !5
  %19616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19617 = call i32 @s2n_print_stacktrace(ptr noundef %19616)
  %19618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19619 = trunc i8 %19618 to i1
  br i1 %19619, label %19620, label %19642

19620:                                            ; preds = %19613
  %19621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19622 = call i32 @fileno(ptr noundef %19621) #11
  %19623 = call i32 @isatty(i32 noundef %19622) #11
  %19624 = icmp ne i32 %19623, 0
  br i1 %19624, label %19625, label %19642

19625:                                            ; preds = %19620
  %19626 = load i32, ptr %486, align 4, !tbaa !5
  %19627 = call ptr @__errno_location() #12
  store i32 %19626, ptr %19627, align 4, !tbaa !5
  %19628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19629 = load i32, ptr @test_count, align 4, !tbaa !5
  %19630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19631 = load i32, ptr %19630, align 4, !tbaa !5
  %19632 = call ptr @s2n_strerror(i32 noundef %19631, ptr noundef @.str.4)
  %19633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19634 = load i32, ptr %19633, align 4, !tbaa !5
  %19635 = call ptr @s2n_strerror_debug(i32 noundef %19634, ptr noundef @.str.4)
  %19636 = call ptr @__errno_location() #12
  %19637 = load i32, ptr %19636, align 4, !tbaa !5
  %19638 = call ptr @strerror(i32 noundef %19637) #11
  %19639 = call ptr @__errno_location() #12
  %19640 = load i32, ptr %19639, align 4, !tbaa !5
  %19641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19628, ptr noundef @.str.2, i32 noundef %19629, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 959, ptr noundef %19632, ptr noundef %19635, ptr noundef %19638, i32 noundef %19640) #11
  br label %19659

19642:                                            ; preds = %19620, %19613
  %19643 = load i32, ptr %486, align 4, !tbaa !5
  %19644 = call ptr @__errno_location() #12
  store i32 %19643, ptr %19644, align 4, !tbaa !5
  %19645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19646 = load i32, ptr @test_count, align 4, !tbaa !5
  %19647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19648 = load i32, ptr %19647, align 4, !tbaa !5
  %19649 = call ptr @s2n_strerror(i32 noundef %19648, ptr noundef @.str.4)
  %19650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19651 = load i32, ptr %19650, align 4, !tbaa !5
  %19652 = call ptr @s2n_strerror_debug(i32 noundef %19651, ptr noundef @.str.4)
  %19653 = call ptr @__errno_location() #12
  %19654 = load i32, ptr %19653, align 4, !tbaa !5
  %19655 = call ptr @strerror(i32 noundef %19654) #11
  %19656 = call ptr @__errno_location() #12
  %19657 = load i32, ptr %19656, align 4, !tbaa !5
  %19658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19645, ptr noundef @.str.5, i32 noundef %19646, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 959, ptr noundef %19649, ptr noundef %19652, ptr noundef %19655, i32 noundef %19657) #11
  br label %19659

19659:                                            ; preds = %19642, %19625
  call void @llvm.lifetime.end.p0(i64 4, ptr %486) #11
  br label %19660

19660:                                            ; preds = %19659
  br label %19661

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

19662:                                            ; No predecessors!
  br label %19663

19663:                                            ; preds = %19662
  br label %19664

19664:                                            ; preds = %19663, %19605
  br label %19665

19665:                                            ; preds = %19664
  br label %19666

19666:                                            ; preds = %19665
  call void @llvm.lifetime.start.p0(i64 8, ptr %487) #11
  store ptr null, ptr %487, align 8, !tbaa !9
  br label %19667

19667:                                            ; preds = %19666
  %19668 = load i32, ptr @test_count, align 4, !tbaa !5
  %19669 = add nsw i32 %19668, 1
  store i32 %19669, ptr @test_count, align 4, !tbaa !5
  %19670 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %19670, ptr %487, align 8, !tbaa !9
  %19671 = icmp eq ptr %19670, null
  br i1 %19671, label %19672, label %19725

19672:                                            ; preds = %19667
  br label %19673

19673:                                            ; preds = %19672
  br label %19674

19674:                                            ; preds = %19673
  call void @llvm.lifetime.start.p0(i64 4, ptr %488) #11
  %19675 = call ptr @__errno_location() #12
  %19676 = load i32, ptr %19675, align 4, !tbaa !5
  store i32 %19676, ptr %488, align 4, !tbaa !5
  %19677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19678 = call i32 @s2n_print_stacktrace(ptr noundef %19677)
  %19679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19680 = trunc i8 %19679 to i1
  br i1 %19680, label %19681, label %19703

19681:                                            ; preds = %19674
  %19682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19683 = call i32 @fileno(ptr noundef %19682) #11
  %19684 = call i32 @isatty(i32 noundef %19683) #11
  %19685 = icmp ne i32 %19684, 0
  br i1 %19685, label %19686, label %19703

19686:                                            ; preds = %19681
  %19687 = load i32, ptr %488, align 4, !tbaa !5
  %19688 = call ptr @__errno_location() #12
  store i32 %19687, ptr %19688, align 4, !tbaa !5
  %19689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19690 = load i32, ptr @test_count, align 4, !tbaa !5
  %19691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19692 = load i32, ptr %19691, align 4, !tbaa !5
  %19693 = call ptr @s2n_strerror(i32 noundef %19692, ptr noundef @.str.4)
  %19694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19695 = load i32, ptr %19694, align 4, !tbaa !5
  %19696 = call ptr @s2n_strerror_debug(i32 noundef %19695, ptr noundef @.str.4)
  %19697 = call ptr @__errno_location() #12
  %19698 = load i32, ptr %19697, align 4, !tbaa !5
  %19699 = call ptr @strerror(i32 noundef %19698) #11
  %19700 = call ptr @__errno_location() #12
  %19701 = load i32, ptr %19700, align 4, !tbaa !5
  %19702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19689, ptr noundef @.str.2, i32 noundef %19690, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 962, ptr noundef %19693, ptr noundef %19696, ptr noundef %19699, i32 noundef %19701) #11
  br label %19720

19703:                                            ; preds = %19681, %19674
  %19704 = load i32, ptr %488, align 4, !tbaa !5
  %19705 = call ptr @__errno_location() #12
  store i32 %19704, ptr %19705, align 4, !tbaa !5
  %19706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19707 = load i32, ptr @test_count, align 4, !tbaa !5
  %19708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19709 = load i32, ptr %19708, align 4, !tbaa !5
  %19710 = call ptr @s2n_strerror(i32 noundef %19709, ptr noundef @.str.4)
  %19711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19712 = load i32, ptr %19711, align 4, !tbaa !5
  %19713 = call ptr @s2n_strerror_debug(i32 noundef %19712, ptr noundef @.str.4)
  %19714 = call ptr @__errno_location() #12
  %19715 = load i32, ptr %19714, align 4, !tbaa !5
  %19716 = call ptr @strerror(i32 noundef %19715) #11
  %19717 = call ptr @__errno_location() #12
  %19718 = load i32, ptr %19717, align 4, !tbaa !5
  %19719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19706, ptr noundef @.str.5, i32 noundef %19707, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 962, ptr noundef %19710, ptr noundef %19713, ptr noundef %19716, i32 noundef %19718) #11
  br label %19720

19720:                                            ; preds = %19703, %19686
  call void @llvm.lifetime.end.p0(i64 4, ptr %488) #11
  br label %19721

19721:                                            ; preds = %19720
  br label %19722

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

19723:                                            ; No predecessors!
  br label %19724

19724:                                            ; preds = %19723
  br label %19725

19725:                                            ; preds = %19724, %19667
  br label %19726

19726:                                            ; preds = %19725
  br label %19727

19727:                                            ; preds = %19726
  br label %19728

19728:                                            ; preds = %19727
  %19729 = load i32, ptr @test_count, align 4, !tbaa !5
  %19730 = add nsw i32 %19729, 1
  store i32 %19730, ptr @test_count, align 4, !tbaa !5
  %19731 = load ptr, ptr %487, align 8, !tbaa !9
  %19732 = call i32 @s2n_connection_set_psk_type(ptr noundef %19731, i32 noundef 1)
  %19733 = getelementptr inbounds %struct.s2n_result, ptr %489, i32 0, i32 0
  store i32 %19732, ptr %19733, align 4
  %19734 = getelementptr inbounds %struct.s2n_result, ptr %489, i32 0, i32 0
  %19735 = load i32, ptr %19734, align 4
  %19736 = call zeroext i1 @s2n_result_is_ok(i32 %19735)
  br i1 %19736, label %19790, label %19737

19737:                                            ; preds = %19728
  br label %19738

19738:                                            ; preds = %19737
  br label %19739

19739:                                            ; preds = %19738
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #11
  %19740 = call ptr @__errno_location() #12
  %19741 = load i32, ptr %19740, align 4, !tbaa !5
  store i32 %19741, ptr %490, align 4, !tbaa !5
  %19742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19743 = call i32 @s2n_print_stacktrace(ptr noundef %19742)
  %19744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19745 = trunc i8 %19744 to i1
  br i1 %19745, label %19746, label %19768

19746:                                            ; preds = %19739
  %19747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19748 = call i32 @fileno(ptr noundef %19747) #11
  %19749 = call i32 @isatty(i32 noundef %19748) #11
  %19750 = icmp ne i32 %19749, 0
  br i1 %19750, label %19751, label %19768

19751:                                            ; preds = %19746
  %19752 = load i32, ptr %490, align 4, !tbaa !5
  %19753 = call ptr @__errno_location() #12
  store i32 %19752, ptr %19753, align 4, !tbaa !5
  %19754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19755 = load i32, ptr @test_count, align 4, !tbaa !5
  %19756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19757 = load i32, ptr %19756, align 4, !tbaa !5
  %19758 = call ptr @s2n_strerror(i32 noundef %19757, ptr noundef @.str.4)
  %19759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19760 = load i32, ptr %19759, align 4, !tbaa !5
  %19761 = call ptr @s2n_strerror_debug(i32 noundef %19760, ptr noundef @.str.4)
  %19762 = call ptr @__errno_location() #12
  %19763 = load i32, ptr %19762, align 4, !tbaa !5
  %19764 = call ptr @strerror(i32 noundef %19763) #11
  %19765 = call ptr @__errno_location() #12
  %19766 = load i32, ptr %19765, align 4, !tbaa !5
  %19767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19754, ptr noundef @.str.2, i32 noundef %19755, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 963, ptr noundef %19758, ptr noundef %19761, ptr noundef %19764, i32 noundef %19766) #11
  br label %19785

19768:                                            ; preds = %19746, %19739
  %19769 = load i32, ptr %490, align 4, !tbaa !5
  %19770 = call ptr @__errno_location() #12
  store i32 %19769, ptr %19770, align 4, !tbaa !5
  %19771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19772 = load i32, ptr @test_count, align 4, !tbaa !5
  %19773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19774 = load i32, ptr %19773, align 4, !tbaa !5
  %19775 = call ptr @s2n_strerror(i32 noundef %19774, ptr noundef @.str.4)
  %19776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19777 = load i32, ptr %19776, align 4, !tbaa !5
  %19778 = call ptr @s2n_strerror_debug(i32 noundef %19777, ptr noundef @.str.4)
  %19779 = call ptr @__errno_location() #12
  %19780 = load i32, ptr %19779, align 4, !tbaa !5
  %19781 = call ptr @strerror(i32 noundef %19780) #11
  %19782 = call ptr @__errno_location() #12
  %19783 = load i32, ptr %19782, align 4, !tbaa !5
  %19784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19771, ptr noundef @.str.5, i32 noundef %19772, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 963, ptr noundef %19775, ptr noundef %19778, ptr noundef %19781, i32 noundef %19783) #11
  br label %19785

19785:                                            ; preds = %19768, %19751
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #11
  br label %19786

19786:                                            ; preds = %19785
  br label %19787

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

19788:                                            ; No predecessors!
  br label %19789

19789:                                            ; preds = %19788
  br label %19790

19790:                                            ; preds = %19789, %19728
  br label %19791

19791:                                            ; preds = %19790
  br label %19792

19792:                                            ; preds = %19791
  br label %19793

19793:                                            ; preds = %19792
  %19794 = load i32, ptr @test_count, align 4, !tbaa !5
  %19795 = add nsw i32 %19794, 1
  store i32 %19795, ptr @test_count, align 4, !tbaa !5
  %19796 = load ptr, ptr %487, align 8, !tbaa !9
  %19797 = load ptr, ptr %483, align 8, !tbaa !9
  %19798 = call i32 @s2n_connection_set_config(ptr noundef %19796, ptr noundef %19797)
  %19799 = icmp eq i32 %19798, -1
  br i1 %19799, label %19800, label %19853

19800:                                            ; preds = %19793
  br label %19801

19801:                                            ; preds = %19800
  br label %19802

19802:                                            ; preds = %19801
  call void @llvm.lifetime.start.p0(i64 4, ptr %491) #11
  %19803 = call ptr @__errno_location() #12
  %19804 = load i32, ptr %19803, align 4, !tbaa !5
  store i32 %19804, ptr %491, align 4, !tbaa !5
  %19805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19806 = call i32 @s2n_print_stacktrace(ptr noundef %19805)
  %19807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19808 = trunc i8 %19807 to i1
  br i1 %19808, label %19809, label %19831

19809:                                            ; preds = %19802
  %19810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19811 = call i32 @fileno(ptr noundef %19810) #11
  %19812 = call i32 @isatty(i32 noundef %19811) #11
  %19813 = icmp ne i32 %19812, 0
  br i1 %19813, label %19814, label %19831

19814:                                            ; preds = %19809
  %19815 = load i32, ptr %491, align 4, !tbaa !5
  %19816 = call ptr @__errno_location() #12
  store i32 %19815, ptr %19816, align 4, !tbaa !5
  %19817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19818 = load i32, ptr @test_count, align 4, !tbaa !5
  %19819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19820 = load i32, ptr %19819, align 4, !tbaa !5
  %19821 = call ptr @s2n_strerror(i32 noundef %19820, ptr noundef @.str.4)
  %19822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19823 = load i32, ptr %19822, align 4, !tbaa !5
  %19824 = call ptr @s2n_strerror_debug(i32 noundef %19823, ptr noundef @.str.4)
  %19825 = call ptr @__errno_location() #12
  %19826 = load i32, ptr %19825, align 4, !tbaa !5
  %19827 = call ptr @strerror(i32 noundef %19826) #11
  %19828 = call ptr @__errno_location() #12
  %19829 = load i32, ptr %19828, align 4, !tbaa !5
  %19830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19817, ptr noundef @.str.2, i32 noundef %19818, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 964, ptr noundef %19821, ptr noundef %19824, ptr noundef %19827, i32 noundef %19829) #11
  br label %19848

19831:                                            ; preds = %19809, %19802
  %19832 = load i32, ptr %491, align 4, !tbaa !5
  %19833 = call ptr @__errno_location() #12
  store i32 %19832, ptr %19833, align 4, !tbaa !5
  %19834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19835 = load i32, ptr @test_count, align 4, !tbaa !5
  %19836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19837 = load i32, ptr %19836, align 4, !tbaa !5
  %19838 = call ptr @s2n_strerror(i32 noundef %19837, ptr noundef @.str.4)
  %19839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19840 = load i32, ptr %19839, align 4, !tbaa !5
  %19841 = call ptr @s2n_strerror_debug(i32 noundef %19840, ptr noundef @.str.4)
  %19842 = call ptr @__errno_location() #12
  %19843 = load i32, ptr %19842, align 4, !tbaa !5
  %19844 = call ptr @strerror(i32 noundef %19843) #11
  %19845 = call ptr @__errno_location() #12
  %19846 = load i32, ptr %19845, align 4, !tbaa !5
  %19847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19834, ptr noundef @.str.5, i32 noundef %19835, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 964, ptr noundef %19838, ptr noundef %19841, ptr noundef %19844, i32 noundef %19846) #11
  br label %19848

19848:                                            ; preds = %19831, %19814
  call void @llvm.lifetime.end.p0(i64 4, ptr %491) #11
  br label %19849

19849:                                            ; preds = %19848
  br label %19850

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

19851:                                            ; No predecessors!
  br label %19852

19852:                                            ; preds = %19851
  br label %19853

19853:                                            ; preds = %19852, %19793
  br label %19854

19854:                                            ; preds = %19853
  br label %19855

19855:                                            ; preds = %19854
  call void @llvm.lifetime.start.p0(i64 8, ptr %492) #11
  store ptr null, ptr %492, align 8, !tbaa !9
  br label %19856

19856:                                            ; preds = %19855
  %19857 = load i32, ptr @test_count, align 4, !tbaa !5
  %19858 = add nsw i32 %19857, 1
  store i32 %19858, ptr @test_count, align 4, !tbaa !5
  %19859 = load ptr, ptr %487, align 8, !tbaa !9
  %19860 = getelementptr inbounds %struct.s2n_connection, ptr %19859, i32 0, i32 33
  %19861 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %19860, i32 0, i32 1
  %19862 = call i32 @s2n_array_pushback(ptr noundef %19861, ptr noundef %492)
  %19863 = getelementptr inbounds %struct.s2n_result, ptr %493, i32 0, i32 0
  store i32 %19862, ptr %19863, align 4
  %19864 = getelementptr inbounds %struct.s2n_result, ptr %493, i32 0, i32 0
  %19865 = load i32, ptr %19864, align 4
  %19866 = call zeroext i1 @s2n_result_is_ok(i32 %19865)
  br i1 %19866, label %19920, label %19867

19867:                                            ; preds = %19856
  br label %19868

19868:                                            ; preds = %19867
  br label %19869

19869:                                            ; preds = %19868
  call void @llvm.lifetime.start.p0(i64 4, ptr %494) #11
  %19870 = call ptr @__errno_location() #12
  %19871 = load i32, ptr %19870, align 4, !tbaa !5
  store i32 %19871, ptr %494, align 4, !tbaa !5
  %19872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19873 = call i32 @s2n_print_stacktrace(ptr noundef %19872)
  %19874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19875 = trunc i8 %19874 to i1
  br i1 %19875, label %19876, label %19898

19876:                                            ; preds = %19869
  %19877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19878 = call i32 @fileno(ptr noundef %19877) #11
  %19879 = call i32 @isatty(i32 noundef %19878) #11
  %19880 = icmp ne i32 %19879, 0
  br i1 %19880, label %19881, label %19898

19881:                                            ; preds = %19876
  %19882 = load i32, ptr %494, align 4, !tbaa !5
  %19883 = call ptr @__errno_location() #12
  store i32 %19882, ptr %19883, align 4, !tbaa !5
  %19884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19885 = load i32, ptr @test_count, align 4, !tbaa !5
  %19886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19887 = load i32, ptr %19886, align 4, !tbaa !5
  %19888 = call ptr @s2n_strerror(i32 noundef %19887, ptr noundef @.str.4)
  %19889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19890 = load i32, ptr %19889, align 4, !tbaa !5
  %19891 = call ptr @s2n_strerror_debug(i32 noundef %19890, ptr noundef @.str.4)
  %19892 = call ptr @__errno_location() #12
  %19893 = load i32, ptr %19892, align 4, !tbaa !5
  %19894 = call ptr @strerror(i32 noundef %19893) #11
  %19895 = call ptr @__errno_location() #12
  %19896 = load i32, ptr %19895, align 4, !tbaa !5
  %19897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19884, ptr noundef @.str.2, i32 noundef %19885, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 967, ptr noundef %19888, ptr noundef %19891, ptr noundef %19894, i32 noundef %19896) #11
  br label %19915

19898:                                            ; preds = %19876, %19869
  %19899 = load i32, ptr %494, align 4, !tbaa !5
  %19900 = call ptr @__errno_location() #12
  store i32 %19899, ptr %19900, align 4, !tbaa !5
  %19901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19902 = load i32, ptr @test_count, align 4, !tbaa !5
  %19903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19904 = load i32, ptr %19903, align 4, !tbaa !5
  %19905 = call ptr @s2n_strerror(i32 noundef %19904, ptr noundef @.str.4)
  %19906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19907 = load i32, ptr %19906, align 4, !tbaa !5
  %19908 = call ptr @s2n_strerror_debug(i32 noundef %19907, ptr noundef @.str.4)
  %19909 = call ptr @__errno_location() #12
  %19910 = load i32, ptr %19909, align 4, !tbaa !5
  %19911 = call ptr @strerror(i32 noundef %19910) #11
  %19912 = call ptr @__errno_location() #12
  %19913 = load i32, ptr %19912, align 4, !tbaa !5
  %19914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19901, ptr noundef @.str.5, i32 noundef %19902, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 967, ptr noundef %19905, ptr noundef %19908, ptr noundef %19911, i32 noundef %19913) #11
  br label %19915

19915:                                            ; preds = %19898, %19881
  call void @llvm.lifetime.end.p0(i64 4, ptr %494) #11
  br label %19916

19916:                                            ; preds = %19915
  br label %19917

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

19918:                                            ; No predecessors!
  br label %19919

19919:                                            ; preds = %19918
  br label %19920

19920:                                            ; preds = %19919, %19856
  br label %19921

19921:                                            ; preds = %19920
  br label %19922

19922:                                            ; preds = %19921
  br label %19923

19923:                                            ; preds = %19922
  %19924 = load i32, ptr @test_count, align 4, !tbaa !5
  %19925 = add nsw i32 %19924, 1
  store i32 %19925, ptr @test_count, align 4, !tbaa !5
  %19926 = load ptr, ptr %492, align 8, !tbaa !9
  %19927 = call i32 @s2n_psk_init(ptr noundef %19926, i32 noundef 1)
  %19928 = getelementptr inbounds %struct.s2n_result, ptr %495, i32 0, i32 0
  store i32 %19927, ptr %19928, align 4
  %19929 = getelementptr inbounds %struct.s2n_result, ptr %495, i32 0, i32 0
  %19930 = load i32, ptr %19929, align 4
  %19931 = call zeroext i1 @s2n_result_is_ok(i32 %19930)
  br i1 %19931, label %19985, label %19932

19932:                                            ; preds = %19923
  br label %19933

19933:                                            ; preds = %19932
  br label %19934

19934:                                            ; preds = %19933
  call void @llvm.lifetime.start.p0(i64 4, ptr %496) #11
  %19935 = call ptr @__errno_location() #12
  %19936 = load i32, ptr %19935, align 4, !tbaa !5
  store i32 %19936, ptr %496, align 4, !tbaa !5
  %19937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19938 = call i32 @s2n_print_stacktrace(ptr noundef %19937)
  %19939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19940 = trunc i8 %19939 to i1
  br i1 %19940, label %19941, label %19963

19941:                                            ; preds = %19934
  %19942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19943 = call i32 @fileno(ptr noundef %19942) #11
  %19944 = call i32 @isatty(i32 noundef %19943) #11
  %19945 = icmp ne i32 %19944, 0
  br i1 %19945, label %19946, label %19963

19946:                                            ; preds = %19941
  %19947 = load i32, ptr %496, align 4, !tbaa !5
  %19948 = call ptr @__errno_location() #12
  store i32 %19947, ptr %19948, align 4, !tbaa !5
  %19949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19950 = load i32, ptr @test_count, align 4, !tbaa !5
  %19951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19952 = load i32, ptr %19951, align 4, !tbaa !5
  %19953 = call ptr @s2n_strerror(i32 noundef %19952, ptr noundef @.str.4)
  %19954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19955 = load i32, ptr %19954, align 4, !tbaa !5
  %19956 = call ptr @s2n_strerror_debug(i32 noundef %19955, ptr noundef @.str.4)
  %19957 = call ptr @__errno_location() #12
  %19958 = load i32, ptr %19957, align 4, !tbaa !5
  %19959 = call ptr @strerror(i32 noundef %19958) #11
  %19960 = call ptr @__errno_location() #12
  %19961 = load i32, ptr %19960, align 4, !tbaa !5
  %19962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19949, ptr noundef @.str.2, i32 noundef %19950, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 968, ptr noundef %19953, ptr noundef %19956, ptr noundef %19959, i32 noundef %19961) #11
  br label %19980

19963:                                            ; preds = %19941, %19934
  %19964 = load i32, ptr %496, align 4, !tbaa !5
  %19965 = call ptr @__errno_location() #12
  store i32 %19964, ptr %19965, align 4, !tbaa !5
  %19966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19967 = load i32, ptr @test_count, align 4, !tbaa !5
  %19968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19969 = load i32, ptr %19968, align 4, !tbaa !5
  %19970 = call ptr @s2n_strerror(i32 noundef %19969, ptr noundef @.str.4)
  %19971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19972 = load i32, ptr %19971, align 4, !tbaa !5
  %19973 = call ptr @s2n_strerror_debug(i32 noundef %19972, ptr noundef @.str.4)
  %19974 = call ptr @__errno_location() #12
  %19975 = load i32, ptr %19974, align 4, !tbaa !5
  %19976 = call ptr @strerror(i32 noundef %19975) #11
  %19977 = call ptr @__errno_location() #12
  %19978 = load i32, ptr %19977, align 4, !tbaa !5
  %19979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19966, ptr noundef @.str.5, i32 noundef %19967, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 968, ptr noundef %19970, ptr noundef %19973, ptr noundef %19976, i32 noundef %19978) #11
  br label %19980

19980:                                            ; preds = %19963, %19946
  call void @llvm.lifetime.end.p0(i64 4, ptr %496) #11
  br label %19981

19981:                                            ; preds = %19980
  br label %19982

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

19983:                                            ; No predecessors!
  br label %19984

19984:                                            ; preds = %19983
  br label %19985

19985:                                            ; preds = %19984, %19923
  br label %19986

19986:                                            ; preds = %19985
  br label %19987

19987:                                            ; preds = %19986
  br label %19988

19988:                                            ; preds = %19987
  %19989 = load i32, ptr @test_count, align 4, !tbaa !5
  %19990 = add nsw i32 %19989, 1
  store i32 %19990, ptr @test_count, align 4, !tbaa !5
  %19991 = load ptr, ptr %492, align 8, !tbaa !9
  %19992 = getelementptr inbounds [3 x i8], ptr %9, i64 0, i64 0
  %19993 = call i32 @s2n_psk_set_identity(ptr noundef %19991, ptr noundef %19992, i16 noundef zeroext 3)
  %19994 = icmp eq i32 %19993, -1
  br i1 %19994, label %19995, label %20048

19995:                                            ; preds = %19988
  br label %19996

19996:                                            ; preds = %19995
  br label %19997

19997:                                            ; preds = %19996
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #11
  %19998 = call ptr @__errno_location() #12
  %19999 = load i32, ptr %19998, align 4, !tbaa !5
  store i32 %19999, ptr %497, align 4, !tbaa !5
  %20000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20001 = call i32 @s2n_print_stacktrace(ptr noundef %20000)
  %20002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20003 = trunc i8 %20002 to i1
  br i1 %20003, label %20004, label %20026

20004:                                            ; preds = %19997
  %20005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20006 = call i32 @fileno(ptr noundef %20005) #11
  %20007 = call i32 @isatty(i32 noundef %20006) #11
  %20008 = icmp ne i32 %20007, 0
  br i1 %20008, label %20009, label %20026

20009:                                            ; preds = %20004
  %20010 = load i32, ptr %497, align 4, !tbaa !5
  %20011 = call ptr @__errno_location() #12
  store i32 %20010, ptr %20011, align 4, !tbaa !5
  %20012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20013 = load i32, ptr @test_count, align 4, !tbaa !5
  %20014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20015 = load i32, ptr %20014, align 4, !tbaa !5
  %20016 = call ptr @s2n_strerror(i32 noundef %20015, ptr noundef @.str.4)
  %20017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20018 = load i32, ptr %20017, align 4, !tbaa !5
  %20019 = call ptr @s2n_strerror_debug(i32 noundef %20018, ptr noundef @.str.4)
  %20020 = call ptr @__errno_location() #12
  %20021 = load i32, ptr %20020, align 4, !tbaa !5
  %20022 = call ptr @strerror(i32 noundef %20021) #11
  %20023 = call ptr @__errno_location() #12
  %20024 = load i32, ptr %20023, align 4, !tbaa !5
  %20025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20012, ptr noundef @.str.2, i32 noundef %20013, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 969, ptr noundef %20016, ptr noundef %20019, ptr noundef %20022, i32 noundef %20024) #11
  br label %20043

20026:                                            ; preds = %20004, %19997
  %20027 = load i32, ptr %497, align 4, !tbaa !5
  %20028 = call ptr @__errno_location() #12
  store i32 %20027, ptr %20028, align 4, !tbaa !5
  %20029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20030 = load i32, ptr @test_count, align 4, !tbaa !5
  %20031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20032 = load i32, ptr %20031, align 4, !tbaa !5
  %20033 = call ptr @s2n_strerror(i32 noundef %20032, ptr noundef @.str.4)
  %20034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20035 = load i32, ptr %20034, align 4, !tbaa !5
  %20036 = call ptr @s2n_strerror_debug(i32 noundef %20035, ptr noundef @.str.4)
  %20037 = call ptr @__errno_location() #12
  %20038 = load i32, ptr %20037, align 4, !tbaa !5
  %20039 = call ptr @strerror(i32 noundef %20038) #11
  %20040 = call ptr @__errno_location() #12
  %20041 = load i32, ptr %20040, align 4, !tbaa !5
  %20042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20029, ptr noundef @.str.5, i32 noundef %20030, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 969, ptr noundef %20033, ptr noundef %20036, ptr noundef %20039, i32 noundef %20041) #11
  br label %20043

20043:                                            ; preds = %20026, %20009
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #11
  br label %20044

20044:                                            ; preds = %20043
  br label %20045

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

20046:                                            ; No predecessors!
  br label %20047

20047:                                            ; preds = %20046
  br label %20048

20048:                                            ; preds = %20047, %19988
  br label %20049

20049:                                            ; preds = %20048
  br label %20050

20050:                                            ; preds = %20049
  call void @llvm.lifetime.start.p0(i64 40, ptr %498) #11
  call void @llvm.memset.p0.i64(ptr align 8 %498, i8 0, i64 40, i1 false)
  br label %20051

20051:                                            ; preds = %20050
  %20052 = load i32, ptr @test_count, align 4, !tbaa !5
  %20053 = add nsw i32 %20052, 1
  store i32 %20053, ptr @test_count, align 4, !tbaa !5
  %20054 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %498, i32 noundef 0)
  %20055 = icmp eq i32 %20054, -1
  br i1 %20055, label %20056, label %20109

20056:                                            ; preds = %20051
  br label %20057

20057:                                            ; preds = %20056
  br label %20058

20058:                                            ; preds = %20057
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #11
  %20059 = call ptr @__errno_location() #12
  %20060 = load i32, ptr %20059, align 4, !tbaa !5
  store i32 %20060, ptr %499, align 4, !tbaa !5
  %20061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20062 = call i32 @s2n_print_stacktrace(ptr noundef %20061)
  %20063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20064 = trunc i8 %20063 to i1
  br i1 %20064, label %20065, label %20087

20065:                                            ; preds = %20058
  %20066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20067 = call i32 @fileno(ptr noundef %20066) #11
  %20068 = call i32 @isatty(i32 noundef %20067) #11
  %20069 = icmp ne i32 %20068, 0
  br i1 %20069, label %20070, label %20087

20070:                                            ; preds = %20065
  %20071 = load i32, ptr %499, align 4, !tbaa !5
  %20072 = call ptr @__errno_location() #12
  store i32 %20071, ptr %20072, align 4, !tbaa !5
  %20073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20074 = load i32, ptr @test_count, align 4, !tbaa !5
  %20075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20076 = load i32, ptr %20075, align 4, !tbaa !5
  %20077 = call ptr @s2n_strerror(i32 noundef %20076, ptr noundef @.str.4)
  %20078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20079 = load i32, ptr %20078, align 4, !tbaa !5
  %20080 = call ptr @s2n_strerror_debug(i32 noundef %20079, ptr noundef @.str.4)
  %20081 = call ptr @__errno_location() #12
  %20082 = load i32, ptr %20081, align 4, !tbaa !5
  %20083 = call ptr @strerror(i32 noundef %20082) #11
  %20084 = call ptr @__errno_location() #12
  %20085 = load i32, ptr %20084, align 4, !tbaa !5
  %20086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20073, ptr noundef @.str.2, i32 noundef %20074, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 972, ptr noundef %20077, ptr noundef %20080, ptr noundef %20083, i32 noundef %20085) #11
  br label %20104

20087:                                            ; preds = %20065, %20058
  %20088 = load i32, ptr %499, align 4, !tbaa !5
  %20089 = call ptr @__errno_location() #12
  store i32 %20088, ptr %20089, align 4, !tbaa !5
  %20090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20091 = load i32, ptr @test_count, align 4, !tbaa !5
  %20092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20093 = load i32, ptr %20092, align 4, !tbaa !5
  %20094 = call ptr @s2n_strerror(i32 noundef %20093, ptr noundef @.str.4)
  %20095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20096 = load i32, ptr %20095, align 4, !tbaa !5
  %20097 = call ptr @s2n_strerror_debug(i32 noundef %20096, ptr noundef @.str.4)
  %20098 = call ptr @__errno_location() #12
  %20099 = load i32, ptr %20098, align 4, !tbaa !5
  %20100 = call ptr @strerror(i32 noundef %20099) #11
  %20101 = call ptr @__errno_location() #12
  %20102 = load i32, ptr %20101, align 4, !tbaa !5
  %20103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20090, ptr noundef @.str.5, i32 noundef %20091, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 972, ptr noundef %20094, ptr noundef %20097, ptr noundef %20100, i32 noundef %20102) #11
  br label %20104

20104:                                            ; preds = %20087, %20070
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #11
  br label %20105

20105:                                            ; preds = %20104
  br label %20106

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

20107:                                            ; No predecessors!
  br label %20108

20108:                                            ; preds = %20107
  br label %20109

20109:                                            ; preds = %20108, %20051
  br label %20110

20110:                                            ; preds = %20109
  br label %20111

20111:                                            ; preds = %20110
  br label %20112

20112:                                            ; preds = %20111
  %20113 = load i32, ptr @test_count, align 4, !tbaa !5
  %20114 = add nsw i32 %20113, 1
  store i32 %20114, ptr @test_count, align 4, !tbaa !5
  %20115 = load ptr, ptr %492, align 8, !tbaa !9
  %20116 = getelementptr inbounds %struct.s2n_psk, ptr %20115, i32 0, i32 1
  %20117 = call i32 @s2n_write_test_identity(ptr noundef %498, ptr noundef %20116)
  %20118 = getelementptr inbounds %struct.s2n_result, ptr %500, i32 0, i32 0
  store i32 %20117, ptr %20118, align 4
  %20119 = getelementptr inbounds %struct.s2n_result, ptr %500, i32 0, i32 0
  %20120 = load i32, ptr %20119, align 4
  %20121 = call zeroext i1 @s2n_result_is_ok(i32 %20120)
  br i1 %20121, label %20175, label %20122

20122:                                            ; preds = %20112
  br label %20123

20123:                                            ; preds = %20122
  br label %20124

20124:                                            ; preds = %20123
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #11
  %20125 = call ptr @__errno_location() #12
  %20126 = load i32, ptr %20125, align 4, !tbaa !5
  store i32 %20126, ptr %501, align 4, !tbaa !5
  %20127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20128 = call i32 @s2n_print_stacktrace(ptr noundef %20127)
  %20129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20130 = trunc i8 %20129 to i1
  br i1 %20130, label %20131, label %20153

20131:                                            ; preds = %20124
  %20132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20133 = call i32 @fileno(ptr noundef %20132) #11
  %20134 = call i32 @isatty(i32 noundef %20133) #11
  %20135 = icmp ne i32 %20134, 0
  br i1 %20135, label %20136, label %20153

20136:                                            ; preds = %20131
  %20137 = load i32, ptr %501, align 4, !tbaa !5
  %20138 = call ptr @__errno_location() #12
  store i32 %20137, ptr %20138, align 4, !tbaa !5
  %20139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20140 = load i32, ptr @test_count, align 4, !tbaa !5
  %20141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20142 = load i32, ptr %20141, align 4, !tbaa !5
  %20143 = call ptr @s2n_strerror(i32 noundef %20142, ptr noundef @.str.4)
  %20144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20145 = load i32, ptr %20144, align 4, !tbaa !5
  %20146 = call ptr @s2n_strerror_debug(i32 noundef %20145, ptr noundef @.str.4)
  %20147 = call ptr @__errno_location() #12
  %20148 = load i32, ptr %20147, align 4, !tbaa !5
  %20149 = call ptr @strerror(i32 noundef %20148) #11
  %20150 = call ptr @__errno_location() #12
  %20151 = load i32, ptr %20150, align 4, !tbaa !5
  %20152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20139, ptr noundef @.str.2, i32 noundef %20140, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 973, ptr noundef %20143, ptr noundef %20146, ptr noundef %20149, i32 noundef %20151) #11
  br label %20170

20153:                                            ; preds = %20131, %20124
  %20154 = load i32, ptr %501, align 4, !tbaa !5
  %20155 = call ptr @__errno_location() #12
  store i32 %20154, ptr %20155, align 4, !tbaa !5
  %20156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20157 = load i32, ptr @test_count, align 4, !tbaa !5
  %20158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20159 = load i32, ptr %20158, align 4, !tbaa !5
  %20160 = call ptr @s2n_strerror(i32 noundef %20159, ptr noundef @.str.4)
  %20161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20162 = load i32, ptr %20161, align 4, !tbaa !5
  %20163 = call ptr @s2n_strerror_debug(i32 noundef %20162, ptr noundef @.str.4)
  %20164 = call ptr @__errno_location() #12
  %20165 = load i32, ptr %20164, align 4, !tbaa !5
  %20166 = call ptr @strerror(i32 noundef %20165) #11
  %20167 = call ptr @__errno_location() #12
  %20168 = load i32, ptr %20167, align 4, !tbaa !5
  %20169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20156, ptr noundef @.str.5, i32 noundef %20157, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 973, ptr noundef %20160, ptr noundef %20163, ptr noundef %20166, i32 noundef %20168) #11
  br label %20170

20170:                                            ; preds = %20153, %20136
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #11
  br label %20171

20171:                                            ; preds = %20170
  br label %20172

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

20173:                                            ; No predecessors!
  br label %20174

20174:                                            ; preds = %20173
  br label %20175

20175:                                            ; preds = %20174, %20112
  br label %20176

20176:                                            ; preds = %20175
  br label %20177

20177:                                            ; preds = %20176
  br label %20178

20178:                                            ; preds = %20177
  br label %20179

20179:                                            ; preds = %20178
  %20180 = load i32, ptr @test_count, align 4, !tbaa !5
  %20181 = add nsw i32 %20180, 1
  store i32 %20181, ptr @test_count, align 4, !tbaa !5
  %20182 = load ptr, ptr %487, align 8, !tbaa !9
  %20183 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %20182, ptr noundef %498)
  %20184 = getelementptr inbounds %struct.s2n_result, ptr %502, i32 0, i32 0
  store i32 %20183, ptr %20184, align 4
  %20185 = getelementptr inbounds %struct.s2n_result, ptr %502, i32 0, i32 0
  %20186 = load i32, ptr %20185, align 4
  %20187 = call zeroext i1 @s2n_result_is_error(i32 %20186)
  br i1 %20187, label %20241, label %20188

20188:                                            ; preds = %20179
  br label %20189

20189:                                            ; preds = %20188
  br label %20190

20190:                                            ; preds = %20189
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #11
  %20191 = call ptr @__errno_location() #12
  %20192 = load i32, ptr %20191, align 4, !tbaa !5
  store i32 %20192, ptr %503, align 4, !tbaa !5
  %20193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20194 = call i32 @s2n_print_stacktrace(ptr noundef %20193)
  %20195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20196 = trunc i8 %20195 to i1
  br i1 %20196, label %20197, label %20219

20197:                                            ; preds = %20190
  %20198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20199 = call i32 @fileno(ptr noundef %20198) #11
  %20200 = call i32 @isatty(i32 noundef %20199) #11
  %20201 = icmp ne i32 %20200, 0
  br i1 %20201, label %20202, label %20219

20202:                                            ; preds = %20197
  %20203 = load i32, ptr %503, align 4, !tbaa !5
  %20204 = call ptr @__errno_location() #12
  store i32 %20203, ptr %20204, align 4, !tbaa !5
  %20205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20206 = load i32, ptr @test_count, align 4, !tbaa !5
  %20207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20208 = load i32, ptr %20207, align 4, !tbaa !5
  %20209 = call ptr @s2n_strerror(i32 noundef %20208, ptr noundef @.str.4)
  %20210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20211 = load i32, ptr %20210, align 4, !tbaa !5
  %20212 = call ptr @s2n_strerror_debug(i32 noundef %20211, ptr noundef @.str.4)
  %20213 = call ptr @__errno_location() #12
  %20214 = load i32, ptr %20213, align 4, !tbaa !5
  %20215 = call ptr @strerror(i32 noundef %20214) #11
  %20216 = call ptr @__errno_location() #12
  %20217 = load i32, ptr %20216, align 4, !tbaa !5
  %20218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20205, ptr noundef @.str.2, i32 noundef %20206, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 975, ptr noundef %20209, ptr noundef %20212, ptr noundef %20215, i32 noundef %20217) #11
  br label %20236

20219:                                            ; preds = %20197, %20190
  %20220 = load i32, ptr %503, align 4, !tbaa !5
  %20221 = call ptr @__errno_location() #12
  store i32 %20220, ptr %20221, align 4, !tbaa !5
  %20222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20223 = load i32, ptr @test_count, align 4, !tbaa !5
  %20224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20225 = load i32, ptr %20224, align 4, !tbaa !5
  %20226 = call ptr @s2n_strerror(i32 noundef %20225, ptr noundef @.str.4)
  %20227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20228 = load i32, ptr %20227, align 4, !tbaa !5
  %20229 = call ptr @s2n_strerror_debug(i32 noundef %20228, ptr noundef @.str.4)
  %20230 = call ptr @__errno_location() #12
  %20231 = load i32, ptr %20230, align 4, !tbaa !5
  %20232 = call ptr @strerror(i32 noundef %20231) #11
  %20233 = call ptr @__errno_location() #12
  %20234 = load i32, ptr %20233, align 4, !tbaa !5
  %20235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20222, ptr noundef @.str.5, i32 noundef %20223, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 975, ptr noundef %20226, ptr noundef %20229, ptr noundef %20232, i32 noundef %20234) #11
  br label %20236

20236:                                            ; preds = %20219, %20202
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #11
  br label %20237

20237:                                            ; preds = %20236
  br label %20238

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

20239:                                            ; No predecessors!
  br label %20240

20240:                                            ; preds = %20239
  br label %20241

20241:                                            ; preds = %20240, %20179
  br label %20242

20242:                                            ; preds = %20241
  br label %20243

20243:                                            ; preds = %20242
  br label %20244

20244:                                            ; preds = %20243
  %20245 = load i32, ptr @test_count, align 4, !tbaa !5
  %20246 = add nsw i32 %20245, 1
  store i32 %20246, ptr @test_count, align 4, !tbaa !5
  %20247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20248 = load i32, ptr %20247, align 4, !tbaa !5
  %20249 = icmp eq i32 %20248, 0
  br i1 %20249, label %20250, label %20303

20250:                                            ; preds = %20244
  br label %20251

20251:                                            ; preds = %20250
  br label %20252

20252:                                            ; preds = %20251
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %20253 = call ptr @__errno_location() #12
  %20254 = load i32, ptr %20253, align 4, !tbaa !5
  store i32 %20254, ptr %504, align 4, !tbaa !5
  %20255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20256 = call i32 @s2n_print_stacktrace(ptr noundef %20255)
  %20257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20258 = trunc i8 %20257 to i1
  br i1 %20258, label %20259, label %20281

20259:                                            ; preds = %20252
  %20260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20261 = call i32 @fileno(ptr noundef %20260) #11
  %20262 = call i32 @isatty(i32 noundef %20261) #11
  %20263 = icmp ne i32 %20262, 0
  br i1 %20263, label %20264, label %20281

20264:                                            ; preds = %20259
  %20265 = load i32, ptr %504, align 4, !tbaa !5
  %20266 = call ptr @__errno_location() #12
  store i32 %20265, ptr %20266, align 4, !tbaa !5
  %20267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20268 = load i32, ptr @test_count, align 4, !tbaa !5
  %20269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20270 = load i32, ptr %20269, align 4, !tbaa !5
  %20271 = call ptr @s2n_strerror(i32 noundef %20270, ptr noundef @.str.4)
  %20272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20273 = load i32, ptr %20272, align 4, !tbaa !5
  %20274 = call ptr @s2n_strerror_debug(i32 noundef %20273, ptr noundef @.str.4)
  %20275 = call ptr @__errno_location() #12
  %20276 = load i32, ptr %20275, align 4, !tbaa !5
  %20277 = call ptr @strerror(i32 noundef %20276) #11
  %20278 = call ptr @__errno_location() #12
  %20279 = load i32, ptr %20278, align 4, !tbaa !5
  %20280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20267, ptr noundef @.str.2, i32 noundef %20268, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 975, ptr noundef %20271, ptr noundef %20274, ptr noundef %20277, i32 noundef %20279) #11
  br label %20298

20281:                                            ; preds = %20259, %20252
  %20282 = load i32, ptr %504, align 4, !tbaa !5
  %20283 = call ptr @__errno_location() #12
  store i32 %20282, ptr %20283, align 4, !tbaa !5
  %20284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20285 = load i32, ptr @test_count, align 4, !tbaa !5
  %20286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20287 = load i32, ptr %20286, align 4, !tbaa !5
  %20288 = call ptr @s2n_strerror(i32 noundef %20287, ptr noundef @.str.4)
  %20289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20290 = load i32, ptr %20289, align 4, !tbaa !5
  %20291 = call ptr @s2n_strerror_debug(i32 noundef %20290, ptr noundef @.str.4)
  %20292 = call ptr @__errno_location() #12
  %20293 = load i32, ptr %20292, align 4, !tbaa !5
  %20294 = call ptr @strerror(i32 noundef %20293) #11
  %20295 = call ptr @__errno_location() #12
  %20296 = load i32, ptr %20295, align 4, !tbaa !5
  %20297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20284, ptr noundef @.str.5, i32 noundef %20285, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 975, ptr noundef %20288, ptr noundef %20291, ptr noundef %20294, i32 noundef %20296) #11
  br label %20298

20298:                                            ; preds = %20281, %20264
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %20299

20299:                                            ; preds = %20298
  br label %20300

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

20301:                                            ; No predecessors!
  br label %20302

20302:                                            ; preds = %20301
  br label %20303

20303:                                            ; preds = %20302, %20244
  br label %20304

20304:                                            ; preds = %20303
  br label %20305

20305:                                            ; preds = %20304
  br label %20306

20306:                                            ; preds = %20305
  %20307 = load i32, ptr @test_count, align 4, !tbaa !5
  %20308 = add nsw i32 %20307, 1
  store i32 %20308, ptr @test_count, align 4, !tbaa !5
  %20309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20310 = load i32, ptr %20309, align 4, !tbaa !5
  %20311 = call ptr @s2n_strerror_debug(i32 noundef %20310, ptr noundef @.str.4)
  %20312 = icmp eq ptr %20311, null
  br i1 %20312, label %20313, label %20366

20313:                                            ; preds = %20306
  br label %20314

20314:                                            ; preds = %20313
  br label %20315

20315:                                            ; preds = %20314
  call void @llvm.lifetime.start.p0(i64 4, ptr %505) #11
  %20316 = call ptr @__errno_location() #12
  %20317 = load i32, ptr %20316, align 4, !tbaa !5
  store i32 %20317, ptr %505, align 4, !tbaa !5
  %20318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20319 = call i32 @s2n_print_stacktrace(ptr noundef %20318)
  %20320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20321 = trunc i8 %20320 to i1
  br i1 %20321, label %20322, label %20344

20322:                                            ; preds = %20315
  %20323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20324 = call i32 @fileno(ptr noundef %20323) #11
  %20325 = call i32 @isatty(i32 noundef %20324) #11
  %20326 = icmp ne i32 %20325, 0
  br i1 %20326, label %20327, label %20344

20327:                                            ; preds = %20322
  %20328 = load i32, ptr %505, align 4, !tbaa !5
  %20329 = call ptr @__errno_location() #12
  store i32 %20328, ptr %20329, align 4, !tbaa !5
  %20330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20331 = load i32, ptr @test_count, align 4, !tbaa !5
  %20332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20333 = load i32, ptr %20332, align 4, !tbaa !5
  %20334 = call ptr @s2n_strerror(i32 noundef %20333, ptr noundef @.str.4)
  %20335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20336 = load i32, ptr %20335, align 4, !tbaa !5
  %20337 = call ptr @s2n_strerror_debug(i32 noundef %20336, ptr noundef @.str.4)
  %20338 = call ptr @__errno_location() #12
  %20339 = load i32, ptr %20338, align 4, !tbaa !5
  %20340 = call ptr @strerror(i32 noundef %20339) #11
  %20341 = call ptr @__errno_location() #12
  %20342 = load i32, ptr %20341, align 4, !tbaa !5
  %20343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20330, ptr noundef @.str.2, i32 noundef %20331, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 975, ptr noundef %20334, ptr noundef %20337, ptr noundef %20340, i32 noundef %20342) #11
  br label %20361

20344:                                            ; preds = %20322, %20315
  %20345 = load i32, ptr %505, align 4, !tbaa !5
  %20346 = call ptr @__errno_location() #12
  store i32 %20345, ptr %20346, align 4, !tbaa !5
  %20347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20348 = load i32, ptr @test_count, align 4, !tbaa !5
  %20349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20350 = load i32, ptr %20349, align 4, !tbaa !5
  %20351 = call ptr @s2n_strerror(i32 noundef %20350, ptr noundef @.str.4)
  %20352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20353 = load i32, ptr %20352, align 4, !tbaa !5
  %20354 = call ptr @s2n_strerror_debug(i32 noundef %20353, ptr noundef @.str.4)
  %20355 = call ptr @__errno_location() #12
  %20356 = load i32, ptr %20355, align 4, !tbaa !5
  %20357 = call ptr @strerror(i32 noundef %20356) #11
  %20358 = call ptr @__errno_location() #12
  %20359 = load i32, ptr %20358, align 4, !tbaa !5
  %20360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20347, ptr noundef @.str.5, i32 noundef %20348, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 975, ptr noundef %20351, ptr noundef %20354, ptr noundef %20357, i32 noundef %20359) #11
  br label %20361

20361:                                            ; preds = %20344, %20327
  call void @llvm.lifetime.end.p0(i64 4, ptr %505) #11
  br label %20362

20362:                                            ; preds = %20361
  br label %20363

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

20364:                                            ; No predecessors!
  br label %20365

20365:                                            ; preds = %20364
  br label %20366

20366:                                            ; preds = %20365, %20306
  br label %20367

20367:                                            ; preds = %20366
  br label %20368

20368:                                            ; preds = %20367
  br label %20369

20369:                                            ; preds = %20368
  %20370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20370, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20371 = call ptr @__errno_location() #12
  store i32 0, ptr %20371, align 4, !tbaa !5
  br label %20372

20372:                                            ; preds = %20369
  br label %20373

20373:                                            ; preds = %20372
  br label %20374

20374:                                            ; preds = %20373
  br label %20375

20375:                                            ; preds = %20374
  br label %20376

20376:                                            ; preds = %20375
  %20377 = load i32, ptr @test_count, align 4, !tbaa !5
  %20378 = add nsw i32 %20377, 1
  store i32 %20378, ptr @test_count, align 4, !tbaa !5
  %20379 = load ptr, ptr %487, align 8, !tbaa !9
  %20380 = getelementptr inbounds %struct.s2n_connection, ptr %20379, i32 0, i32 33
  %20381 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %20380, i32 0, i32 4
  %20382 = load ptr, ptr %20381, align 8, !tbaa !100
  %20383 = icmp eq ptr %20382, null
  br i1 %20383, label %20437, label %20384

20384:                                            ; preds = %20376
  br label %20385

20385:                                            ; preds = %20384
  br label %20386

20386:                                            ; preds = %20385
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #11
  %20387 = call ptr @__errno_location() #12
  %20388 = load i32, ptr %20387, align 4, !tbaa !5
  store i32 %20388, ptr %506, align 4, !tbaa !5
  %20389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20390 = call i32 @s2n_print_stacktrace(ptr noundef %20389)
  %20391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20392 = trunc i8 %20391 to i1
  br i1 %20392, label %20393, label %20415

20393:                                            ; preds = %20386
  %20394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20395 = call i32 @fileno(ptr noundef %20394) #11
  %20396 = call i32 @isatty(i32 noundef %20395) #11
  %20397 = icmp ne i32 %20396, 0
  br i1 %20397, label %20398, label %20415

20398:                                            ; preds = %20393
  %20399 = load i32, ptr %506, align 4, !tbaa !5
  %20400 = call ptr @__errno_location() #12
  store i32 %20399, ptr %20400, align 4, !tbaa !5
  %20401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20402 = load i32, ptr @test_count, align 4, !tbaa !5
  %20403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20404 = load i32, ptr %20403, align 4, !tbaa !5
  %20405 = call ptr @s2n_strerror(i32 noundef %20404, ptr noundef @.str.4)
  %20406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20407 = load i32, ptr %20406, align 4, !tbaa !5
  %20408 = call ptr @s2n_strerror_debug(i32 noundef %20407, ptr noundef @.str.4)
  %20409 = call ptr @__errno_location() #12
  %20410 = load i32, ptr %20409, align 4, !tbaa !5
  %20411 = call ptr @strerror(i32 noundef %20410) #11
  %20412 = call ptr @__errno_location() #12
  %20413 = load i32, ptr %20412, align 4, !tbaa !5
  %20414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20401, ptr noundef @.str.2, i32 noundef %20402, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 976, ptr noundef %20405, ptr noundef %20408, ptr noundef %20411, i32 noundef %20413) #11
  br label %20432

20415:                                            ; preds = %20393, %20386
  %20416 = load i32, ptr %506, align 4, !tbaa !5
  %20417 = call ptr @__errno_location() #12
  store i32 %20416, ptr %20417, align 4, !tbaa !5
  %20418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20419 = load i32, ptr @test_count, align 4, !tbaa !5
  %20420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20421 = load i32, ptr %20420, align 4, !tbaa !5
  %20422 = call ptr @s2n_strerror(i32 noundef %20421, ptr noundef @.str.4)
  %20423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20424 = load i32, ptr %20423, align 4, !tbaa !5
  %20425 = call ptr @s2n_strerror_debug(i32 noundef %20424, ptr noundef @.str.4)
  %20426 = call ptr @__errno_location() #12
  %20427 = load i32, ptr %20426, align 4, !tbaa !5
  %20428 = call ptr @strerror(i32 noundef %20427) #11
  %20429 = call ptr @__errno_location() #12
  %20430 = load i32, ptr %20429, align 4, !tbaa !5
  %20431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20418, ptr noundef @.str.5, i32 noundef %20419, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 976, ptr noundef %20422, ptr noundef %20425, ptr noundef %20428, i32 noundef %20430) #11
  br label %20432

20432:                                            ; preds = %20415, %20398
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #11
  br label %20433

20433:                                            ; preds = %20432
  br label %20434

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

20435:                                            ; No predecessors!
  br label %20436

20436:                                            ; preds = %20435
  br label %20437

20437:                                            ; preds = %20436, %20376
  br label %20438

20438:                                            ; preds = %20437
  br label %20439

20439:                                            ; preds = %20438
  br label %20440

20440:                                            ; preds = %20439
  %20441 = load i32, ptr @test_count, align 4, !tbaa !5
  %20442 = add nsw i32 %20441, 1
  store i32 %20442, ptr @test_count, align 4, !tbaa !5
  %20443 = load ptr, ptr %487, align 8, !tbaa !9
  %20444 = call i32 @s2n_connection_free(ptr noundef %20443)
  %20445 = icmp eq i32 %20444, -1
  br i1 %20445, label %20446, label %20499

20446:                                            ; preds = %20440
  br label %20447

20447:                                            ; preds = %20446
  br label %20448

20448:                                            ; preds = %20447
  call void @llvm.lifetime.start.p0(i64 4, ptr %507) #11
  %20449 = call ptr @__errno_location() #12
  %20450 = load i32, ptr %20449, align 4, !tbaa !5
  store i32 %20450, ptr %507, align 4, !tbaa !5
  %20451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20452 = call i32 @s2n_print_stacktrace(ptr noundef %20451)
  %20453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20454 = trunc i8 %20453 to i1
  br i1 %20454, label %20455, label %20477

20455:                                            ; preds = %20448
  %20456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20457 = call i32 @fileno(ptr noundef %20456) #11
  %20458 = call i32 @isatty(i32 noundef %20457) #11
  %20459 = icmp ne i32 %20458, 0
  br i1 %20459, label %20460, label %20477

20460:                                            ; preds = %20455
  %20461 = load i32, ptr %507, align 4, !tbaa !5
  %20462 = call ptr @__errno_location() #12
  store i32 %20461, ptr %20462, align 4, !tbaa !5
  %20463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20464 = load i32, ptr @test_count, align 4, !tbaa !5
  %20465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20466 = load i32, ptr %20465, align 4, !tbaa !5
  %20467 = call ptr @s2n_strerror(i32 noundef %20466, ptr noundef @.str.4)
  %20468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20469 = load i32, ptr %20468, align 4, !tbaa !5
  %20470 = call ptr @s2n_strerror_debug(i32 noundef %20469, ptr noundef @.str.4)
  %20471 = call ptr @__errno_location() #12
  %20472 = load i32, ptr %20471, align 4, !tbaa !5
  %20473 = call ptr @strerror(i32 noundef %20472) #11
  %20474 = call ptr @__errno_location() #12
  %20475 = load i32, ptr %20474, align 4, !tbaa !5
  %20476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20463, ptr noundef @.str.2, i32 noundef %20464, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 978, ptr noundef %20467, ptr noundef %20470, ptr noundef %20473, i32 noundef %20475) #11
  br label %20494

20477:                                            ; preds = %20455, %20448
  %20478 = load i32, ptr %507, align 4, !tbaa !5
  %20479 = call ptr @__errno_location() #12
  store i32 %20478, ptr %20479, align 4, !tbaa !5
  %20480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20481 = load i32, ptr @test_count, align 4, !tbaa !5
  %20482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20483 = load i32, ptr %20482, align 4, !tbaa !5
  %20484 = call ptr @s2n_strerror(i32 noundef %20483, ptr noundef @.str.4)
  %20485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20486 = load i32, ptr %20485, align 4, !tbaa !5
  %20487 = call ptr @s2n_strerror_debug(i32 noundef %20486, ptr noundef @.str.4)
  %20488 = call ptr @__errno_location() #12
  %20489 = load i32, ptr %20488, align 4, !tbaa !5
  %20490 = call ptr @strerror(i32 noundef %20489) #11
  %20491 = call ptr @__errno_location() #12
  %20492 = load i32, ptr %20491, align 4, !tbaa !5
  %20493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20480, ptr noundef @.str.5, i32 noundef %20481, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 978, ptr noundef %20484, ptr noundef %20487, ptr noundef %20490, i32 noundef %20492) #11
  br label %20494

20494:                                            ; preds = %20477, %20460
  call void @llvm.lifetime.end.p0(i64 4, ptr %507) #11
  br label %20495

20495:                                            ; preds = %20494
  br label %20496

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

20497:                                            ; No predecessors!
  br label %20498

20498:                                            ; preds = %20497
  br label %20499

20499:                                            ; preds = %20498, %20440
  br label %20500

20500:                                            ; preds = %20499
  br label %20501

20501:                                            ; preds = %20500
  br label %20502

20502:                                            ; preds = %20501
  %20503 = load i32, ptr @test_count, align 4, !tbaa !5
  %20504 = add nsw i32 %20503, 1
  store i32 %20504, ptr @test_count, align 4, !tbaa !5
  %20505 = load ptr, ptr %483, align 8, !tbaa !9
  %20506 = call i32 @s2n_config_free(ptr noundef %20505)
  %20507 = icmp eq i32 %20506, -1
  br i1 %20507, label %20508, label %20561

20508:                                            ; preds = %20502
  br label %20509

20509:                                            ; preds = %20508
  br label %20510

20510:                                            ; preds = %20509
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #11
  %20511 = call ptr @__errno_location() #12
  %20512 = load i32, ptr %20511, align 4, !tbaa !5
  store i32 %20512, ptr %508, align 4, !tbaa !5
  %20513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20514 = call i32 @s2n_print_stacktrace(ptr noundef %20513)
  %20515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20516 = trunc i8 %20515 to i1
  br i1 %20516, label %20517, label %20539

20517:                                            ; preds = %20510
  %20518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20519 = call i32 @fileno(ptr noundef %20518) #11
  %20520 = call i32 @isatty(i32 noundef %20519) #11
  %20521 = icmp ne i32 %20520, 0
  br i1 %20521, label %20522, label %20539

20522:                                            ; preds = %20517
  %20523 = load i32, ptr %508, align 4, !tbaa !5
  %20524 = call ptr @__errno_location() #12
  store i32 %20523, ptr %20524, align 4, !tbaa !5
  %20525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20526 = load i32, ptr @test_count, align 4, !tbaa !5
  %20527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20528 = load i32, ptr %20527, align 4, !tbaa !5
  %20529 = call ptr @s2n_strerror(i32 noundef %20528, ptr noundef @.str.4)
  %20530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20531 = load i32, ptr %20530, align 4, !tbaa !5
  %20532 = call ptr @s2n_strerror_debug(i32 noundef %20531, ptr noundef @.str.4)
  %20533 = call ptr @__errno_location() #12
  %20534 = load i32, ptr %20533, align 4, !tbaa !5
  %20535 = call ptr @strerror(i32 noundef %20534) #11
  %20536 = call ptr @__errno_location() #12
  %20537 = load i32, ptr %20536, align 4, !tbaa !5
  %20538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20525, ptr noundef @.str.2, i32 noundef %20526, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 979, ptr noundef %20529, ptr noundef %20532, ptr noundef %20535, i32 noundef %20537) #11
  br label %20556

20539:                                            ; preds = %20517, %20510
  %20540 = load i32, ptr %508, align 4, !tbaa !5
  %20541 = call ptr @__errno_location() #12
  store i32 %20540, ptr %20541, align 4, !tbaa !5
  %20542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20543 = load i32, ptr @test_count, align 4, !tbaa !5
  %20544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20545 = load i32, ptr %20544, align 4, !tbaa !5
  %20546 = call ptr @s2n_strerror(i32 noundef %20545, ptr noundef @.str.4)
  %20547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20548 = load i32, ptr %20547, align 4, !tbaa !5
  %20549 = call ptr @s2n_strerror_debug(i32 noundef %20548, ptr noundef @.str.4)
  %20550 = call ptr @__errno_location() #12
  %20551 = load i32, ptr %20550, align 4, !tbaa !5
  %20552 = call ptr @strerror(i32 noundef %20551) #11
  %20553 = call ptr @__errno_location() #12
  %20554 = load i32, ptr %20553, align 4, !tbaa !5
  %20555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20542, ptr noundef @.str.5, i32 noundef %20543, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 979, ptr noundef %20546, ptr noundef %20549, ptr noundef %20552, i32 noundef %20554) #11
  br label %20556

20556:                                            ; preds = %20539, %20522
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #11
  br label %20557

20557:                                            ; preds = %20556
  br label %20558

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

20559:                                            ; No predecessors!
  br label %20560

20560:                                            ; preds = %20559
  br label %20561

20561:                                            ; preds = %20560, %20502
  br label %20562

20562:                                            ; preds = %20561
  br label %20563

20563:                                            ; preds = %20562
  br label %20564

20564:                                            ; preds = %20563
  %20565 = load i32, ptr @test_count, align 4, !tbaa !5
  %20566 = add nsw i32 %20565, 1
  store i32 %20566, ptr @test_count, align 4, !tbaa !5
  %20567 = call i32 @s2n_stuffer_free(ptr noundef %498)
  %20568 = icmp eq i32 %20567, -1
  br i1 %20568, label %20569, label %20622

20569:                                            ; preds = %20564
  br label %20570

20570:                                            ; preds = %20569
  br label %20571

20571:                                            ; preds = %20570
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #11
  %20572 = call ptr @__errno_location() #12
  %20573 = load i32, ptr %20572, align 4, !tbaa !5
  store i32 %20573, ptr %509, align 4, !tbaa !5
  %20574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20575 = call i32 @s2n_print_stacktrace(ptr noundef %20574)
  %20576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20577 = trunc i8 %20576 to i1
  br i1 %20577, label %20578, label %20600

20578:                                            ; preds = %20571
  %20579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20580 = call i32 @fileno(ptr noundef %20579) #11
  %20581 = call i32 @isatty(i32 noundef %20580) #11
  %20582 = icmp ne i32 %20581, 0
  br i1 %20582, label %20583, label %20600

20583:                                            ; preds = %20578
  %20584 = load i32, ptr %509, align 4, !tbaa !5
  %20585 = call ptr @__errno_location() #12
  store i32 %20584, ptr %20585, align 4, !tbaa !5
  %20586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20587 = load i32, ptr @test_count, align 4, !tbaa !5
  %20588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20589 = load i32, ptr %20588, align 4, !tbaa !5
  %20590 = call ptr @s2n_strerror(i32 noundef %20589, ptr noundef @.str.4)
  %20591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20592 = load i32, ptr %20591, align 4, !tbaa !5
  %20593 = call ptr @s2n_strerror_debug(i32 noundef %20592, ptr noundef @.str.4)
  %20594 = call ptr @__errno_location() #12
  %20595 = load i32, ptr %20594, align 4, !tbaa !5
  %20596 = call ptr @strerror(i32 noundef %20595) #11
  %20597 = call ptr @__errno_location() #12
  %20598 = load i32, ptr %20597, align 4, !tbaa !5
  %20599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20586, ptr noundef @.str.2, i32 noundef %20587, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 980, ptr noundef %20590, ptr noundef %20593, ptr noundef %20596, i32 noundef %20598) #11
  br label %20617

20600:                                            ; preds = %20578, %20571
  %20601 = load i32, ptr %509, align 4, !tbaa !5
  %20602 = call ptr @__errno_location() #12
  store i32 %20601, ptr %20602, align 4, !tbaa !5
  %20603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20604 = load i32, ptr @test_count, align 4, !tbaa !5
  %20605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20606 = load i32, ptr %20605, align 4, !tbaa !5
  %20607 = call ptr @s2n_strerror(i32 noundef %20606, ptr noundef @.str.4)
  %20608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20609 = load i32, ptr %20608, align 4, !tbaa !5
  %20610 = call ptr @s2n_strerror_debug(i32 noundef %20609, ptr noundef @.str.4)
  %20611 = call ptr @__errno_location() #12
  %20612 = load i32, ptr %20611, align 4, !tbaa !5
  %20613 = call ptr @strerror(i32 noundef %20612) #11
  %20614 = call ptr @__errno_location() #12
  %20615 = load i32, ptr %20614, align 4, !tbaa !5
  %20616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20603, ptr noundef @.str.5, i32 noundef %20604, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 980, ptr noundef %20607, ptr noundef %20610, ptr noundef %20613, i32 noundef %20615) #11
  br label %20617

20617:                                            ; preds = %20600, %20583
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #11
  br label %20618

20618:                                            ; preds = %20617
  br label %20619

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

20620:                                            ; No predecessors!
  br label %20621

20621:                                            ; preds = %20620
  br label %20622

20622:                                            ; preds = %20621, %20564
  br label %20623

20623:                                            ; preds = %20622
  br label %20624

20624:                                            ; preds = %20623
  call void @llvm.lifetime.end.p0(i64 40, ptr %498) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %492) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %487) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %485) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %483) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %510) #11
  %20625 = call ptr @s2n_config_new()
  store ptr %20625, ptr %510, align 8, !tbaa !9
  br label %20626

20626:                                            ; preds = %20624
  %20627 = load i32, ptr @test_count, align 4, !tbaa !5
  %20628 = add nsw i32 %20627, 1
  store i32 %20628, ptr @test_count, align 4, !tbaa !5
  %20629 = load ptr, ptr %510, align 8, !tbaa !9
  %20630 = icmp eq ptr %20629, null
  br i1 %20630, label %20631, label %20684

20631:                                            ; preds = %20626
  br label %20632

20632:                                            ; preds = %20631
  br label %20633

20633:                                            ; preds = %20632
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %20634 = call ptr @__errno_location() #12
  %20635 = load i32, ptr %20634, align 4, !tbaa !5
  store i32 %20635, ptr %511, align 4, !tbaa !5
  %20636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20637 = call i32 @s2n_print_stacktrace(ptr noundef %20636)
  %20638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20639 = trunc i8 %20638 to i1
  br i1 %20639, label %20640, label %20662

20640:                                            ; preds = %20633
  %20641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20642 = call i32 @fileno(ptr noundef %20641) #11
  %20643 = call i32 @isatty(i32 noundef %20642) #11
  %20644 = icmp ne i32 %20643, 0
  br i1 %20644, label %20645, label %20662

20645:                                            ; preds = %20640
  %20646 = load i32, ptr %511, align 4, !tbaa !5
  %20647 = call ptr @__errno_location() #12
  store i32 %20646, ptr %20647, align 4, !tbaa !5
  %20648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20649 = load i32, ptr @test_count, align 4, !tbaa !5
  %20650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20651 = load i32, ptr %20650, align 4, !tbaa !5
  %20652 = call ptr @s2n_strerror(i32 noundef %20651, ptr noundef @.str.4)
  %20653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20654 = load i32, ptr %20653, align 4, !tbaa !5
  %20655 = call ptr @s2n_strerror_debug(i32 noundef %20654, ptr noundef @.str.4)
  %20656 = call ptr @__errno_location() #12
  %20657 = load i32, ptr %20656, align 4, !tbaa !5
  %20658 = call ptr @strerror(i32 noundef %20657) #11
  %20659 = call ptr @__errno_location() #12
  %20660 = load i32, ptr %20659, align 4, !tbaa !5
  %20661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20648, ptr noundef @.str.2, i32 noundef %20649, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 986, ptr noundef %20652, ptr noundef %20655, ptr noundef %20658, i32 noundef %20660) #11
  br label %20679

20662:                                            ; preds = %20640, %20633
  %20663 = load i32, ptr %511, align 4, !tbaa !5
  %20664 = call ptr @__errno_location() #12
  store i32 %20663, ptr %20664, align 4, !tbaa !5
  %20665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20666 = load i32, ptr @test_count, align 4, !tbaa !5
  %20667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20668 = load i32, ptr %20667, align 4, !tbaa !5
  %20669 = call ptr @s2n_strerror(i32 noundef %20668, ptr noundef @.str.4)
  %20670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20671 = load i32, ptr %20670, align 4, !tbaa !5
  %20672 = call ptr @s2n_strerror_debug(i32 noundef %20671, ptr noundef @.str.4)
  %20673 = call ptr @__errno_location() #12
  %20674 = load i32, ptr %20673, align 4, !tbaa !5
  %20675 = call ptr @strerror(i32 noundef %20674) #11
  %20676 = call ptr @__errno_location() #12
  %20677 = load i32, ptr %20676, align 4, !tbaa !5
  %20678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20665, ptr noundef @.str.5, i32 noundef %20666, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 986, ptr noundef %20669, ptr noundef %20672, ptr noundef %20675, i32 noundef %20677) #11
  br label %20679

20679:                                            ; preds = %20662, %20645
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %20680

20680:                                            ; preds = %20679
  br label %20681

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

20682:                                            ; No predecessors!
  br label %20683

20683:                                            ; preds = %20682
  br label %20684

20684:                                            ; preds = %20683, %20626
  br label %20685

20685:                                            ; preds = %20684
  br label %20686

20686:                                            ; preds = %20685
  call void @llvm.lifetime.start.p0(i64 2, ptr %512) #11
  store i16 0, ptr %512, align 2, !tbaa !72
  br label %20687

20687:                                            ; preds = %20686
  %20688 = load i32, ptr @test_count, align 4, !tbaa !5
  %20689 = add nsw i32 %20688, 1
  store i32 %20689, ptr @test_count, align 4, !tbaa !5
  %20690 = load ptr, ptr %510, align 8, !tbaa !9
  %20691 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef %20690, ptr noundef @s2n_test_select_psk_identity_callback, ptr noundef %512)
  %20692 = icmp eq i32 %20691, -1
  br i1 %20692, label %20693, label %20746

20693:                                            ; preds = %20687
  br label %20694

20694:                                            ; preds = %20693
  br label %20695

20695:                                            ; preds = %20694
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #11
  %20696 = call ptr @__errno_location() #12
  %20697 = load i32, ptr %20696, align 4, !tbaa !5
  store i32 %20697, ptr %513, align 4, !tbaa !5
  %20698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20699 = call i32 @s2n_print_stacktrace(ptr noundef %20698)
  %20700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20701 = trunc i8 %20700 to i1
  br i1 %20701, label %20702, label %20724

20702:                                            ; preds = %20695
  %20703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20704 = call i32 @fileno(ptr noundef %20703) #11
  %20705 = call i32 @isatty(i32 noundef %20704) #11
  %20706 = icmp ne i32 %20705, 0
  br i1 %20706, label %20707, label %20724

20707:                                            ; preds = %20702
  %20708 = load i32, ptr %513, align 4, !tbaa !5
  %20709 = call ptr @__errno_location() #12
  store i32 %20708, ptr %20709, align 4, !tbaa !5
  %20710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20711 = load i32, ptr @test_count, align 4, !tbaa !5
  %20712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20713 = load i32, ptr %20712, align 4, !tbaa !5
  %20714 = call ptr @s2n_strerror(i32 noundef %20713, ptr noundef @.str.4)
  %20715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20716 = load i32, ptr %20715, align 4, !tbaa !5
  %20717 = call ptr @s2n_strerror_debug(i32 noundef %20716, ptr noundef @.str.4)
  %20718 = call ptr @__errno_location() #12
  %20719 = load i32, ptr %20718, align 4, !tbaa !5
  %20720 = call ptr @strerror(i32 noundef %20719) #11
  %20721 = call ptr @__errno_location() #12
  %20722 = load i32, ptr %20721, align 4, !tbaa !5
  %20723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20710, ptr noundef @.str.2, i32 noundef %20711, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 989, ptr noundef %20714, ptr noundef %20717, ptr noundef %20720, i32 noundef %20722) #11
  br label %20741

20724:                                            ; preds = %20702, %20695
  %20725 = load i32, ptr %513, align 4, !tbaa !5
  %20726 = call ptr @__errno_location() #12
  store i32 %20725, ptr %20726, align 4, !tbaa !5
  %20727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20728 = load i32, ptr @test_count, align 4, !tbaa !5
  %20729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20730 = load i32, ptr %20729, align 4, !tbaa !5
  %20731 = call ptr @s2n_strerror(i32 noundef %20730, ptr noundef @.str.4)
  %20732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20733 = load i32, ptr %20732, align 4, !tbaa !5
  %20734 = call ptr @s2n_strerror_debug(i32 noundef %20733, ptr noundef @.str.4)
  %20735 = call ptr @__errno_location() #12
  %20736 = load i32, ptr %20735, align 4, !tbaa !5
  %20737 = call ptr @strerror(i32 noundef %20736) #11
  %20738 = call ptr @__errno_location() #12
  %20739 = load i32, ptr %20738, align 4, !tbaa !5
  %20740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20727, ptr noundef @.str.5, i32 noundef %20728, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 989, ptr noundef %20731, ptr noundef %20734, ptr noundef %20737, i32 noundef %20739) #11
  br label %20741

20741:                                            ; preds = %20724, %20707
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #11
  br label %20742

20742:                                            ; preds = %20741
  br label %20743

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

20744:                                            ; No predecessors!
  br label %20745

20745:                                            ; preds = %20744
  br label %20746

20746:                                            ; preds = %20745, %20687
  br label %20747

20747:                                            ; preds = %20746
  br label %20748

20748:                                            ; preds = %20747
  call void @llvm.lifetime.start.p0(i64 8, ptr %514) #11
  store ptr null, ptr %514, align 8, !tbaa !9
  br label %20749

20749:                                            ; preds = %20748
  %20750 = load i32, ptr @test_count, align 4, !tbaa !5
  %20751 = add nsw i32 %20750, 1
  store i32 %20751, ptr @test_count, align 4, !tbaa !5
  %20752 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %20752, ptr %514, align 8, !tbaa !9
  %20753 = icmp eq ptr %20752, null
  br i1 %20753, label %20754, label %20807

20754:                                            ; preds = %20749
  br label %20755

20755:                                            ; preds = %20754
  br label %20756

20756:                                            ; preds = %20755
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #11
  %20757 = call ptr @__errno_location() #12
  %20758 = load i32, ptr %20757, align 4, !tbaa !5
  store i32 %20758, ptr %515, align 4, !tbaa !5
  %20759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20760 = call i32 @s2n_print_stacktrace(ptr noundef %20759)
  %20761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20762 = trunc i8 %20761 to i1
  br i1 %20762, label %20763, label %20785

20763:                                            ; preds = %20756
  %20764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20765 = call i32 @fileno(ptr noundef %20764) #11
  %20766 = call i32 @isatty(i32 noundef %20765) #11
  %20767 = icmp ne i32 %20766, 0
  br i1 %20767, label %20768, label %20785

20768:                                            ; preds = %20763
  %20769 = load i32, ptr %515, align 4, !tbaa !5
  %20770 = call ptr @__errno_location() #12
  store i32 %20769, ptr %20770, align 4, !tbaa !5
  %20771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20772 = load i32, ptr @test_count, align 4, !tbaa !5
  %20773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20774 = load i32, ptr %20773, align 4, !tbaa !5
  %20775 = call ptr @s2n_strerror(i32 noundef %20774, ptr noundef @.str.4)
  %20776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20777 = load i32, ptr %20776, align 4, !tbaa !5
  %20778 = call ptr @s2n_strerror_debug(i32 noundef %20777, ptr noundef @.str.4)
  %20779 = call ptr @__errno_location() #12
  %20780 = load i32, ptr %20779, align 4, !tbaa !5
  %20781 = call ptr @strerror(i32 noundef %20780) #11
  %20782 = call ptr @__errno_location() #12
  %20783 = load i32, ptr %20782, align 4, !tbaa !5
  %20784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20771, ptr noundef @.str.2, i32 noundef %20772, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 992, ptr noundef %20775, ptr noundef %20778, ptr noundef %20781, i32 noundef %20783) #11
  br label %20802

20785:                                            ; preds = %20763, %20756
  %20786 = load i32, ptr %515, align 4, !tbaa !5
  %20787 = call ptr @__errno_location() #12
  store i32 %20786, ptr %20787, align 4, !tbaa !5
  %20788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20789 = load i32, ptr @test_count, align 4, !tbaa !5
  %20790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20791 = load i32, ptr %20790, align 4, !tbaa !5
  %20792 = call ptr @s2n_strerror(i32 noundef %20791, ptr noundef @.str.4)
  %20793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20794 = load i32, ptr %20793, align 4, !tbaa !5
  %20795 = call ptr @s2n_strerror_debug(i32 noundef %20794, ptr noundef @.str.4)
  %20796 = call ptr @__errno_location() #12
  %20797 = load i32, ptr %20796, align 4, !tbaa !5
  %20798 = call ptr @strerror(i32 noundef %20797) #11
  %20799 = call ptr @__errno_location() #12
  %20800 = load i32, ptr %20799, align 4, !tbaa !5
  %20801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20788, ptr noundef @.str.5, i32 noundef %20789, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 992, ptr noundef %20792, ptr noundef %20795, ptr noundef %20798, i32 noundef %20800) #11
  br label %20802

20802:                                            ; preds = %20785, %20768
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #11
  br label %20803

20803:                                            ; preds = %20802
  br label %20804

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

20805:                                            ; No predecessors!
  br label %20806

20806:                                            ; preds = %20805
  br label %20807

20807:                                            ; preds = %20806, %20749
  br label %20808

20808:                                            ; preds = %20807
  br label %20809

20809:                                            ; preds = %20808
  br label %20810

20810:                                            ; preds = %20809
  %20811 = load i32, ptr @test_count, align 4, !tbaa !5
  %20812 = add nsw i32 %20811, 1
  store i32 %20812, ptr @test_count, align 4, !tbaa !5
  %20813 = load ptr, ptr %514, align 8, !tbaa !9
  %20814 = call i32 @s2n_connection_set_psk_type(ptr noundef %20813, i32 noundef 1)
  %20815 = getelementptr inbounds %struct.s2n_result, ptr %516, i32 0, i32 0
  store i32 %20814, ptr %20815, align 4
  %20816 = getelementptr inbounds %struct.s2n_result, ptr %516, i32 0, i32 0
  %20817 = load i32, ptr %20816, align 4
  %20818 = call zeroext i1 @s2n_result_is_ok(i32 %20817)
  br i1 %20818, label %20872, label %20819

20819:                                            ; preds = %20810
  br label %20820

20820:                                            ; preds = %20819
  br label %20821

20821:                                            ; preds = %20820
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %20822 = call ptr @__errno_location() #12
  %20823 = load i32, ptr %20822, align 4, !tbaa !5
  store i32 %20823, ptr %517, align 4, !tbaa !5
  %20824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20825 = call i32 @s2n_print_stacktrace(ptr noundef %20824)
  %20826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20827 = trunc i8 %20826 to i1
  br i1 %20827, label %20828, label %20850

20828:                                            ; preds = %20821
  %20829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20830 = call i32 @fileno(ptr noundef %20829) #11
  %20831 = call i32 @isatty(i32 noundef %20830) #11
  %20832 = icmp ne i32 %20831, 0
  br i1 %20832, label %20833, label %20850

20833:                                            ; preds = %20828
  %20834 = load i32, ptr %517, align 4, !tbaa !5
  %20835 = call ptr @__errno_location() #12
  store i32 %20834, ptr %20835, align 4, !tbaa !5
  %20836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20837 = load i32, ptr @test_count, align 4, !tbaa !5
  %20838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20839 = load i32, ptr %20838, align 4, !tbaa !5
  %20840 = call ptr @s2n_strerror(i32 noundef %20839, ptr noundef @.str.4)
  %20841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20842 = load i32, ptr %20841, align 4, !tbaa !5
  %20843 = call ptr @s2n_strerror_debug(i32 noundef %20842, ptr noundef @.str.4)
  %20844 = call ptr @__errno_location() #12
  %20845 = load i32, ptr %20844, align 4, !tbaa !5
  %20846 = call ptr @strerror(i32 noundef %20845) #11
  %20847 = call ptr @__errno_location() #12
  %20848 = load i32, ptr %20847, align 4, !tbaa !5
  %20849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20836, ptr noundef @.str.2, i32 noundef %20837, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 993, ptr noundef %20840, ptr noundef %20843, ptr noundef %20846, i32 noundef %20848) #11
  br label %20867

20850:                                            ; preds = %20828, %20821
  %20851 = load i32, ptr %517, align 4, !tbaa !5
  %20852 = call ptr @__errno_location() #12
  store i32 %20851, ptr %20852, align 4, !tbaa !5
  %20853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20854 = load i32, ptr @test_count, align 4, !tbaa !5
  %20855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20856 = load i32, ptr %20855, align 4, !tbaa !5
  %20857 = call ptr @s2n_strerror(i32 noundef %20856, ptr noundef @.str.4)
  %20858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20859 = load i32, ptr %20858, align 4, !tbaa !5
  %20860 = call ptr @s2n_strerror_debug(i32 noundef %20859, ptr noundef @.str.4)
  %20861 = call ptr @__errno_location() #12
  %20862 = load i32, ptr %20861, align 4, !tbaa !5
  %20863 = call ptr @strerror(i32 noundef %20862) #11
  %20864 = call ptr @__errno_location() #12
  %20865 = load i32, ptr %20864, align 4, !tbaa !5
  %20866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20853, ptr noundef @.str.5, i32 noundef %20854, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 993, ptr noundef %20857, ptr noundef %20860, ptr noundef %20863, i32 noundef %20865) #11
  br label %20867

20867:                                            ; preds = %20850, %20833
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %20868

20868:                                            ; preds = %20867
  br label %20869

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

20870:                                            ; No predecessors!
  br label %20871

20871:                                            ; preds = %20870
  br label %20872

20872:                                            ; preds = %20871, %20810
  br label %20873

20873:                                            ; preds = %20872
  br label %20874

20874:                                            ; preds = %20873
  br label %20875

20875:                                            ; preds = %20874
  %20876 = load i32, ptr @test_count, align 4, !tbaa !5
  %20877 = add nsw i32 %20876, 1
  store i32 %20877, ptr @test_count, align 4, !tbaa !5
  %20878 = load ptr, ptr %514, align 8, !tbaa !9
  %20879 = load ptr, ptr %510, align 8, !tbaa !9
  %20880 = call i32 @s2n_connection_set_config(ptr noundef %20878, ptr noundef %20879)
  %20881 = icmp eq i32 %20880, -1
  br i1 %20881, label %20882, label %20935

20882:                                            ; preds = %20875
  br label %20883

20883:                                            ; preds = %20882
  br label %20884

20884:                                            ; preds = %20883
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #11
  %20885 = call ptr @__errno_location() #12
  %20886 = load i32, ptr %20885, align 4, !tbaa !5
  store i32 %20886, ptr %518, align 4, !tbaa !5
  %20887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20888 = call i32 @s2n_print_stacktrace(ptr noundef %20887)
  %20889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20890 = trunc i8 %20889 to i1
  br i1 %20890, label %20891, label %20913

20891:                                            ; preds = %20884
  %20892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20893 = call i32 @fileno(ptr noundef %20892) #11
  %20894 = call i32 @isatty(i32 noundef %20893) #11
  %20895 = icmp ne i32 %20894, 0
  br i1 %20895, label %20896, label %20913

20896:                                            ; preds = %20891
  %20897 = load i32, ptr %518, align 4, !tbaa !5
  %20898 = call ptr @__errno_location() #12
  store i32 %20897, ptr %20898, align 4, !tbaa !5
  %20899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20900 = load i32, ptr @test_count, align 4, !tbaa !5
  %20901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20902 = load i32, ptr %20901, align 4, !tbaa !5
  %20903 = call ptr @s2n_strerror(i32 noundef %20902, ptr noundef @.str.4)
  %20904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20905 = load i32, ptr %20904, align 4, !tbaa !5
  %20906 = call ptr @s2n_strerror_debug(i32 noundef %20905, ptr noundef @.str.4)
  %20907 = call ptr @__errno_location() #12
  %20908 = load i32, ptr %20907, align 4, !tbaa !5
  %20909 = call ptr @strerror(i32 noundef %20908) #11
  %20910 = call ptr @__errno_location() #12
  %20911 = load i32, ptr %20910, align 4, !tbaa !5
  %20912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20899, ptr noundef @.str.2, i32 noundef %20900, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 994, ptr noundef %20903, ptr noundef %20906, ptr noundef %20909, i32 noundef %20911) #11
  br label %20930

20913:                                            ; preds = %20891, %20884
  %20914 = load i32, ptr %518, align 4, !tbaa !5
  %20915 = call ptr @__errno_location() #12
  store i32 %20914, ptr %20915, align 4, !tbaa !5
  %20916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20917 = load i32, ptr @test_count, align 4, !tbaa !5
  %20918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20919 = load i32, ptr %20918, align 4, !tbaa !5
  %20920 = call ptr @s2n_strerror(i32 noundef %20919, ptr noundef @.str.4)
  %20921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20922 = load i32, ptr %20921, align 4, !tbaa !5
  %20923 = call ptr @s2n_strerror_debug(i32 noundef %20922, ptr noundef @.str.4)
  %20924 = call ptr @__errno_location() #12
  %20925 = load i32, ptr %20924, align 4, !tbaa !5
  %20926 = call ptr @strerror(i32 noundef %20925) #11
  %20927 = call ptr @__errno_location() #12
  %20928 = load i32, ptr %20927, align 4, !tbaa !5
  %20929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20916, ptr noundef @.str.5, i32 noundef %20917, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 994, ptr noundef %20920, ptr noundef %20923, ptr noundef %20926, i32 noundef %20928) #11
  br label %20930

20930:                                            ; preds = %20913, %20896
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #11
  br label %20931

20931:                                            ; preds = %20930
  br label %20932

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

20933:                                            ; No predecessors!
  br label %20934

20934:                                            ; preds = %20933
  br label %20935

20935:                                            ; preds = %20934, %20875
  br label %20936

20936:                                            ; preds = %20935
  br label %20937

20937:                                            ; preds = %20936
  call void @llvm.lifetime.start.p0(i64 8, ptr %519) #11
  store ptr null, ptr %519, align 8, !tbaa !9
  br label %20938

20938:                                            ; preds = %20937
  %20939 = load i32, ptr @test_count, align 4, !tbaa !5
  %20940 = add nsw i32 %20939, 1
  store i32 %20940, ptr @test_count, align 4, !tbaa !5
  %20941 = load ptr, ptr %514, align 8, !tbaa !9
  %20942 = getelementptr inbounds %struct.s2n_connection, ptr %20941, i32 0, i32 33
  %20943 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %20942, i32 0, i32 1
  %20944 = call i32 @s2n_array_pushback(ptr noundef %20943, ptr noundef %519)
  %20945 = getelementptr inbounds %struct.s2n_result, ptr %520, i32 0, i32 0
  store i32 %20944, ptr %20945, align 4
  %20946 = getelementptr inbounds %struct.s2n_result, ptr %520, i32 0, i32 0
  %20947 = load i32, ptr %20946, align 4
  %20948 = call zeroext i1 @s2n_result_is_ok(i32 %20947)
  br i1 %20948, label %21002, label %20949

20949:                                            ; preds = %20938
  br label %20950

20950:                                            ; preds = %20949
  br label %20951

20951:                                            ; preds = %20950
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %20952 = call ptr @__errno_location() #12
  %20953 = load i32, ptr %20952, align 4, !tbaa !5
  store i32 %20953, ptr %521, align 4, !tbaa !5
  %20954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20955 = call i32 @s2n_print_stacktrace(ptr noundef %20954)
  %20956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20957 = trunc i8 %20956 to i1
  br i1 %20957, label %20958, label %20980

20958:                                            ; preds = %20951
  %20959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20960 = call i32 @fileno(ptr noundef %20959) #11
  %20961 = call i32 @isatty(i32 noundef %20960) #11
  %20962 = icmp ne i32 %20961, 0
  br i1 %20962, label %20963, label %20980

20963:                                            ; preds = %20958
  %20964 = load i32, ptr %521, align 4, !tbaa !5
  %20965 = call ptr @__errno_location() #12
  store i32 %20964, ptr %20965, align 4, !tbaa !5
  %20966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20967 = load i32, ptr @test_count, align 4, !tbaa !5
  %20968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20969 = load i32, ptr %20968, align 4, !tbaa !5
  %20970 = call ptr @s2n_strerror(i32 noundef %20969, ptr noundef @.str.4)
  %20971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20972 = load i32, ptr %20971, align 4, !tbaa !5
  %20973 = call ptr @s2n_strerror_debug(i32 noundef %20972, ptr noundef @.str.4)
  %20974 = call ptr @__errno_location() #12
  %20975 = load i32, ptr %20974, align 4, !tbaa !5
  %20976 = call ptr @strerror(i32 noundef %20975) #11
  %20977 = call ptr @__errno_location() #12
  %20978 = load i32, ptr %20977, align 4, !tbaa !5
  %20979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20966, ptr noundef @.str.2, i32 noundef %20967, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 997, ptr noundef %20970, ptr noundef %20973, ptr noundef %20976, i32 noundef %20978) #11
  br label %20997

20980:                                            ; preds = %20958, %20951
  %20981 = load i32, ptr %521, align 4, !tbaa !5
  %20982 = call ptr @__errno_location() #12
  store i32 %20981, ptr %20982, align 4, !tbaa !5
  %20983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20984 = load i32, ptr @test_count, align 4, !tbaa !5
  %20985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20986 = load i32, ptr %20985, align 4, !tbaa !5
  %20987 = call ptr @s2n_strerror(i32 noundef %20986, ptr noundef @.str.4)
  %20988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20989 = load i32, ptr %20988, align 4, !tbaa !5
  %20990 = call ptr @s2n_strerror_debug(i32 noundef %20989, ptr noundef @.str.4)
  %20991 = call ptr @__errno_location() #12
  %20992 = load i32, ptr %20991, align 4, !tbaa !5
  %20993 = call ptr @strerror(i32 noundef %20992) #11
  %20994 = call ptr @__errno_location() #12
  %20995 = load i32, ptr %20994, align 4, !tbaa !5
  %20996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20983, ptr noundef @.str.5, i32 noundef %20984, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 997, ptr noundef %20987, ptr noundef %20990, ptr noundef %20993, i32 noundef %20995) #11
  br label %20997

20997:                                            ; preds = %20980, %20963
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %20998

20998:                                            ; preds = %20997
  br label %20999

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

21000:                                            ; No predecessors!
  br label %21001

21001:                                            ; preds = %21000
  br label %21002

21002:                                            ; preds = %21001, %20938
  br label %21003

21003:                                            ; preds = %21002
  br label %21004

21004:                                            ; preds = %21003
  br label %21005

21005:                                            ; preds = %21004
  %21006 = load i32, ptr @test_count, align 4, !tbaa !5
  %21007 = add nsw i32 %21006, 1
  store i32 %21007, ptr @test_count, align 4, !tbaa !5
  %21008 = load ptr, ptr %519, align 8, !tbaa !9
  %21009 = call i32 @s2n_psk_init(ptr noundef %21008, i32 noundef 1)
  %21010 = getelementptr inbounds %struct.s2n_result, ptr %522, i32 0, i32 0
  store i32 %21009, ptr %21010, align 4
  %21011 = getelementptr inbounds %struct.s2n_result, ptr %522, i32 0, i32 0
  %21012 = load i32, ptr %21011, align 4
  %21013 = call zeroext i1 @s2n_result_is_ok(i32 %21012)
  br i1 %21013, label %21067, label %21014

21014:                                            ; preds = %21005
  br label %21015

21015:                                            ; preds = %21014
  br label %21016

21016:                                            ; preds = %21015
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #11
  %21017 = call ptr @__errno_location() #12
  %21018 = load i32, ptr %21017, align 4, !tbaa !5
  store i32 %21018, ptr %523, align 4, !tbaa !5
  %21019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21020 = call i32 @s2n_print_stacktrace(ptr noundef %21019)
  %21021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21022 = trunc i8 %21021 to i1
  br i1 %21022, label %21023, label %21045

21023:                                            ; preds = %21016
  %21024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21025 = call i32 @fileno(ptr noundef %21024) #11
  %21026 = call i32 @isatty(i32 noundef %21025) #11
  %21027 = icmp ne i32 %21026, 0
  br i1 %21027, label %21028, label %21045

21028:                                            ; preds = %21023
  %21029 = load i32, ptr %523, align 4, !tbaa !5
  %21030 = call ptr @__errno_location() #12
  store i32 %21029, ptr %21030, align 4, !tbaa !5
  %21031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21032 = load i32, ptr @test_count, align 4, !tbaa !5
  %21033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21034 = load i32, ptr %21033, align 4, !tbaa !5
  %21035 = call ptr @s2n_strerror(i32 noundef %21034, ptr noundef @.str.4)
  %21036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21037 = load i32, ptr %21036, align 4, !tbaa !5
  %21038 = call ptr @s2n_strerror_debug(i32 noundef %21037, ptr noundef @.str.4)
  %21039 = call ptr @__errno_location() #12
  %21040 = load i32, ptr %21039, align 4, !tbaa !5
  %21041 = call ptr @strerror(i32 noundef %21040) #11
  %21042 = call ptr @__errno_location() #12
  %21043 = load i32, ptr %21042, align 4, !tbaa !5
  %21044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21031, ptr noundef @.str.2, i32 noundef %21032, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 998, ptr noundef %21035, ptr noundef %21038, ptr noundef %21041, i32 noundef %21043) #11
  br label %21062

21045:                                            ; preds = %21023, %21016
  %21046 = load i32, ptr %523, align 4, !tbaa !5
  %21047 = call ptr @__errno_location() #12
  store i32 %21046, ptr %21047, align 4, !tbaa !5
  %21048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21049 = load i32, ptr @test_count, align 4, !tbaa !5
  %21050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21051 = load i32, ptr %21050, align 4, !tbaa !5
  %21052 = call ptr @s2n_strerror(i32 noundef %21051, ptr noundef @.str.4)
  %21053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21054 = load i32, ptr %21053, align 4, !tbaa !5
  %21055 = call ptr @s2n_strerror_debug(i32 noundef %21054, ptr noundef @.str.4)
  %21056 = call ptr @__errno_location() #12
  %21057 = load i32, ptr %21056, align 4, !tbaa !5
  %21058 = call ptr @strerror(i32 noundef %21057) #11
  %21059 = call ptr @__errno_location() #12
  %21060 = load i32, ptr %21059, align 4, !tbaa !5
  %21061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21048, ptr noundef @.str.5, i32 noundef %21049, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 998, ptr noundef %21052, ptr noundef %21055, ptr noundef %21058, i32 noundef %21060) #11
  br label %21062

21062:                                            ; preds = %21045, %21028
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #11
  br label %21063

21063:                                            ; preds = %21062
  br label %21064

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

21065:                                            ; No predecessors!
  br label %21066

21066:                                            ; preds = %21065
  br label %21067

21067:                                            ; preds = %21066, %21005
  br label %21068

21068:                                            ; preds = %21067
  br label %21069

21069:                                            ; preds = %21068
  br label %21070

21070:                                            ; preds = %21069
  %21071 = load i32, ptr @test_count, align 4, !tbaa !5
  %21072 = add nsw i32 %21071, 1
  store i32 %21072, ptr @test_count, align 4, !tbaa !5
  %21073 = load ptr, ptr %519, align 8, !tbaa !9
  %21074 = getelementptr inbounds [3 x i8], ptr %9, i64 0, i64 0
  %21075 = call i32 @s2n_psk_set_identity(ptr noundef %21073, ptr noundef %21074, i16 noundef zeroext 3)
  %21076 = icmp eq i32 %21075, -1
  br i1 %21076, label %21077, label %21130

21077:                                            ; preds = %21070
  br label %21078

21078:                                            ; preds = %21077
  br label %21079

21079:                                            ; preds = %21078
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #11
  %21080 = call ptr @__errno_location() #12
  %21081 = load i32, ptr %21080, align 4, !tbaa !5
  store i32 %21081, ptr %524, align 4, !tbaa !5
  %21082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21083 = call i32 @s2n_print_stacktrace(ptr noundef %21082)
  %21084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21085 = trunc i8 %21084 to i1
  br i1 %21085, label %21086, label %21108

21086:                                            ; preds = %21079
  %21087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21088 = call i32 @fileno(ptr noundef %21087) #11
  %21089 = call i32 @isatty(i32 noundef %21088) #11
  %21090 = icmp ne i32 %21089, 0
  br i1 %21090, label %21091, label %21108

21091:                                            ; preds = %21086
  %21092 = load i32, ptr %524, align 4, !tbaa !5
  %21093 = call ptr @__errno_location() #12
  store i32 %21092, ptr %21093, align 4, !tbaa !5
  %21094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21095 = load i32, ptr @test_count, align 4, !tbaa !5
  %21096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21097 = load i32, ptr %21096, align 4, !tbaa !5
  %21098 = call ptr @s2n_strerror(i32 noundef %21097, ptr noundef @.str.4)
  %21099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21100 = load i32, ptr %21099, align 4, !tbaa !5
  %21101 = call ptr @s2n_strerror_debug(i32 noundef %21100, ptr noundef @.str.4)
  %21102 = call ptr @__errno_location() #12
  %21103 = load i32, ptr %21102, align 4, !tbaa !5
  %21104 = call ptr @strerror(i32 noundef %21103) #11
  %21105 = call ptr @__errno_location() #12
  %21106 = load i32, ptr %21105, align 4, !tbaa !5
  %21107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21094, ptr noundef @.str.2, i32 noundef %21095, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 999, ptr noundef %21098, ptr noundef %21101, ptr noundef %21104, i32 noundef %21106) #11
  br label %21125

21108:                                            ; preds = %21086, %21079
  %21109 = load i32, ptr %524, align 4, !tbaa !5
  %21110 = call ptr @__errno_location() #12
  store i32 %21109, ptr %21110, align 4, !tbaa !5
  %21111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21112 = load i32, ptr @test_count, align 4, !tbaa !5
  %21113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21114 = load i32, ptr %21113, align 4, !tbaa !5
  %21115 = call ptr @s2n_strerror(i32 noundef %21114, ptr noundef @.str.4)
  %21116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21117 = load i32, ptr %21116, align 4, !tbaa !5
  %21118 = call ptr @s2n_strerror_debug(i32 noundef %21117, ptr noundef @.str.4)
  %21119 = call ptr @__errno_location() #12
  %21120 = load i32, ptr %21119, align 4, !tbaa !5
  %21121 = call ptr @strerror(i32 noundef %21120) #11
  %21122 = call ptr @__errno_location() #12
  %21123 = load i32, ptr %21122, align 4, !tbaa !5
  %21124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21111, ptr noundef @.str.5, i32 noundef %21112, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 999, ptr noundef %21115, ptr noundef %21118, ptr noundef %21121, i32 noundef %21123) #11
  br label %21125

21125:                                            ; preds = %21108, %21091
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #11
  br label %21126

21126:                                            ; preds = %21125
  br label %21127

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

21128:                                            ; No predecessors!
  br label %21129

21129:                                            ; preds = %21128
  br label %21130

21130:                                            ; preds = %21129, %21070
  br label %21131

21131:                                            ; preds = %21130
  br label %21132

21132:                                            ; preds = %21131
  call void @llvm.lifetime.start.p0(i64 24, ptr %525) #11
  call void @llvm.memset.p0.i64(ptr align 8 %525, i8 0, i64 24, i1 false)
  br label %21133

21133:                                            ; preds = %21132
  %21134 = load i32, ptr @test_count, align 4, !tbaa !5
  %21135 = add nsw i32 %21134, 1
  store i32 %21135, ptr @test_count, align 4, !tbaa !5
  %21136 = getelementptr inbounds [3 x i8], ptr %10, i64 0, i64 0
  %21137 = call i32 @s2n_blob_init(ptr noundef %525, ptr noundef %21136, i32 noundef 3)
  %21138 = icmp eq i32 %21137, -1
  br i1 %21138, label %21139, label %21192

21139:                                            ; preds = %21133
  br label %21140

21140:                                            ; preds = %21139
  br label %21141

21141:                                            ; preds = %21140
  call void @llvm.lifetime.start.p0(i64 4, ptr %526) #11
  %21142 = call ptr @__errno_location() #12
  %21143 = load i32, ptr %21142, align 4, !tbaa !5
  store i32 %21143, ptr %526, align 4, !tbaa !5
  %21144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21145 = call i32 @s2n_print_stacktrace(ptr noundef %21144)
  %21146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21147 = trunc i8 %21146 to i1
  br i1 %21147, label %21148, label %21170

21148:                                            ; preds = %21141
  %21149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21150 = call i32 @fileno(ptr noundef %21149) #11
  %21151 = call i32 @isatty(i32 noundef %21150) #11
  %21152 = icmp ne i32 %21151, 0
  br i1 %21152, label %21153, label %21170

21153:                                            ; preds = %21148
  %21154 = load i32, ptr %526, align 4, !tbaa !5
  %21155 = call ptr @__errno_location() #12
  store i32 %21154, ptr %21155, align 4, !tbaa !5
  %21156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21157 = load i32, ptr @test_count, align 4, !tbaa !5
  %21158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21159 = load i32, ptr %21158, align 4, !tbaa !5
  %21160 = call ptr @s2n_strerror(i32 noundef %21159, ptr noundef @.str.4)
  %21161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21162 = load i32, ptr %21161, align 4, !tbaa !5
  %21163 = call ptr @s2n_strerror_debug(i32 noundef %21162, ptr noundef @.str.4)
  %21164 = call ptr @__errno_location() #12
  %21165 = load i32, ptr %21164, align 4, !tbaa !5
  %21166 = call ptr @strerror(i32 noundef %21165) #11
  %21167 = call ptr @__errno_location() #12
  %21168 = load i32, ptr %21167, align 4, !tbaa !5
  %21169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21156, ptr noundef @.str.2, i32 noundef %21157, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1002, ptr noundef %21160, ptr noundef %21163, ptr noundef %21166, i32 noundef %21168) #11
  br label %21187

21170:                                            ; preds = %21148, %21141
  %21171 = load i32, ptr %526, align 4, !tbaa !5
  %21172 = call ptr @__errno_location() #12
  store i32 %21171, ptr %21172, align 4, !tbaa !5
  %21173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21174 = load i32, ptr @test_count, align 4, !tbaa !5
  %21175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21176 = load i32, ptr %21175, align 4, !tbaa !5
  %21177 = call ptr @s2n_strerror(i32 noundef %21176, ptr noundef @.str.4)
  %21178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21179 = load i32, ptr %21178, align 4, !tbaa !5
  %21180 = call ptr @s2n_strerror_debug(i32 noundef %21179, ptr noundef @.str.4)
  %21181 = call ptr @__errno_location() #12
  %21182 = load i32, ptr %21181, align 4, !tbaa !5
  %21183 = call ptr @strerror(i32 noundef %21182) #11
  %21184 = call ptr @__errno_location() #12
  %21185 = load i32, ptr %21184, align 4, !tbaa !5
  %21186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21173, ptr noundef @.str.5, i32 noundef %21174, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1002, ptr noundef %21177, ptr noundef %21180, ptr noundef %21183, i32 noundef %21185) #11
  br label %21187

21187:                                            ; preds = %21170, %21153
  call void @llvm.lifetime.end.p0(i64 4, ptr %526) #11
  br label %21188

21188:                                            ; preds = %21187
  br label %21189

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

21190:                                            ; No predecessors!
  br label %21191

21191:                                            ; preds = %21190
  br label %21192

21192:                                            ; preds = %21191, %21133
  br label %21193

21193:                                            ; preds = %21192
  br label %21194

21194:                                            ; preds = %21193
  call void @llvm.lifetime.start.p0(i64 40, ptr %527) #11
  call void @llvm.memset.p0.i64(ptr align 8 %527, i8 0, i64 40, i1 false)
  br label %21195

21195:                                            ; preds = %21194
  %21196 = load i32, ptr @test_count, align 4, !tbaa !5
  %21197 = add nsw i32 %21196, 1
  store i32 %21197, ptr @test_count, align 4, !tbaa !5
  %21198 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %527, i32 noundef 0)
  %21199 = icmp eq i32 %21198, -1
  br i1 %21199, label %21200, label %21253

21200:                                            ; preds = %21195
  br label %21201

21201:                                            ; preds = %21200
  br label %21202

21202:                                            ; preds = %21201
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #11
  %21203 = call ptr @__errno_location() #12
  %21204 = load i32, ptr %21203, align 4, !tbaa !5
  store i32 %21204, ptr %528, align 4, !tbaa !5
  %21205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21206 = call i32 @s2n_print_stacktrace(ptr noundef %21205)
  %21207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21208 = trunc i8 %21207 to i1
  br i1 %21208, label %21209, label %21231

21209:                                            ; preds = %21202
  %21210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21211 = call i32 @fileno(ptr noundef %21210) #11
  %21212 = call i32 @isatty(i32 noundef %21211) #11
  %21213 = icmp ne i32 %21212, 0
  br i1 %21213, label %21214, label %21231

21214:                                            ; preds = %21209
  %21215 = load i32, ptr %528, align 4, !tbaa !5
  %21216 = call ptr @__errno_location() #12
  store i32 %21215, ptr %21216, align 4, !tbaa !5
  %21217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21218 = load i32, ptr @test_count, align 4, !tbaa !5
  %21219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21220 = load i32, ptr %21219, align 4, !tbaa !5
  %21221 = call ptr @s2n_strerror(i32 noundef %21220, ptr noundef @.str.4)
  %21222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21223 = load i32, ptr %21222, align 4, !tbaa !5
  %21224 = call ptr @s2n_strerror_debug(i32 noundef %21223, ptr noundef @.str.4)
  %21225 = call ptr @__errno_location() #12
  %21226 = load i32, ptr %21225, align 4, !tbaa !5
  %21227 = call ptr @strerror(i32 noundef %21226) #11
  %21228 = call ptr @__errno_location() #12
  %21229 = load i32, ptr %21228, align 4, !tbaa !5
  %21230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21217, ptr noundef @.str.2, i32 noundef %21218, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1005, ptr noundef %21221, ptr noundef %21224, ptr noundef %21227, i32 noundef %21229) #11
  br label %21248

21231:                                            ; preds = %21209, %21202
  %21232 = load i32, ptr %528, align 4, !tbaa !5
  %21233 = call ptr @__errno_location() #12
  store i32 %21232, ptr %21233, align 4, !tbaa !5
  %21234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21235 = load i32, ptr @test_count, align 4, !tbaa !5
  %21236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21237 = load i32, ptr %21236, align 4, !tbaa !5
  %21238 = call ptr @s2n_strerror(i32 noundef %21237, ptr noundef @.str.4)
  %21239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21240 = load i32, ptr %21239, align 4, !tbaa !5
  %21241 = call ptr @s2n_strerror_debug(i32 noundef %21240, ptr noundef @.str.4)
  %21242 = call ptr @__errno_location() #12
  %21243 = load i32, ptr %21242, align 4, !tbaa !5
  %21244 = call ptr @strerror(i32 noundef %21243) #11
  %21245 = call ptr @__errno_location() #12
  %21246 = load i32, ptr %21245, align 4, !tbaa !5
  %21247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21234, ptr noundef @.str.5, i32 noundef %21235, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1005, ptr noundef %21238, ptr noundef %21241, ptr noundef %21244, i32 noundef %21246) #11
  br label %21248

21248:                                            ; preds = %21231, %21214
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #11
  br label %21249

21249:                                            ; preds = %21248
  br label %21250

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

21251:                                            ; No predecessors!
  br label %21252

21252:                                            ; preds = %21251
  br label %21253

21253:                                            ; preds = %21252, %21195
  br label %21254

21254:                                            ; preds = %21253
  br label %21255

21255:                                            ; preds = %21254
  br label %21256

21256:                                            ; preds = %21255
  %21257 = load i32, ptr @test_count, align 4, !tbaa !5
  %21258 = add nsw i32 %21257, 1
  store i32 %21258, ptr @test_count, align 4, !tbaa !5
  %21259 = call i32 @s2n_write_test_identity(ptr noundef %527, ptr noundef %525)
  %21260 = getelementptr inbounds %struct.s2n_result, ptr %529, i32 0, i32 0
  store i32 %21259, ptr %21260, align 4
  %21261 = getelementptr inbounds %struct.s2n_result, ptr %529, i32 0, i32 0
  %21262 = load i32, ptr %21261, align 4
  %21263 = call zeroext i1 @s2n_result_is_ok(i32 %21262)
  br i1 %21263, label %21317, label %21264

21264:                                            ; preds = %21256
  br label %21265

21265:                                            ; preds = %21264
  br label %21266

21266:                                            ; preds = %21265
  call void @llvm.lifetime.start.p0(i64 4, ptr %530) #11
  %21267 = call ptr @__errno_location() #12
  %21268 = load i32, ptr %21267, align 4, !tbaa !5
  store i32 %21268, ptr %530, align 4, !tbaa !5
  %21269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21270 = call i32 @s2n_print_stacktrace(ptr noundef %21269)
  %21271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21272 = trunc i8 %21271 to i1
  br i1 %21272, label %21273, label %21295

21273:                                            ; preds = %21266
  %21274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21275 = call i32 @fileno(ptr noundef %21274) #11
  %21276 = call i32 @isatty(i32 noundef %21275) #11
  %21277 = icmp ne i32 %21276, 0
  br i1 %21277, label %21278, label %21295

21278:                                            ; preds = %21273
  %21279 = load i32, ptr %530, align 4, !tbaa !5
  %21280 = call ptr @__errno_location() #12
  store i32 %21279, ptr %21280, align 4, !tbaa !5
  %21281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21282 = load i32, ptr @test_count, align 4, !tbaa !5
  %21283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21284 = load i32, ptr %21283, align 4, !tbaa !5
  %21285 = call ptr @s2n_strerror(i32 noundef %21284, ptr noundef @.str.4)
  %21286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21287 = load i32, ptr %21286, align 4, !tbaa !5
  %21288 = call ptr @s2n_strerror_debug(i32 noundef %21287, ptr noundef @.str.4)
  %21289 = call ptr @__errno_location() #12
  %21290 = load i32, ptr %21289, align 4, !tbaa !5
  %21291 = call ptr @strerror(i32 noundef %21290) #11
  %21292 = call ptr @__errno_location() #12
  %21293 = load i32, ptr %21292, align 4, !tbaa !5
  %21294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21281, ptr noundef @.str.2, i32 noundef %21282, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %21285, ptr noundef %21288, ptr noundef %21291, i32 noundef %21293) #11
  br label %21312

21295:                                            ; preds = %21273, %21266
  %21296 = load i32, ptr %530, align 4, !tbaa !5
  %21297 = call ptr @__errno_location() #12
  store i32 %21296, ptr %21297, align 4, !tbaa !5
  %21298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21299 = load i32, ptr @test_count, align 4, !tbaa !5
  %21300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21301 = load i32, ptr %21300, align 4, !tbaa !5
  %21302 = call ptr @s2n_strerror(i32 noundef %21301, ptr noundef @.str.4)
  %21303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21304 = load i32, ptr %21303, align 4, !tbaa !5
  %21305 = call ptr @s2n_strerror_debug(i32 noundef %21304, ptr noundef @.str.4)
  %21306 = call ptr @__errno_location() #12
  %21307 = load i32, ptr %21306, align 4, !tbaa !5
  %21308 = call ptr @strerror(i32 noundef %21307) #11
  %21309 = call ptr @__errno_location() #12
  %21310 = load i32, ptr %21309, align 4, !tbaa !5
  %21311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21298, ptr noundef @.str.5, i32 noundef %21299, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %21302, ptr noundef %21305, ptr noundef %21308, i32 noundef %21310) #11
  br label %21312

21312:                                            ; preds = %21295, %21278
  call void @llvm.lifetime.end.p0(i64 4, ptr %530) #11
  br label %21313

21313:                                            ; preds = %21312
  br label %21314

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

21315:                                            ; No predecessors!
  br label %21316

21316:                                            ; preds = %21315
  br label %21317

21317:                                            ; preds = %21316, %21256
  br label %21318

21318:                                            ; preds = %21317
  br label %21319

21319:                                            ; preds = %21318
  br label %21320

21320:                                            ; preds = %21319
  br label %21321

21321:                                            ; preds = %21320
  %21322 = load i32, ptr @test_count, align 4, !tbaa !5
  %21323 = add nsw i32 %21322, 1
  store i32 %21323, ptr @test_count, align 4, !tbaa !5
  %21324 = load ptr, ptr %514, align 8, !tbaa !9
  %21325 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %21324, ptr noundef %527)
  %21326 = getelementptr inbounds %struct.s2n_result, ptr %531, i32 0, i32 0
  store i32 %21325, ptr %21326, align 4
  %21327 = getelementptr inbounds %struct.s2n_result, ptr %531, i32 0, i32 0
  %21328 = load i32, ptr %21327, align 4
  %21329 = call zeroext i1 @s2n_result_is_error(i32 %21328)
  br i1 %21329, label %21383, label %21330

21330:                                            ; preds = %21321
  br label %21331

21331:                                            ; preds = %21330
  br label %21332

21332:                                            ; preds = %21331
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #11
  %21333 = call ptr @__errno_location() #12
  %21334 = load i32, ptr %21333, align 4, !tbaa !5
  store i32 %21334, ptr %532, align 4, !tbaa !5
  %21335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21336 = call i32 @s2n_print_stacktrace(ptr noundef %21335)
  %21337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21338 = trunc i8 %21337 to i1
  br i1 %21338, label %21339, label %21361

21339:                                            ; preds = %21332
  %21340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21341 = call i32 @fileno(ptr noundef %21340) #11
  %21342 = call i32 @isatty(i32 noundef %21341) #11
  %21343 = icmp ne i32 %21342, 0
  br i1 %21343, label %21344, label %21361

21344:                                            ; preds = %21339
  %21345 = load i32, ptr %532, align 4, !tbaa !5
  %21346 = call ptr @__errno_location() #12
  store i32 %21345, ptr %21346, align 4, !tbaa !5
  %21347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21348 = load i32, ptr @test_count, align 4, !tbaa !5
  %21349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21350 = load i32, ptr %21349, align 4, !tbaa !5
  %21351 = call ptr @s2n_strerror(i32 noundef %21350, ptr noundef @.str.4)
  %21352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21353 = load i32, ptr %21352, align 4, !tbaa !5
  %21354 = call ptr @s2n_strerror_debug(i32 noundef %21353, ptr noundef @.str.4)
  %21355 = call ptr @__errno_location() #12
  %21356 = load i32, ptr %21355, align 4, !tbaa !5
  %21357 = call ptr @strerror(i32 noundef %21356) #11
  %21358 = call ptr @__errno_location() #12
  %21359 = load i32, ptr %21358, align 4, !tbaa !5
  %21360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21347, ptr noundef @.str.2, i32 noundef %21348, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %21351, ptr noundef %21354, ptr noundef %21357, i32 noundef %21359) #11
  br label %21378

21361:                                            ; preds = %21339, %21332
  %21362 = load i32, ptr %532, align 4, !tbaa !5
  %21363 = call ptr @__errno_location() #12
  store i32 %21362, ptr %21363, align 4, !tbaa !5
  %21364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21365 = load i32, ptr @test_count, align 4, !tbaa !5
  %21366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21367 = load i32, ptr %21366, align 4, !tbaa !5
  %21368 = call ptr @s2n_strerror(i32 noundef %21367, ptr noundef @.str.4)
  %21369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21370 = load i32, ptr %21369, align 4, !tbaa !5
  %21371 = call ptr @s2n_strerror_debug(i32 noundef %21370, ptr noundef @.str.4)
  %21372 = call ptr @__errno_location() #12
  %21373 = load i32, ptr %21372, align 4, !tbaa !5
  %21374 = call ptr @strerror(i32 noundef %21373) #11
  %21375 = call ptr @__errno_location() #12
  %21376 = load i32, ptr %21375, align 4, !tbaa !5
  %21377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21364, ptr noundef @.str.5, i32 noundef %21365, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %21368, ptr noundef %21371, ptr noundef %21374, i32 noundef %21376) #11
  br label %21378

21378:                                            ; preds = %21361, %21344
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #11
  br label %21379

21379:                                            ; preds = %21378
  br label %21380

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

21381:                                            ; No predecessors!
  br label %21382

21382:                                            ; preds = %21381
  br label %21383

21383:                                            ; preds = %21382, %21321
  br label %21384

21384:                                            ; preds = %21383
  br label %21385

21385:                                            ; preds = %21384
  br label %21386

21386:                                            ; preds = %21385
  %21387 = load i32, ptr @test_count, align 4, !tbaa !5
  %21388 = add nsw i32 %21387, 1
  store i32 %21388, ptr @test_count, align 4, !tbaa !5
  %21389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21390 = load i32, ptr %21389, align 4, !tbaa !5
  %21391 = icmp eq i32 %21390, 0
  br i1 %21391, label %21392, label %21445

21392:                                            ; preds = %21386
  br label %21393

21393:                                            ; preds = %21392
  br label %21394

21394:                                            ; preds = %21393
  call void @llvm.lifetime.start.p0(i64 4, ptr %533) #11
  %21395 = call ptr @__errno_location() #12
  %21396 = load i32, ptr %21395, align 4, !tbaa !5
  store i32 %21396, ptr %533, align 4, !tbaa !5
  %21397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21398 = call i32 @s2n_print_stacktrace(ptr noundef %21397)
  %21399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21400 = trunc i8 %21399 to i1
  br i1 %21400, label %21401, label %21423

21401:                                            ; preds = %21394
  %21402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21403 = call i32 @fileno(ptr noundef %21402) #11
  %21404 = call i32 @isatty(i32 noundef %21403) #11
  %21405 = icmp ne i32 %21404, 0
  br i1 %21405, label %21406, label %21423

21406:                                            ; preds = %21401
  %21407 = load i32, ptr %533, align 4, !tbaa !5
  %21408 = call ptr @__errno_location() #12
  store i32 %21407, ptr %21408, align 4, !tbaa !5
  %21409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21410 = load i32, ptr @test_count, align 4, !tbaa !5
  %21411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21412 = load i32, ptr %21411, align 4, !tbaa !5
  %21413 = call ptr @s2n_strerror(i32 noundef %21412, ptr noundef @.str.4)
  %21414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21415 = load i32, ptr %21414, align 4, !tbaa !5
  %21416 = call ptr @s2n_strerror_debug(i32 noundef %21415, ptr noundef @.str.4)
  %21417 = call ptr @__errno_location() #12
  %21418 = load i32, ptr %21417, align 4, !tbaa !5
  %21419 = call ptr @strerror(i32 noundef %21418) #11
  %21420 = call ptr @__errno_location() #12
  %21421 = load i32, ptr %21420, align 4, !tbaa !5
  %21422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21409, ptr noundef @.str.2, i32 noundef %21410, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %21413, ptr noundef %21416, ptr noundef %21419, i32 noundef %21421) #11
  br label %21440

21423:                                            ; preds = %21401, %21394
  %21424 = load i32, ptr %533, align 4, !tbaa !5
  %21425 = call ptr @__errno_location() #12
  store i32 %21424, ptr %21425, align 4, !tbaa !5
  %21426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21427 = load i32, ptr @test_count, align 4, !tbaa !5
  %21428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21429 = load i32, ptr %21428, align 4, !tbaa !5
  %21430 = call ptr @s2n_strerror(i32 noundef %21429, ptr noundef @.str.4)
  %21431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21432 = load i32, ptr %21431, align 4, !tbaa !5
  %21433 = call ptr @s2n_strerror_debug(i32 noundef %21432, ptr noundef @.str.4)
  %21434 = call ptr @__errno_location() #12
  %21435 = load i32, ptr %21434, align 4, !tbaa !5
  %21436 = call ptr @strerror(i32 noundef %21435) #11
  %21437 = call ptr @__errno_location() #12
  %21438 = load i32, ptr %21437, align 4, !tbaa !5
  %21439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21426, ptr noundef @.str.5, i32 noundef %21427, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %21430, ptr noundef %21433, ptr noundef %21436, i32 noundef %21438) #11
  br label %21440

21440:                                            ; preds = %21423, %21406
  call void @llvm.lifetime.end.p0(i64 4, ptr %533) #11
  br label %21441

21441:                                            ; preds = %21440
  br label %21442

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

21443:                                            ; No predecessors!
  br label %21444

21444:                                            ; preds = %21443
  br label %21445

21445:                                            ; preds = %21444, %21386
  br label %21446

21446:                                            ; preds = %21445
  br label %21447

21447:                                            ; preds = %21446
  br label %21448

21448:                                            ; preds = %21447
  %21449 = load i32, ptr @test_count, align 4, !tbaa !5
  %21450 = add nsw i32 %21449, 1
  store i32 %21450, ptr @test_count, align 4, !tbaa !5
  %21451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21452 = load i32, ptr %21451, align 4, !tbaa !5
  %21453 = call ptr @s2n_strerror_debug(i32 noundef %21452, ptr noundef @.str.4)
  %21454 = icmp eq ptr %21453, null
  br i1 %21454, label %21455, label %21508

21455:                                            ; preds = %21448
  br label %21456

21456:                                            ; preds = %21455
  br label %21457

21457:                                            ; preds = %21456
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #11
  %21458 = call ptr @__errno_location() #12
  %21459 = load i32, ptr %21458, align 4, !tbaa !5
  store i32 %21459, ptr %534, align 4, !tbaa !5
  %21460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21461 = call i32 @s2n_print_stacktrace(ptr noundef %21460)
  %21462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21463 = trunc i8 %21462 to i1
  br i1 %21463, label %21464, label %21486

21464:                                            ; preds = %21457
  %21465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21466 = call i32 @fileno(ptr noundef %21465) #11
  %21467 = call i32 @isatty(i32 noundef %21466) #11
  %21468 = icmp ne i32 %21467, 0
  br i1 %21468, label %21469, label %21486

21469:                                            ; preds = %21464
  %21470 = load i32, ptr %534, align 4, !tbaa !5
  %21471 = call ptr @__errno_location() #12
  store i32 %21470, ptr %21471, align 4, !tbaa !5
  %21472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21473 = load i32, ptr @test_count, align 4, !tbaa !5
  %21474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21475 = load i32, ptr %21474, align 4, !tbaa !5
  %21476 = call ptr @s2n_strerror(i32 noundef %21475, ptr noundef @.str.4)
  %21477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21478 = load i32, ptr %21477, align 4, !tbaa !5
  %21479 = call ptr @s2n_strerror_debug(i32 noundef %21478, ptr noundef @.str.4)
  %21480 = call ptr @__errno_location() #12
  %21481 = load i32, ptr %21480, align 4, !tbaa !5
  %21482 = call ptr @strerror(i32 noundef %21481) #11
  %21483 = call ptr @__errno_location() #12
  %21484 = load i32, ptr %21483, align 4, !tbaa !5
  %21485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21472, ptr noundef @.str.2, i32 noundef %21473, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %21476, ptr noundef %21479, ptr noundef %21482, i32 noundef %21484) #11
  br label %21503

21486:                                            ; preds = %21464, %21457
  %21487 = load i32, ptr %534, align 4, !tbaa !5
  %21488 = call ptr @__errno_location() #12
  store i32 %21487, ptr %21488, align 4, !tbaa !5
  %21489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21490 = load i32, ptr @test_count, align 4, !tbaa !5
  %21491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21492 = load i32, ptr %21491, align 4, !tbaa !5
  %21493 = call ptr @s2n_strerror(i32 noundef %21492, ptr noundef @.str.4)
  %21494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21495 = load i32, ptr %21494, align 4, !tbaa !5
  %21496 = call ptr @s2n_strerror_debug(i32 noundef %21495, ptr noundef @.str.4)
  %21497 = call ptr @__errno_location() #12
  %21498 = load i32, ptr %21497, align 4, !tbaa !5
  %21499 = call ptr @strerror(i32 noundef %21498) #11
  %21500 = call ptr @__errno_location() #12
  %21501 = load i32, ptr %21500, align 4, !tbaa !5
  %21502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21489, ptr noundef @.str.5, i32 noundef %21490, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %21493, ptr noundef %21496, ptr noundef %21499, i32 noundef %21501) #11
  br label %21503

21503:                                            ; preds = %21486, %21469
  call void @llvm.lifetime.end.p0(i64 4, ptr %534) #11
  br label %21504

21504:                                            ; preds = %21503
  br label %21505

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

21506:                                            ; No predecessors!
  br label %21507

21507:                                            ; preds = %21506
  br label %21508

21508:                                            ; preds = %21507, %21448
  br label %21509

21509:                                            ; preds = %21508
  br label %21510

21510:                                            ; preds = %21509
  br label %21511

21511:                                            ; preds = %21510
  %21512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21512, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21513 = call ptr @__errno_location() #12
  store i32 0, ptr %21513, align 4, !tbaa !5
  br label %21514

21514:                                            ; preds = %21511
  br label %21515

21515:                                            ; preds = %21514
  br label %21516

21516:                                            ; preds = %21515
  br label %21517

21517:                                            ; preds = %21516
  br label %21518

21518:                                            ; preds = %21517
  %21519 = load i32, ptr @test_count, align 4, !tbaa !5
  %21520 = add nsw i32 %21519, 1
  store i32 %21520, ptr @test_count, align 4, !tbaa !5
  %21521 = load ptr, ptr %514, align 8, !tbaa !9
  %21522 = getelementptr inbounds %struct.s2n_connection, ptr %21521, i32 0, i32 33
  %21523 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %21522, i32 0, i32 4
  %21524 = load ptr, ptr %21523, align 8, !tbaa !100
  %21525 = icmp eq ptr %21524, null
  br i1 %21525, label %21579, label %21526

21526:                                            ; preds = %21518
  br label %21527

21527:                                            ; preds = %21526
  br label %21528

21528:                                            ; preds = %21527
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #11
  %21529 = call ptr @__errno_location() #12
  %21530 = load i32, ptr %21529, align 4, !tbaa !5
  store i32 %21530, ptr %535, align 4, !tbaa !5
  %21531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21532 = call i32 @s2n_print_stacktrace(ptr noundef %21531)
  %21533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21534 = trunc i8 %21533 to i1
  br i1 %21534, label %21535, label %21557

21535:                                            ; preds = %21528
  %21536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21537 = call i32 @fileno(ptr noundef %21536) #11
  %21538 = call i32 @isatty(i32 noundef %21537) #11
  %21539 = icmp ne i32 %21538, 0
  br i1 %21539, label %21540, label %21557

21540:                                            ; preds = %21535
  %21541 = load i32, ptr %535, align 4, !tbaa !5
  %21542 = call ptr @__errno_location() #12
  store i32 %21541, ptr %21542, align 4, !tbaa !5
  %21543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21544 = load i32, ptr @test_count, align 4, !tbaa !5
  %21545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21546 = load i32, ptr %21545, align 4, !tbaa !5
  %21547 = call ptr @s2n_strerror(i32 noundef %21546, ptr noundef @.str.4)
  %21548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21549 = load i32, ptr %21548, align 4, !tbaa !5
  %21550 = call ptr @s2n_strerror_debug(i32 noundef %21549, ptr noundef @.str.4)
  %21551 = call ptr @__errno_location() #12
  %21552 = load i32, ptr %21551, align 4, !tbaa !5
  %21553 = call ptr @strerror(i32 noundef %21552) #11
  %21554 = call ptr @__errno_location() #12
  %21555 = load i32, ptr %21554, align 4, !tbaa !5
  %21556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21543, ptr noundef @.str.2, i32 noundef %21544, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1009, ptr noundef %21547, ptr noundef %21550, ptr noundef %21553, i32 noundef %21555) #11
  br label %21574

21557:                                            ; preds = %21535, %21528
  %21558 = load i32, ptr %535, align 4, !tbaa !5
  %21559 = call ptr @__errno_location() #12
  store i32 %21558, ptr %21559, align 4, !tbaa !5
  %21560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21561 = load i32, ptr @test_count, align 4, !tbaa !5
  %21562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21563 = load i32, ptr %21562, align 4, !tbaa !5
  %21564 = call ptr @s2n_strerror(i32 noundef %21563, ptr noundef @.str.4)
  %21565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21566 = load i32, ptr %21565, align 4, !tbaa !5
  %21567 = call ptr @s2n_strerror_debug(i32 noundef %21566, ptr noundef @.str.4)
  %21568 = call ptr @__errno_location() #12
  %21569 = load i32, ptr %21568, align 4, !tbaa !5
  %21570 = call ptr @strerror(i32 noundef %21569) #11
  %21571 = call ptr @__errno_location() #12
  %21572 = load i32, ptr %21571, align 4, !tbaa !5
  %21573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21560, ptr noundef @.str.5, i32 noundef %21561, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1009, ptr noundef %21564, ptr noundef %21567, ptr noundef %21570, i32 noundef %21572) #11
  br label %21574

21574:                                            ; preds = %21557, %21540
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #11
  br label %21575

21575:                                            ; preds = %21574
  br label %21576

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

21577:                                            ; No predecessors!
  br label %21578

21578:                                            ; preds = %21577
  br label %21579

21579:                                            ; preds = %21578, %21518
  br label %21580

21580:                                            ; preds = %21579
  br label %21581

21581:                                            ; preds = %21580
  br label %21582

21582:                                            ; preds = %21581
  %21583 = load i32, ptr @test_count, align 4, !tbaa !5
  %21584 = add nsw i32 %21583, 1
  store i32 %21584, ptr @test_count, align 4, !tbaa !5
  %21585 = load ptr, ptr %514, align 8, !tbaa !9
  %21586 = call i32 @s2n_connection_free(ptr noundef %21585)
  %21587 = icmp eq i32 %21586, -1
  br i1 %21587, label %21588, label %21641

21588:                                            ; preds = %21582
  br label %21589

21589:                                            ; preds = %21588
  br label %21590

21590:                                            ; preds = %21589
  call void @llvm.lifetime.start.p0(i64 4, ptr %536) #11
  %21591 = call ptr @__errno_location() #12
  %21592 = load i32, ptr %21591, align 4, !tbaa !5
  store i32 %21592, ptr %536, align 4, !tbaa !5
  %21593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21594 = call i32 @s2n_print_stacktrace(ptr noundef %21593)
  %21595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21596 = trunc i8 %21595 to i1
  br i1 %21596, label %21597, label %21619

21597:                                            ; preds = %21590
  %21598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21599 = call i32 @fileno(ptr noundef %21598) #11
  %21600 = call i32 @isatty(i32 noundef %21599) #11
  %21601 = icmp ne i32 %21600, 0
  br i1 %21601, label %21602, label %21619

21602:                                            ; preds = %21597
  %21603 = load i32, ptr %536, align 4, !tbaa !5
  %21604 = call ptr @__errno_location() #12
  store i32 %21603, ptr %21604, align 4, !tbaa !5
  %21605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21606 = load i32, ptr @test_count, align 4, !tbaa !5
  %21607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21608 = load i32, ptr %21607, align 4, !tbaa !5
  %21609 = call ptr @s2n_strerror(i32 noundef %21608, ptr noundef @.str.4)
  %21610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21611 = load i32, ptr %21610, align 4, !tbaa !5
  %21612 = call ptr @s2n_strerror_debug(i32 noundef %21611, ptr noundef @.str.4)
  %21613 = call ptr @__errno_location() #12
  %21614 = load i32, ptr %21613, align 4, !tbaa !5
  %21615 = call ptr @strerror(i32 noundef %21614) #11
  %21616 = call ptr @__errno_location() #12
  %21617 = load i32, ptr %21616, align 4, !tbaa !5
  %21618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21605, ptr noundef @.str.2, i32 noundef %21606, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1011, ptr noundef %21609, ptr noundef %21612, ptr noundef %21615, i32 noundef %21617) #11
  br label %21636

21619:                                            ; preds = %21597, %21590
  %21620 = load i32, ptr %536, align 4, !tbaa !5
  %21621 = call ptr @__errno_location() #12
  store i32 %21620, ptr %21621, align 4, !tbaa !5
  %21622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21623 = load i32, ptr @test_count, align 4, !tbaa !5
  %21624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21625 = load i32, ptr %21624, align 4, !tbaa !5
  %21626 = call ptr @s2n_strerror(i32 noundef %21625, ptr noundef @.str.4)
  %21627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21628 = load i32, ptr %21627, align 4, !tbaa !5
  %21629 = call ptr @s2n_strerror_debug(i32 noundef %21628, ptr noundef @.str.4)
  %21630 = call ptr @__errno_location() #12
  %21631 = load i32, ptr %21630, align 4, !tbaa !5
  %21632 = call ptr @strerror(i32 noundef %21631) #11
  %21633 = call ptr @__errno_location() #12
  %21634 = load i32, ptr %21633, align 4, !tbaa !5
  %21635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21622, ptr noundef @.str.5, i32 noundef %21623, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1011, ptr noundef %21626, ptr noundef %21629, ptr noundef %21632, i32 noundef %21634) #11
  br label %21636

21636:                                            ; preds = %21619, %21602
  call void @llvm.lifetime.end.p0(i64 4, ptr %536) #11
  br label %21637

21637:                                            ; preds = %21636
  br label %21638

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

21639:                                            ; No predecessors!
  br label %21640

21640:                                            ; preds = %21639
  br label %21641

21641:                                            ; preds = %21640, %21582
  br label %21642

21642:                                            ; preds = %21641
  br label %21643

21643:                                            ; preds = %21642
  br label %21644

21644:                                            ; preds = %21643
  %21645 = load i32, ptr @test_count, align 4, !tbaa !5
  %21646 = add nsw i32 %21645, 1
  store i32 %21646, ptr @test_count, align 4, !tbaa !5
  %21647 = load ptr, ptr %510, align 8, !tbaa !9
  %21648 = call i32 @s2n_config_free(ptr noundef %21647)
  %21649 = icmp eq i32 %21648, -1
  br i1 %21649, label %21650, label %21703

21650:                                            ; preds = %21644
  br label %21651

21651:                                            ; preds = %21650
  br label %21652

21652:                                            ; preds = %21651
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  %21653 = call ptr @__errno_location() #12
  %21654 = load i32, ptr %21653, align 4, !tbaa !5
  store i32 %21654, ptr %537, align 4, !tbaa !5
  %21655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21656 = call i32 @s2n_print_stacktrace(ptr noundef %21655)
  %21657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21658 = trunc i8 %21657 to i1
  br i1 %21658, label %21659, label %21681

21659:                                            ; preds = %21652
  %21660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21661 = call i32 @fileno(ptr noundef %21660) #11
  %21662 = call i32 @isatty(i32 noundef %21661) #11
  %21663 = icmp ne i32 %21662, 0
  br i1 %21663, label %21664, label %21681

21664:                                            ; preds = %21659
  %21665 = load i32, ptr %537, align 4, !tbaa !5
  %21666 = call ptr @__errno_location() #12
  store i32 %21665, ptr %21666, align 4, !tbaa !5
  %21667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21668 = load i32, ptr @test_count, align 4, !tbaa !5
  %21669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21670 = load i32, ptr %21669, align 4, !tbaa !5
  %21671 = call ptr @s2n_strerror(i32 noundef %21670, ptr noundef @.str.4)
  %21672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21673 = load i32, ptr %21672, align 4, !tbaa !5
  %21674 = call ptr @s2n_strerror_debug(i32 noundef %21673, ptr noundef @.str.4)
  %21675 = call ptr @__errno_location() #12
  %21676 = load i32, ptr %21675, align 4, !tbaa !5
  %21677 = call ptr @strerror(i32 noundef %21676) #11
  %21678 = call ptr @__errno_location() #12
  %21679 = load i32, ptr %21678, align 4, !tbaa !5
  %21680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21667, ptr noundef @.str.2, i32 noundef %21668, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %21671, ptr noundef %21674, ptr noundef %21677, i32 noundef %21679) #11
  br label %21698

21681:                                            ; preds = %21659, %21652
  %21682 = load i32, ptr %537, align 4, !tbaa !5
  %21683 = call ptr @__errno_location() #12
  store i32 %21682, ptr %21683, align 4, !tbaa !5
  %21684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21685 = load i32, ptr @test_count, align 4, !tbaa !5
  %21686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21687 = load i32, ptr %21686, align 4, !tbaa !5
  %21688 = call ptr @s2n_strerror(i32 noundef %21687, ptr noundef @.str.4)
  %21689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21690 = load i32, ptr %21689, align 4, !tbaa !5
  %21691 = call ptr @s2n_strerror_debug(i32 noundef %21690, ptr noundef @.str.4)
  %21692 = call ptr @__errno_location() #12
  %21693 = load i32, ptr %21692, align 4, !tbaa !5
  %21694 = call ptr @strerror(i32 noundef %21693) #11
  %21695 = call ptr @__errno_location() #12
  %21696 = load i32, ptr %21695, align 4, !tbaa !5
  %21697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21684, ptr noundef @.str.5, i32 noundef %21685, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %21688, ptr noundef %21691, ptr noundef %21694, i32 noundef %21696) #11
  br label %21698

21698:                                            ; preds = %21681, %21664
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  br label %21699

21699:                                            ; preds = %21698
  br label %21700

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

21701:                                            ; No predecessors!
  br label %21702

21702:                                            ; preds = %21701
  br label %21703

21703:                                            ; preds = %21702, %21644
  br label %21704

21704:                                            ; preds = %21703
  br label %21705

21705:                                            ; preds = %21704
  br label %21706

21706:                                            ; preds = %21705
  %21707 = load i32, ptr @test_count, align 4, !tbaa !5
  %21708 = add nsw i32 %21707, 1
  store i32 %21708, ptr @test_count, align 4, !tbaa !5
  %21709 = call i32 @s2n_stuffer_free(ptr noundef %527)
  %21710 = icmp eq i32 %21709, -1
  br i1 %21710, label %21711, label %21764

21711:                                            ; preds = %21706
  br label %21712

21712:                                            ; preds = %21711
  br label %21713

21713:                                            ; preds = %21712
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #11
  %21714 = call ptr @__errno_location() #12
  %21715 = load i32, ptr %21714, align 4, !tbaa !5
  store i32 %21715, ptr %538, align 4, !tbaa !5
  %21716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21717 = call i32 @s2n_print_stacktrace(ptr noundef %21716)
  %21718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21719 = trunc i8 %21718 to i1
  br i1 %21719, label %21720, label %21742

21720:                                            ; preds = %21713
  %21721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21722 = call i32 @fileno(ptr noundef %21721) #11
  %21723 = call i32 @isatty(i32 noundef %21722) #11
  %21724 = icmp ne i32 %21723, 0
  br i1 %21724, label %21725, label %21742

21725:                                            ; preds = %21720
  %21726 = load i32, ptr %538, align 4, !tbaa !5
  %21727 = call ptr @__errno_location() #12
  store i32 %21726, ptr %21727, align 4, !tbaa !5
  %21728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21729 = load i32, ptr @test_count, align 4, !tbaa !5
  %21730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21731 = load i32, ptr %21730, align 4, !tbaa !5
  %21732 = call ptr @s2n_strerror(i32 noundef %21731, ptr noundef @.str.4)
  %21733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21734 = load i32, ptr %21733, align 4, !tbaa !5
  %21735 = call ptr @s2n_strerror_debug(i32 noundef %21734, ptr noundef @.str.4)
  %21736 = call ptr @__errno_location() #12
  %21737 = load i32, ptr %21736, align 4, !tbaa !5
  %21738 = call ptr @strerror(i32 noundef %21737) #11
  %21739 = call ptr @__errno_location() #12
  %21740 = load i32, ptr %21739, align 4, !tbaa !5
  %21741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21728, ptr noundef @.str.2, i32 noundef %21729, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 1013, ptr noundef %21732, ptr noundef %21735, ptr noundef %21738, i32 noundef %21740) #11
  br label %21759

21742:                                            ; preds = %21720, %21713
  %21743 = load i32, ptr %538, align 4, !tbaa !5
  %21744 = call ptr @__errno_location() #12
  store i32 %21743, ptr %21744, align 4, !tbaa !5
  %21745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21746 = load i32, ptr @test_count, align 4, !tbaa !5
  %21747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21748 = load i32, ptr %21747, align 4, !tbaa !5
  %21749 = call ptr @s2n_strerror(i32 noundef %21748, ptr noundef @.str.4)
  %21750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21751 = load i32, ptr %21750, align 4, !tbaa !5
  %21752 = call ptr @s2n_strerror_debug(i32 noundef %21751, ptr noundef @.str.4)
  %21753 = call ptr @__errno_location() #12
  %21754 = load i32, ptr %21753, align 4, !tbaa !5
  %21755 = call ptr @strerror(i32 noundef %21754) #11
  %21756 = call ptr @__errno_location() #12
  %21757 = load i32, ptr %21756, align 4, !tbaa !5
  %21758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21745, ptr noundef @.str.5, i32 noundef %21746, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 1013, ptr noundef %21749, ptr noundef %21752, ptr noundef %21755, i32 noundef %21757) #11
  br label %21759

21759:                                            ; preds = %21742, %21725
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #11
  br label %21760

21760:                                            ; preds = %21759
  br label %21761

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

21762:                                            ; No predecessors!
  br label %21763

21763:                                            ; preds = %21762
  br label %21764

21764:                                            ; preds = %21763, %21706
  br label %21765

21765:                                            ; preds = %21764
  br label %21766

21766:                                            ; preds = %21765
  call void @llvm.lifetime.end.p0(i64 40, ptr %527) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %525) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %519) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %514) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %512) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %510) #11
  call void @llvm.lifetime.start.p0(i64 40, ptr %539) #11
  call void @llvm.memset.p0.i64(ptr align 8 %539, i8 0, i64 40, i1 false)
  br label %21767

21767:                                            ; preds = %21766
  %21768 = load i32, ptr @test_count, align 4, !tbaa !5
  %21769 = add nsw i32 %21768, 1
  store i32 %21769, ptr @test_count, align 4, !tbaa !5
  %21770 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %539, i32 noundef 0)
  %21771 = icmp eq i32 %21770, -1
  br i1 %21771, label %21772, label %21825

21772:                                            ; preds = %21767
  br label %21773

21773:                                            ; preds = %21772
  br label %21774

21774:                                            ; preds = %21773
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #11
  %21775 = call ptr @__errno_location() #12
  %21776 = load i32, ptr %21775, align 4, !tbaa !5
  store i32 %21776, ptr %540, align 4, !tbaa !5
  %21777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21778 = call i32 @s2n_print_stacktrace(ptr noundef %21777)
  %21779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21780 = trunc i8 %21779 to i1
  br i1 %21780, label %21781, label %21803

21781:                                            ; preds = %21774
  %21782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21783 = call i32 @fileno(ptr noundef %21782) #11
  %21784 = call i32 @isatty(i32 noundef %21783) #11
  %21785 = icmp ne i32 %21784, 0
  br i1 %21785, label %21786, label %21803

21786:                                            ; preds = %21781
  %21787 = load i32, ptr %540, align 4, !tbaa !5
  %21788 = call ptr @__errno_location() #12
  store i32 %21787, ptr %21788, align 4, !tbaa !5
  %21789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21790 = load i32, ptr @test_count, align 4, !tbaa !5
  %21791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21792 = load i32, ptr %21791, align 4, !tbaa !5
  %21793 = call ptr @s2n_strerror(i32 noundef %21792, ptr noundef @.str.4)
  %21794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21795 = load i32, ptr %21794, align 4, !tbaa !5
  %21796 = call ptr @s2n_strerror_debug(i32 noundef %21795, ptr noundef @.str.4)
  %21797 = call ptr @__errno_location() #12
  %21798 = load i32, ptr %21797, align 4, !tbaa !5
  %21799 = call ptr @strerror(i32 noundef %21798) #11
  %21800 = call ptr @__errno_location() #12
  %21801 = load i32, ptr %21800, align 4, !tbaa !5
  %21802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21789, ptr noundef @.str.2, i32 noundef %21790, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1019, ptr noundef %21793, ptr noundef %21796, ptr noundef %21799, i32 noundef %21801) #11
  br label %21820

21803:                                            ; preds = %21781, %21774
  %21804 = load i32, ptr %540, align 4, !tbaa !5
  %21805 = call ptr @__errno_location() #12
  store i32 %21804, ptr %21805, align 4, !tbaa !5
  %21806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21807 = load i32, ptr @test_count, align 4, !tbaa !5
  %21808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21809 = load i32, ptr %21808, align 4, !tbaa !5
  %21810 = call ptr @s2n_strerror(i32 noundef %21809, ptr noundef @.str.4)
  %21811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21812 = load i32, ptr %21811, align 4, !tbaa !5
  %21813 = call ptr @s2n_strerror_debug(i32 noundef %21812, ptr noundef @.str.4)
  %21814 = call ptr @__errno_location() #12
  %21815 = load i32, ptr %21814, align 4, !tbaa !5
  %21816 = call ptr @strerror(i32 noundef %21815) #11
  %21817 = call ptr @__errno_location() #12
  %21818 = load i32, ptr %21817, align 4, !tbaa !5
  %21819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21806, ptr noundef @.str.5, i32 noundef %21807, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1019, ptr noundef %21810, ptr noundef %21813, ptr noundef %21816, i32 noundef %21818) #11
  br label %21820

21820:                                            ; preds = %21803, %21786
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #11
  br label %21821

21821:                                            ; preds = %21820
  br label %21822

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

21823:                                            ; No predecessors!
  br label %21824

21824:                                            ; preds = %21823
  br label %21825

21825:                                            ; preds = %21824, %21767
  br label %21826

21826:                                            ; preds = %21825
  br label %21827

21827:                                            ; preds = %21826
  call void @llvm.lifetime.start.p0(i64 8, ptr %541) #11
  %21828 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21828, ptr %541, align 8, !tbaa !9
  br label %21829

21829:                                            ; preds = %21827
  %21830 = load i32, ptr @test_count, align 4, !tbaa !5
  %21831 = add nsw i32 %21830, 1
  store i32 %21831, ptr @test_count, align 4, !tbaa !5
  %21832 = load ptr, ptr %541, align 8, !tbaa !9
  %21833 = icmp eq ptr %21832, null
  br i1 %21833, label %21834, label %21887

21834:                                            ; preds = %21829
  br label %21835

21835:                                            ; preds = %21834
  br label %21836

21836:                                            ; preds = %21835
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #11
  %21837 = call ptr @__errno_location() #12
  %21838 = load i32, ptr %21837, align 4, !tbaa !5
  store i32 %21838, ptr %542, align 4, !tbaa !5
  %21839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21840 = call i32 @s2n_print_stacktrace(ptr noundef %21839)
  %21841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21842 = trunc i8 %21841 to i1
  br i1 %21842, label %21843, label %21865

21843:                                            ; preds = %21836
  %21844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21845 = call i32 @fileno(ptr noundef %21844) #11
  %21846 = call i32 @isatty(i32 noundef %21845) #11
  %21847 = icmp ne i32 %21846, 0
  br i1 %21847, label %21848, label %21865

21848:                                            ; preds = %21843
  %21849 = load i32, ptr %542, align 4, !tbaa !5
  %21850 = call ptr @__errno_location() #12
  store i32 %21849, ptr %21850, align 4, !tbaa !5
  %21851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21852 = load i32, ptr @test_count, align 4, !tbaa !5
  %21853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21854 = load i32, ptr %21853, align 4, !tbaa !5
  %21855 = call ptr @s2n_strerror(i32 noundef %21854, ptr noundef @.str.4)
  %21856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21857 = load i32, ptr %21856, align 4, !tbaa !5
  %21858 = call ptr @s2n_strerror_debug(i32 noundef %21857, ptr noundef @.str.4)
  %21859 = call ptr @__errno_location() #12
  %21860 = load i32, ptr %21859, align 4, !tbaa !5
  %21861 = call ptr @strerror(i32 noundef %21860) #11
  %21862 = call ptr @__errno_location() #12
  %21863 = load i32, ptr %21862, align 4, !tbaa !5
  %21864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21851, ptr noundef @.str.2, i32 noundef %21852, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 1022, ptr noundef %21855, ptr noundef %21858, ptr noundef %21861, i32 noundef %21863) #11
  br label %21882

21865:                                            ; preds = %21843, %21836
  %21866 = load i32, ptr %542, align 4, !tbaa !5
  %21867 = call ptr @__errno_location() #12
  store i32 %21866, ptr %21867, align 4, !tbaa !5
  %21868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21869 = load i32, ptr @test_count, align 4, !tbaa !5
  %21870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21871 = load i32, ptr %21870, align 4, !tbaa !5
  %21872 = call ptr @s2n_strerror(i32 noundef %21871, ptr noundef @.str.4)
  %21873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21874 = load i32, ptr %21873, align 4, !tbaa !5
  %21875 = call ptr @s2n_strerror_debug(i32 noundef %21874, ptr noundef @.str.4)
  %21876 = call ptr @__errno_location() #12
  %21877 = load i32, ptr %21876, align 4, !tbaa !5
  %21878 = call ptr @strerror(i32 noundef %21877) #11
  %21879 = call ptr @__errno_location() #12
  %21880 = load i32, ptr %21879, align 4, !tbaa !5
  %21881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21868, ptr noundef @.str.5, i32 noundef %21869, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 1022, ptr noundef %21872, ptr noundef %21875, ptr noundef %21878, i32 noundef %21880) #11
  br label %21882

21882:                                            ; preds = %21865, %21848
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #11
  br label %21883

21883:                                            ; preds = %21882
  br label %21884

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

21885:                                            ; No predecessors!
  br label %21886

21886:                                            ; preds = %21885
  br label %21887

21887:                                            ; preds = %21886, %21829
  br label %21888

21888:                                            ; preds = %21887
  br label %21889

21889:                                            ; preds = %21888
  br label %21890

21890:                                            ; preds = %21889
  %21891 = load i32, ptr @test_count, align 4, !tbaa !5
  %21892 = add nsw i32 %21891, 1
  store i32 %21892, ptr @test_count, align 4, !tbaa !5
  %21893 = load ptr, ptr %541, align 8, !tbaa !9
  %21894 = call i32 @s2n_connection_set_psk_type(ptr noundef %21893, i32 noundef 0)
  %21895 = getelementptr inbounds %struct.s2n_result, ptr %543, i32 0, i32 0
  store i32 %21894, ptr %21895, align 4
  %21896 = getelementptr inbounds %struct.s2n_result, ptr %543, i32 0, i32 0
  %21897 = load i32, ptr %21896, align 4
  %21898 = call zeroext i1 @s2n_result_is_ok(i32 %21897)
  br i1 %21898, label %21952, label %21899

21899:                                            ; preds = %21890
  br label %21900

21900:                                            ; preds = %21899
  br label %21901

21901:                                            ; preds = %21900
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #11
  %21902 = call ptr @__errno_location() #12
  %21903 = load i32, ptr %21902, align 4, !tbaa !5
  store i32 %21903, ptr %544, align 4, !tbaa !5
  %21904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21905 = call i32 @s2n_print_stacktrace(ptr noundef %21904)
  %21906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21907 = trunc i8 %21906 to i1
  br i1 %21907, label %21908, label %21930

21908:                                            ; preds = %21901
  %21909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21910 = call i32 @fileno(ptr noundef %21909) #11
  %21911 = call i32 @isatty(i32 noundef %21910) #11
  %21912 = icmp ne i32 %21911, 0
  br i1 %21912, label %21913, label %21930

21913:                                            ; preds = %21908
  %21914 = load i32, ptr %544, align 4, !tbaa !5
  %21915 = call ptr @__errno_location() #12
  store i32 %21914, ptr %21915, align 4, !tbaa !5
  %21916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21917 = load i32, ptr @test_count, align 4, !tbaa !5
  %21918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21919 = load i32, ptr %21918, align 4, !tbaa !5
  %21920 = call ptr @s2n_strerror(i32 noundef %21919, ptr noundef @.str.4)
  %21921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21922 = load i32, ptr %21921, align 4, !tbaa !5
  %21923 = call ptr @s2n_strerror_debug(i32 noundef %21922, ptr noundef @.str.4)
  %21924 = call ptr @__errno_location() #12
  %21925 = load i32, ptr %21924, align 4, !tbaa !5
  %21926 = call ptr @strerror(i32 noundef %21925) #11
  %21927 = call ptr @__errno_location() #12
  %21928 = load i32, ptr %21927, align 4, !tbaa !5
  %21929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21916, ptr noundef @.str.2, i32 noundef %21917, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 1023, ptr noundef %21920, ptr noundef %21923, ptr noundef %21926, i32 noundef %21928) #11
  br label %21947

21930:                                            ; preds = %21908, %21901
  %21931 = load i32, ptr %544, align 4, !tbaa !5
  %21932 = call ptr @__errno_location() #12
  store i32 %21931, ptr %21932, align 4, !tbaa !5
  %21933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21934 = load i32, ptr @test_count, align 4, !tbaa !5
  %21935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21936 = load i32, ptr %21935, align 4, !tbaa !5
  %21937 = call ptr @s2n_strerror(i32 noundef %21936, ptr noundef @.str.4)
  %21938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21939 = load i32, ptr %21938, align 4, !tbaa !5
  %21940 = call ptr @s2n_strerror_debug(i32 noundef %21939, ptr noundef @.str.4)
  %21941 = call ptr @__errno_location() #12
  %21942 = load i32, ptr %21941, align 4, !tbaa !5
  %21943 = call ptr @strerror(i32 noundef %21942) #11
  %21944 = call ptr @__errno_location() #12
  %21945 = load i32, ptr %21944, align 4, !tbaa !5
  %21946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21933, ptr noundef @.str.5, i32 noundef %21934, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 1023, ptr noundef %21937, ptr noundef %21940, ptr noundef %21943, i32 noundef %21945) #11
  br label %21947

21947:                                            ; preds = %21930, %21913
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #11
  br label %21948

21948:                                            ; preds = %21947
  br label %21949

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

21950:                                            ; No predecessors!
  br label %21951

21951:                                            ; preds = %21950
  br label %21952

21952:                                            ; preds = %21951, %21890
  br label %21953

21953:                                            ; preds = %21952
  br label %21954

21954:                                            ; preds = %21953
  call void @llvm.lifetime.start.p0(i64 8, ptr %545) #11
  %21955 = call ptr @s2n_config_new()
  store ptr %21955, ptr %545, align 8, !tbaa !9
  br label %21956

21956:                                            ; preds = %21954
  %21957 = load i32, ptr @test_count, align 4, !tbaa !5
  %21958 = add nsw i32 %21957, 1
  store i32 %21958, ptr @test_count, align 4, !tbaa !5
  %21959 = load ptr, ptr %545, align 8, !tbaa !9
  %21960 = icmp eq ptr %21959, null
  br i1 %21960, label %21961, label %22014

21961:                                            ; preds = %21956
  br label %21962

21962:                                            ; preds = %21961
  br label %21963

21963:                                            ; preds = %21962
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #11
  %21964 = call ptr @__errno_location() #12
  %21965 = load i32, ptr %21964, align 4, !tbaa !5
  store i32 %21965, ptr %546, align 4, !tbaa !5
  %21966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21967 = call i32 @s2n_print_stacktrace(ptr noundef %21966)
  %21968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21969 = trunc i8 %21968 to i1
  br i1 %21969, label %21970, label %21992

21970:                                            ; preds = %21963
  %21971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21972 = call i32 @fileno(ptr noundef %21971) #11
  %21973 = call i32 @isatty(i32 noundef %21972) #11
  %21974 = icmp ne i32 %21973, 0
  br i1 %21974, label %21975, label %21992

21975:                                            ; preds = %21970
  %21976 = load i32, ptr %546, align 4, !tbaa !5
  %21977 = call ptr @__errno_location() #12
  store i32 %21976, ptr %21977, align 4, !tbaa !5
  %21978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21979 = load i32, ptr @test_count, align 4, !tbaa !5
  %21980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21981 = load i32, ptr %21980, align 4, !tbaa !5
  %21982 = call ptr @s2n_strerror(i32 noundef %21981, ptr noundef @.str.4)
  %21983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21984 = load i32, ptr %21983, align 4, !tbaa !5
  %21985 = call ptr @s2n_strerror_debug(i32 noundef %21984, ptr noundef @.str.4)
  %21986 = call ptr @__errno_location() #12
  %21987 = load i32, ptr %21986, align 4, !tbaa !5
  %21988 = call ptr @strerror(i32 noundef %21987) #11
  %21989 = call ptr @__errno_location() #12
  %21990 = load i32, ptr %21989, align 4, !tbaa !5
  %21991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21978, ptr noundef @.str.2, i32 noundef %21979, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 1026, ptr noundef %21982, ptr noundef %21985, ptr noundef %21988, i32 noundef %21990) #11
  br label %22009

21992:                                            ; preds = %21970, %21963
  %21993 = load i32, ptr %546, align 4, !tbaa !5
  %21994 = call ptr @__errno_location() #12
  store i32 %21993, ptr %21994, align 4, !tbaa !5
  %21995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21996 = load i32, ptr @test_count, align 4, !tbaa !5
  %21997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21998 = load i32, ptr %21997, align 4, !tbaa !5
  %21999 = call ptr @s2n_strerror(i32 noundef %21998, ptr noundef @.str.4)
  %22000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22001 = load i32, ptr %22000, align 4, !tbaa !5
  %22002 = call ptr @s2n_strerror_debug(i32 noundef %22001, ptr noundef @.str.4)
  %22003 = call ptr @__errno_location() #12
  %22004 = load i32, ptr %22003, align 4, !tbaa !5
  %22005 = call ptr @strerror(i32 noundef %22004) #11
  %22006 = call ptr @__errno_location() #12
  %22007 = load i32, ptr %22006, align 4, !tbaa !5
  %22008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21995, ptr noundef @.str.5, i32 noundef %21996, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 1026, ptr noundef %21999, ptr noundef %22002, ptr noundef %22005, i32 noundef %22007) #11
  br label %22009

22009:                                            ; preds = %21992, %21975
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #11
  br label %22010

22010:                                            ; preds = %22009
  br label %22011

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

22012:                                            ; No predecessors!
  br label %22013

22013:                                            ; preds = %22012
  br label %22014

22014:                                            ; preds = %22013, %21956
  br label %22015

22015:                                            ; preds = %22014
  br label %22016

22016:                                            ; preds = %22015
  call void @llvm.lifetime.start.p0(i64 2, ptr %547) #11
  store i16 0, ptr %547, align 2, !tbaa !72
  br label %22017

22017:                                            ; preds = %22016
  %22018 = load i32, ptr @test_count, align 4, !tbaa !5
  %22019 = add nsw i32 %22018, 1
  store i32 %22019, ptr @test_count, align 4, !tbaa !5
  %22020 = load ptr, ptr %545, align 8, !tbaa !9
  %22021 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef %22020, ptr noundef @s2n_test_select_psk_identity_callback, ptr noundef %547)
  %22022 = icmp eq i32 %22021, -1
  br i1 %22022, label %22023, label %22076

22023:                                            ; preds = %22017
  br label %22024

22024:                                            ; preds = %22023
  br label %22025

22025:                                            ; preds = %22024
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #11
  %22026 = call ptr @__errno_location() #12
  %22027 = load i32, ptr %22026, align 4, !tbaa !5
  store i32 %22027, ptr %548, align 4, !tbaa !5
  %22028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22029 = call i32 @s2n_print_stacktrace(ptr noundef %22028)
  %22030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22031 = trunc i8 %22030 to i1
  br i1 %22031, label %22032, label %22054

22032:                                            ; preds = %22025
  %22033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22034 = call i32 @fileno(ptr noundef %22033) #11
  %22035 = call i32 @isatty(i32 noundef %22034) #11
  %22036 = icmp ne i32 %22035, 0
  br i1 %22036, label %22037, label %22054

22037:                                            ; preds = %22032
  %22038 = load i32, ptr %548, align 4, !tbaa !5
  %22039 = call ptr @__errno_location() #12
  store i32 %22038, ptr %22039, align 4, !tbaa !5
  %22040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22041 = load i32, ptr @test_count, align 4, !tbaa !5
  %22042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22043 = load i32, ptr %22042, align 4, !tbaa !5
  %22044 = call ptr @s2n_strerror(i32 noundef %22043, ptr noundef @.str.4)
  %22045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22046 = load i32, ptr %22045, align 4, !tbaa !5
  %22047 = call ptr @s2n_strerror_debug(i32 noundef %22046, ptr noundef @.str.4)
  %22048 = call ptr @__errno_location() #12
  %22049 = load i32, ptr %22048, align 4, !tbaa !5
  %22050 = call ptr @strerror(i32 noundef %22049) #11
  %22051 = call ptr @__errno_location() #12
  %22052 = load i32, ptr %22051, align 4, !tbaa !5
  %22053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22040, ptr noundef @.str.2, i32 noundef %22041, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 1028, ptr noundef %22044, ptr noundef %22047, ptr noundef %22050, i32 noundef %22052) #11
  br label %22071

22054:                                            ; preds = %22032, %22025
  %22055 = load i32, ptr %548, align 4, !tbaa !5
  %22056 = call ptr @__errno_location() #12
  store i32 %22055, ptr %22056, align 4, !tbaa !5
  %22057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22058 = load i32, ptr @test_count, align 4, !tbaa !5
  %22059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22060 = load i32, ptr %22059, align 4, !tbaa !5
  %22061 = call ptr @s2n_strerror(i32 noundef %22060, ptr noundef @.str.4)
  %22062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22063 = load i32, ptr %22062, align 4, !tbaa !5
  %22064 = call ptr @s2n_strerror_debug(i32 noundef %22063, ptr noundef @.str.4)
  %22065 = call ptr @__errno_location() #12
  %22066 = load i32, ptr %22065, align 4, !tbaa !5
  %22067 = call ptr @strerror(i32 noundef %22066) #11
  %22068 = call ptr @__errno_location() #12
  %22069 = load i32, ptr %22068, align 4, !tbaa !5
  %22070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22057, ptr noundef @.str.5, i32 noundef %22058, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 1028, ptr noundef %22061, ptr noundef %22064, ptr noundef %22067, i32 noundef %22069) #11
  br label %22071

22071:                                            ; preds = %22054, %22037
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #11
  br label %22072

22072:                                            ; preds = %22071
  br label %22073

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

22074:                                            ; No predecessors!
  br label %22075

22075:                                            ; preds = %22074
  br label %22076

22076:                                            ; preds = %22075, %22017
  br label %22077

22077:                                            ; preds = %22076
  br label %22078

22078:                                            ; preds = %22077
  br label %22079

22079:                                            ; preds = %22078
  %22080 = load i32, ptr @test_count, align 4, !tbaa !5
  %22081 = add nsw i32 %22080, 1
  store i32 %22081, ptr @test_count, align 4, !tbaa !5
  %22082 = load ptr, ptr %545, align 8, !tbaa !9
  %22083 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %22082)
  %22084 = getelementptr inbounds %struct.s2n_result, ptr %549, i32 0, i32 0
  store i32 %22083, ptr %22084, align 4
  %22085 = getelementptr inbounds %struct.s2n_result, ptr %549, i32 0, i32 0
  %22086 = load i32, ptr %22085, align 4
  %22087 = call zeroext i1 @s2n_result_is_ok(i32 %22086)
  br i1 %22087, label %22141, label %22088

22088:                                            ; preds = %22079
  br label %22089

22089:                                            ; preds = %22088
  br label %22090

22090:                                            ; preds = %22089
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #11
  %22091 = call ptr @__errno_location() #12
  %22092 = load i32, ptr %22091, align 4, !tbaa !5
  store i32 %22092, ptr %550, align 4, !tbaa !5
  %22093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22094 = call i32 @s2n_print_stacktrace(ptr noundef %22093)
  %22095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22096 = trunc i8 %22095 to i1
  br i1 %22096, label %22097, label %22119

22097:                                            ; preds = %22090
  %22098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22099 = call i32 @fileno(ptr noundef %22098) #11
  %22100 = call i32 @isatty(i32 noundef %22099) #11
  %22101 = icmp ne i32 %22100, 0
  br i1 %22101, label %22102, label %22119

22102:                                            ; preds = %22097
  %22103 = load i32, ptr %550, align 4, !tbaa !5
  %22104 = call ptr @__errno_location() #12
  store i32 %22103, ptr %22104, align 4, !tbaa !5
  %22105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22106 = load i32, ptr @test_count, align 4, !tbaa !5
  %22107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22108 = load i32, ptr %22107, align 4, !tbaa !5
  %22109 = call ptr @s2n_strerror(i32 noundef %22108, ptr noundef @.str.4)
  %22110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22111 = load i32, ptr %22110, align 4, !tbaa !5
  %22112 = call ptr @s2n_strerror_debug(i32 noundef %22111, ptr noundef @.str.4)
  %22113 = call ptr @__errno_location() #12
  %22114 = load i32, ptr %22113, align 4, !tbaa !5
  %22115 = call ptr @strerror(i32 noundef %22114) #11
  %22116 = call ptr @__errno_location() #12
  %22117 = load i32, ptr %22116, align 4, !tbaa !5
  %22118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22105, ptr noundef @.str.2, i32 noundef %22106, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 1029, ptr noundef %22109, ptr noundef %22112, ptr noundef %22115, i32 noundef %22117) #11
  br label %22136

22119:                                            ; preds = %22097, %22090
  %22120 = load i32, ptr %550, align 4, !tbaa !5
  %22121 = call ptr @__errno_location() #12
  store i32 %22120, ptr %22121, align 4, !tbaa !5
  %22122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22123 = load i32, ptr @test_count, align 4, !tbaa !5
  %22124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22125 = load i32, ptr %22124, align 4, !tbaa !5
  %22126 = call ptr @s2n_strerror(i32 noundef %22125, ptr noundef @.str.4)
  %22127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22128 = load i32, ptr %22127, align 4, !tbaa !5
  %22129 = call ptr @s2n_strerror_debug(i32 noundef %22128, ptr noundef @.str.4)
  %22130 = call ptr @__errno_location() #12
  %22131 = load i32, ptr %22130, align 4, !tbaa !5
  %22132 = call ptr @strerror(i32 noundef %22131) #11
  %22133 = call ptr @__errno_location() #12
  %22134 = load i32, ptr %22133, align 4, !tbaa !5
  %22135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22122, ptr noundef @.str.5, i32 noundef %22123, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 1029, ptr noundef %22126, ptr noundef %22129, ptr noundef %22132, i32 noundef %22134) #11
  br label %22136

22136:                                            ; preds = %22119, %22102
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #11
  br label %22137

22137:                                            ; preds = %22136
  br label %22138

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

22139:                                            ; No predecessors!
  br label %22140

22140:                                            ; preds = %22139
  br label %22141

22141:                                            ; preds = %22140, %22079
  br label %22142

22142:                                            ; preds = %22141
  br label %22143

22143:                                            ; preds = %22142
  call void @llvm.lifetime.start.p0(i64 8, ptr %551) #11
  %22144 = call ptr @s2n_config_new()
  store ptr %22144, ptr %551, align 8, !tbaa !9
  br label %22145

22145:                                            ; preds = %22143
  %22146 = load i32, ptr @test_count, align 4, !tbaa !5
  %22147 = add nsw i32 %22146, 1
  store i32 %22147, ptr @test_count, align 4, !tbaa !5
  %22148 = load ptr, ptr %551, align 8, !tbaa !9
  %22149 = icmp eq ptr %22148, null
  br i1 %22149, label %22150, label %22203

22150:                                            ; preds = %22145
  br label %22151

22151:                                            ; preds = %22150
  br label %22152

22152:                                            ; preds = %22151
  call void @llvm.lifetime.start.p0(i64 4, ptr %552) #11
  %22153 = call ptr @__errno_location() #12
  %22154 = load i32, ptr %22153, align 4, !tbaa !5
  store i32 %22154, ptr %552, align 4, !tbaa !5
  %22155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22156 = call i32 @s2n_print_stacktrace(ptr noundef %22155)
  %22157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22158 = trunc i8 %22157 to i1
  br i1 %22158, label %22159, label %22181

22159:                                            ; preds = %22152
  %22160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22161 = call i32 @fileno(ptr noundef %22160) #11
  %22162 = call i32 @isatty(i32 noundef %22161) #11
  %22163 = icmp ne i32 %22162, 0
  br i1 %22163, label %22164, label %22181

22164:                                            ; preds = %22159
  %22165 = load i32, ptr %552, align 4, !tbaa !5
  %22166 = call ptr @__errno_location() #12
  store i32 %22165, ptr %22166, align 4, !tbaa !5
  %22167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22168 = load i32, ptr @test_count, align 4, !tbaa !5
  %22169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22170 = load i32, ptr %22169, align 4, !tbaa !5
  %22171 = call ptr @s2n_strerror(i32 noundef %22170, ptr noundef @.str.4)
  %22172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22173 = load i32, ptr %22172, align 4, !tbaa !5
  %22174 = call ptr @s2n_strerror_debug(i32 noundef %22173, ptr noundef @.str.4)
  %22175 = call ptr @__errno_location() #12
  %22176 = load i32, ptr %22175, align 4, !tbaa !5
  %22177 = call ptr @strerror(i32 noundef %22176) #11
  %22178 = call ptr @__errno_location() #12
  %22179 = load i32, ptr %22178, align 4, !tbaa !5
  %22180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22167, ptr noundef @.str.2, i32 noundef %22168, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %22171, ptr noundef %22174, ptr noundef %22177, i32 noundef %22179) #11
  br label %22198

22181:                                            ; preds = %22159, %22152
  %22182 = load i32, ptr %552, align 4, !tbaa !5
  %22183 = call ptr @__errno_location() #12
  store i32 %22182, ptr %22183, align 4, !tbaa !5
  %22184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22185 = load i32, ptr @test_count, align 4, !tbaa !5
  %22186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22187 = load i32, ptr %22186, align 4, !tbaa !5
  %22188 = call ptr @s2n_strerror(i32 noundef %22187, ptr noundef @.str.4)
  %22189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22190 = load i32, ptr %22189, align 4, !tbaa !5
  %22191 = call ptr @s2n_strerror_debug(i32 noundef %22190, ptr noundef @.str.4)
  %22192 = call ptr @__errno_location() #12
  %22193 = load i32, ptr %22192, align 4, !tbaa !5
  %22194 = call ptr @strerror(i32 noundef %22193) #11
  %22195 = call ptr @__errno_location() #12
  %22196 = load i32, ptr %22195, align 4, !tbaa !5
  %22197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22184, ptr noundef @.str.5, i32 noundef %22185, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %22188, ptr noundef %22191, ptr noundef %22194, i32 noundef %22196) #11
  br label %22198

22198:                                            ; preds = %22181, %22164
  call void @llvm.lifetime.end.p0(i64 4, ptr %552) #11
  br label %22199

22199:                                            ; preds = %22198
  br label %22200

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

22201:                                            ; No predecessors!
  br label %22202

22202:                                            ; preds = %22201
  br label %22203

22203:                                            ; preds = %22202, %22145
  br label %22204

22204:                                            ; preds = %22203
  br label %22205

22205:                                            ; preds = %22204
  br label %22206

22206:                                            ; preds = %22205
  %22207 = load i32, ptr @test_count, align 4, !tbaa !5
  %22208 = add nsw i32 %22207, 1
  store i32 %22208, ptr @test_count, align 4, !tbaa !5
  %22209 = load ptr, ptr %551, align 8, !tbaa !9
  %22210 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %22209)
  %22211 = getelementptr inbounds %struct.s2n_result, ptr %553, i32 0, i32 0
  store i32 %22210, ptr %22211, align 4
  %22212 = getelementptr inbounds %struct.s2n_result, ptr %553, i32 0, i32 0
  %22213 = load i32, ptr %22212, align 4
  %22214 = call zeroext i1 @s2n_result_is_ok(i32 %22213)
  br i1 %22214, label %22268, label %22215

22215:                                            ; preds = %22206
  br label %22216

22216:                                            ; preds = %22215
  br label %22217

22217:                                            ; preds = %22216
  call void @llvm.lifetime.start.p0(i64 4, ptr %554) #11
  %22218 = call ptr @__errno_location() #12
  %22219 = load i32, ptr %22218, align 4, !tbaa !5
  store i32 %22219, ptr %554, align 4, !tbaa !5
  %22220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22221 = call i32 @s2n_print_stacktrace(ptr noundef %22220)
  %22222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22223 = trunc i8 %22222 to i1
  br i1 %22223, label %22224, label %22246

22224:                                            ; preds = %22217
  %22225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22226 = call i32 @fileno(ptr noundef %22225) #11
  %22227 = call i32 @isatty(i32 noundef %22226) #11
  %22228 = icmp ne i32 %22227, 0
  br i1 %22228, label %22229, label %22246

22229:                                            ; preds = %22224
  %22230 = load i32, ptr %554, align 4, !tbaa !5
  %22231 = call ptr @__errno_location() #12
  store i32 %22230, ptr %22231, align 4, !tbaa !5
  %22232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22233 = load i32, ptr @test_count, align 4, !tbaa !5
  %22234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22235 = load i32, ptr %22234, align 4, !tbaa !5
  %22236 = call ptr @s2n_strerror(i32 noundef %22235, ptr noundef @.str.4)
  %22237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22238 = load i32, ptr %22237, align 4, !tbaa !5
  %22239 = call ptr @s2n_strerror_debug(i32 noundef %22238, ptr noundef @.str.4)
  %22240 = call ptr @__errno_location() #12
  %22241 = load i32, ptr %22240, align 4, !tbaa !5
  %22242 = call ptr @strerror(i32 noundef %22241) #11
  %22243 = call ptr @__errno_location() #12
  %22244 = load i32, ptr %22243, align 4, !tbaa !5
  %22245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22232, ptr noundef @.str.2, i32 noundef %22233, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 1033, ptr noundef %22236, ptr noundef %22239, ptr noundef %22242, i32 noundef %22244) #11
  br label %22263

22246:                                            ; preds = %22224, %22217
  %22247 = load i32, ptr %554, align 4, !tbaa !5
  %22248 = call ptr @__errno_location() #12
  store i32 %22247, ptr %22248, align 4, !tbaa !5
  %22249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22250 = load i32, ptr @test_count, align 4, !tbaa !5
  %22251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22252 = load i32, ptr %22251, align 4, !tbaa !5
  %22253 = call ptr @s2n_strerror(i32 noundef %22252, ptr noundef @.str.4)
  %22254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22255 = load i32, ptr %22254, align 4, !tbaa !5
  %22256 = call ptr @s2n_strerror_debug(i32 noundef %22255, ptr noundef @.str.4)
  %22257 = call ptr @__errno_location() #12
  %22258 = load i32, ptr %22257, align 4, !tbaa !5
  %22259 = call ptr @strerror(i32 noundef %22258) #11
  %22260 = call ptr @__errno_location() #12
  %22261 = load i32, ptr %22260, align 4, !tbaa !5
  %22262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22249, ptr noundef @.str.5, i32 noundef %22250, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 1033, ptr noundef %22253, ptr noundef %22256, ptr noundef %22259, i32 noundef %22261) #11
  br label %22263

22263:                                            ; preds = %22246, %22229
  call void @llvm.lifetime.end.p0(i64 4, ptr %554) #11
  br label %22264

22264:                                            ; preds = %22263
  br label %22265

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

22266:                                            ; No predecessors!
  br label %22267

22267:                                            ; preds = %22266
  br label %22268

22268:                                            ; preds = %22267, %22206
  br label %22269

22269:                                            ; preds = %22268
  br label %22270

22270:                                            ; preds = %22269
  br label %22271

22271:                                            ; preds = %22270
  %22272 = load i32, ptr @test_count, align 4, !tbaa !5
  %22273 = add nsw i32 %22272, 1
  store i32 %22273, ptr @test_count, align 4, !tbaa !5
  %22274 = load ptr, ptr %541, align 8, !tbaa !9
  %22275 = load ptr, ptr %551, align 8, !tbaa !9
  %22276 = call i32 @s2n_connection_set_config(ptr noundef %22274, ptr noundef %22275)
  %22277 = icmp eq i32 %22276, -1
  br i1 %22277, label %22278, label %22331

22278:                                            ; preds = %22271
  br label %22279

22279:                                            ; preds = %22278
  br label %22280

22280:                                            ; preds = %22279
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #11
  %22281 = call ptr @__errno_location() #12
  %22282 = load i32, ptr %22281, align 4, !tbaa !5
  store i32 %22282, ptr %555, align 4, !tbaa !5
  %22283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22284 = call i32 @s2n_print_stacktrace(ptr noundef %22283)
  %22285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22286 = trunc i8 %22285 to i1
  br i1 %22286, label %22287, label %22309

22287:                                            ; preds = %22280
  %22288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22289 = call i32 @fileno(ptr noundef %22288) #11
  %22290 = call i32 @isatty(i32 noundef %22289) #11
  %22291 = icmp ne i32 %22290, 0
  br i1 %22291, label %22292, label %22309

22292:                                            ; preds = %22287
  %22293 = load i32, ptr %555, align 4, !tbaa !5
  %22294 = call ptr @__errno_location() #12
  store i32 %22293, ptr %22294, align 4, !tbaa !5
  %22295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22296 = load i32, ptr @test_count, align 4, !tbaa !5
  %22297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22298 = load i32, ptr %22297, align 4, !tbaa !5
  %22299 = call ptr @s2n_strerror(i32 noundef %22298, ptr noundef @.str.4)
  %22300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22301 = load i32, ptr %22300, align 4, !tbaa !5
  %22302 = call ptr @s2n_strerror_debug(i32 noundef %22301, ptr noundef @.str.4)
  %22303 = call ptr @__errno_location() #12
  %22304 = load i32, ptr %22303, align 4, !tbaa !5
  %22305 = call ptr @strerror(i32 noundef %22304) #11
  %22306 = call ptr @__errno_location() #12
  %22307 = load i32, ptr %22306, align 4, !tbaa !5
  %22308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22295, ptr noundef @.str.2, i32 noundef %22296, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %22299, ptr noundef %22302, ptr noundef %22305, i32 noundef %22307) #11
  br label %22326

22309:                                            ; preds = %22287, %22280
  %22310 = load i32, ptr %555, align 4, !tbaa !5
  %22311 = call ptr @__errno_location() #12
  store i32 %22310, ptr %22311, align 4, !tbaa !5
  %22312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22313 = load i32, ptr @test_count, align 4, !tbaa !5
  %22314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22315 = load i32, ptr %22314, align 4, !tbaa !5
  %22316 = call ptr @s2n_strerror(i32 noundef %22315, ptr noundef @.str.4)
  %22317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22318 = load i32, ptr %22317, align 4, !tbaa !5
  %22319 = call ptr @s2n_strerror_debug(i32 noundef %22318, ptr noundef @.str.4)
  %22320 = call ptr @__errno_location() #12
  %22321 = load i32, ptr %22320, align 4, !tbaa !5
  %22322 = call ptr @strerror(i32 noundef %22321) #11
  %22323 = call ptr @__errno_location() #12
  %22324 = load i32, ptr %22323, align 4, !tbaa !5
  %22325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22312, ptr noundef @.str.5, i32 noundef %22313, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %22316, ptr noundef %22319, ptr noundef %22322, i32 noundef %22324) #11
  br label %22326

22326:                                            ; preds = %22309, %22292
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #11
  br label %22327

22327:                                            ; preds = %22326
  br label %22328

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

22329:                                            ; No predecessors!
  br label %22330

22330:                                            ; preds = %22329
  br label %22331

22331:                                            ; preds = %22330, %22271
  br label %22332

22332:                                            ; preds = %22331
  br label %22333

22333:                                            ; preds = %22332
  %22334 = load ptr, ptr %541, align 8, !tbaa !9
  %22335 = getelementptr inbounds %struct.s2n_connection, ptr %22334, i32 0, i32 23
  store i8 34, ptr %22335, align 4, !tbaa !45
  %22336 = load ptr, ptr %541, align 8, !tbaa !9
  %22337 = getelementptr inbounds %struct.s2n_connection, ptr %22336, i32 0, i32 27
  %22338 = load ptr, ptr %22337, align 8, !tbaa !46
  %22339 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %22338, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %22339, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr %556) #11
  call void @llvm.memset.p0.i64(ptr align 8 %556, i8 0, i64 40, i1 false)
  br label %22340

22340:                                            ; preds = %22333
  %22341 = load i32, ptr @test_count, align 4, !tbaa !5
  %22342 = add nsw i32 %22341, 1
  store i32 %22342, ptr @test_count, align 4, !tbaa !5
  %22343 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %556, i32 noundef 0)
  %22344 = icmp eq i32 %22343, -1
  br i1 %22344, label %22345, label %22398

22345:                                            ; preds = %22340
  br label %22346

22346:                                            ; preds = %22345
  br label %22347

22347:                                            ; preds = %22346
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #11
  %22348 = call ptr @__errno_location() #12
  %22349 = load i32, ptr %22348, align 4, !tbaa !5
  store i32 %22349, ptr %557, align 4, !tbaa !5
  %22350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22351 = call i32 @s2n_print_stacktrace(ptr noundef %22350)
  %22352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22353 = trunc i8 %22352 to i1
  br i1 %22353, label %22354, label %22376

22354:                                            ; preds = %22347
  %22355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22356 = call i32 @fileno(ptr noundef %22355) #11
  %22357 = call i32 @isatty(i32 noundef %22356) #11
  %22358 = icmp ne i32 %22357, 0
  br i1 %22358, label %22359, label %22376

22359:                                            ; preds = %22354
  %22360 = load i32, ptr %557, align 4, !tbaa !5
  %22361 = call ptr @__errno_location() #12
  store i32 %22360, ptr %22361, align 4, !tbaa !5
  %22362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22363 = load i32, ptr @test_count, align 4, !tbaa !5
  %22364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22365 = load i32, ptr %22364, align 4, !tbaa !5
  %22366 = call ptr @s2n_strerror(i32 noundef %22365, ptr noundef @.str.4)
  %22367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22368 = load i32, ptr %22367, align 4, !tbaa !5
  %22369 = call ptr @s2n_strerror_debug(i32 noundef %22368, ptr noundef @.str.4)
  %22370 = call ptr @__errno_location() #12
  %22371 = load i32, ptr %22370, align 4, !tbaa !5
  %22372 = call ptr @strerror(i32 noundef %22371) #11
  %22373 = call ptr @__errno_location() #12
  %22374 = load i32, ptr %22373, align 4, !tbaa !5
  %22375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22362, ptr noundef @.str.2, i32 noundef %22363, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 1041, ptr noundef %22366, ptr noundef %22369, ptr noundef %22372, i32 noundef %22374) #11
  br label %22393

22376:                                            ; preds = %22354, %22347
  %22377 = load i32, ptr %557, align 4, !tbaa !5
  %22378 = call ptr @__errno_location() #12
  store i32 %22377, ptr %22378, align 4, !tbaa !5
  %22379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22380 = load i32, ptr @test_count, align 4, !tbaa !5
  %22381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22382 = load i32, ptr %22381, align 4, !tbaa !5
  %22383 = call ptr @s2n_strerror(i32 noundef %22382, ptr noundef @.str.4)
  %22384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22385 = load i32, ptr %22384, align 4, !tbaa !5
  %22386 = call ptr @s2n_strerror_debug(i32 noundef %22385, ptr noundef @.str.4)
  %22387 = call ptr @__errno_location() #12
  %22388 = load i32, ptr %22387, align 4, !tbaa !5
  %22389 = call ptr @strerror(i32 noundef %22388) #11
  %22390 = call ptr @__errno_location() #12
  %22391 = load i32, ptr %22390, align 4, !tbaa !5
  %22392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22379, ptr noundef @.str.5, i32 noundef %22380, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 1041, ptr noundef %22383, ptr noundef %22386, ptr noundef %22389, i32 noundef %22391) #11
  br label %22393

22393:                                            ; preds = %22376, %22359
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #11
  br label %22394

22394:                                            ; preds = %22393
  br label %22395

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

22396:                                            ; No predecessors!
  br label %22397

22397:                                            ; preds = %22396
  br label %22398

22398:                                            ; preds = %22397, %22340
  br label %22399

22399:                                            ; preds = %22398
  br label %22400

22400:                                            ; preds = %22399
  br label %22401

22401:                                            ; preds = %22400
  %22402 = load i32, ptr @test_count, align 4, !tbaa !5
  %22403 = add nsw i32 %22402, 1
  store i32 %22403, ptr @test_count, align 4, !tbaa !5
  %22404 = load ptr, ptr %541, align 8, !tbaa !9
  %22405 = call i32 @s2n_setup_encrypted_ticket(ptr noundef %22404, ptr noundef %556)
  %22406 = getelementptr inbounds %struct.s2n_result, ptr %558, i32 0, i32 0
  store i32 %22405, ptr %22406, align 4
  %22407 = getelementptr inbounds %struct.s2n_result, ptr %558, i32 0, i32 0
  %22408 = load i32, ptr %22407, align 4
  %22409 = call zeroext i1 @s2n_result_is_ok(i32 %22408)
  br i1 %22409, label %22463, label %22410

22410:                                            ; preds = %22401
  br label %22411

22411:                                            ; preds = %22410
  br label %22412

22412:                                            ; preds = %22411
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #11
  %22413 = call ptr @__errno_location() #12
  %22414 = load i32, ptr %22413, align 4, !tbaa !5
  store i32 %22414, ptr %559, align 4, !tbaa !5
  %22415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22416 = call i32 @s2n_print_stacktrace(ptr noundef %22415)
  %22417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22418 = trunc i8 %22417 to i1
  br i1 %22418, label %22419, label %22441

22419:                                            ; preds = %22412
  %22420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22421 = call i32 @fileno(ptr noundef %22420) #11
  %22422 = call i32 @isatty(i32 noundef %22421) #11
  %22423 = icmp ne i32 %22422, 0
  br i1 %22423, label %22424, label %22441

22424:                                            ; preds = %22419
  %22425 = load i32, ptr %559, align 4, !tbaa !5
  %22426 = call ptr @__errno_location() #12
  store i32 %22425, ptr %22426, align 4, !tbaa !5
  %22427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22428 = load i32, ptr @test_count, align 4, !tbaa !5
  %22429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22430 = load i32, ptr %22429, align 4, !tbaa !5
  %22431 = call ptr @s2n_strerror(i32 noundef %22430, ptr noundef @.str.4)
  %22432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22433 = load i32, ptr %22432, align 4, !tbaa !5
  %22434 = call ptr @s2n_strerror_debug(i32 noundef %22433, ptr noundef @.str.4)
  %22435 = call ptr @__errno_location() #12
  %22436 = load i32, ptr %22435, align 4, !tbaa !5
  %22437 = call ptr @strerror(i32 noundef %22436) #11
  %22438 = call ptr @__errno_location() #12
  %22439 = load i32, ptr %22438, align 4, !tbaa !5
  %22440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22427, ptr noundef @.str.2, i32 noundef %22428, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 1042, ptr noundef %22431, ptr noundef %22434, ptr noundef %22437, i32 noundef %22439) #11
  br label %22458

22441:                                            ; preds = %22419, %22412
  %22442 = load i32, ptr %559, align 4, !tbaa !5
  %22443 = call ptr @__errno_location() #12
  store i32 %22442, ptr %22443, align 4, !tbaa !5
  %22444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22445 = load i32, ptr @test_count, align 4, !tbaa !5
  %22446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22447 = load i32, ptr %22446, align 4, !tbaa !5
  %22448 = call ptr @s2n_strerror(i32 noundef %22447, ptr noundef @.str.4)
  %22449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22450 = load i32, ptr %22449, align 4, !tbaa !5
  %22451 = call ptr @s2n_strerror_debug(i32 noundef %22450, ptr noundef @.str.4)
  %22452 = call ptr @__errno_location() #12
  %22453 = load i32, ptr %22452, align 4, !tbaa !5
  %22454 = call ptr @strerror(i32 noundef %22453) #11
  %22455 = call ptr @__errno_location() #12
  %22456 = load i32, ptr %22455, align 4, !tbaa !5
  %22457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22444, ptr noundef @.str.5, i32 noundef %22445, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 1042, ptr noundef %22448, ptr noundef %22451, ptr noundef %22454, i32 noundef %22456) #11
  br label %22458

22458:                                            ; preds = %22441, %22424
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #11
  br label %22459

22459:                                            ; preds = %22458
  br label %22460

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

22461:                                            ; No predecessors!
  br label %22462

22462:                                            ; preds = %22461
  br label %22463

22463:                                            ; preds = %22462, %22401
  br label %22464

22464:                                            ; preds = %22463
  br label %22465

22465:                                            ; preds = %22464
  call void @llvm.lifetime.start.p0(i64 24, ptr %560) #11
  call void @llvm.memset.p0.i64(ptr align 8 %560, i8 0, i64 24, i1 false)
  br label %22466

22466:                                            ; preds = %22465
  %22467 = load i32, ptr @test_count, align 4, !tbaa !5
  %22468 = add nsw i32 %22467, 1
  store i32 %22468, ptr @test_count, align 4, !tbaa !5
  %22469 = getelementptr inbounds [3 x i8], ptr %10, i64 0, i64 0
  %22470 = call i32 @s2n_blob_init(ptr noundef %560, ptr noundef %22469, i32 noundef 3)
  %22471 = icmp eq i32 %22470, -1
  br i1 %22471, label %22472, label %22525

22472:                                            ; preds = %22466
  br label %22473

22473:                                            ; preds = %22472
  br label %22474

22474:                                            ; preds = %22473
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #11
  %22475 = call ptr @__errno_location() #12
  %22476 = load i32, ptr %22475, align 4, !tbaa !5
  store i32 %22476, ptr %561, align 4, !tbaa !5
  %22477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22478 = call i32 @s2n_print_stacktrace(ptr noundef %22477)
  %22479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22480 = trunc i8 %22479 to i1
  br i1 %22480, label %22481, label %22503

22481:                                            ; preds = %22474
  %22482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22483 = call i32 @fileno(ptr noundef %22482) #11
  %22484 = call i32 @isatty(i32 noundef %22483) #11
  %22485 = icmp ne i32 %22484, 0
  br i1 %22485, label %22486, label %22503

22486:                                            ; preds = %22481
  %22487 = load i32, ptr %561, align 4, !tbaa !5
  %22488 = call ptr @__errno_location() #12
  store i32 %22487, ptr %22488, align 4, !tbaa !5
  %22489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22490 = load i32, ptr @test_count, align 4, !tbaa !5
  %22491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22492 = load i32, ptr %22491, align 4, !tbaa !5
  %22493 = call ptr @s2n_strerror(i32 noundef %22492, ptr noundef @.str.4)
  %22494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22495 = load i32, ptr %22494, align 4, !tbaa !5
  %22496 = call ptr @s2n_strerror_debug(i32 noundef %22495, ptr noundef @.str.4)
  %22497 = call ptr @__errno_location() #12
  %22498 = load i32, ptr %22497, align 4, !tbaa !5
  %22499 = call ptr @strerror(i32 noundef %22498) #11
  %22500 = call ptr @__errno_location() #12
  %22501 = load i32, ptr %22500, align 4, !tbaa !5
  %22502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22489, ptr noundef @.str.2, i32 noundef %22490, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %22493, ptr noundef %22496, ptr noundef %22499, i32 noundef %22501) #11
  br label %22520

22503:                                            ; preds = %22481, %22474
  %22504 = load i32, ptr %561, align 4, !tbaa !5
  %22505 = call ptr @__errno_location() #12
  store i32 %22504, ptr %22505, align 4, !tbaa !5
  %22506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22507 = load i32, ptr @test_count, align 4, !tbaa !5
  %22508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22509 = load i32, ptr %22508, align 4, !tbaa !5
  %22510 = call ptr @s2n_strerror(i32 noundef %22509, ptr noundef @.str.4)
  %22511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22512 = load i32, ptr %22511, align 4, !tbaa !5
  %22513 = call ptr @s2n_strerror_debug(i32 noundef %22512, ptr noundef @.str.4)
  %22514 = call ptr @__errno_location() #12
  %22515 = load i32, ptr %22514, align 4, !tbaa !5
  %22516 = call ptr @strerror(i32 noundef %22515) #11
  %22517 = call ptr @__errno_location() #12
  %22518 = load i32, ptr %22517, align 4, !tbaa !5
  %22519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22506, ptr noundef @.str.5, i32 noundef %22507, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %22510, ptr noundef %22513, ptr noundef %22516, i32 noundef %22518) #11
  br label %22520

22520:                                            ; preds = %22503, %22486
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #11
  br label %22521

22521:                                            ; preds = %22520
  br label %22522

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

22523:                                            ; No predecessors!
  br label %22524

22524:                                            ; preds = %22523
  br label %22525

22525:                                            ; preds = %22524, %22466
  br label %22526

22526:                                            ; preds = %22525
  br label %22527

22527:                                            ; preds = %22526
  br label %22528

22528:                                            ; preds = %22527
  %22529 = load i32, ptr @test_count, align 4, !tbaa !5
  %22530 = add nsw i32 %22529, 1
  store i32 %22530, ptr @test_count, align 4, !tbaa !5
  %22531 = call i32 @s2n_write_test_identity(ptr noundef %539, ptr noundef %560)
  %22532 = getelementptr inbounds %struct.s2n_result, ptr %562, i32 0, i32 0
  store i32 %22531, ptr %22532, align 4
  %22533 = getelementptr inbounds %struct.s2n_result, ptr %562, i32 0, i32 0
  %22534 = load i32, ptr %22533, align 4
  %22535 = call zeroext i1 @s2n_result_is_ok(i32 %22534)
  br i1 %22535, label %22589, label %22536

22536:                                            ; preds = %22528
  br label %22537

22537:                                            ; preds = %22536
  br label %22538

22538:                                            ; preds = %22537
  call void @llvm.lifetime.start.p0(i64 4, ptr %563) #11
  %22539 = call ptr @__errno_location() #12
  %22540 = load i32, ptr %22539, align 4, !tbaa !5
  store i32 %22540, ptr %563, align 4, !tbaa !5
  %22541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22542 = call i32 @s2n_print_stacktrace(ptr noundef %22541)
  %22543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22544 = trunc i8 %22543 to i1
  br i1 %22544, label %22545, label %22567

22545:                                            ; preds = %22538
  %22546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22547 = call i32 @fileno(ptr noundef %22546) #11
  %22548 = call i32 @isatty(i32 noundef %22547) #11
  %22549 = icmp ne i32 %22548, 0
  br i1 %22549, label %22550, label %22567

22550:                                            ; preds = %22545
  %22551 = load i32, ptr %563, align 4, !tbaa !5
  %22552 = call ptr @__errno_location() #12
  store i32 %22551, ptr %22552, align 4, !tbaa !5
  %22553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22554 = load i32, ptr @test_count, align 4, !tbaa !5
  %22555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22556 = load i32, ptr %22555, align 4, !tbaa !5
  %22557 = call ptr @s2n_strerror(i32 noundef %22556, ptr noundef @.str.4)
  %22558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22559 = load i32, ptr %22558, align 4, !tbaa !5
  %22560 = call ptr @s2n_strerror_debug(i32 noundef %22559, ptr noundef @.str.4)
  %22561 = call ptr @__errno_location() #12
  %22562 = load i32, ptr %22561, align 4, !tbaa !5
  %22563 = call ptr @strerror(i32 noundef %22562) #11
  %22564 = call ptr @__errno_location() #12
  %22565 = load i32, ptr %22564, align 4, !tbaa !5
  %22566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22553, ptr noundef @.str.2, i32 noundef %22554, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 1049, ptr noundef %22557, ptr noundef %22560, ptr noundef %22563, i32 noundef %22565) #11
  br label %22584

22567:                                            ; preds = %22545, %22538
  %22568 = load i32, ptr %563, align 4, !tbaa !5
  %22569 = call ptr @__errno_location() #12
  store i32 %22568, ptr %22569, align 4, !tbaa !5
  %22570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22571 = load i32, ptr @test_count, align 4, !tbaa !5
  %22572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22573 = load i32, ptr %22572, align 4, !tbaa !5
  %22574 = call ptr @s2n_strerror(i32 noundef %22573, ptr noundef @.str.4)
  %22575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22576 = load i32, ptr %22575, align 4, !tbaa !5
  %22577 = call ptr @s2n_strerror_debug(i32 noundef %22576, ptr noundef @.str.4)
  %22578 = call ptr @__errno_location() #12
  %22579 = load i32, ptr %22578, align 4, !tbaa !5
  %22580 = call ptr @strerror(i32 noundef %22579) #11
  %22581 = call ptr @__errno_location() #12
  %22582 = load i32, ptr %22581, align 4, !tbaa !5
  %22583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22570, ptr noundef @.str.5, i32 noundef %22571, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 1049, ptr noundef %22574, ptr noundef %22577, ptr noundef %22580, i32 noundef %22582) #11
  br label %22584

22584:                                            ; preds = %22567, %22550
  call void @llvm.lifetime.end.p0(i64 4, ptr %563) #11
  br label %22585

22585:                                            ; preds = %22584
  br label %22586

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

22587:                                            ; No predecessors!
  br label %22588

22588:                                            ; preds = %22587
  br label %22589

22589:                                            ; preds = %22588, %22528
  br label %22590

22590:                                            ; preds = %22589
  br label %22591

22591:                                            ; preds = %22590
  br label %22592

22592:                                            ; preds = %22591
  %22593 = load i32, ptr @test_count, align 4, !tbaa !5
  %22594 = add nsw i32 %22593, 1
  store i32 %22594, ptr @test_count, align 4, !tbaa !5
  %22595 = getelementptr inbounds %struct.s2n_stuffer, ptr %556, i32 0, i32 0
  %22596 = call i32 @s2n_write_test_identity(ptr noundef %539, ptr noundef %22595)
  %22597 = getelementptr inbounds %struct.s2n_result, ptr %564, i32 0, i32 0
  store i32 %22596, ptr %22597, align 4
  %22598 = getelementptr inbounds %struct.s2n_result, ptr %564, i32 0, i32 0
  %22599 = load i32, ptr %22598, align 4
  %22600 = call zeroext i1 @s2n_result_is_ok(i32 %22599)
  br i1 %22600, label %22654, label %22601

22601:                                            ; preds = %22592
  br label %22602

22602:                                            ; preds = %22601
  br label %22603

22603:                                            ; preds = %22602
  call void @llvm.lifetime.start.p0(i64 4, ptr %565) #11
  %22604 = call ptr @__errno_location() #12
  %22605 = load i32, ptr %22604, align 4, !tbaa !5
  store i32 %22605, ptr %565, align 4, !tbaa !5
  %22606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22607 = call i32 @s2n_print_stacktrace(ptr noundef %22606)
  %22608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22609 = trunc i8 %22608 to i1
  br i1 %22609, label %22610, label %22632

22610:                                            ; preds = %22603
  %22611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22612 = call i32 @fileno(ptr noundef %22611) #11
  %22613 = call i32 @isatty(i32 noundef %22612) #11
  %22614 = icmp ne i32 %22613, 0
  br i1 %22614, label %22615, label %22632

22615:                                            ; preds = %22610
  %22616 = load i32, ptr %565, align 4, !tbaa !5
  %22617 = call ptr @__errno_location() #12
  store i32 %22616, ptr %22617, align 4, !tbaa !5
  %22618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22619 = load i32, ptr @test_count, align 4, !tbaa !5
  %22620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22621 = load i32, ptr %22620, align 4, !tbaa !5
  %22622 = call ptr @s2n_strerror(i32 noundef %22621, ptr noundef @.str.4)
  %22623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22624 = load i32, ptr %22623, align 4, !tbaa !5
  %22625 = call ptr @s2n_strerror_debug(i32 noundef %22624, ptr noundef @.str.4)
  %22626 = call ptr @__errno_location() #12
  %22627 = load i32, ptr %22626, align 4, !tbaa !5
  %22628 = call ptr @strerror(i32 noundef %22627) #11
  %22629 = call ptr @__errno_location() #12
  %22630 = load i32, ptr %22629, align 4, !tbaa !5
  %22631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22618, ptr noundef @.str.2, i32 noundef %22619, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 1052, ptr noundef %22622, ptr noundef %22625, ptr noundef %22628, i32 noundef %22630) #11
  br label %22649

22632:                                            ; preds = %22610, %22603
  %22633 = load i32, ptr %565, align 4, !tbaa !5
  %22634 = call ptr @__errno_location() #12
  store i32 %22633, ptr %22634, align 4, !tbaa !5
  %22635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22636 = load i32, ptr @test_count, align 4, !tbaa !5
  %22637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22638 = load i32, ptr %22637, align 4, !tbaa !5
  %22639 = call ptr @s2n_strerror(i32 noundef %22638, ptr noundef @.str.4)
  %22640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22641 = load i32, ptr %22640, align 4, !tbaa !5
  %22642 = call ptr @s2n_strerror_debug(i32 noundef %22641, ptr noundef @.str.4)
  %22643 = call ptr @__errno_location() #12
  %22644 = load i32, ptr %22643, align 4, !tbaa !5
  %22645 = call ptr @strerror(i32 noundef %22644) #11
  %22646 = call ptr @__errno_location() #12
  %22647 = load i32, ptr %22646, align 4, !tbaa !5
  %22648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22635, ptr noundef @.str.5, i32 noundef %22636, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 1052, ptr noundef %22639, ptr noundef %22642, ptr noundef %22645, i32 noundef %22647) #11
  br label %22649

22649:                                            ; preds = %22632, %22615
  call void @llvm.lifetime.end.p0(i64 4, ptr %565) #11
  br label %22650

22650:                                            ; preds = %22649
  br label %22651

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

22652:                                            ; No predecessors!
  br label %22653

22653:                                            ; preds = %22652
  br label %22654

22654:                                            ; preds = %22653, %22592
  br label %22655

22655:                                            ; preds = %22654
  br label %22656

22656:                                            ; preds = %22655
  br label %22657

22657:                                            ; preds = %22656
  %22658 = load i32, ptr @test_count, align 4, !tbaa !5
  %22659 = add nsw i32 %22658, 1
  store i32 %22659, ptr @test_count, align 4, !tbaa !5
  %22660 = load ptr, ptr %541, align 8, !tbaa !9
  %22661 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %22660, ptr noundef %539)
  %22662 = getelementptr inbounds %struct.s2n_result, ptr %566, i32 0, i32 0
  store i32 %22661, ptr %22662, align 4
  %22663 = getelementptr inbounds %struct.s2n_result, ptr %566, i32 0, i32 0
  %22664 = load i32, ptr %22663, align 4
  %22665 = call zeroext i1 @s2n_result_is_ok(i32 %22664)
  br i1 %22665, label %22719, label %22666

22666:                                            ; preds = %22657
  br label %22667

22667:                                            ; preds = %22666
  br label %22668

22668:                                            ; preds = %22667
  call void @llvm.lifetime.start.p0(i64 4, ptr %567) #11
  %22669 = call ptr @__errno_location() #12
  %22670 = load i32, ptr %22669, align 4, !tbaa !5
  store i32 %22670, ptr %567, align 4, !tbaa !5
  %22671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22672 = call i32 @s2n_print_stacktrace(ptr noundef %22671)
  %22673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22674 = trunc i8 %22673 to i1
  br i1 %22674, label %22675, label %22697

22675:                                            ; preds = %22668
  %22676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22677 = call i32 @fileno(ptr noundef %22676) #11
  %22678 = call i32 @isatty(i32 noundef %22677) #11
  %22679 = icmp ne i32 %22678, 0
  br i1 %22679, label %22680, label %22697

22680:                                            ; preds = %22675
  %22681 = load i32, ptr %567, align 4, !tbaa !5
  %22682 = call ptr @__errno_location() #12
  store i32 %22681, ptr %22682, align 4, !tbaa !5
  %22683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22684 = load i32, ptr @test_count, align 4, !tbaa !5
  %22685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22686 = load i32, ptr %22685, align 4, !tbaa !5
  %22687 = call ptr @s2n_strerror(i32 noundef %22686, ptr noundef @.str.4)
  %22688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22689 = load i32, ptr %22688, align 4, !tbaa !5
  %22690 = call ptr @s2n_strerror_debug(i32 noundef %22689, ptr noundef @.str.4)
  %22691 = call ptr @__errno_location() #12
  %22692 = load i32, ptr %22691, align 4, !tbaa !5
  %22693 = call ptr @strerror(i32 noundef %22692) #11
  %22694 = call ptr @__errno_location() #12
  %22695 = load i32, ptr %22694, align 4, !tbaa !5
  %22696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22683, ptr noundef @.str.2, i32 noundef %22684, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %22687, ptr noundef %22690, ptr noundef %22693, i32 noundef %22695) #11
  br label %22714

22697:                                            ; preds = %22675, %22668
  %22698 = load i32, ptr %567, align 4, !tbaa !5
  %22699 = call ptr @__errno_location() #12
  store i32 %22698, ptr %22699, align 4, !tbaa !5
  %22700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22701 = load i32, ptr @test_count, align 4, !tbaa !5
  %22702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22703 = load i32, ptr %22702, align 4, !tbaa !5
  %22704 = call ptr @s2n_strerror(i32 noundef %22703, ptr noundef @.str.4)
  %22705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22706 = load i32, ptr %22705, align 4, !tbaa !5
  %22707 = call ptr @s2n_strerror_debug(i32 noundef %22706, ptr noundef @.str.4)
  %22708 = call ptr @__errno_location() #12
  %22709 = load i32, ptr %22708, align 4, !tbaa !5
  %22710 = call ptr @strerror(i32 noundef %22709) #11
  %22711 = call ptr @__errno_location() #12
  %22712 = load i32, ptr %22711, align 4, !tbaa !5
  %22713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22700, ptr noundef @.str.5, i32 noundef %22701, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %22704, ptr noundef %22707, ptr noundef %22710, i32 noundef %22712) #11
  br label %22714

22714:                                            ; preds = %22697, %22680
  call void @llvm.lifetime.end.p0(i64 4, ptr %567) #11
  br label %22715

22715:                                            ; preds = %22714
  br label %22716

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

22717:                                            ; No predecessors!
  br label %22718

22718:                                            ; preds = %22717
  br label %22719

22719:                                            ; preds = %22718, %22657
  br label %22720

22720:                                            ; preds = %22719
  br label %22721

22721:                                            ; preds = %22720
  br label %22722

22722:                                            ; preds = %22721
  %22723 = load i32, ptr @test_count, align 4, !tbaa !5
  %22724 = add nsw i32 %22723, 1
  store i32 %22724, ptr @test_count, align 4, !tbaa !5
  %22725 = load ptr, ptr %541, align 8, !tbaa !9
  %22726 = getelementptr inbounds %struct.s2n_connection, ptr %22725, i32 0, i32 33
  %22727 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %22726, i32 0, i32 3
  %22728 = load i16, ptr %22727, align 2, !tbaa !99
  %22729 = zext i16 %22728 to i32
  %22730 = icmp eq i32 %22729, 1
  br i1 %22730, label %22784, label %22731

22731:                                            ; preds = %22722
  br label %22732

22732:                                            ; preds = %22731
  br label %22733

22733:                                            ; preds = %22732
  call void @llvm.lifetime.start.p0(i64 4, ptr %568) #11
  %22734 = call ptr @__errno_location() #12
  %22735 = load i32, ptr %22734, align 4, !tbaa !5
  store i32 %22735, ptr %568, align 4, !tbaa !5
  %22736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22737 = call i32 @s2n_print_stacktrace(ptr noundef %22736)
  %22738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22739 = trunc i8 %22738 to i1
  br i1 %22739, label %22740, label %22762

22740:                                            ; preds = %22733
  %22741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22742 = call i32 @fileno(ptr noundef %22741) #11
  %22743 = call i32 @isatty(i32 noundef %22742) #11
  %22744 = icmp ne i32 %22743, 0
  br i1 %22744, label %22745, label %22762

22745:                                            ; preds = %22740
  %22746 = load i32, ptr %568, align 4, !tbaa !5
  %22747 = call ptr @__errno_location() #12
  store i32 %22746, ptr %22747, align 4, !tbaa !5
  %22748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22749 = load i32, ptr @test_count, align 4, !tbaa !5
  %22750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22751 = load i32, ptr %22750, align 4, !tbaa !5
  %22752 = call ptr @s2n_strerror(i32 noundef %22751, ptr noundef @.str.4)
  %22753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22754 = load i32, ptr %22753, align 4, !tbaa !5
  %22755 = call ptr @s2n_strerror_debug(i32 noundef %22754, ptr noundef @.str.4)
  %22756 = call ptr @__errno_location() #12
  %22757 = load i32, ptr %22756, align 4, !tbaa !5
  %22758 = call ptr @strerror(i32 noundef %22757) #11
  %22759 = call ptr @__errno_location() #12
  %22760 = load i32, ptr %22759, align 4, !tbaa !5
  %22761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22748, ptr noundef @.str.2, i32 noundef %22749, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 1056, ptr noundef %22752, ptr noundef %22755, ptr noundef %22758, i32 noundef %22760) #11
  br label %22779

22762:                                            ; preds = %22740, %22733
  %22763 = load i32, ptr %568, align 4, !tbaa !5
  %22764 = call ptr @__errno_location() #12
  store i32 %22763, ptr %22764, align 4, !tbaa !5
  %22765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22766 = load i32, ptr @test_count, align 4, !tbaa !5
  %22767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22768 = load i32, ptr %22767, align 4, !tbaa !5
  %22769 = call ptr @s2n_strerror(i32 noundef %22768, ptr noundef @.str.4)
  %22770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22771 = load i32, ptr %22770, align 4, !tbaa !5
  %22772 = call ptr @s2n_strerror_debug(i32 noundef %22771, ptr noundef @.str.4)
  %22773 = call ptr @__errno_location() #12
  %22774 = load i32, ptr %22773, align 4, !tbaa !5
  %22775 = call ptr @strerror(i32 noundef %22774) #11
  %22776 = call ptr @__errno_location() #12
  %22777 = load i32, ptr %22776, align 4, !tbaa !5
  %22778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22765, ptr noundef @.str.5, i32 noundef %22766, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 1056, ptr noundef %22769, ptr noundef %22772, ptr noundef %22775, i32 noundef %22777) #11
  br label %22779

22779:                                            ; preds = %22762, %22745
  call void @llvm.lifetime.end.p0(i64 4, ptr %568) #11
  br label %22780

22780:                                            ; preds = %22779
  br label %22781

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

22782:                                            ; No predecessors!
  br label %22783

22783:                                            ; preds = %22782
  br label %22784

22784:                                            ; preds = %22783, %22722
  br label %22785

22785:                                            ; preds = %22784
  br label %22786

22786:                                            ; preds = %22785
  br label %22787

22787:                                            ; preds = %22786
  %22788 = load i32, ptr @test_count, align 4, !tbaa !5
  %22789 = add nsw i32 %22788, 1
  store i32 %22789, ptr @test_count, align 4, !tbaa !5
  %22790 = load ptr, ptr %541, align 8, !tbaa !9
  %22791 = getelementptr inbounds %struct.s2n_connection, ptr %22790, i32 0, i32 33
  %22792 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %22791, i32 0, i32 4
  %22793 = load ptr, ptr %22792, align 8, !tbaa !100
  %22794 = icmp eq ptr %22793, null
  br i1 %22794, label %22795, label %22848

22795:                                            ; preds = %22787
  br label %22796

22796:                                            ; preds = %22795
  br label %22797

22797:                                            ; preds = %22796
  call void @llvm.lifetime.start.p0(i64 4, ptr %569) #11
  %22798 = call ptr @__errno_location() #12
  %22799 = load i32, ptr %22798, align 4, !tbaa !5
  store i32 %22799, ptr %569, align 4, !tbaa !5
  %22800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22801 = call i32 @s2n_print_stacktrace(ptr noundef %22800)
  %22802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22803 = trunc i8 %22802 to i1
  br i1 %22803, label %22804, label %22826

22804:                                            ; preds = %22797
  %22805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22806 = call i32 @fileno(ptr noundef %22805) #11
  %22807 = call i32 @isatty(i32 noundef %22806) #11
  %22808 = icmp ne i32 %22807, 0
  br i1 %22808, label %22809, label %22826

22809:                                            ; preds = %22804
  %22810 = load i32, ptr %569, align 4, !tbaa !5
  %22811 = call ptr @__errno_location() #12
  store i32 %22810, ptr %22811, align 4, !tbaa !5
  %22812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22813 = load i32, ptr @test_count, align 4, !tbaa !5
  %22814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22815 = load i32, ptr %22814, align 4, !tbaa !5
  %22816 = call ptr @s2n_strerror(i32 noundef %22815, ptr noundef @.str.4)
  %22817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22818 = load i32, ptr %22817, align 4, !tbaa !5
  %22819 = call ptr @s2n_strerror_debug(i32 noundef %22818, ptr noundef @.str.4)
  %22820 = call ptr @__errno_location() #12
  %22821 = load i32, ptr %22820, align 4, !tbaa !5
  %22822 = call ptr @strerror(i32 noundef %22821) #11
  %22823 = call ptr @__errno_location() #12
  %22824 = load i32, ptr %22823, align 4, !tbaa !5
  %22825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22812, ptr noundef @.str.2, i32 noundef %22813, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1057, ptr noundef %22816, ptr noundef %22819, ptr noundef %22822, i32 noundef %22824) #11
  br label %22843

22826:                                            ; preds = %22804, %22797
  %22827 = load i32, ptr %569, align 4, !tbaa !5
  %22828 = call ptr @__errno_location() #12
  store i32 %22827, ptr %22828, align 4, !tbaa !5
  %22829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22830 = load i32, ptr @test_count, align 4, !tbaa !5
  %22831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22832 = load i32, ptr %22831, align 4, !tbaa !5
  %22833 = call ptr @s2n_strerror(i32 noundef %22832, ptr noundef @.str.4)
  %22834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22835 = load i32, ptr %22834, align 4, !tbaa !5
  %22836 = call ptr @s2n_strerror_debug(i32 noundef %22835, ptr noundef @.str.4)
  %22837 = call ptr @__errno_location() #12
  %22838 = load i32, ptr %22837, align 4, !tbaa !5
  %22839 = call ptr @strerror(i32 noundef %22838) #11
  %22840 = call ptr @__errno_location() #12
  %22841 = load i32, ptr %22840, align 4, !tbaa !5
  %22842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22829, ptr noundef @.str.5, i32 noundef %22830, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1057, ptr noundef %22833, ptr noundef %22836, ptr noundef %22839, i32 noundef %22841) #11
  br label %22843

22843:                                            ; preds = %22826, %22809
  call void @llvm.lifetime.end.p0(i64 4, ptr %569) #11
  br label %22844

22844:                                            ; preds = %22843
  br label %22845

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

22846:                                            ; No predecessors!
  br label %22847

22847:                                            ; preds = %22846
  br label %22848

22848:                                            ; preds = %22847, %22787
  br label %22849

22849:                                            ; preds = %22848
  br label %22850

22850:                                            ; preds = %22849
  call void @llvm.lifetime.end.p0(i64 24, ptr %560) #11
  %22851 = load ptr, ptr %541, align 8, !tbaa !9
  %22852 = getelementptr inbounds %struct.s2n_connection, ptr %22851, i32 0, i32 33
  %22853 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %22852, i32 0, i32 4
  store ptr null, ptr %22853, align 8, !tbaa !100
  br label %22854

22854:                                            ; preds = %22850
  %22855 = load i32, ptr @test_count, align 4, !tbaa !5
  %22856 = add nsw i32 %22855, 1
  store i32 %22856, ptr @test_count, align 4, !tbaa !5
  %22857 = call i32 @s2n_stuffer_rewrite(ptr noundef %539)
  %22858 = icmp eq i32 %22857, -1
  br i1 %22858, label %22859, label %22912

22859:                                            ; preds = %22854
  br label %22860

22860:                                            ; preds = %22859
  br label %22861

22861:                                            ; preds = %22860
  call void @llvm.lifetime.start.p0(i64 4, ptr %570) #11
  %22862 = call ptr @__errno_location() #12
  %22863 = load i32, ptr %22862, align 4, !tbaa !5
  store i32 %22863, ptr %570, align 4, !tbaa !5
  %22864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22865 = call i32 @s2n_print_stacktrace(ptr noundef %22864)
  %22866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22867 = trunc i8 %22866 to i1
  br i1 %22867, label %22868, label %22890

22868:                                            ; preds = %22861
  %22869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22870 = call i32 @fileno(ptr noundef %22869) #11
  %22871 = call i32 @isatty(i32 noundef %22870) #11
  %22872 = icmp ne i32 %22871, 0
  br i1 %22872, label %22873, label %22890

22873:                                            ; preds = %22868
  %22874 = load i32, ptr %570, align 4, !tbaa !5
  %22875 = call ptr @__errno_location() #12
  store i32 %22874, ptr %22875, align 4, !tbaa !5
  %22876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22877 = load i32, ptr @test_count, align 4, !tbaa !5
  %22878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22879 = load i32, ptr %22878, align 4, !tbaa !5
  %22880 = call ptr @s2n_strerror(i32 noundef %22879, ptr noundef @.str.4)
  %22881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22882 = load i32, ptr %22881, align 4, !tbaa !5
  %22883 = call ptr @s2n_strerror_debug(i32 noundef %22882, ptr noundef @.str.4)
  %22884 = call ptr @__errno_location() #12
  %22885 = load i32, ptr %22884, align 4, !tbaa !5
  %22886 = call ptr @strerror(i32 noundef %22885) #11
  %22887 = call ptr @__errno_location() #12
  %22888 = load i32, ptr %22887, align 4, !tbaa !5
  %22889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22876, ptr noundef @.str.2, i32 noundef %22877, ptr noundef @.str.149, ptr noundef @.str.1, i32 noundef 1063, ptr noundef %22880, ptr noundef %22883, ptr noundef %22886, i32 noundef %22888) #11
  br label %22907

22890:                                            ; preds = %22868, %22861
  %22891 = load i32, ptr %570, align 4, !tbaa !5
  %22892 = call ptr @__errno_location() #12
  store i32 %22891, ptr %22892, align 4, !tbaa !5
  %22893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22894 = load i32, ptr @test_count, align 4, !tbaa !5
  %22895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22896 = load i32, ptr %22895, align 4, !tbaa !5
  %22897 = call ptr @s2n_strerror(i32 noundef %22896, ptr noundef @.str.4)
  %22898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22899 = load i32, ptr %22898, align 4, !tbaa !5
  %22900 = call ptr @s2n_strerror_debug(i32 noundef %22899, ptr noundef @.str.4)
  %22901 = call ptr @__errno_location() #12
  %22902 = load i32, ptr %22901, align 4, !tbaa !5
  %22903 = call ptr @strerror(i32 noundef %22902) #11
  %22904 = call ptr @__errno_location() #12
  %22905 = load i32, ptr %22904, align 4, !tbaa !5
  %22906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22893, ptr noundef @.str.5, i32 noundef %22894, ptr noundef @.str.149, ptr noundef @.str.1, i32 noundef 1063, ptr noundef %22897, ptr noundef %22900, ptr noundef %22903, i32 noundef %22905) #11
  br label %22907

22907:                                            ; preds = %22890, %22873
  call void @llvm.lifetime.end.p0(i64 4, ptr %570) #11
  br label %22908

22908:                                            ; preds = %22907
  br label %22909

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

22910:                                            ; No predecessors!
  br label %22911

22911:                                            ; preds = %22910
  br label %22912

22912:                                            ; preds = %22911, %22854
  br label %22913

22913:                                            ; preds = %22912
  br label %22914

22914:                                            ; preds = %22913
  br label %22915

22915:                                            ; preds = %22914
  %22916 = load i32, ptr @test_count, align 4, !tbaa !5
  %22917 = add nsw i32 %22916, 1
  store i32 %22917, ptr @test_count, align 4, !tbaa !5
  %22918 = load ptr, ptr %541, align 8, !tbaa !9
  %22919 = load ptr, ptr %545, align 8, !tbaa !9
  %22920 = call i32 @s2n_connection_set_config(ptr noundef %22918, ptr noundef %22919)
  %22921 = icmp eq i32 %22920, -1
  br i1 %22921, label %22922, label %22975

22922:                                            ; preds = %22915
  br label %22923

22923:                                            ; preds = %22922
  br label %22924

22924:                                            ; preds = %22923
  call void @llvm.lifetime.start.p0(i64 4, ptr %571) #11
  %22925 = call ptr @__errno_location() #12
  %22926 = load i32, ptr %22925, align 4, !tbaa !5
  store i32 %22926, ptr %571, align 4, !tbaa !5
  %22927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22928 = call i32 @s2n_print_stacktrace(ptr noundef %22927)
  %22929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22930 = trunc i8 %22929 to i1
  br i1 %22930, label %22931, label %22953

22931:                                            ; preds = %22924
  %22932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22933 = call i32 @fileno(ptr noundef %22932) #11
  %22934 = call i32 @isatty(i32 noundef %22933) #11
  %22935 = icmp ne i32 %22934, 0
  br i1 %22935, label %22936, label %22953

22936:                                            ; preds = %22931
  %22937 = load i32, ptr %571, align 4, !tbaa !5
  %22938 = call ptr @__errno_location() #12
  store i32 %22937, ptr %22938, align 4, !tbaa !5
  %22939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22940 = load i32, ptr @test_count, align 4, !tbaa !5
  %22941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22942 = load i32, ptr %22941, align 4, !tbaa !5
  %22943 = call ptr @s2n_strerror(i32 noundef %22942, ptr noundef @.str.4)
  %22944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22945 = load i32, ptr %22944, align 4, !tbaa !5
  %22946 = call ptr @s2n_strerror_debug(i32 noundef %22945, ptr noundef @.str.4)
  %22947 = call ptr @__errno_location() #12
  %22948 = load i32, ptr %22947, align 4, !tbaa !5
  %22949 = call ptr @strerror(i32 noundef %22948) #11
  %22950 = call ptr @__errno_location() #12
  %22951 = load i32, ptr %22950, align 4, !tbaa !5
  %22952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22939, ptr noundef @.str.2, i32 noundef %22940, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 1064, ptr noundef %22943, ptr noundef %22946, ptr noundef %22949, i32 noundef %22951) #11
  br label %22970

22953:                                            ; preds = %22931, %22924
  %22954 = load i32, ptr %571, align 4, !tbaa !5
  %22955 = call ptr @__errno_location() #12
  store i32 %22954, ptr %22955, align 4, !tbaa !5
  %22956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22957 = load i32, ptr @test_count, align 4, !tbaa !5
  %22958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22959 = load i32, ptr %22958, align 4, !tbaa !5
  %22960 = call ptr @s2n_strerror(i32 noundef %22959, ptr noundef @.str.4)
  %22961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22962 = load i32, ptr %22961, align 4, !tbaa !5
  %22963 = call ptr @s2n_strerror_debug(i32 noundef %22962, ptr noundef @.str.4)
  %22964 = call ptr @__errno_location() #12
  %22965 = load i32, ptr %22964, align 4, !tbaa !5
  %22966 = call ptr @strerror(i32 noundef %22965) #11
  %22967 = call ptr @__errno_location() #12
  %22968 = load i32, ptr %22967, align 4, !tbaa !5
  %22969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22956, ptr noundef @.str.5, i32 noundef %22957, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 1064, ptr noundef %22960, ptr noundef %22963, ptr noundef %22966, i32 noundef %22968) #11
  br label %22970

22970:                                            ; preds = %22953, %22936
  call void @llvm.lifetime.end.p0(i64 4, ptr %571) #11
  br label %22971

22971:                                            ; preds = %22970
  br label %22972

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

22973:                                            ; No predecessors!
  br label %22974

22974:                                            ; preds = %22973
  br label %22975

22975:                                            ; preds = %22974, %22915
  br label %22976

22976:                                            ; preds = %22975
  br label %22977

22977:                                            ; preds = %22976
  br label %22978

22978:                                            ; preds = %22977
  %22979 = load i32, ptr @test_count, align 4, !tbaa !5
  %22980 = add nsw i32 %22979, 1
  store i32 %22980, ptr @test_count, align 4, !tbaa !5
  %22981 = getelementptr inbounds %struct.s2n_stuffer, ptr %556, i32 0, i32 0
  %22982 = call i32 @s2n_write_test_identity(ptr noundef %539, ptr noundef %22981)
  %22983 = getelementptr inbounds %struct.s2n_result, ptr %572, i32 0, i32 0
  store i32 %22982, ptr %22983, align 4
  %22984 = getelementptr inbounds %struct.s2n_result, ptr %572, i32 0, i32 0
  %22985 = load i32, ptr %22984, align 4
  %22986 = call zeroext i1 @s2n_result_is_ok(i32 %22985)
  br i1 %22986, label %23040, label %22987

22987:                                            ; preds = %22978
  br label %22988

22988:                                            ; preds = %22987
  br label %22989

22989:                                            ; preds = %22988
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #11
  %22990 = call ptr @__errno_location() #12
  %22991 = load i32, ptr %22990, align 4, !tbaa !5
  store i32 %22991, ptr %573, align 4, !tbaa !5
  %22992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22993 = call i32 @s2n_print_stacktrace(ptr noundef %22992)
  %22994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22995 = trunc i8 %22994 to i1
  br i1 %22995, label %22996, label %23018

22996:                                            ; preds = %22989
  %22997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22998 = call i32 @fileno(ptr noundef %22997) #11
  %22999 = call i32 @isatty(i32 noundef %22998) #11
  %23000 = icmp ne i32 %22999, 0
  br i1 %23000, label %23001, label %23018

23001:                                            ; preds = %22996
  %23002 = load i32, ptr %573, align 4, !tbaa !5
  %23003 = call ptr @__errno_location() #12
  store i32 %23002, ptr %23003, align 4, !tbaa !5
  %23004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23005 = load i32, ptr @test_count, align 4, !tbaa !5
  %23006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23007 = load i32, ptr %23006, align 4, !tbaa !5
  %23008 = call ptr @s2n_strerror(i32 noundef %23007, ptr noundef @.str.4)
  %23009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23010 = load i32, ptr %23009, align 4, !tbaa !5
  %23011 = call ptr @s2n_strerror_debug(i32 noundef %23010, ptr noundef @.str.4)
  %23012 = call ptr @__errno_location() #12
  %23013 = load i32, ptr %23012, align 4, !tbaa !5
  %23014 = call ptr @strerror(i32 noundef %23013) #11
  %23015 = call ptr @__errno_location() #12
  %23016 = load i32, ptr %23015, align 4, !tbaa !5
  %23017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23004, ptr noundef @.str.2, i32 noundef %23005, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 1065, ptr noundef %23008, ptr noundef %23011, ptr noundef %23014, i32 noundef %23016) #11
  br label %23035

23018:                                            ; preds = %22996, %22989
  %23019 = load i32, ptr %573, align 4, !tbaa !5
  %23020 = call ptr @__errno_location() #12
  store i32 %23019, ptr %23020, align 4, !tbaa !5
  %23021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23022 = load i32, ptr @test_count, align 4, !tbaa !5
  %23023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23024 = load i32, ptr %23023, align 4, !tbaa !5
  %23025 = call ptr @s2n_strerror(i32 noundef %23024, ptr noundef @.str.4)
  %23026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23027 = load i32, ptr %23026, align 4, !tbaa !5
  %23028 = call ptr @s2n_strerror_debug(i32 noundef %23027, ptr noundef @.str.4)
  %23029 = call ptr @__errno_location() #12
  %23030 = load i32, ptr %23029, align 4, !tbaa !5
  %23031 = call ptr @strerror(i32 noundef %23030) #11
  %23032 = call ptr @__errno_location() #12
  %23033 = load i32, ptr %23032, align 4, !tbaa !5
  %23034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23021, ptr noundef @.str.5, i32 noundef %23022, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 1065, ptr noundef %23025, ptr noundef %23028, ptr noundef %23031, i32 noundef %23033) #11
  br label %23035

23035:                                            ; preds = %23018, %23001
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #11
  br label %23036

23036:                                            ; preds = %23035
  br label %23037

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

23038:                                            ; No predecessors!
  br label %23039

23039:                                            ; preds = %23038
  br label %23040

23040:                                            ; preds = %23039, %22978
  br label %23041

23041:                                            ; preds = %23040
  br label %23042

23042:                                            ; preds = %23041
  br label %23043

23043:                                            ; preds = %23042
  %23044 = load i32, ptr @test_count, align 4, !tbaa !5
  %23045 = add nsw i32 %23044, 1
  store i32 %23045, ptr @test_count, align 4, !tbaa !5
  %23046 = load ptr, ptr %541, align 8, !tbaa !9
  %23047 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %23046, ptr noundef %539)
  %23048 = getelementptr inbounds %struct.s2n_result, ptr %574, i32 0, i32 0
  store i32 %23047, ptr %23048, align 4
  %23049 = getelementptr inbounds %struct.s2n_result, ptr %574, i32 0, i32 0
  %23050 = load i32, ptr %23049, align 4
  %23051 = call zeroext i1 @s2n_result_is_ok(i32 %23050)
  br i1 %23051, label %23105, label %23052

23052:                                            ; preds = %23043
  br label %23053

23053:                                            ; preds = %23052
  br label %23054

23054:                                            ; preds = %23053
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #11
  %23055 = call ptr @__errno_location() #12
  %23056 = load i32, ptr %23055, align 4, !tbaa !5
  store i32 %23056, ptr %575, align 4, !tbaa !5
  %23057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23058 = call i32 @s2n_print_stacktrace(ptr noundef %23057)
  %23059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23060 = trunc i8 %23059 to i1
  br i1 %23060, label %23061, label %23083

23061:                                            ; preds = %23054
  %23062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23063 = call i32 @fileno(ptr noundef %23062) #11
  %23064 = call i32 @isatty(i32 noundef %23063) #11
  %23065 = icmp ne i32 %23064, 0
  br i1 %23065, label %23066, label %23083

23066:                                            ; preds = %23061
  %23067 = load i32, ptr %575, align 4, !tbaa !5
  %23068 = call ptr @__errno_location() #12
  store i32 %23067, ptr %23068, align 4, !tbaa !5
  %23069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23070 = load i32, ptr @test_count, align 4, !tbaa !5
  %23071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23072 = load i32, ptr %23071, align 4, !tbaa !5
  %23073 = call ptr @s2n_strerror(i32 noundef %23072, ptr noundef @.str.4)
  %23074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23075 = load i32, ptr %23074, align 4, !tbaa !5
  %23076 = call ptr @s2n_strerror_debug(i32 noundef %23075, ptr noundef @.str.4)
  %23077 = call ptr @__errno_location() #12
  %23078 = load i32, ptr %23077, align 4, !tbaa !5
  %23079 = call ptr @strerror(i32 noundef %23078) #11
  %23080 = call ptr @__errno_location() #12
  %23081 = load i32, ptr %23080, align 4, !tbaa !5
  %23082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23069, ptr noundef @.str.2, i32 noundef %23070, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %23073, ptr noundef %23076, ptr noundef %23079, i32 noundef %23081) #11
  br label %23100

23083:                                            ; preds = %23061, %23054
  %23084 = load i32, ptr %575, align 4, !tbaa !5
  %23085 = call ptr @__errno_location() #12
  store i32 %23084, ptr %23085, align 4, !tbaa !5
  %23086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23087 = load i32, ptr @test_count, align 4, !tbaa !5
  %23088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23089 = load i32, ptr %23088, align 4, !tbaa !5
  %23090 = call ptr @s2n_strerror(i32 noundef %23089, ptr noundef @.str.4)
  %23091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23092 = load i32, ptr %23091, align 4, !tbaa !5
  %23093 = call ptr @s2n_strerror_debug(i32 noundef %23092, ptr noundef @.str.4)
  %23094 = call ptr @__errno_location() #12
  %23095 = load i32, ptr %23094, align 4, !tbaa !5
  %23096 = call ptr @strerror(i32 noundef %23095) #11
  %23097 = call ptr @__errno_location() #12
  %23098 = load i32, ptr %23097, align 4, !tbaa !5
  %23099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23086, ptr noundef @.str.5, i32 noundef %23087, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %23090, ptr noundef %23093, ptr noundef %23096, i32 noundef %23098) #11
  br label %23100

23100:                                            ; preds = %23083, %23066
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #11
  br label %23101

23101:                                            ; preds = %23100
  br label %23102

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

23103:                                            ; No predecessors!
  br label %23104

23104:                                            ; preds = %23103
  br label %23105

23105:                                            ; preds = %23104, %23043
  br label %23106

23106:                                            ; preds = %23105
  br label %23107

23107:                                            ; preds = %23106
  br label %23108

23108:                                            ; preds = %23107
  %23109 = load i32, ptr @test_count, align 4, !tbaa !5
  %23110 = add nsw i32 %23109, 1
  store i32 %23110, ptr @test_count, align 4, !tbaa !5
  %23111 = load ptr, ptr %541, align 8, !tbaa !9
  %23112 = getelementptr inbounds %struct.s2n_connection, ptr %23111, i32 0, i32 33
  %23113 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %23112, i32 0, i32 3
  %23114 = load i16, ptr %23113, align 2, !tbaa !99
  %23115 = zext i16 %23114 to i32
  %23116 = icmp eq i32 %23115, 0
  br i1 %23116, label %23170, label %23117

23117:                                            ; preds = %23108
  br label %23118

23118:                                            ; preds = %23117
  br label %23119

23119:                                            ; preds = %23118
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #11
  %23120 = call ptr @__errno_location() #12
  %23121 = load i32, ptr %23120, align 4, !tbaa !5
  store i32 %23121, ptr %576, align 4, !tbaa !5
  %23122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23123 = call i32 @s2n_print_stacktrace(ptr noundef %23122)
  %23124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23125 = trunc i8 %23124 to i1
  br i1 %23125, label %23126, label %23148

23126:                                            ; preds = %23119
  %23127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23128 = call i32 @fileno(ptr noundef %23127) #11
  %23129 = call i32 @isatty(i32 noundef %23128) #11
  %23130 = icmp ne i32 %23129, 0
  br i1 %23130, label %23131, label %23148

23131:                                            ; preds = %23126
  %23132 = load i32, ptr %576, align 4, !tbaa !5
  %23133 = call ptr @__errno_location() #12
  store i32 %23132, ptr %23133, align 4, !tbaa !5
  %23134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23135 = load i32, ptr @test_count, align 4, !tbaa !5
  %23136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23137 = load i32, ptr %23136, align 4, !tbaa !5
  %23138 = call ptr @s2n_strerror(i32 noundef %23137, ptr noundef @.str.4)
  %23139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23140 = load i32, ptr %23139, align 4, !tbaa !5
  %23141 = call ptr @s2n_strerror_debug(i32 noundef %23140, ptr noundef @.str.4)
  %23142 = call ptr @__errno_location() #12
  %23143 = load i32, ptr %23142, align 4, !tbaa !5
  %23144 = call ptr @strerror(i32 noundef %23143) #11
  %23145 = call ptr @__errno_location() #12
  %23146 = load i32, ptr %23145, align 4, !tbaa !5
  %23147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23134, ptr noundef @.str.2, i32 noundef %23135, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 1069, ptr noundef %23138, ptr noundef %23141, ptr noundef %23144, i32 noundef %23146) #11
  br label %23165

23148:                                            ; preds = %23126, %23119
  %23149 = load i32, ptr %576, align 4, !tbaa !5
  %23150 = call ptr @__errno_location() #12
  store i32 %23149, ptr %23150, align 4, !tbaa !5
  %23151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23152 = load i32, ptr @test_count, align 4, !tbaa !5
  %23153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23154 = load i32, ptr %23153, align 4, !tbaa !5
  %23155 = call ptr @s2n_strerror(i32 noundef %23154, ptr noundef @.str.4)
  %23156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23157 = load i32, ptr %23156, align 4, !tbaa !5
  %23158 = call ptr @s2n_strerror_debug(i32 noundef %23157, ptr noundef @.str.4)
  %23159 = call ptr @__errno_location() #12
  %23160 = load i32, ptr %23159, align 4, !tbaa !5
  %23161 = call ptr @strerror(i32 noundef %23160) #11
  %23162 = call ptr @__errno_location() #12
  %23163 = load i32, ptr %23162, align 4, !tbaa !5
  %23164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23151, ptr noundef @.str.5, i32 noundef %23152, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 1069, ptr noundef %23155, ptr noundef %23158, ptr noundef %23161, i32 noundef %23163) #11
  br label %23165

23165:                                            ; preds = %23148, %23131
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #11
  br label %23166

23166:                                            ; preds = %23165
  br label %23167

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

23168:                                            ; No predecessors!
  br label %23169

23169:                                            ; preds = %23168
  br label %23170

23170:                                            ; preds = %23169, %23108
  br label %23171

23171:                                            ; preds = %23170
  br label %23172

23172:                                            ; preds = %23171
  br label %23173

23173:                                            ; preds = %23172
  %23174 = load i32, ptr @test_count, align 4, !tbaa !5
  %23175 = add nsw i32 %23174, 1
  store i32 %23175, ptr @test_count, align 4, !tbaa !5
  %23176 = load ptr, ptr %541, align 8, !tbaa !9
  %23177 = getelementptr inbounds %struct.s2n_connection, ptr %23176, i32 0, i32 33
  %23178 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %23177, i32 0, i32 4
  %23179 = load ptr, ptr %23178, align 8, !tbaa !100
  %23180 = icmp eq ptr %23179, null
  br i1 %23180, label %23181, label %23234

23181:                                            ; preds = %23173
  br label %23182

23182:                                            ; preds = %23181
  br label %23183

23183:                                            ; preds = %23182
  call void @llvm.lifetime.start.p0(i64 4, ptr %577) #11
  %23184 = call ptr @__errno_location() #12
  %23185 = load i32, ptr %23184, align 4, !tbaa !5
  store i32 %23185, ptr %577, align 4, !tbaa !5
  %23186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23187 = call i32 @s2n_print_stacktrace(ptr noundef %23186)
  %23188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23189 = trunc i8 %23188 to i1
  br i1 %23189, label %23190, label %23212

23190:                                            ; preds = %23183
  %23191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23192 = call i32 @fileno(ptr noundef %23191) #11
  %23193 = call i32 @isatty(i32 noundef %23192) #11
  %23194 = icmp ne i32 %23193, 0
  br i1 %23194, label %23195, label %23212

23195:                                            ; preds = %23190
  %23196 = load i32, ptr %577, align 4, !tbaa !5
  %23197 = call ptr @__errno_location() #12
  store i32 %23196, ptr %23197, align 4, !tbaa !5
  %23198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23199 = load i32, ptr @test_count, align 4, !tbaa !5
  %23200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23201 = load i32, ptr %23200, align 4, !tbaa !5
  %23202 = call ptr @s2n_strerror(i32 noundef %23201, ptr noundef @.str.4)
  %23203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23204 = load i32, ptr %23203, align 4, !tbaa !5
  %23205 = call ptr @s2n_strerror_debug(i32 noundef %23204, ptr noundef @.str.4)
  %23206 = call ptr @__errno_location() #12
  %23207 = load i32, ptr %23206, align 4, !tbaa !5
  %23208 = call ptr @strerror(i32 noundef %23207) #11
  %23209 = call ptr @__errno_location() #12
  %23210 = load i32, ptr %23209, align 4, !tbaa !5
  %23211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23198, ptr noundef @.str.2, i32 noundef %23199, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1070, ptr noundef %23202, ptr noundef %23205, ptr noundef %23208, i32 noundef %23210) #11
  br label %23229

23212:                                            ; preds = %23190, %23183
  %23213 = load i32, ptr %577, align 4, !tbaa !5
  %23214 = call ptr @__errno_location() #12
  store i32 %23213, ptr %23214, align 4, !tbaa !5
  %23215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23216 = load i32, ptr @test_count, align 4, !tbaa !5
  %23217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23218 = load i32, ptr %23217, align 4, !tbaa !5
  %23219 = call ptr @s2n_strerror(i32 noundef %23218, ptr noundef @.str.4)
  %23220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23221 = load i32, ptr %23220, align 4, !tbaa !5
  %23222 = call ptr @s2n_strerror_debug(i32 noundef %23221, ptr noundef @.str.4)
  %23223 = call ptr @__errno_location() #12
  %23224 = load i32, ptr %23223, align 4, !tbaa !5
  %23225 = call ptr @strerror(i32 noundef %23224) #11
  %23226 = call ptr @__errno_location() #12
  %23227 = load i32, ptr %23226, align 4, !tbaa !5
  %23228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23215, ptr noundef @.str.5, i32 noundef %23216, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1070, ptr noundef %23219, ptr noundef %23222, ptr noundef %23225, i32 noundef %23227) #11
  br label %23229

23229:                                            ; preds = %23212, %23195
  call void @llvm.lifetime.end.p0(i64 4, ptr %577) #11
  br label %23230

23230:                                            ; preds = %23229
  br label %23231

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

23232:                                            ; No predecessors!
  br label %23233

23233:                                            ; preds = %23232
  br label %23234

23234:                                            ; preds = %23233, %23173
  br label %23235

23235:                                            ; preds = %23234
  br label %23236

23236:                                            ; preds = %23235
  %23237 = load ptr, ptr %541, align 8, !tbaa !9
  %23238 = getelementptr inbounds %struct.s2n_connection, ptr %23237, i32 0, i32 33
  %23239 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %23238, i32 0, i32 4
  store ptr null, ptr %23239, align 8, !tbaa !100
  br label %23240

23240:                                            ; preds = %23236
  %23241 = load i32, ptr @test_count, align 4, !tbaa !5
  %23242 = add nsw i32 %23241, 1
  store i32 %23242, ptr @test_count, align 4, !tbaa !5
  %23243 = call i32 @s2n_stuffer_rewrite(ptr noundef %539)
  %23244 = icmp eq i32 %23243, -1
  br i1 %23244, label %23245, label %23298

23245:                                            ; preds = %23240
  br label %23246

23246:                                            ; preds = %23245
  br label %23247

23247:                                            ; preds = %23246
  call void @llvm.lifetime.start.p0(i64 4, ptr %578) #11
  %23248 = call ptr @__errno_location() #12
  %23249 = load i32, ptr %23248, align 4, !tbaa !5
  store i32 %23249, ptr %578, align 4, !tbaa !5
  %23250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23251 = call i32 @s2n_print_stacktrace(ptr noundef %23250)
  %23252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23253 = trunc i8 %23252 to i1
  br i1 %23253, label %23254, label %23276

23254:                                            ; preds = %23247
  %23255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23256 = call i32 @fileno(ptr noundef %23255) #11
  %23257 = call i32 @isatty(i32 noundef %23256) #11
  %23258 = icmp ne i32 %23257, 0
  br i1 %23258, label %23259, label %23276

23259:                                            ; preds = %23254
  %23260 = load i32, ptr %578, align 4, !tbaa !5
  %23261 = call ptr @__errno_location() #12
  store i32 %23260, ptr %23261, align 4, !tbaa !5
  %23262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23263 = load i32, ptr @test_count, align 4, !tbaa !5
  %23264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23265 = load i32, ptr %23264, align 4, !tbaa !5
  %23266 = call ptr @s2n_strerror(i32 noundef %23265, ptr noundef @.str.4)
  %23267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23268 = load i32, ptr %23267, align 4, !tbaa !5
  %23269 = call ptr @s2n_strerror_debug(i32 noundef %23268, ptr noundef @.str.4)
  %23270 = call ptr @__errno_location() #12
  %23271 = load i32, ptr %23270, align 4, !tbaa !5
  %23272 = call ptr @strerror(i32 noundef %23271) #11
  %23273 = call ptr @__errno_location() #12
  %23274 = load i32, ptr %23273, align 4, !tbaa !5
  %23275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23262, ptr noundef @.str.2, i32 noundef %23263, ptr noundef @.str.149, ptr noundef @.str.1, i32 noundef 1076, ptr noundef %23266, ptr noundef %23269, ptr noundef %23272, i32 noundef %23274) #11
  br label %23293

23276:                                            ; preds = %23254, %23247
  %23277 = load i32, ptr %578, align 4, !tbaa !5
  %23278 = call ptr @__errno_location() #12
  store i32 %23277, ptr %23278, align 4, !tbaa !5
  %23279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23280 = load i32, ptr @test_count, align 4, !tbaa !5
  %23281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23282 = load i32, ptr %23281, align 4, !tbaa !5
  %23283 = call ptr @s2n_strerror(i32 noundef %23282, ptr noundef @.str.4)
  %23284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23285 = load i32, ptr %23284, align 4, !tbaa !5
  %23286 = call ptr @s2n_strerror_debug(i32 noundef %23285, ptr noundef @.str.4)
  %23287 = call ptr @__errno_location() #12
  %23288 = load i32, ptr %23287, align 4, !tbaa !5
  %23289 = call ptr @strerror(i32 noundef %23288) #11
  %23290 = call ptr @__errno_location() #12
  %23291 = load i32, ptr %23290, align 4, !tbaa !5
  %23292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23279, ptr noundef @.str.5, i32 noundef %23280, ptr noundef @.str.149, ptr noundef @.str.1, i32 noundef 1076, ptr noundef %23283, ptr noundef %23286, ptr noundef %23289, i32 noundef %23291) #11
  br label %23293

23293:                                            ; preds = %23276, %23259
  call void @llvm.lifetime.end.p0(i64 4, ptr %578) #11
  br label %23294

23294:                                            ; preds = %23293
  br label %23295

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

23296:                                            ; No predecessors!
  br label %23297

23297:                                            ; preds = %23296
  br label %23298

23298:                                            ; preds = %23297, %23240
  br label %23299

23299:                                            ; preds = %23298
  br label %23300

23300:                                            ; preds = %23299
  br label %23301

23301:                                            ; preds = %23300
  %23302 = load i32, ptr @test_count, align 4, !tbaa !5
  %23303 = add nsw i32 %23302, 1
  store i32 %23303, ptr @test_count, align 4, !tbaa !5
  %23304 = load ptr, ptr %541, align 8, !tbaa !9
  %23305 = load ptr, ptr %545, align 8, !tbaa !9
  %23306 = call i32 @s2n_connection_set_config(ptr noundef %23304, ptr noundef %23305)
  %23307 = icmp eq i32 %23306, -1
  br i1 %23307, label %23308, label %23361

23308:                                            ; preds = %23301
  br label %23309

23309:                                            ; preds = %23308
  br label %23310

23310:                                            ; preds = %23309
  call void @llvm.lifetime.start.p0(i64 4, ptr %579) #11
  %23311 = call ptr @__errno_location() #12
  %23312 = load i32, ptr %23311, align 4, !tbaa !5
  store i32 %23312, ptr %579, align 4, !tbaa !5
  %23313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23314 = call i32 @s2n_print_stacktrace(ptr noundef %23313)
  %23315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23316 = trunc i8 %23315 to i1
  br i1 %23316, label %23317, label %23339

23317:                                            ; preds = %23310
  %23318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23319 = call i32 @fileno(ptr noundef %23318) #11
  %23320 = call i32 @isatty(i32 noundef %23319) #11
  %23321 = icmp ne i32 %23320, 0
  br i1 %23321, label %23322, label %23339

23322:                                            ; preds = %23317
  %23323 = load i32, ptr %579, align 4, !tbaa !5
  %23324 = call ptr @__errno_location() #12
  store i32 %23323, ptr %23324, align 4, !tbaa !5
  %23325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23326 = load i32, ptr @test_count, align 4, !tbaa !5
  %23327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23328 = load i32, ptr %23327, align 4, !tbaa !5
  %23329 = call ptr @s2n_strerror(i32 noundef %23328, ptr noundef @.str.4)
  %23330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23331 = load i32, ptr %23330, align 4, !tbaa !5
  %23332 = call ptr @s2n_strerror_debug(i32 noundef %23331, ptr noundef @.str.4)
  %23333 = call ptr @__errno_location() #12
  %23334 = load i32, ptr %23333, align 4, !tbaa !5
  %23335 = call ptr @strerror(i32 noundef %23334) #11
  %23336 = call ptr @__errno_location() #12
  %23337 = load i32, ptr %23336, align 4, !tbaa !5
  %23338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23325, ptr noundef @.str.2, i32 noundef %23326, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 1077, ptr noundef %23329, ptr noundef %23332, ptr noundef %23335, i32 noundef %23337) #11
  br label %23356

23339:                                            ; preds = %23317, %23310
  %23340 = load i32, ptr %579, align 4, !tbaa !5
  %23341 = call ptr @__errno_location() #12
  store i32 %23340, ptr %23341, align 4, !tbaa !5
  %23342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23343 = load i32, ptr @test_count, align 4, !tbaa !5
  %23344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23345 = load i32, ptr %23344, align 4, !tbaa !5
  %23346 = call ptr @s2n_strerror(i32 noundef %23345, ptr noundef @.str.4)
  %23347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23348 = load i32, ptr %23347, align 4, !tbaa !5
  %23349 = call ptr @s2n_strerror_debug(i32 noundef %23348, ptr noundef @.str.4)
  %23350 = call ptr @__errno_location() #12
  %23351 = load i32, ptr %23350, align 4, !tbaa !5
  %23352 = call ptr @strerror(i32 noundef %23351) #11
  %23353 = call ptr @__errno_location() #12
  %23354 = load i32, ptr %23353, align 4, !tbaa !5
  %23355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23342, ptr noundef @.str.5, i32 noundef %23343, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 1077, ptr noundef %23346, ptr noundef %23349, ptr noundef %23352, i32 noundef %23354) #11
  br label %23356

23356:                                            ; preds = %23339, %23322
  call void @llvm.lifetime.end.p0(i64 4, ptr %579) #11
  br label %23357

23357:                                            ; preds = %23356
  br label %23358

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

23359:                                            ; No predecessors!
  br label %23360

23360:                                            ; preds = %23359
  br label %23361

23361:                                            ; preds = %23360, %23301
  br label %23362

23362:                                            ; preds = %23361
  br label %23363

23363:                                            ; preds = %23362
  call void @llvm.lifetime.start.p0(i64 24, ptr %580) #11
  call void @llvm.memset.p0.i64(ptr align 8 %580, i8 0, i64 24, i1 false)
  br label %23364

23364:                                            ; preds = %23363
  %23365 = load i32, ptr @test_count, align 4, !tbaa !5
  %23366 = add nsw i32 %23365, 1
  store i32 %23366, ptr @test_count, align 4, !tbaa !5
  %23367 = getelementptr inbounds [3 x i8], ptr %10, i64 0, i64 0
  %23368 = call i32 @s2n_blob_init(ptr noundef %580, ptr noundef %23367, i32 noundef 3)
  %23369 = icmp eq i32 %23368, -1
  br i1 %23369, label %23370, label %23423

23370:                                            ; preds = %23364
  br label %23371

23371:                                            ; preds = %23370
  br label %23372

23372:                                            ; preds = %23371
  call void @llvm.lifetime.start.p0(i64 4, ptr %581) #11
  %23373 = call ptr @__errno_location() #12
  %23374 = load i32, ptr %23373, align 4, !tbaa !5
  store i32 %23374, ptr %581, align 4, !tbaa !5
  %23375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23376 = call i32 @s2n_print_stacktrace(ptr noundef %23375)
  %23377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23378 = trunc i8 %23377 to i1
  br i1 %23378, label %23379, label %23401

23379:                                            ; preds = %23372
  %23380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23381 = call i32 @fileno(ptr noundef %23380) #11
  %23382 = call i32 @isatty(i32 noundef %23381) #11
  %23383 = icmp ne i32 %23382, 0
  br i1 %23383, label %23384, label %23401

23384:                                            ; preds = %23379
  %23385 = load i32, ptr %581, align 4, !tbaa !5
  %23386 = call ptr @__errno_location() #12
  store i32 %23385, ptr %23386, align 4, !tbaa !5
  %23387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23388 = load i32, ptr @test_count, align 4, !tbaa !5
  %23389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23390 = load i32, ptr %23389, align 4, !tbaa !5
  %23391 = call ptr @s2n_strerror(i32 noundef %23390, ptr noundef @.str.4)
  %23392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23393 = load i32, ptr %23392, align 4, !tbaa !5
  %23394 = call ptr @s2n_strerror_debug(i32 noundef %23393, ptr noundef @.str.4)
  %23395 = call ptr @__errno_location() #12
  %23396 = load i32, ptr %23395, align 4, !tbaa !5
  %23397 = call ptr @strerror(i32 noundef %23396) #11
  %23398 = call ptr @__errno_location() #12
  %23399 = load i32, ptr %23398, align 4, !tbaa !5
  %23400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23387, ptr noundef @.str.2, i32 noundef %23388, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1080, ptr noundef %23391, ptr noundef %23394, ptr noundef %23397, i32 noundef %23399) #11
  br label %23418

23401:                                            ; preds = %23379, %23372
  %23402 = load i32, ptr %581, align 4, !tbaa !5
  %23403 = call ptr @__errno_location() #12
  store i32 %23402, ptr %23403, align 4, !tbaa !5
  %23404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23405 = load i32, ptr @test_count, align 4, !tbaa !5
  %23406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23407 = load i32, ptr %23406, align 4, !tbaa !5
  %23408 = call ptr @s2n_strerror(i32 noundef %23407, ptr noundef @.str.4)
  %23409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23410 = load i32, ptr %23409, align 4, !tbaa !5
  %23411 = call ptr @s2n_strerror_debug(i32 noundef %23410, ptr noundef @.str.4)
  %23412 = call ptr @__errno_location() #12
  %23413 = load i32, ptr %23412, align 4, !tbaa !5
  %23414 = call ptr @strerror(i32 noundef %23413) #11
  %23415 = call ptr @__errno_location() #12
  %23416 = load i32, ptr %23415, align 4, !tbaa !5
  %23417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23404, ptr noundef @.str.5, i32 noundef %23405, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1080, ptr noundef %23408, ptr noundef %23411, ptr noundef %23414, i32 noundef %23416) #11
  br label %23418

23418:                                            ; preds = %23401, %23384
  call void @llvm.lifetime.end.p0(i64 4, ptr %581) #11
  br label %23419

23419:                                            ; preds = %23418
  br label %23420

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

23421:                                            ; No predecessors!
  br label %23422

23422:                                            ; preds = %23421
  br label %23423

23423:                                            ; preds = %23422, %23364
  br label %23424

23424:                                            ; preds = %23423
  br label %23425

23425:                                            ; preds = %23424
  br label %23426

23426:                                            ; preds = %23425
  %23427 = load i32, ptr @test_count, align 4, !tbaa !5
  %23428 = add nsw i32 %23427, 1
  store i32 %23428, ptr @test_count, align 4, !tbaa !5
  %23429 = call i32 @s2n_write_test_identity(ptr noundef %539, ptr noundef %580)
  %23430 = getelementptr inbounds %struct.s2n_result, ptr %582, i32 0, i32 0
  store i32 %23429, ptr %23430, align 4
  %23431 = getelementptr inbounds %struct.s2n_result, ptr %582, i32 0, i32 0
  %23432 = load i32, ptr %23431, align 4
  %23433 = call zeroext i1 @s2n_result_is_ok(i32 %23432)
  br i1 %23433, label %23487, label %23434

23434:                                            ; preds = %23426
  br label %23435

23435:                                            ; preds = %23434
  br label %23436

23436:                                            ; preds = %23435
  call void @llvm.lifetime.start.p0(i64 4, ptr %583) #11
  %23437 = call ptr @__errno_location() #12
  %23438 = load i32, ptr %23437, align 4, !tbaa !5
  store i32 %23438, ptr %583, align 4, !tbaa !5
  %23439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23440 = call i32 @s2n_print_stacktrace(ptr noundef %23439)
  %23441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23442 = trunc i8 %23441 to i1
  br i1 %23442, label %23443, label %23465

23443:                                            ; preds = %23436
  %23444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23445 = call i32 @fileno(ptr noundef %23444) #11
  %23446 = call i32 @isatty(i32 noundef %23445) #11
  %23447 = icmp ne i32 %23446, 0
  br i1 %23447, label %23448, label %23465

23448:                                            ; preds = %23443
  %23449 = load i32, ptr %583, align 4, !tbaa !5
  %23450 = call ptr @__errno_location() #12
  store i32 %23449, ptr %23450, align 4, !tbaa !5
  %23451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23452 = load i32, ptr @test_count, align 4, !tbaa !5
  %23453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23454 = load i32, ptr %23453, align 4, !tbaa !5
  %23455 = call ptr @s2n_strerror(i32 noundef %23454, ptr noundef @.str.4)
  %23456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23457 = load i32, ptr %23456, align 4, !tbaa !5
  %23458 = call ptr @s2n_strerror_debug(i32 noundef %23457, ptr noundef @.str.4)
  %23459 = call ptr @__errno_location() #12
  %23460 = load i32, ptr %23459, align 4, !tbaa !5
  %23461 = call ptr @strerror(i32 noundef %23460) #11
  %23462 = call ptr @__errno_location() #12
  %23463 = load i32, ptr %23462, align 4, !tbaa !5
  %23464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23451, ptr noundef @.str.2, i32 noundef %23452, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %23455, ptr noundef %23458, ptr noundef %23461, i32 noundef %23463) #11
  br label %23482

23465:                                            ; preds = %23443, %23436
  %23466 = load i32, ptr %583, align 4, !tbaa !5
  %23467 = call ptr @__errno_location() #12
  store i32 %23466, ptr %23467, align 4, !tbaa !5
  %23468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23469 = load i32, ptr @test_count, align 4, !tbaa !5
  %23470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23471 = load i32, ptr %23470, align 4, !tbaa !5
  %23472 = call ptr @s2n_strerror(i32 noundef %23471, ptr noundef @.str.4)
  %23473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23474 = load i32, ptr %23473, align 4, !tbaa !5
  %23475 = call ptr @s2n_strerror_debug(i32 noundef %23474, ptr noundef @.str.4)
  %23476 = call ptr @__errno_location() #12
  %23477 = load i32, ptr %23476, align 4, !tbaa !5
  %23478 = call ptr @strerror(i32 noundef %23477) #11
  %23479 = call ptr @__errno_location() #12
  %23480 = load i32, ptr %23479, align 4, !tbaa !5
  %23481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23468, ptr noundef @.str.5, i32 noundef %23469, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %23472, ptr noundef %23475, ptr noundef %23478, i32 noundef %23480) #11
  br label %23482

23482:                                            ; preds = %23465, %23448
  call void @llvm.lifetime.end.p0(i64 4, ptr %583) #11
  br label %23483

23483:                                            ; preds = %23482
  br label %23484

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

23485:                                            ; No predecessors!
  br label %23486

23486:                                            ; preds = %23485
  br label %23487

23487:                                            ; preds = %23486, %23426
  br label %23488

23488:                                            ; preds = %23487
  br label %23489

23489:                                            ; preds = %23488
  br label %23490

23490:                                            ; preds = %23489
  br label %23491

23491:                                            ; preds = %23490
  %23492 = load i32, ptr @test_count, align 4, !tbaa !5
  %23493 = add nsw i32 %23492, 1
  store i32 %23493, ptr @test_count, align 4, !tbaa !5
  %23494 = load ptr, ptr %541, align 8, !tbaa !9
  %23495 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef %23494, ptr noundef %539)
  %23496 = getelementptr inbounds %struct.s2n_result, ptr %584, i32 0, i32 0
  store i32 %23495, ptr %23496, align 4
  %23497 = getelementptr inbounds %struct.s2n_result, ptr %584, i32 0, i32 0
  %23498 = load i32, ptr %23497, align 4
  %23499 = call zeroext i1 @s2n_result_is_error(i32 %23498)
  br i1 %23499, label %23553, label %23500

23500:                                            ; preds = %23491
  br label %23501

23501:                                            ; preds = %23500
  br label %23502

23502:                                            ; preds = %23501
  call void @llvm.lifetime.start.p0(i64 4, ptr %585) #11
  %23503 = call ptr @__errno_location() #12
  %23504 = load i32, ptr %23503, align 4, !tbaa !5
  store i32 %23504, ptr %585, align 4, !tbaa !5
  %23505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23506 = call i32 @s2n_print_stacktrace(ptr noundef %23505)
  %23507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23508 = trunc i8 %23507 to i1
  br i1 %23508, label %23509, label %23531

23509:                                            ; preds = %23502
  %23510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23511 = call i32 @fileno(ptr noundef %23510) #11
  %23512 = call i32 @isatty(i32 noundef %23511) #11
  %23513 = icmp ne i32 %23512, 0
  br i1 %23513, label %23514, label %23531

23514:                                            ; preds = %23509
  %23515 = load i32, ptr %585, align 4, !tbaa !5
  %23516 = call ptr @__errno_location() #12
  store i32 %23515, ptr %23516, align 4, !tbaa !5
  %23517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23518 = load i32, ptr @test_count, align 4, !tbaa !5
  %23519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23520 = load i32, ptr %23519, align 4, !tbaa !5
  %23521 = call ptr @s2n_strerror(i32 noundef %23520, ptr noundef @.str.4)
  %23522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23523 = load i32, ptr %23522, align 4, !tbaa !5
  %23524 = call ptr @s2n_strerror_debug(i32 noundef %23523, ptr noundef @.str.4)
  %23525 = call ptr @__errno_location() #12
  %23526 = load i32, ptr %23525, align 4, !tbaa !5
  %23527 = call ptr @strerror(i32 noundef %23526) #11
  %23528 = call ptr @__errno_location() #12
  %23529 = load i32, ptr %23528, align 4, !tbaa !5
  %23530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23517, ptr noundef @.str.2, i32 noundef %23518, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %23521, ptr noundef %23524, ptr noundef %23527, i32 noundef %23529) #11
  br label %23548

23531:                                            ; preds = %23509, %23502
  %23532 = load i32, ptr %585, align 4, !tbaa !5
  %23533 = call ptr @__errno_location() #12
  store i32 %23532, ptr %23533, align 4, !tbaa !5
  %23534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23535 = load i32, ptr @test_count, align 4, !tbaa !5
  %23536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23537 = load i32, ptr %23536, align 4, !tbaa !5
  %23538 = call ptr @s2n_strerror(i32 noundef %23537, ptr noundef @.str.4)
  %23539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23540 = load i32, ptr %23539, align 4, !tbaa !5
  %23541 = call ptr @s2n_strerror_debug(i32 noundef %23540, ptr noundef @.str.4)
  %23542 = call ptr @__errno_location() #12
  %23543 = load i32, ptr %23542, align 4, !tbaa !5
  %23544 = call ptr @strerror(i32 noundef %23543) #11
  %23545 = call ptr @__errno_location() #12
  %23546 = load i32, ptr %23545, align 4, !tbaa !5
  %23547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23534, ptr noundef @.str.5, i32 noundef %23535, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %23538, ptr noundef %23541, ptr noundef %23544, i32 noundef %23546) #11
  br label %23548

23548:                                            ; preds = %23531, %23514
  call void @llvm.lifetime.end.p0(i64 4, ptr %585) #11
  br label %23549

23549:                                            ; preds = %23548
  br label %23550

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

23551:                                            ; No predecessors!
  br label %23552

23552:                                            ; preds = %23551
  br label %23553

23553:                                            ; preds = %23552, %23491
  br label %23554

23554:                                            ; preds = %23553
  br label %23555

23555:                                            ; preds = %23554
  br label %23556

23556:                                            ; preds = %23555
  %23557 = load i32, ptr @test_count, align 4, !tbaa !5
  %23558 = add nsw i32 %23557, 1
  store i32 %23558, ptr @test_count, align 4, !tbaa !5
  %23559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23560 = load i32, ptr %23559, align 4, !tbaa !5
  %23561 = icmp eq i32 %23560, 0
  br i1 %23561, label %23562, label %23615

23562:                                            ; preds = %23556
  br label %23563

23563:                                            ; preds = %23562
  br label %23564

23564:                                            ; preds = %23563
  call void @llvm.lifetime.start.p0(i64 4, ptr %586) #11
  %23565 = call ptr @__errno_location() #12
  %23566 = load i32, ptr %23565, align 4, !tbaa !5
  store i32 %23566, ptr %586, align 4, !tbaa !5
  %23567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23568 = call i32 @s2n_print_stacktrace(ptr noundef %23567)
  %23569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23570 = trunc i8 %23569 to i1
  br i1 %23570, label %23571, label %23593

23571:                                            ; preds = %23564
  %23572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23573 = call i32 @fileno(ptr noundef %23572) #11
  %23574 = call i32 @isatty(i32 noundef %23573) #11
  %23575 = icmp ne i32 %23574, 0
  br i1 %23575, label %23576, label %23593

23576:                                            ; preds = %23571
  %23577 = load i32, ptr %586, align 4, !tbaa !5
  %23578 = call ptr @__errno_location() #12
  store i32 %23577, ptr %23578, align 4, !tbaa !5
  %23579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23580 = load i32, ptr @test_count, align 4, !tbaa !5
  %23581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23582 = load i32, ptr %23581, align 4, !tbaa !5
  %23583 = call ptr @s2n_strerror(i32 noundef %23582, ptr noundef @.str.4)
  %23584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23585 = load i32, ptr %23584, align 4, !tbaa !5
  %23586 = call ptr @s2n_strerror_debug(i32 noundef %23585, ptr noundef @.str.4)
  %23587 = call ptr @__errno_location() #12
  %23588 = load i32, ptr %23587, align 4, !tbaa !5
  %23589 = call ptr @strerror(i32 noundef %23588) #11
  %23590 = call ptr @__errno_location() #12
  %23591 = load i32, ptr %23590, align 4, !tbaa !5
  %23592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23579, ptr noundef @.str.2, i32 noundef %23580, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %23583, ptr noundef %23586, ptr noundef %23589, i32 noundef %23591) #11
  br label %23610

23593:                                            ; preds = %23571, %23564
  %23594 = load i32, ptr %586, align 4, !tbaa !5
  %23595 = call ptr @__errno_location() #12
  store i32 %23594, ptr %23595, align 4, !tbaa !5
  %23596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23597 = load i32, ptr @test_count, align 4, !tbaa !5
  %23598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23599 = load i32, ptr %23598, align 4, !tbaa !5
  %23600 = call ptr @s2n_strerror(i32 noundef %23599, ptr noundef @.str.4)
  %23601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23602 = load i32, ptr %23601, align 4, !tbaa !5
  %23603 = call ptr @s2n_strerror_debug(i32 noundef %23602, ptr noundef @.str.4)
  %23604 = call ptr @__errno_location() #12
  %23605 = load i32, ptr %23604, align 4, !tbaa !5
  %23606 = call ptr @strerror(i32 noundef %23605) #11
  %23607 = call ptr @__errno_location() #12
  %23608 = load i32, ptr %23607, align 4, !tbaa !5
  %23609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23596, ptr noundef @.str.5, i32 noundef %23597, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %23600, ptr noundef %23603, ptr noundef %23606, i32 noundef %23608) #11
  br label %23610

23610:                                            ; preds = %23593, %23576
  call void @llvm.lifetime.end.p0(i64 4, ptr %586) #11
  br label %23611

23611:                                            ; preds = %23610
  br label %23612

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

23613:                                            ; No predecessors!
  br label %23614

23614:                                            ; preds = %23613
  br label %23615

23615:                                            ; preds = %23614, %23556
  br label %23616

23616:                                            ; preds = %23615
  br label %23617

23617:                                            ; preds = %23616
  br label %23618

23618:                                            ; preds = %23617
  %23619 = load i32, ptr @test_count, align 4, !tbaa !5
  %23620 = add nsw i32 %23619, 1
  store i32 %23620, ptr @test_count, align 4, !tbaa !5
  %23621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23622 = load i32, ptr %23621, align 4, !tbaa !5
  %23623 = call ptr @s2n_strerror_debug(i32 noundef %23622, ptr noundef @.str.4)
  %23624 = icmp eq ptr %23623, null
  br i1 %23624, label %23625, label %23678

23625:                                            ; preds = %23618
  br label %23626

23626:                                            ; preds = %23625
  br label %23627

23627:                                            ; preds = %23626
  call void @llvm.lifetime.start.p0(i64 4, ptr %587) #11
  %23628 = call ptr @__errno_location() #12
  %23629 = load i32, ptr %23628, align 4, !tbaa !5
  store i32 %23629, ptr %587, align 4, !tbaa !5
  %23630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23631 = call i32 @s2n_print_stacktrace(ptr noundef %23630)
  %23632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23633 = trunc i8 %23632 to i1
  br i1 %23633, label %23634, label %23656

23634:                                            ; preds = %23627
  %23635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23636 = call i32 @fileno(ptr noundef %23635) #11
  %23637 = call i32 @isatty(i32 noundef %23636) #11
  %23638 = icmp ne i32 %23637, 0
  br i1 %23638, label %23639, label %23656

23639:                                            ; preds = %23634
  %23640 = load i32, ptr %587, align 4, !tbaa !5
  %23641 = call ptr @__errno_location() #12
  store i32 %23640, ptr %23641, align 4, !tbaa !5
  %23642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23643 = load i32, ptr @test_count, align 4, !tbaa !5
  %23644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23645 = load i32, ptr %23644, align 4, !tbaa !5
  %23646 = call ptr @s2n_strerror(i32 noundef %23645, ptr noundef @.str.4)
  %23647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23648 = load i32, ptr %23647, align 4, !tbaa !5
  %23649 = call ptr @s2n_strerror_debug(i32 noundef %23648, ptr noundef @.str.4)
  %23650 = call ptr @__errno_location() #12
  %23651 = load i32, ptr %23650, align 4, !tbaa !5
  %23652 = call ptr @strerror(i32 noundef %23651) #11
  %23653 = call ptr @__errno_location() #12
  %23654 = load i32, ptr %23653, align 4, !tbaa !5
  %23655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23642, ptr noundef @.str.2, i32 noundef %23643, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %23646, ptr noundef %23649, ptr noundef %23652, i32 noundef %23654) #11
  br label %23673

23656:                                            ; preds = %23634, %23627
  %23657 = load i32, ptr %587, align 4, !tbaa !5
  %23658 = call ptr @__errno_location() #12
  store i32 %23657, ptr %23658, align 4, !tbaa !5
  %23659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23660 = load i32, ptr @test_count, align 4, !tbaa !5
  %23661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23662 = load i32, ptr %23661, align 4, !tbaa !5
  %23663 = call ptr @s2n_strerror(i32 noundef %23662, ptr noundef @.str.4)
  %23664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23665 = load i32, ptr %23664, align 4, !tbaa !5
  %23666 = call ptr @s2n_strerror_debug(i32 noundef %23665, ptr noundef @.str.4)
  %23667 = call ptr @__errno_location() #12
  %23668 = load i32, ptr %23667, align 4, !tbaa !5
  %23669 = call ptr @strerror(i32 noundef %23668) #11
  %23670 = call ptr @__errno_location() #12
  %23671 = load i32, ptr %23670, align 4, !tbaa !5
  %23672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23659, ptr noundef @.str.5, i32 noundef %23660, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %23663, ptr noundef %23666, ptr noundef %23669, i32 noundef %23671) #11
  br label %23673

23673:                                            ; preds = %23656, %23639
  call void @llvm.lifetime.end.p0(i64 4, ptr %587) #11
  br label %23674

23674:                                            ; preds = %23673
  br label %23675

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

23676:                                            ; No predecessors!
  br label %23677

23677:                                            ; preds = %23676
  br label %23678

23678:                                            ; preds = %23677, %23618
  br label %23679

23679:                                            ; preds = %23678
  br label %23680

23680:                                            ; preds = %23679
  br label %23681

23681:                                            ; preds = %23680
  %23682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23682, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23683 = call ptr @__errno_location() #12
  store i32 0, ptr %23683, align 4, !tbaa !5
  br label %23684

23684:                                            ; preds = %23681
  br label %23685

23685:                                            ; preds = %23684
  br label %23686

23686:                                            ; preds = %23685
  br label %23687

23687:                                            ; preds = %23686
  br label %23688

23688:                                            ; preds = %23687
  %23689 = load i32, ptr @test_count, align 4, !tbaa !5
  %23690 = add nsw i32 %23689, 1
  store i32 %23690, ptr @test_count, align 4, !tbaa !5
  %23691 = load ptr, ptr %541, align 8, !tbaa !9
  %23692 = getelementptr inbounds %struct.s2n_connection, ptr %23691, i32 0, i32 33
  %23693 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %23692, i32 0, i32 3
  %23694 = load i16, ptr %23693, align 2, !tbaa !99
  %23695 = zext i16 %23694 to i32
  %23696 = icmp eq i32 %23695, 0
  br i1 %23696, label %23750, label %23697

23697:                                            ; preds = %23688
  br label %23698

23698:                                            ; preds = %23697
  br label %23699

23699:                                            ; preds = %23698
  call void @llvm.lifetime.start.p0(i64 4, ptr %588) #11
  %23700 = call ptr @__errno_location() #12
  %23701 = load i32, ptr %23700, align 4, !tbaa !5
  store i32 %23701, ptr %588, align 4, !tbaa !5
  %23702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23703 = call i32 @s2n_print_stacktrace(ptr noundef %23702)
  %23704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23705 = trunc i8 %23704 to i1
  br i1 %23705, label %23706, label %23728

23706:                                            ; preds = %23699
  %23707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23708 = call i32 @fileno(ptr noundef %23707) #11
  %23709 = call i32 @isatty(i32 noundef %23708) #11
  %23710 = icmp ne i32 %23709, 0
  br i1 %23710, label %23711, label %23728

23711:                                            ; preds = %23706
  %23712 = load i32, ptr %588, align 4, !tbaa !5
  %23713 = call ptr @__errno_location() #12
  store i32 %23712, ptr %23713, align 4, !tbaa !5
  %23714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23715 = load i32, ptr @test_count, align 4, !tbaa !5
  %23716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23717 = load i32, ptr %23716, align 4, !tbaa !5
  %23718 = call ptr @s2n_strerror(i32 noundef %23717, ptr noundef @.str.4)
  %23719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23720 = load i32, ptr %23719, align 4, !tbaa !5
  %23721 = call ptr @s2n_strerror_debug(i32 noundef %23720, ptr noundef @.str.4)
  %23722 = call ptr @__errno_location() #12
  %23723 = load i32, ptr %23722, align 4, !tbaa !5
  %23724 = call ptr @strerror(i32 noundef %23723) #11
  %23725 = call ptr @__errno_location() #12
  %23726 = load i32, ptr %23725, align 4, !tbaa !5
  %23727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23714, ptr noundef @.str.2, i32 noundef %23715, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 1085, ptr noundef %23718, ptr noundef %23721, ptr noundef %23724, i32 noundef %23726) #11
  br label %23745

23728:                                            ; preds = %23706, %23699
  %23729 = load i32, ptr %588, align 4, !tbaa !5
  %23730 = call ptr @__errno_location() #12
  store i32 %23729, ptr %23730, align 4, !tbaa !5
  %23731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23732 = load i32, ptr @test_count, align 4, !tbaa !5
  %23733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23734 = load i32, ptr %23733, align 4, !tbaa !5
  %23735 = call ptr @s2n_strerror(i32 noundef %23734, ptr noundef @.str.4)
  %23736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23737 = load i32, ptr %23736, align 4, !tbaa !5
  %23738 = call ptr @s2n_strerror_debug(i32 noundef %23737, ptr noundef @.str.4)
  %23739 = call ptr @__errno_location() #12
  %23740 = load i32, ptr %23739, align 4, !tbaa !5
  %23741 = call ptr @strerror(i32 noundef %23740) #11
  %23742 = call ptr @__errno_location() #12
  %23743 = load i32, ptr %23742, align 4, !tbaa !5
  %23744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23731, ptr noundef @.str.5, i32 noundef %23732, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 1085, ptr noundef %23735, ptr noundef %23738, ptr noundef %23741, i32 noundef %23743) #11
  br label %23745

23745:                                            ; preds = %23728, %23711
  call void @llvm.lifetime.end.p0(i64 4, ptr %588) #11
  br label %23746

23746:                                            ; preds = %23745
  br label %23747

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

23748:                                            ; No predecessors!
  br label %23749

23749:                                            ; preds = %23748
  br label %23750

23750:                                            ; preds = %23749, %23688
  br label %23751

23751:                                            ; preds = %23750
  br label %23752

23752:                                            ; preds = %23751
  br label %23753

23753:                                            ; preds = %23752
  %23754 = load i32, ptr @test_count, align 4, !tbaa !5
  %23755 = add nsw i32 %23754, 1
  store i32 %23755, ptr @test_count, align 4, !tbaa !5
  %23756 = load ptr, ptr %541, align 8, !tbaa !9
  %23757 = getelementptr inbounds %struct.s2n_connection, ptr %23756, i32 0, i32 33
  %23758 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %23757, i32 0, i32 4
  %23759 = load ptr, ptr %23758, align 8, !tbaa !100
  %23760 = icmp eq ptr %23759, null
  br i1 %23760, label %23814, label %23761

23761:                                            ; preds = %23753
  br label %23762

23762:                                            ; preds = %23761
  br label %23763

23763:                                            ; preds = %23762
  call void @llvm.lifetime.start.p0(i64 4, ptr %589) #11
  %23764 = call ptr @__errno_location() #12
  %23765 = load i32, ptr %23764, align 4, !tbaa !5
  store i32 %23765, ptr %589, align 4, !tbaa !5
  %23766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23767 = call i32 @s2n_print_stacktrace(ptr noundef %23766)
  %23768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23769 = trunc i8 %23768 to i1
  br i1 %23769, label %23770, label %23792

23770:                                            ; preds = %23763
  %23771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23772 = call i32 @fileno(ptr noundef %23771) #11
  %23773 = call i32 @isatty(i32 noundef %23772) #11
  %23774 = icmp ne i32 %23773, 0
  br i1 %23774, label %23775, label %23792

23775:                                            ; preds = %23770
  %23776 = load i32, ptr %589, align 4, !tbaa !5
  %23777 = call ptr @__errno_location() #12
  store i32 %23776, ptr %23777, align 4, !tbaa !5
  %23778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23779 = load i32, ptr @test_count, align 4, !tbaa !5
  %23780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23781 = load i32, ptr %23780, align 4, !tbaa !5
  %23782 = call ptr @s2n_strerror(i32 noundef %23781, ptr noundef @.str.4)
  %23783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23784 = load i32, ptr %23783, align 4, !tbaa !5
  %23785 = call ptr @s2n_strerror_debug(i32 noundef %23784, ptr noundef @.str.4)
  %23786 = call ptr @__errno_location() #12
  %23787 = load i32, ptr %23786, align 4, !tbaa !5
  %23788 = call ptr @strerror(i32 noundef %23787) #11
  %23789 = call ptr @__errno_location() #12
  %23790 = load i32, ptr %23789, align 4, !tbaa !5
  %23791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23778, ptr noundef @.str.2, i32 noundef %23779, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1086, ptr noundef %23782, ptr noundef %23785, ptr noundef %23788, i32 noundef %23790) #11
  br label %23809

23792:                                            ; preds = %23770, %23763
  %23793 = load i32, ptr %589, align 4, !tbaa !5
  %23794 = call ptr @__errno_location() #12
  store i32 %23793, ptr %23794, align 4, !tbaa !5
  %23795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23796 = load i32, ptr @test_count, align 4, !tbaa !5
  %23797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23798 = load i32, ptr %23797, align 4, !tbaa !5
  %23799 = call ptr @s2n_strerror(i32 noundef %23798, ptr noundef @.str.4)
  %23800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23801 = load i32, ptr %23800, align 4, !tbaa !5
  %23802 = call ptr @s2n_strerror_debug(i32 noundef %23801, ptr noundef @.str.4)
  %23803 = call ptr @__errno_location() #12
  %23804 = load i32, ptr %23803, align 4, !tbaa !5
  %23805 = call ptr @strerror(i32 noundef %23804) #11
  %23806 = call ptr @__errno_location() #12
  %23807 = load i32, ptr %23806, align 4, !tbaa !5
  %23808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23795, ptr noundef @.str.5, i32 noundef %23796, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1086, ptr noundef %23799, ptr noundef %23802, ptr noundef %23805, i32 noundef %23807) #11
  br label %23809

23809:                                            ; preds = %23792, %23775
  call void @llvm.lifetime.end.p0(i64 4, ptr %589) #11
  br label %23810

23810:                                            ; preds = %23809
  br label %23811

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

23812:                                            ; No predecessors!
  br label %23813

23813:                                            ; preds = %23812
  br label %23814

23814:                                            ; preds = %23813, %23753
  br label %23815

23815:                                            ; preds = %23814
  br label %23816

23816:                                            ; preds = %23815
  call void @llvm.lifetime.end.p0(i64 24, ptr %580) #11
  br label %23817

23817:                                            ; preds = %23816
  %23818 = load i32, ptr @test_count, align 4, !tbaa !5
  %23819 = add nsw i32 %23818, 1
  store i32 %23819, ptr @test_count, align 4, !tbaa !5
  %23820 = load ptr, ptr %545, align 8, !tbaa !9
  %23821 = call i32 @s2n_config_free(ptr noundef %23820)
  %23822 = icmp eq i32 %23821, -1
  br i1 %23822, label %23823, label %23876

23823:                                            ; preds = %23817
  br label %23824

23824:                                            ; preds = %23823
  br label %23825

23825:                                            ; preds = %23824
  call void @llvm.lifetime.start.p0(i64 4, ptr %590) #11
  %23826 = call ptr @__errno_location() #12
  %23827 = load i32, ptr %23826, align 4, !tbaa !5
  store i32 %23827, ptr %590, align 4, !tbaa !5
  %23828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23829 = call i32 @s2n_print_stacktrace(ptr noundef %23828)
  %23830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23831 = trunc i8 %23830 to i1
  br i1 %23831, label %23832, label %23854

23832:                                            ; preds = %23825
  %23833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23834 = call i32 @fileno(ptr noundef %23833) #11
  %23835 = call i32 @isatty(i32 noundef %23834) #11
  %23836 = icmp ne i32 %23835, 0
  br i1 %23836, label %23837, label %23854

23837:                                            ; preds = %23832
  %23838 = load i32, ptr %590, align 4, !tbaa !5
  %23839 = call ptr @__errno_location() #12
  store i32 %23838, ptr %23839, align 4, !tbaa !5
  %23840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23841 = load i32, ptr @test_count, align 4, !tbaa !5
  %23842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23843 = load i32, ptr %23842, align 4, !tbaa !5
  %23844 = call ptr @s2n_strerror(i32 noundef %23843, ptr noundef @.str.4)
  %23845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23846 = load i32, ptr %23845, align 4, !tbaa !5
  %23847 = call ptr @s2n_strerror_debug(i32 noundef %23846, ptr noundef @.str.4)
  %23848 = call ptr @__errno_location() #12
  %23849 = load i32, ptr %23848, align 4, !tbaa !5
  %23850 = call ptr @strerror(i32 noundef %23849) #11
  %23851 = call ptr @__errno_location() #12
  %23852 = load i32, ptr %23851, align 4, !tbaa !5
  %23853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23840, ptr noundef @.str.2, i32 noundef %23841, ptr noundef @.str.151, ptr noundef @.str.1, i32 noundef 1089, ptr noundef %23844, ptr noundef %23847, ptr noundef %23850, i32 noundef %23852) #11
  br label %23871

23854:                                            ; preds = %23832, %23825
  %23855 = load i32, ptr %590, align 4, !tbaa !5
  %23856 = call ptr @__errno_location() #12
  store i32 %23855, ptr %23856, align 4, !tbaa !5
  %23857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23858 = load i32, ptr @test_count, align 4, !tbaa !5
  %23859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23860 = load i32, ptr %23859, align 4, !tbaa !5
  %23861 = call ptr @s2n_strerror(i32 noundef %23860, ptr noundef @.str.4)
  %23862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23863 = load i32, ptr %23862, align 4, !tbaa !5
  %23864 = call ptr @s2n_strerror_debug(i32 noundef %23863, ptr noundef @.str.4)
  %23865 = call ptr @__errno_location() #12
  %23866 = load i32, ptr %23865, align 4, !tbaa !5
  %23867 = call ptr @strerror(i32 noundef %23866) #11
  %23868 = call ptr @__errno_location() #12
  %23869 = load i32, ptr %23868, align 4, !tbaa !5
  %23870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23857, ptr noundef @.str.5, i32 noundef %23858, ptr noundef @.str.151, ptr noundef @.str.1, i32 noundef 1089, ptr noundef %23861, ptr noundef %23864, ptr noundef %23867, i32 noundef %23869) #11
  br label %23871

23871:                                            ; preds = %23854, %23837
  call void @llvm.lifetime.end.p0(i64 4, ptr %590) #11
  br label %23872

23872:                                            ; preds = %23871
  br label %23873

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

23874:                                            ; No predecessors!
  br label %23875

23875:                                            ; preds = %23874
  br label %23876

23876:                                            ; preds = %23875, %23817
  br label %23877

23877:                                            ; preds = %23876
  br label %23878

23878:                                            ; preds = %23877
  br label %23879

23879:                                            ; preds = %23878
  %23880 = load i32, ptr @test_count, align 4, !tbaa !5
  %23881 = add nsw i32 %23880, 1
  store i32 %23881, ptr @test_count, align 4, !tbaa !5
  %23882 = load ptr, ptr %541, align 8, !tbaa !9
  %23883 = call i32 @s2n_connection_free(ptr noundef %23882)
  %23884 = icmp eq i32 %23883, -1
  br i1 %23884, label %23885, label %23938

23885:                                            ; preds = %23879
  br label %23886

23886:                                            ; preds = %23885
  br label %23887

23887:                                            ; preds = %23886
  call void @llvm.lifetime.start.p0(i64 4, ptr %591) #11
  %23888 = call ptr @__errno_location() #12
  %23889 = load i32, ptr %23888, align 4, !tbaa !5
  store i32 %23889, ptr %591, align 4, !tbaa !5
  %23890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23891 = call i32 @s2n_print_stacktrace(ptr noundef %23890)
  %23892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23893 = trunc i8 %23892 to i1
  br i1 %23893, label %23894, label %23916

23894:                                            ; preds = %23887
  %23895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23896 = call i32 @fileno(ptr noundef %23895) #11
  %23897 = call i32 @isatty(i32 noundef %23896) #11
  %23898 = icmp ne i32 %23897, 0
  br i1 %23898, label %23899, label %23916

23899:                                            ; preds = %23894
  %23900 = load i32, ptr %591, align 4, !tbaa !5
  %23901 = call ptr @__errno_location() #12
  store i32 %23900, ptr %23901, align 4, !tbaa !5
  %23902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23903 = load i32, ptr @test_count, align 4, !tbaa !5
  %23904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23905 = load i32, ptr %23904, align 4, !tbaa !5
  %23906 = call ptr @s2n_strerror(i32 noundef %23905, ptr noundef @.str.4)
  %23907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23908 = load i32, ptr %23907, align 4, !tbaa !5
  %23909 = call ptr @s2n_strerror_debug(i32 noundef %23908, ptr noundef @.str.4)
  %23910 = call ptr @__errno_location() #12
  %23911 = load i32, ptr %23910, align 4, !tbaa !5
  %23912 = call ptr @strerror(i32 noundef %23911) #11
  %23913 = call ptr @__errno_location() #12
  %23914 = load i32, ptr %23913, align 4, !tbaa !5
  %23915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23902, ptr noundef @.str.2, i32 noundef %23903, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1090, ptr noundef %23906, ptr noundef %23909, ptr noundef %23912, i32 noundef %23914) #11
  br label %23933

23916:                                            ; preds = %23894, %23887
  %23917 = load i32, ptr %591, align 4, !tbaa !5
  %23918 = call ptr @__errno_location() #12
  store i32 %23917, ptr %23918, align 4, !tbaa !5
  %23919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23920 = load i32, ptr @test_count, align 4, !tbaa !5
  %23921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23922 = load i32, ptr %23921, align 4, !tbaa !5
  %23923 = call ptr @s2n_strerror(i32 noundef %23922, ptr noundef @.str.4)
  %23924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23925 = load i32, ptr %23924, align 4, !tbaa !5
  %23926 = call ptr @s2n_strerror_debug(i32 noundef %23925, ptr noundef @.str.4)
  %23927 = call ptr @__errno_location() #12
  %23928 = load i32, ptr %23927, align 4, !tbaa !5
  %23929 = call ptr @strerror(i32 noundef %23928) #11
  %23930 = call ptr @__errno_location() #12
  %23931 = load i32, ptr %23930, align 4, !tbaa !5
  %23932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23919, ptr noundef @.str.5, i32 noundef %23920, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1090, ptr noundef %23923, ptr noundef %23926, ptr noundef %23929, i32 noundef %23931) #11
  br label %23933

23933:                                            ; preds = %23916, %23899
  call void @llvm.lifetime.end.p0(i64 4, ptr %591) #11
  br label %23934

23934:                                            ; preds = %23933
  br label %23935

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

23936:                                            ; No predecessors!
  br label %23937

23937:                                            ; preds = %23936
  br label %23938

23938:                                            ; preds = %23937, %23879
  br label %23939

23939:                                            ; preds = %23938
  br label %23940

23940:                                            ; preds = %23939
  br label %23941

23941:                                            ; preds = %23940
  %23942 = load i32, ptr @test_count, align 4, !tbaa !5
  %23943 = add nsw i32 %23942, 1
  store i32 %23943, ptr @test_count, align 4, !tbaa !5
  %23944 = load ptr, ptr %551, align 8, !tbaa !9
  %23945 = call i32 @s2n_config_free(ptr noundef %23944)
  %23946 = icmp eq i32 %23945, -1
  br i1 %23946, label %23947, label %24000

23947:                                            ; preds = %23941
  br label %23948

23948:                                            ; preds = %23947
  br label %23949

23949:                                            ; preds = %23948
  call void @llvm.lifetime.start.p0(i64 4, ptr %592) #11
  %23950 = call ptr @__errno_location() #12
  %23951 = load i32, ptr %23950, align 4, !tbaa !5
  store i32 %23951, ptr %592, align 4, !tbaa !5
  %23952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23953 = call i32 @s2n_print_stacktrace(ptr noundef %23952)
  %23954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23955 = trunc i8 %23954 to i1
  br i1 %23955, label %23956, label %23978

23956:                                            ; preds = %23949
  %23957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23958 = call i32 @fileno(ptr noundef %23957) #11
  %23959 = call i32 @isatty(i32 noundef %23958) #11
  %23960 = icmp ne i32 %23959, 0
  br i1 %23960, label %23961, label %23978

23961:                                            ; preds = %23956
  %23962 = load i32, ptr %592, align 4, !tbaa !5
  %23963 = call ptr @__errno_location() #12
  store i32 %23962, ptr %23963, align 4, !tbaa !5
  %23964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23965 = load i32, ptr @test_count, align 4, !tbaa !5
  %23966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23967 = load i32, ptr %23966, align 4, !tbaa !5
  %23968 = call ptr @s2n_strerror(i32 noundef %23967, ptr noundef @.str.4)
  %23969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23970 = load i32, ptr %23969, align 4, !tbaa !5
  %23971 = call ptr @s2n_strerror_debug(i32 noundef %23970, ptr noundef @.str.4)
  %23972 = call ptr @__errno_location() #12
  %23973 = load i32, ptr %23972, align 4, !tbaa !5
  %23974 = call ptr @strerror(i32 noundef %23973) #11
  %23975 = call ptr @__errno_location() #12
  %23976 = load i32, ptr %23975, align 4, !tbaa !5
  %23977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23964, ptr noundef @.str.2, i32 noundef %23965, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 1091, ptr noundef %23968, ptr noundef %23971, ptr noundef %23974, i32 noundef %23976) #11
  br label %23995

23978:                                            ; preds = %23956, %23949
  %23979 = load i32, ptr %592, align 4, !tbaa !5
  %23980 = call ptr @__errno_location() #12
  store i32 %23979, ptr %23980, align 4, !tbaa !5
  %23981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23982 = load i32, ptr @test_count, align 4, !tbaa !5
  %23983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23984 = load i32, ptr %23983, align 4, !tbaa !5
  %23985 = call ptr @s2n_strerror(i32 noundef %23984, ptr noundef @.str.4)
  %23986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23987 = load i32, ptr %23986, align 4, !tbaa !5
  %23988 = call ptr @s2n_strerror_debug(i32 noundef %23987, ptr noundef @.str.4)
  %23989 = call ptr @__errno_location() #12
  %23990 = load i32, ptr %23989, align 4, !tbaa !5
  %23991 = call ptr @strerror(i32 noundef %23990) #11
  %23992 = call ptr @__errno_location() #12
  %23993 = load i32, ptr %23992, align 4, !tbaa !5
  %23994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23981, ptr noundef @.str.5, i32 noundef %23982, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 1091, ptr noundef %23985, ptr noundef %23988, ptr noundef %23991, i32 noundef %23993) #11
  br label %23995

23995:                                            ; preds = %23978, %23961
  call void @llvm.lifetime.end.p0(i64 4, ptr %592) #11
  br label %23996

23996:                                            ; preds = %23995
  br label %23997

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

23998:                                            ; No predecessors!
  br label %23999

23999:                                            ; preds = %23998
  br label %24000

24000:                                            ; preds = %23999, %23941
  br label %24001

24001:                                            ; preds = %24000
  br label %24002

24002:                                            ; preds = %24001
  %24003 = call i32 @s2n_stuffer_free(ptr noundef %556)
  call void @llvm.lifetime.end.p0(i64 40, ptr %556) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %551) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %547) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %545) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %541) #11
  %24004 = call i32 @s2n_stuffer_free(ptr noundef %539)
  call void @llvm.lifetime.end.p0(i64 40, ptr %539) #11
  call void @llvm.lifetime.start.p0(i64 3, ptr %593) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %593, ptr align 1 @__const.main.filler_binders, i64 3, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %594) #11
  store i64 0, ptr %594, align 8, !tbaa !58
  call void @llvm.lifetime.start.p0(i64 8, ptr %595) #11
  store i64 2, ptr %595, align 8, !tbaa !58
  call void @llvm.lifetime.start.p0(i64 6, ptr %596) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %596, ptr align 1 @__const.main.partial_client_hello_data, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 7, ptr %597) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %597, ptr align 1 @__const.main.secret_data, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %598) #11
  call void @llvm.memset.p0.i64(ptr align 16 %598, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %599) #11
  call void @llvm.memset.p0.i64(ptr align 16 %599, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %600) #11
  call void @llvm.memset.p0.i64(ptr align 8 %600, i8 0, i64 24, i1 false)
  br label %24005

24005:                                            ; preds = %24002
  %24006 = load i32, ptr @test_count, align 4, !tbaa !5
  %24007 = add nsw i32 %24006, 1
  store i32 %24007, ptr @test_count, align 4, !tbaa !5
  %24008 = getelementptr inbounds [6 x i8], ptr %596, i64 0, i64 0
  %24009 = call i32 @s2n_blob_init(ptr noundef %600, ptr noundef %24008, i32 noundef 6)
  %24010 = icmp eq i32 %24009, -1
  br i1 %24010, label %24011, label %24064

24011:                                            ; preds = %24005
  br label %24012

24012:                                            ; preds = %24011
  br label %24013

24013:                                            ; preds = %24012
  call void @llvm.lifetime.start.p0(i64 4, ptr %601) #11
  %24014 = call ptr @__errno_location() #12
  %24015 = load i32, ptr %24014, align 4, !tbaa !5
  store i32 %24015, ptr %601, align 4, !tbaa !5
  %24016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24017 = call i32 @s2n_print_stacktrace(ptr noundef %24016)
  %24018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24019 = trunc i8 %24018 to i1
  br i1 %24019, label %24020, label %24042

24020:                                            ; preds = %24013
  %24021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24022 = call i32 @fileno(ptr noundef %24021) #11
  %24023 = call i32 @isatty(i32 noundef %24022) #11
  %24024 = icmp ne i32 %24023, 0
  br i1 %24024, label %24025, label %24042

24025:                                            ; preds = %24020
  %24026 = load i32, ptr %601, align 4, !tbaa !5
  %24027 = call ptr @__errno_location() #12
  store i32 %24026, ptr %24027, align 4, !tbaa !5
  %24028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24029 = load i32, ptr @test_count, align 4, !tbaa !5
  %24030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24031 = load i32, ptr %24030, align 4, !tbaa !5
  %24032 = call ptr @s2n_strerror(i32 noundef %24031, ptr noundef @.str.4)
  %24033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24034 = load i32, ptr %24033, align 4, !tbaa !5
  %24035 = call ptr @s2n_strerror_debug(i32 noundef %24034, ptr noundef @.str.4)
  %24036 = call ptr @__errno_location() #12
  %24037 = load i32, ptr %24036, align 4, !tbaa !5
  %24038 = call ptr @strerror(i32 noundef %24037) #11
  %24039 = call ptr @__errno_location() #12
  %24040 = load i32, ptr %24039, align 4, !tbaa !5
  %24041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24028, ptr noundef @.str.2, i32 noundef %24029, ptr noundef @.str.152, ptr noundef @.str.1, i32 noundef 1113, ptr noundef %24032, ptr noundef %24035, ptr noundef %24038, i32 noundef %24040) #11
  br label %24059

24042:                                            ; preds = %24020, %24013
  %24043 = load i32, ptr %601, align 4, !tbaa !5
  %24044 = call ptr @__errno_location() #12
  store i32 %24043, ptr %24044, align 4, !tbaa !5
  %24045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24046 = load i32, ptr @test_count, align 4, !tbaa !5
  %24047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24048 = load i32, ptr %24047, align 4, !tbaa !5
  %24049 = call ptr @s2n_strerror(i32 noundef %24048, ptr noundef @.str.4)
  %24050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24051 = load i32, ptr %24050, align 4, !tbaa !5
  %24052 = call ptr @s2n_strerror_debug(i32 noundef %24051, ptr noundef @.str.4)
  %24053 = call ptr @__errno_location() #12
  %24054 = load i32, ptr %24053, align 4, !tbaa !5
  %24055 = call ptr @strerror(i32 noundef %24054) #11
  %24056 = call ptr @__errno_location() #12
  %24057 = load i32, ptr %24056, align 4, !tbaa !5
  %24058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24045, ptr noundef @.str.5, i32 noundef %24046, ptr noundef @.str.152, ptr noundef @.str.1, i32 noundef 1113, ptr noundef %24049, ptr noundef %24052, ptr noundef %24055, i32 noundef %24057) #11
  br label %24059

24059:                                            ; preds = %24042, %24025
  call void @llvm.lifetime.end.p0(i64 4, ptr %601) #11
  br label %24060

24060:                                            ; preds = %24059
  br label %24061

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

24062:                                            ; No predecessors!
  br label %24063

24063:                                            ; preds = %24062
  br label %24064

24064:                                            ; preds = %24063, %24005
  br label %24065

24065:                                            ; preds = %24064
  br label %24066

24066:                                            ; preds = %24065
  call void @llvm.lifetime.start.p0(i64 24, ptr %602) #11
  call void @llvm.memset.p0.i64(ptr align 8 %602, i8 0, i64 24, i1 false)
  br label %24067

24067:                                            ; preds = %24066
  %24068 = load i32, ptr @test_count, align 4, !tbaa !5
  %24069 = add nsw i32 %24068, 1
  store i32 %24069, ptr @test_count, align 4, !tbaa !5
  %24070 = getelementptr inbounds [32 x i8], ptr %598, i64 0, i64 0
  %24071 = call i32 @s2n_blob_init(ptr noundef %602, ptr noundef %24070, i32 noundef 32)
  %24072 = icmp eq i32 %24071, -1
  br i1 %24072, label %24073, label %24126

24073:                                            ; preds = %24067
  br label %24074

24074:                                            ; preds = %24073
  br label %24075

24075:                                            ; preds = %24074
  call void @llvm.lifetime.start.p0(i64 4, ptr %603) #11
  %24076 = call ptr @__errno_location() #12
  %24077 = load i32, ptr %24076, align 4, !tbaa !5
  store i32 %24077, ptr %603, align 4, !tbaa !5
  %24078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24079 = call i32 @s2n_print_stacktrace(ptr noundef %24078)
  %24080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24081 = trunc i8 %24080 to i1
  br i1 %24081, label %24082, label %24104

24082:                                            ; preds = %24075
  %24083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24084 = call i32 @fileno(ptr noundef %24083) #11
  %24085 = call i32 @isatty(i32 noundef %24084) #11
  %24086 = icmp ne i32 %24085, 0
  br i1 %24086, label %24087, label %24104

24087:                                            ; preds = %24082
  %24088 = load i32, ptr %603, align 4, !tbaa !5
  %24089 = call ptr @__errno_location() #12
  store i32 %24088, ptr %24089, align 4, !tbaa !5
  %24090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24091 = load i32, ptr @test_count, align 4, !tbaa !5
  %24092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24093 = load i32, ptr %24092, align 4, !tbaa !5
  %24094 = call ptr @s2n_strerror(i32 noundef %24093, ptr noundef @.str.4)
  %24095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24096 = load i32, ptr %24095, align 4, !tbaa !5
  %24097 = call ptr @s2n_strerror_debug(i32 noundef %24096, ptr noundef @.str.4)
  %24098 = call ptr @__errno_location() #12
  %24099 = load i32, ptr %24098, align 4, !tbaa !5
  %24100 = call ptr @strerror(i32 noundef %24099) #11
  %24101 = call ptr @__errno_location() #12
  %24102 = load i32, ptr %24101, align 4, !tbaa !5
  %24103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24090, ptr noundef @.str.2, i32 noundef %24091, ptr noundef @.str.153, ptr noundef @.str.1, i32 noundef 1116, ptr noundef %24094, ptr noundef %24097, ptr noundef %24100, i32 noundef %24102) #11
  br label %24121

24104:                                            ; preds = %24082, %24075
  %24105 = load i32, ptr %603, align 4, !tbaa !5
  %24106 = call ptr @__errno_location() #12
  store i32 %24105, ptr %24106, align 4, !tbaa !5
  %24107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24108 = load i32, ptr @test_count, align 4, !tbaa !5
  %24109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24110 = load i32, ptr %24109, align 4, !tbaa !5
  %24111 = call ptr @s2n_strerror(i32 noundef %24110, ptr noundef @.str.4)
  %24112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24113 = load i32, ptr %24112, align 4, !tbaa !5
  %24114 = call ptr @s2n_strerror_debug(i32 noundef %24113, ptr noundef @.str.4)
  %24115 = call ptr @__errno_location() #12
  %24116 = load i32, ptr %24115, align 4, !tbaa !5
  %24117 = call ptr @strerror(i32 noundef %24116) #11
  %24118 = call ptr @__errno_location() #12
  %24119 = load i32, ptr %24118, align 4, !tbaa !5
  %24120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24107, ptr noundef @.str.5, i32 noundef %24108, ptr noundef @.str.153, ptr noundef @.str.1, i32 noundef 1116, ptr noundef %24111, ptr noundef %24114, ptr noundef %24117, i32 noundef %24119) #11
  br label %24121

24121:                                            ; preds = %24104, %24087
  call void @llvm.lifetime.end.p0(i64 4, ptr %603) #11
  br label %24122

24122:                                            ; preds = %24121
  br label %24123

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

24124:                                            ; No predecessors!
  br label %24125

24125:                                            ; preds = %24124
  br label %24126

24126:                                            ; preds = %24125, %24067
  br label %24127

24127:                                            ; preds = %24126
  br label %24128

24128:                                            ; preds = %24127
  call void @llvm.lifetime.start.p0(i64 24, ptr %604) #11
  call void @llvm.memset.p0.i64(ptr align 8 %604, i8 0, i64 24, i1 false)
  br label %24129

24129:                                            ; preds = %24128
  %24130 = load i32, ptr @test_count, align 4, !tbaa !5
  %24131 = add nsw i32 %24130, 1
  store i32 %24131, ptr @test_count, align 4, !tbaa !5
  %24132 = getelementptr inbounds [32 x i8], ptr %599, i64 0, i64 0
  %24133 = call i32 @s2n_blob_init(ptr noundef %604, ptr noundef %24132, i32 noundef 32)
  %24134 = icmp eq i32 %24133, -1
  br i1 %24134, label %24135, label %24188

24135:                                            ; preds = %24129
  br label %24136

24136:                                            ; preds = %24135
  br label %24137

24137:                                            ; preds = %24136
  call void @llvm.lifetime.start.p0(i64 4, ptr %605) #11
  %24138 = call ptr @__errno_location() #12
  %24139 = load i32, ptr %24138, align 4, !tbaa !5
  store i32 %24139, ptr %605, align 4, !tbaa !5
  %24140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24141 = call i32 @s2n_print_stacktrace(ptr noundef %24140)
  %24142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24143 = trunc i8 %24142 to i1
  br i1 %24143, label %24144, label %24166

24144:                                            ; preds = %24137
  %24145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24146 = call i32 @fileno(ptr noundef %24145) #11
  %24147 = call i32 @isatty(i32 noundef %24146) #11
  %24148 = icmp ne i32 %24147, 0
  br i1 %24148, label %24149, label %24166

24149:                                            ; preds = %24144
  %24150 = load i32, ptr %605, align 4, !tbaa !5
  %24151 = call ptr @__errno_location() #12
  store i32 %24150, ptr %24151, align 4, !tbaa !5
  %24152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24153 = load i32, ptr @test_count, align 4, !tbaa !5
  %24154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24155 = load i32, ptr %24154, align 4, !tbaa !5
  %24156 = call ptr @s2n_strerror(i32 noundef %24155, ptr noundef @.str.4)
  %24157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24158 = load i32, ptr %24157, align 4, !tbaa !5
  %24159 = call ptr @s2n_strerror_debug(i32 noundef %24158, ptr noundef @.str.4)
  %24160 = call ptr @__errno_location() #12
  %24161 = load i32, ptr %24160, align 4, !tbaa !5
  %24162 = call ptr @strerror(i32 noundef %24161) #11
  %24163 = call ptr @__errno_location() #12
  %24164 = load i32, ptr %24163, align 4, !tbaa !5
  %24165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24152, ptr noundef @.str.2, i32 noundef %24153, ptr noundef @.str.154, ptr noundef @.str.1, i32 noundef 1119, ptr noundef %24156, ptr noundef %24159, ptr noundef %24162, i32 noundef %24164) #11
  br label %24183

24166:                                            ; preds = %24144, %24137
  %24167 = load i32, ptr %605, align 4, !tbaa !5
  %24168 = call ptr @__errno_location() #12
  store i32 %24167, ptr %24168, align 4, !tbaa !5
  %24169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24170 = load i32, ptr @test_count, align 4, !tbaa !5
  %24171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24172 = load i32, ptr %24171, align 4, !tbaa !5
  %24173 = call ptr @s2n_strerror(i32 noundef %24172, ptr noundef @.str.4)
  %24174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24175 = load i32, ptr %24174, align 4, !tbaa !5
  %24176 = call ptr @s2n_strerror_debug(i32 noundef %24175, ptr noundef @.str.4)
  %24177 = call ptr @__errno_location() #12
  %24178 = load i32, ptr %24177, align 4, !tbaa !5
  %24179 = call ptr @strerror(i32 noundef %24178) #11
  %24180 = call ptr @__errno_location() #12
  %24181 = load i32, ptr %24180, align 4, !tbaa !5
  %24182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24169, ptr noundef @.str.5, i32 noundef %24170, ptr noundef @.str.154, ptr noundef @.str.1, i32 noundef 1119, ptr noundef %24173, ptr noundef %24176, ptr noundef %24179, i32 noundef %24181) #11
  br label %24183

24183:                                            ; preds = %24166, %24149
  call void @llvm.lifetime.end.p0(i64 4, ptr %605) #11
  br label %24184

24184:                                            ; preds = %24183
  br label %24185

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

24186:                                            ; No predecessors!
  br label %24187

24187:                                            ; preds = %24186
  br label %24188

24188:                                            ; preds = %24187, %24129
  br label %24189

24189:                                            ; preds = %24188
  br label %24190

24190:                                            ; preds = %24189
  call void @llvm.lifetime.start.p0(i64 8, ptr %606) #11
  store ptr null, ptr %606, align 8, !tbaa !9
  br label %24191

24191:                                            ; preds = %24190
  %24192 = load i32, ptr @test_count, align 4, !tbaa !5
  %24193 = add nsw i32 %24192, 1
  store i32 %24193, ptr @test_count, align 4, !tbaa !5
  %24194 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %24194, ptr %606, align 8, !tbaa !9
  %24195 = icmp eq ptr %24194, null
  br i1 %24195, label %24196, label %24249

24196:                                            ; preds = %24191
  br label %24197

24197:                                            ; preds = %24196
  br label %24198

24198:                                            ; preds = %24197
  call void @llvm.lifetime.start.p0(i64 4, ptr %607) #11
  %24199 = call ptr @__errno_location() #12
  %24200 = load i32, ptr %24199, align 4, !tbaa !5
  store i32 %24200, ptr %607, align 4, !tbaa !5
  %24201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24202 = call i32 @s2n_print_stacktrace(ptr noundef %24201)
  %24203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24204 = trunc i8 %24203 to i1
  br i1 %24204, label %24205, label %24227

24205:                                            ; preds = %24198
  %24206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24207 = call i32 @fileno(ptr noundef %24206) #11
  %24208 = call i32 @isatty(i32 noundef %24207) #11
  %24209 = icmp ne i32 %24208, 0
  br i1 %24209, label %24210, label %24227

24210:                                            ; preds = %24205
  %24211 = load i32, ptr %607, align 4, !tbaa !5
  %24212 = call ptr @__errno_location() #12
  store i32 %24211, ptr %24212, align 4, !tbaa !5
  %24213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24214 = load i32, ptr @test_count, align 4, !tbaa !5
  %24215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24216 = load i32, ptr %24215, align 4, !tbaa !5
  %24217 = call ptr @s2n_strerror(i32 noundef %24216, ptr noundef @.str.4)
  %24218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24219 = load i32, ptr %24218, align 4, !tbaa !5
  %24220 = call ptr @s2n_strerror_debug(i32 noundef %24219, ptr noundef @.str.4)
  %24221 = call ptr @__errno_location() #12
  %24222 = load i32, ptr %24221, align 4, !tbaa !5
  %24223 = call ptr @strerror(i32 noundef %24222) #11
  %24224 = call ptr @__errno_location() #12
  %24225 = load i32, ptr %24224, align 4, !tbaa !5
  %24226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24213, ptr noundef @.str.2, i32 noundef %24214, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1122, ptr noundef %24217, ptr noundef %24220, ptr noundef %24223, i32 noundef %24225) #11
  br label %24244

24227:                                            ; preds = %24205, %24198
  %24228 = load i32, ptr %607, align 4, !tbaa !5
  %24229 = call ptr @__errno_location() #12
  store i32 %24228, ptr %24229, align 4, !tbaa !5
  %24230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24231 = load i32, ptr @test_count, align 4, !tbaa !5
  %24232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24233 = load i32, ptr %24232, align 4, !tbaa !5
  %24234 = call ptr @s2n_strerror(i32 noundef %24233, ptr noundef @.str.4)
  %24235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24236 = load i32, ptr %24235, align 4, !tbaa !5
  %24237 = call ptr @s2n_strerror_debug(i32 noundef %24236, ptr noundef @.str.4)
  %24238 = call ptr @__errno_location() #12
  %24239 = load i32, ptr %24238, align 4, !tbaa !5
  %24240 = call ptr @strerror(i32 noundef %24239) #11
  %24241 = call ptr @__errno_location() #12
  %24242 = load i32, ptr %24241, align 4, !tbaa !5
  %24243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24230, ptr noundef @.str.5, i32 noundef %24231, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1122, ptr noundef %24234, ptr noundef %24237, ptr noundef %24240, i32 noundef %24242) #11
  br label %24244

24244:                                            ; preds = %24227, %24210
  call void @llvm.lifetime.end.p0(i64 4, ptr %607) #11
  br label %24245

24245:                                            ; preds = %24244
  br label %24246

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

24247:                                            ; No predecessors!
  br label %24248

24248:                                            ; preds = %24247
  br label %24249

24249:                                            ; preds = %24248, %24191
  br label %24250

24250:                                            ; preds = %24249
  br label %24251

24251:                                            ; preds = %24250
  call void @llvm.lifetime.start.p0(i64 168, ptr %608) #11
  call void @llvm.memset.p0.i64(ptr align 8 %608, i8 0, i64 168, i1 false)
  br label %24252

24252:                                            ; preds = %24251
  %24253 = load i32, ptr @test_count, align 4, !tbaa !5
  %24254 = add nsw i32 %24253, 1
  store i32 %24254, ptr @test_count, align 4, !tbaa !5
  %24255 = call i32 @s2n_psk_init(ptr noundef %608, i32 noundef 1)
  %24256 = getelementptr inbounds %struct.s2n_result, ptr %609, i32 0, i32 0
  store i32 %24255, ptr %24256, align 4
  %24257 = getelementptr inbounds %struct.s2n_result, ptr %609, i32 0, i32 0
  %24258 = load i32, ptr %24257, align 4
  %24259 = call zeroext i1 @s2n_result_is_ok(i32 %24258)
  br i1 %24259, label %24313, label %24260

24260:                                            ; preds = %24252
  br label %24261

24261:                                            ; preds = %24260
  br label %24262

24262:                                            ; preds = %24261
  call void @llvm.lifetime.start.p0(i64 4, ptr %610) #11
  %24263 = call ptr @__errno_location() #12
  %24264 = load i32, ptr %24263, align 4, !tbaa !5
  store i32 %24264, ptr %610, align 4, !tbaa !5
  %24265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24266 = call i32 @s2n_print_stacktrace(ptr noundef %24265)
  %24267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24268 = trunc i8 %24267 to i1
  br i1 %24268, label %24269, label %24291

24269:                                            ; preds = %24262
  %24270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24271 = call i32 @fileno(ptr noundef %24270) #11
  %24272 = call i32 @isatty(i32 noundef %24271) #11
  %24273 = icmp ne i32 %24272, 0
  br i1 %24273, label %24274, label %24291

24274:                                            ; preds = %24269
  %24275 = load i32, ptr %610, align 4, !tbaa !5
  %24276 = call ptr @__errno_location() #12
  store i32 %24275, ptr %24276, align 4, !tbaa !5
  %24277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24278 = load i32, ptr @test_count, align 4, !tbaa !5
  %24279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24280 = load i32, ptr %24279, align 4, !tbaa !5
  %24281 = call ptr @s2n_strerror(i32 noundef %24280, ptr noundef @.str.4)
  %24282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24283 = load i32, ptr %24282, align 4, !tbaa !5
  %24284 = call ptr @s2n_strerror_debug(i32 noundef %24283, ptr noundef @.str.4)
  %24285 = call ptr @__errno_location() #12
  %24286 = load i32, ptr %24285, align 4, !tbaa !5
  %24287 = call ptr @strerror(i32 noundef %24286) #11
  %24288 = call ptr @__errno_location() #12
  %24289 = load i32, ptr %24288, align 4, !tbaa !5
  %24290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24277, ptr noundef @.str.2, i32 noundef %24278, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 1125, ptr noundef %24281, ptr noundef %24284, ptr noundef %24287, i32 noundef %24289) #11
  br label %24308

24291:                                            ; preds = %24269, %24262
  %24292 = load i32, ptr %610, align 4, !tbaa !5
  %24293 = call ptr @__errno_location() #12
  store i32 %24292, ptr %24293, align 4, !tbaa !5
  %24294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24295 = load i32, ptr @test_count, align 4, !tbaa !5
  %24296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24297 = load i32, ptr %24296, align 4, !tbaa !5
  %24298 = call ptr @s2n_strerror(i32 noundef %24297, ptr noundef @.str.4)
  %24299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24300 = load i32, ptr %24299, align 4, !tbaa !5
  %24301 = call ptr @s2n_strerror_debug(i32 noundef %24300, ptr noundef @.str.4)
  %24302 = call ptr @__errno_location() #12
  %24303 = load i32, ptr %24302, align 4, !tbaa !5
  %24304 = call ptr @strerror(i32 noundef %24303) #11
  %24305 = call ptr @__errno_location() #12
  %24306 = load i32, ptr %24305, align 4, !tbaa !5
  %24307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24294, ptr noundef @.str.5, i32 noundef %24295, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 1125, ptr noundef %24298, ptr noundef %24301, ptr noundef %24304, i32 noundef %24306) #11
  br label %24308

24308:                                            ; preds = %24291, %24274
  call void @llvm.lifetime.end.p0(i64 4, ptr %610) #11
  br label %24309

24309:                                            ; preds = %24308
  br label %24310

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

24311:                                            ; No predecessors!
  br label %24312

24312:                                            ; preds = %24311
  br label %24313

24313:                                            ; preds = %24312, %24252
  br label %24314

24314:                                            ; preds = %24313
  br label %24315

24315:                                            ; preds = %24314
  br label %24316

24316:                                            ; preds = %24315
  %24317 = load i32, ptr @test_count, align 4, !tbaa !5
  %24318 = add nsw i32 %24317, 1
  store i32 %24318, ptr @test_count, align 4, !tbaa !5
  %24319 = getelementptr inbounds [7 x i8], ptr %597, i64 0, i64 0
  %24320 = call i32 @s2n_psk_set_secret(ptr noundef %608, ptr noundef %24319, i16 noundef zeroext 7)
  %24321 = icmp eq i32 %24320, -1
  br i1 %24321, label %24322, label %24375

24322:                                            ; preds = %24316
  br label %24323

24323:                                            ; preds = %24322
  br label %24324

24324:                                            ; preds = %24323
  call void @llvm.lifetime.start.p0(i64 4, ptr %611) #11
  %24325 = call ptr @__errno_location() #12
  %24326 = load i32, ptr %24325, align 4, !tbaa !5
  store i32 %24326, ptr %611, align 4, !tbaa !5
  %24327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24328 = call i32 @s2n_print_stacktrace(ptr noundef %24327)
  %24329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24330 = trunc i8 %24329 to i1
  br i1 %24330, label %24331, label %24353

24331:                                            ; preds = %24324
  %24332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24333 = call i32 @fileno(ptr noundef %24332) #11
  %24334 = call i32 @isatty(i32 noundef %24333) #11
  %24335 = icmp ne i32 %24334, 0
  br i1 %24335, label %24336, label %24353

24336:                                            ; preds = %24331
  %24337 = load i32, ptr %611, align 4, !tbaa !5
  %24338 = call ptr @__errno_location() #12
  store i32 %24337, ptr %24338, align 4, !tbaa !5
  %24339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24340 = load i32, ptr @test_count, align 4, !tbaa !5
  %24341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24342 = load i32, ptr %24341, align 4, !tbaa !5
  %24343 = call ptr @s2n_strerror(i32 noundef %24342, ptr noundef @.str.4)
  %24344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24345 = load i32, ptr %24344, align 4, !tbaa !5
  %24346 = call ptr @s2n_strerror_debug(i32 noundef %24345, ptr noundef @.str.4)
  %24347 = call ptr @__errno_location() #12
  %24348 = load i32, ptr %24347, align 4, !tbaa !5
  %24349 = call ptr @strerror(i32 noundef %24348) #11
  %24350 = call ptr @__errno_location() #12
  %24351 = load i32, ptr %24350, align 4, !tbaa !5
  %24352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24339, ptr noundef @.str.2, i32 noundef %24340, ptr noundef @.str.156, ptr noundef @.str.1, i32 noundef 1126, ptr noundef %24343, ptr noundef %24346, ptr noundef %24349, i32 noundef %24351) #11
  br label %24370

24353:                                            ; preds = %24331, %24324
  %24354 = load i32, ptr %611, align 4, !tbaa !5
  %24355 = call ptr @__errno_location() #12
  store i32 %24354, ptr %24355, align 4, !tbaa !5
  %24356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24357 = load i32, ptr @test_count, align 4, !tbaa !5
  %24358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24359 = load i32, ptr %24358, align 4, !tbaa !5
  %24360 = call ptr @s2n_strerror(i32 noundef %24359, ptr noundef @.str.4)
  %24361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24362 = load i32, ptr %24361, align 4, !tbaa !5
  %24363 = call ptr @s2n_strerror_debug(i32 noundef %24362, ptr noundef @.str.4)
  %24364 = call ptr @__errno_location() #12
  %24365 = load i32, ptr %24364, align 4, !tbaa !5
  %24366 = call ptr @strerror(i32 noundef %24365) #11
  %24367 = call ptr @__errno_location() #12
  %24368 = load i32, ptr %24367, align 4, !tbaa !5
  %24369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24356, ptr noundef @.str.5, i32 noundef %24357, ptr noundef @.str.156, ptr noundef @.str.1, i32 noundef 1126, ptr noundef %24360, ptr noundef %24363, ptr noundef %24366, i32 noundef %24368) #11
  br label %24370

24370:                                            ; preds = %24353, %24336
  call void @llvm.lifetime.end.p0(i64 4, ptr %611) #11
  br label %24371

24371:                                            ; preds = %24370
  br label %24372

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

24373:                                            ; No predecessors!
  br label %24374

24374:                                            ; preds = %24373
  br label %24375

24375:                                            ; preds = %24374, %24316
  br label %24376

24376:                                            ; preds = %24375
  br label %24377

24377:                                            ; preds = %24376
  br label %24378

24378:                                            ; preds = %24377
  %24379 = load i32, ptr @test_count, align 4, !tbaa !5
  %24380 = add nsw i32 %24379, 1
  store i32 %24380, ptr @test_count, align 4, !tbaa !5
  %24381 = load ptr, ptr %606, align 8, !tbaa !9
  %24382 = getelementptr inbounds %struct.s2n_psk, ptr %608, i32 0, i32 3
  %24383 = load i32, ptr %24382, align 8, !tbaa !55
  %24384 = call i32 @s2n_psk_calculate_binder_hash(ptr noundef %24381, i32 noundef %24383, ptr noundef %600, ptr noundef %602)
  %24385 = icmp eq i32 %24384, -1
  br i1 %24385, label %24386, label %24439

24386:                                            ; preds = %24378
  br label %24387

24387:                                            ; preds = %24386
  br label %24388

24388:                                            ; preds = %24387
  call void @llvm.lifetime.start.p0(i64 4, ptr %612) #11
  %24389 = call ptr @__errno_location() #12
  %24390 = load i32, ptr %24389, align 4, !tbaa !5
  store i32 %24390, ptr %612, align 4, !tbaa !5
  %24391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24392 = call i32 @s2n_print_stacktrace(ptr noundef %24391)
  %24393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24394 = trunc i8 %24393 to i1
  br i1 %24394, label %24395, label %24417

24395:                                            ; preds = %24388
  %24396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24397 = call i32 @fileno(ptr noundef %24396) #11
  %24398 = call i32 @isatty(i32 noundef %24397) #11
  %24399 = icmp ne i32 %24398, 0
  br i1 %24399, label %24400, label %24417

24400:                                            ; preds = %24395
  %24401 = load i32, ptr %612, align 4, !tbaa !5
  %24402 = call ptr @__errno_location() #12
  store i32 %24401, ptr %24402, align 4, !tbaa !5
  %24403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24404 = load i32, ptr @test_count, align 4, !tbaa !5
  %24405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24406 = load i32, ptr %24405, align 4, !tbaa !5
  %24407 = call ptr @s2n_strerror(i32 noundef %24406, ptr noundef @.str.4)
  %24408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24409 = load i32, ptr %24408, align 4, !tbaa !5
  %24410 = call ptr @s2n_strerror_debug(i32 noundef %24409, ptr noundef @.str.4)
  %24411 = call ptr @__errno_location() #12
  %24412 = load i32, ptr %24411, align 4, !tbaa !5
  %24413 = call ptr @strerror(i32 noundef %24412) #11
  %24414 = call ptr @__errno_location() #12
  %24415 = load i32, ptr %24414, align 4, !tbaa !5
  %24416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24403, ptr noundef @.str.2, i32 noundef %24404, ptr noundef @.str.157, ptr noundef @.str.1, i32 noundef 1128, ptr noundef %24407, ptr noundef %24410, ptr noundef %24413, i32 noundef %24415) #11
  br label %24434

24417:                                            ; preds = %24395, %24388
  %24418 = load i32, ptr %612, align 4, !tbaa !5
  %24419 = call ptr @__errno_location() #12
  store i32 %24418, ptr %24419, align 4, !tbaa !5
  %24420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24421 = load i32, ptr @test_count, align 4, !tbaa !5
  %24422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24423 = load i32, ptr %24422, align 4, !tbaa !5
  %24424 = call ptr @s2n_strerror(i32 noundef %24423, ptr noundef @.str.4)
  %24425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24426 = load i32, ptr %24425, align 4, !tbaa !5
  %24427 = call ptr @s2n_strerror_debug(i32 noundef %24426, ptr noundef @.str.4)
  %24428 = call ptr @__errno_location() #12
  %24429 = load i32, ptr %24428, align 4, !tbaa !5
  %24430 = call ptr @strerror(i32 noundef %24429) #11
  %24431 = call ptr @__errno_location() #12
  %24432 = load i32, ptr %24431, align 4, !tbaa !5
  %24433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24420, ptr noundef @.str.5, i32 noundef %24421, ptr noundef @.str.157, ptr noundef @.str.1, i32 noundef 1128, ptr noundef %24424, ptr noundef %24427, ptr noundef %24430, i32 noundef %24432) #11
  br label %24434

24434:                                            ; preds = %24417, %24400
  call void @llvm.lifetime.end.p0(i64 4, ptr %612) #11
  br label %24435

24435:                                            ; preds = %24434
  br label %24436

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

24437:                                            ; No predecessors!
  br label %24438

24438:                                            ; preds = %24437
  br label %24439

24439:                                            ; preds = %24438, %24378
  br label %24440

24440:                                            ; preds = %24439
  br label %24441

24441:                                            ; preds = %24440
  br label %24442

24442:                                            ; preds = %24441
  %24443 = load i32, ptr @test_count, align 4, !tbaa !5
  %24444 = add nsw i32 %24443, 1
  store i32 %24444, ptr @test_count, align 4, !tbaa !5
  %24445 = call i32 @s2n_psk_calculate_binder(ptr noundef %608, ptr noundef %602, ptr noundef %604)
  %24446 = icmp eq i32 %24445, -1
  br i1 %24446, label %24447, label %24500

24447:                                            ; preds = %24442
  br label %24448

24448:                                            ; preds = %24447
  br label %24449

24449:                                            ; preds = %24448
  call void @llvm.lifetime.start.p0(i64 4, ptr %613) #11
  %24450 = call ptr @__errno_location() #12
  %24451 = load i32, ptr %24450, align 4, !tbaa !5
  store i32 %24451, ptr %613, align 4, !tbaa !5
  %24452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24453 = call i32 @s2n_print_stacktrace(ptr noundef %24452)
  %24454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24455 = trunc i8 %24454 to i1
  br i1 %24455, label %24456, label %24478

24456:                                            ; preds = %24449
  %24457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24458 = call i32 @fileno(ptr noundef %24457) #11
  %24459 = call i32 @isatty(i32 noundef %24458) #11
  %24460 = icmp ne i32 %24459, 0
  br i1 %24460, label %24461, label %24478

24461:                                            ; preds = %24456
  %24462 = load i32, ptr %613, align 4, !tbaa !5
  %24463 = call ptr @__errno_location() #12
  store i32 %24462, ptr %24463, align 4, !tbaa !5
  %24464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24465 = load i32, ptr @test_count, align 4, !tbaa !5
  %24466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24467 = load i32, ptr %24466, align 4, !tbaa !5
  %24468 = call ptr @s2n_strerror(i32 noundef %24467, ptr noundef @.str.4)
  %24469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24470 = load i32, ptr %24469, align 4, !tbaa !5
  %24471 = call ptr @s2n_strerror_debug(i32 noundef %24470, ptr noundef @.str.4)
  %24472 = call ptr @__errno_location() #12
  %24473 = load i32, ptr %24472, align 4, !tbaa !5
  %24474 = call ptr @strerror(i32 noundef %24473) #11
  %24475 = call ptr @__errno_location() #12
  %24476 = load i32, ptr %24475, align 4, !tbaa !5
  %24477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24464, ptr noundef @.str.2, i32 noundef %24465, ptr noundef @.str.158, ptr noundef @.str.1, i32 noundef 1129, ptr noundef %24468, ptr noundef %24471, ptr noundef %24474, i32 noundef %24476) #11
  br label %24495

24478:                                            ; preds = %24456, %24449
  %24479 = load i32, ptr %613, align 4, !tbaa !5
  %24480 = call ptr @__errno_location() #12
  store i32 %24479, ptr %24480, align 4, !tbaa !5
  %24481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24482 = load i32, ptr @test_count, align 4, !tbaa !5
  %24483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24484 = load i32, ptr %24483, align 4, !tbaa !5
  %24485 = call ptr @s2n_strerror(i32 noundef %24484, ptr noundef @.str.4)
  %24486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24487 = load i32, ptr %24486, align 4, !tbaa !5
  %24488 = call ptr @s2n_strerror_debug(i32 noundef %24487, ptr noundef @.str.4)
  %24489 = call ptr @__errno_location() #12
  %24490 = load i32, ptr %24489, align 4, !tbaa !5
  %24491 = call ptr @strerror(i32 noundef %24490) #11
  %24492 = call ptr @__errno_location() #12
  %24493 = load i32, ptr %24492, align 4, !tbaa !5
  %24494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24481, ptr noundef @.str.5, i32 noundef %24482, ptr noundef @.str.158, ptr noundef @.str.1, i32 noundef 1129, ptr noundef %24485, ptr noundef %24488, ptr noundef %24491, i32 noundef %24493) #11
  br label %24495

24495:                                            ; preds = %24478, %24461
  call void @llvm.lifetime.end.p0(i64 4, ptr %613) #11
  br label %24496

24496:                                            ; preds = %24495
  br label %24497

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

24498:                                            ; No predecessors!
  br label %24499

24499:                                            ; preds = %24498
  br label %24500

24500:                                            ; preds = %24499, %24442
  br label %24501

24501:                                            ; preds = %24500
  br label %24502

24502:                                            ; preds = %24501
  call void @llvm.lifetime.start.p0(i64 40, ptr %614) #11
  call void @llvm.memset.p0.i64(ptr align 8 %614, i8 0, i64 40, i1 false)
  br label %24503

24503:                                            ; preds = %24502
  %24504 = load i32, ptr @test_count, align 4, !tbaa !5
  %24505 = add nsw i32 %24504, 1
  store i32 %24505, ptr @test_count, align 4, !tbaa !5
  %24506 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %614, i32 noundef 3)
  %24507 = icmp eq i32 %24506, -1
  br i1 %24507, label %24508, label %24561

24508:                                            ; preds = %24503
  br label %24509

24509:                                            ; preds = %24508
  br label %24510

24510:                                            ; preds = %24509
  call void @llvm.lifetime.start.p0(i64 4, ptr %615) #11
  %24511 = call ptr @__errno_location() #12
  %24512 = load i32, ptr %24511, align 4, !tbaa !5
  store i32 %24512, ptr %615, align 4, !tbaa !5
  %24513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24514 = call i32 @s2n_print_stacktrace(ptr noundef %24513)
  %24515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24516 = trunc i8 %24515 to i1
  br i1 %24516, label %24517, label %24539

24517:                                            ; preds = %24510
  %24518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24519 = call i32 @fileno(ptr noundef %24518) #11
  %24520 = call i32 @isatty(i32 noundef %24519) #11
  %24521 = icmp ne i32 %24520, 0
  br i1 %24521, label %24522, label %24539

24522:                                            ; preds = %24517
  %24523 = load i32, ptr %615, align 4, !tbaa !5
  %24524 = call ptr @__errno_location() #12
  store i32 %24523, ptr %24524, align 4, !tbaa !5
  %24525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24526 = load i32, ptr @test_count, align 4, !tbaa !5
  %24527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24528 = load i32, ptr %24527, align 4, !tbaa !5
  %24529 = call ptr @s2n_strerror(i32 noundef %24528, ptr noundef @.str.4)
  %24530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24531 = load i32, ptr %24530, align 4, !tbaa !5
  %24532 = call ptr @s2n_strerror_debug(i32 noundef %24531, ptr noundef @.str.4)
  %24533 = call ptr @__errno_location() #12
  %24534 = load i32, ptr %24533, align 4, !tbaa !5
  %24535 = call ptr @strerror(i32 noundef %24534) #11
  %24536 = call ptr @__errno_location() #12
  %24537 = load i32, ptr %24536, align 4, !tbaa !5
  %24538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24525, ptr noundef @.str.2, i32 noundef %24526, ptr noundef @.str.159, ptr noundef @.str.1, i32 noundef 1132, ptr noundef %24529, ptr noundef %24532, ptr noundef %24535, i32 noundef %24537) #11
  br label %24556

24539:                                            ; preds = %24517, %24510
  %24540 = load i32, ptr %615, align 4, !tbaa !5
  %24541 = call ptr @__errno_location() #12
  store i32 %24540, ptr %24541, align 4, !tbaa !5
  %24542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24543 = load i32, ptr @test_count, align 4, !tbaa !5
  %24544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24545 = load i32, ptr %24544, align 4, !tbaa !5
  %24546 = call ptr @s2n_strerror(i32 noundef %24545, ptr noundef @.str.4)
  %24547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24548 = load i32, ptr %24547, align 4, !tbaa !5
  %24549 = call ptr @s2n_strerror_debug(i32 noundef %24548, ptr noundef @.str.4)
  %24550 = call ptr @__errno_location() #12
  %24551 = load i32, ptr %24550, align 4, !tbaa !5
  %24552 = call ptr @strerror(i32 noundef %24551) #11
  %24553 = call ptr @__errno_location() #12
  %24554 = load i32, ptr %24553, align 4, !tbaa !5
  %24555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24542, ptr noundef @.str.5, i32 noundef %24543, ptr noundef @.str.159, ptr noundef @.str.1, i32 noundef 1132, ptr noundef %24546, ptr noundef %24549, ptr noundef %24552, i32 noundef %24554) #11
  br label %24556

24556:                                            ; preds = %24539, %24522
  call void @llvm.lifetime.end.p0(i64 4, ptr %615) #11
  br label %24557

24557:                                            ; preds = %24556
  br label %24558

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

24559:                                            ; No predecessors!
  br label %24560

24560:                                            ; preds = %24559
  br label %24561

24561:                                            ; preds = %24560, %24503
  br label %24562

24562:                                            ; preds = %24561
  br label %24563

24563:                                            ; preds = %24562
  br label %24564

24564:                                            ; preds = %24563
  %24565 = load i32, ptr @test_count, align 4, !tbaa !5
  %24566 = add nsw i32 %24565, 1
  store i32 %24566, ptr @test_count, align 4, !tbaa !5
  %24567 = getelementptr inbounds [3 x i8], ptr %593, i64 0, i64 0
  %24568 = call i32 @s2n_stuffer_write_bytes(ptr noundef %614, ptr noundef %24567, i32 noundef 3)
  %24569 = icmp eq i32 %24568, -1
  br i1 %24569, label %24570, label %24623

24570:                                            ; preds = %24564
  br label %24571

24571:                                            ; preds = %24570
  br label %24572

24572:                                            ; preds = %24571
  call void @llvm.lifetime.start.p0(i64 4, ptr %616) #11
  %24573 = call ptr @__errno_location() #12
  %24574 = load i32, ptr %24573, align 4, !tbaa !5
  store i32 %24574, ptr %616, align 4, !tbaa !5
  %24575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24576 = call i32 @s2n_print_stacktrace(ptr noundef %24575)
  %24577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24578 = trunc i8 %24577 to i1
  br i1 %24578, label %24579, label %24601

24579:                                            ; preds = %24572
  %24580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24581 = call i32 @fileno(ptr noundef %24580) #11
  %24582 = call i32 @isatty(i32 noundef %24581) #11
  %24583 = icmp ne i32 %24582, 0
  br i1 %24583, label %24584, label %24601

24584:                                            ; preds = %24579
  %24585 = load i32, ptr %616, align 4, !tbaa !5
  %24586 = call ptr @__errno_location() #12
  store i32 %24585, ptr %24586, align 4, !tbaa !5
  %24587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24588 = load i32, ptr @test_count, align 4, !tbaa !5
  %24589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24590 = load i32, ptr %24589, align 4, !tbaa !5
  %24591 = call ptr @s2n_strerror(i32 noundef %24590, ptr noundef @.str.4)
  %24592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24593 = load i32, ptr %24592, align 4, !tbaa !5
  %24594 = call ptr @s2n_strerror_debug(i32 noundef %24593, ptr noundef @.str.4)
  %24595 = call ptr @__errno_location() #12
  %24596 = load i32, ptr %24595, align 4, !tbaa !5
  %24597 = call ptr @strerror(i32 noundef %24596) #11
  %24598 = call ptr @__errno_location() #12
  %24599 = load i32, ptr %24598, align 4, !tbaa !5
  %24600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24587, ptr noundef @.str.2, i32 noundef %24588, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 1133, ptr noundef %24591, ptr noundef %24594, ptr noundef %24597, i32 noundef %24599) #11
  br label %24618

24601:                                            ; preds = %24579, %24572
  %24602 = load i32, ptr %616, align 4, !tbaa !5
  %24603 = call ptr @__errno_location() #12
  store i32 %24602, ptr %24603, align 4, !tbaa !5
  %24604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24605 = load i32, ptr @test_count, align 4, !tbaa !5
  %24606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24607 = load i32, ptr %24606, align 4, !tbaa !5
  %24608 = call ptr @s2n_strerror(i32 noundef %24607, ptr noundef @.str.4)
  %24609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24610 = load i32, ptr %24609, align 4, !tbaa !5
  %24611 = call ptr @s2n_strerror_debug(i32 noundef %24610, ptr noundef @.str.4)
  %24612 = call ptr @__errno_location() #12
  %24613 = load i32, ptr %24612, align 4, !tbaa !5
  %24614 = call ptr @strerror(i32 noundef %24613) #11
  %24615 = call ptr @__errno_location() #12
  %24616 = load i32, ptr %24615, align 4, !tbaa !5
  %24617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24604, ptr noundef @.str.5, i32 noundef %24605, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 1133, ptr noundef %24608, ptr noundef %24611, ptr noundef %24614, i32 noundef %24616) #11
  br label %24618

24618:                                            ; preds = %24601, %24584
  call void @llvm.lifetime.end.p0(i64 4, ptr %616) #11
  br label %24619

24619:                                            ; preds = %24618
  br label %24620

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

24621:                                            ; No predecessors!
  br label %24622

24622:                                            ; preds = %24621
  br label %24623

24623:                                            ; preds = %24622, %24564
  br label %24624

24624:                                            ; preds = %24623
  br label %24625

24625:                                            ; preds = %24624
  br label %24626

24626:                                            ; preds = %24625
  %24627 = load i32, ptr @test_count, align 4, !tbaa !5
  %24628 = add nsw i32 %24627, 1
  store i32 %24628, ptr @test_count, align 4, !tbaa !5
  %24629 = getelementptr inbounds %struct.s2n_blob, ptr %604, i32 0, i32 1
  %24630 = load i32, ptr %24629, align 8, !tbaa !97
  %24631 = trunc i32 %24630 to i8
  %24632 = call i32 @s2n_stuffer_write_uint8(ptr noundef %614, i8 noundef zeroext %24631)
  %24633 = icmp eq i32 %24632, -1
  br i1 %24633, label %24634, label %24687

24634:                                            ; preds = %24626
  br label %24635

24635:                                            ; preds = %24634
  br label %24636

24636:                                            ; preds = %24635
  call void @llvm.lifetime.start.p0(i64 4, ptr %617) #11
  %24637 = call ptr @__errno_location() #12
  %24638 = load i32, ptr %24637, align 4, !tbaa !5
  store i32 %24638, ptr %617, align 4, !tbaa !5
  %24639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24640 = call i32 @s2n_print_stacktrace(ptr noundef %24639)
  %24641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24642 = trunc i8 %24641 to i1
  br i1 %24642, label %24643, label %24665

24643:                                            ; preds = %24636
  %24644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24645 = call i32 @fileno(ptr noundef %24644) #11
  %24646 = call i32 @isatty(i32 noundef %24645) #11
  %24647 = icmp ne i32 %24646, 0
  br i1 %24647, label %24648, label %24665

24648:                                            ; preds = %24643
  %24649 = load i32, ptr %617, align 4, !tbaa !5
  %24650 = call ptr @__errno_location() #12
  store i32 %24649, ptr %24650, align 4, !tbaa !5
  %24651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24652 = load i32, ptr @test_count, align 4, !tbaa !5
  %24653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24654 = load i32, ptr %24653, align 4, !tbaa !5
  %24655 = call ptr @s2n_strerror(i32 noundef %24654, ptr noundef @.str.4)
  %24656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24657 = load i32, ptr %24656, align 4, !tbaa !5
  %24658 = call ptr @s2n_strerror_debug(i32 noundef %24657, ptr noundef @.str.4)
  %24659 = call ptr @__errno_location() #12
  %24660 = load i32, ptr %24659, align 4, !tbaa !5
  %24661 = call ptr @strerror(i32 noundef %24660) #11
  %24662 = call ptr @__errno_location() #12
  %24663 = load i32, ptr %24662, align 4, !tbaa !5
  %24664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24651, ptr noundef @.str.2, i32 noundef %24652, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 1134, ptr noundef %24655, ptr noundef %24658, ptr noundef %24661, i32 noundef %24663) #11
  br label %24682

24665:                                            ; preds = %24643, %24636
  %24666 = load i32, ptr %617, align 4, !tbaa !5
  %24667 = call ptr @__errno_location() #12
  store i32 %24666, ptr %24667, align 4, !tbaa !5
  %24668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24669 = load i32, ptr @test_count, align 4, !tbaa !5
  %24670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24671 = load i32, ptr %24670, align 4, !tbaa !5
  %24672 = call ptr @s2n_strerror(i32 noundef %24671, ptr noundef @.str.4)
  %24673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24674 = load i32, ptr %24673, align 4, !tbaa !5
  %24675 = call ptr @s2n_strerror_debug(i32 noundef %24674, ptr noundef @.str.4)
  %24676 = call ptr @__errno_location() #12
  %24677 = load i32, ptr %24676, align 4, !tbaa !5
  %24678 = call ptr @strerror(i32 noundef %24677) #11
  %24679 = call ptr @__errno_location() #12
  %24680 = load i32, ptr %24679, align 4, !tbaa !5
  %24681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24668, ptr noundef @.str.5, i32 noundef %24669, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 1134, ptr noundef %24672, ptr noundef %24675, ptr noundef %24678, i32 noundef %24680) #11
  br label %24682

24682:                                            ; preds = %24665, %24648
  call void @llvm.lifetime.end.p0(i64 4, ptr %617) #11
  br label %24683

24683:                                            ; preds = %24682
  br label %24684

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

24685:                                            ; No predecessors!
  br label %24686

24686:                                            ; preds = %24685
  br label %24687

24687:                                            ; preds = %24686, %24626
  br label %24688

24688:                                            ; preds = %24687
  br label %24689

24689:                                            ; preds = %24688
  br label %24690

24690:                                            ; preds = %24689
  %24691 = load i32, ptr @test_count, align 4, !tbaa !5
  %24692 = add nsw i32 %24691, 1
  store i32 %24692, ptr @test_count, align 4, !tbaa !5
  %24693 = call i32 @s2n_stuffer_write(ptr noundef %614, ptr noundef %604)
  %24694 = icmp eq i32 %24693, -1
  br i1 %24694, label %24695, label %24748

24695:                                            ; preds = %24690
  br label %24696

24696:                                            ; preds = %24695
  br label %24697

24697:                                            ; preds = %24696
  call void @llvm.lifetime.start.p0(i64 4, ptr %618) #11
  %24698 = call ptr @__errno_location() #12
  %24699 = load i32, ptr %24698, align 4, !tbaa !5
  store i32 %24699, ptr %618, align 4, !tbaa !5
  %24700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24701 = call i32 @s2n_print_stacktrace(ptr noundef %24700)
  %24702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24703 = trunc i8 %24702 to i1
  br i1 %24703, label %24704, label %24726

24704:                                            ; preds = %24697
  %24705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24706 = call i32 @fileno(ptr noundef %24705) #11
  %24707 = call i32 @isatty(i32 noundef %24706) #11
  %24708 = icmp ne i32 %24707, 0
  br i1 %24708, label %24709, label %24726

24709:                                            ; preds = %24704
  %24710 = load i32, ptr %618, align 4, !tbaa !5
  %24711 = call ptr @__errno_location() #12
  store i32 %24710, ptr %24711, align 4, !tbaa !5
  %24712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24713 = load i32, ptr @test_count, align 4, !tbaa !5
  %24714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24715 = load i32, ptr %24714, align 4, !tbaa !5
  %24716 = call ptr @s2n_strerror(i32 noundef %24715, ptr noundef @.str.4)
  %24717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24718 = load i32, ptr %24717, align 4, !tbaa !5
  %24719 = call ptr @s2n_strerror_debug(i32 noundef %24718, ptr noundef @.str.4)
  %24720 = call ptr @__errno_location() #12
  %24721 = load i32, ptr %24720, align 4, !tbaa !5
  %24722 = call ptr @strerror(i32 noundef %24721) #11
  %24723 = call ptr @__errno_location() #12
  %24724 = load i32, ptr %24723, align 4, !tbaa !5
  %24725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24712, ptr noundef @.str.2, i32 noundef %24713, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 1135, ptr noundef %24716, ptr noundef %24719, ptr noundef %24722, i32 noundef %24724) #11
  br label %24743

24726:                                            ; preds = %24704, %24697
  %24727 = load i32, ptr %618, align 4, !tbaa !5
  %24728 = call ptr @__errno_location() #12
  store i32 %24727, ptr %24728, align 4, !tbaa !5
  %24729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24730 = load i32, ptr @test_count, align 4, !tbaa !5
  %24731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24732 = load i32, ptr %24731, align 4, !tbaa !5
  %24733 = call ptr @s2n_strerror(i32 noundef %24732, ptr noundef @.str.4)
  %24734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24735 = load i32, ptr %24734, align 4, !tbaa !5
  %24736 = call ptr @s2n_strerror_debug(i32 noundef %24735, ptr noundef @.str.4)
  %24737 = call ptr @__errno_location() #12
  %24738 = load i32, ptr %24737, align 4, !tbaa !5
  %24739 = call ptr @strerror(i32 noundef %24738) #11
  %24740 = call ptr @__errno_location() #12
  %24741 = load i32, ptr %24740, align 4, !tbaa !5
  %24742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24729, ptr noundef @.str.5, i32 noundef %24730, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 1135, ptr noundef %24733, ptr noundef %24736, ptr noundef %24739, i32 noundef %24741) #11
  br label %24743

24743:                                            ; preds = %24726, %24709
  call void @llvm.lifetime.end.p0(i64 4, ptr %618) #11
  br label %24744

24744:                                            ; preds = %24743
  br label %24745

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

24746:                                            ; No predecessors!
  br label %24747

24747:                                            ; preds = %24746
  br label %24748

24748:                                            ; preds = %24747, %24690
  br label %24749

24749:                                            ; preds = %24748
  br label %24750

24750:                                            ; preds = %24749
  call void @llvm.lifetime.start.p0(i64 1, ptr %619) #11
  call void @llvm.memset.p0.i64(ptr align 1 %619, i8 0, i64 1, i1 false)
  %24751 = load ptr, ptr %606, align 8, !tbaa !9
  %24752 = getelementptr inbounds %struct.s2n_connection, ptr %24751, i32 0, i32 33
  %24753 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %24752, i32 0, i32 4
  store ptr %608, ptr %24753, align 8, !tbaa !100
  %24754 = load ptr, ptr %606, align 8, !tbaa !9
  %24755 = getelementptr inbounds %struct.s2n_connection, ptr %24754, i32 0, i32 33
  %24756 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %24755, i32 0, i32 3
  store i16 2, ptr %24756, align 2, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 40, ptr %620) #11
  call void @llvm.memset.p0.i64(ptr align 8 %620, i8 0, i64 40, i1 false)
  br label %24757

24757:                                            ; preds = %24750
  %24758 = load i32, ptr @test_count, align 4, !tbaa !5
  %24759 = add nsw i32 %24758, 1
  store i32 %24759, ptr @test_count, align 4, !tbaa !5
  %24760 = call i32 @s2n_stuffer_alloc(ptr noundef %620, i32 noundef 1)
  %24761 = icmp eq i32 %24760, -1
  br i1 %24761, label %24762, label %24815

24762:                                            ; preds = %24757
  br label %24763

24763:                                            ; preds = %24762
  br label %24764

24764:                                            ; preds = %24763
  call void @llvm.lifetime.start.p0(i64 4, ptr %621) #11
  %24765 = call ptr @__errno_location() #12
  %24766 = load i32, ptr %24765, align 4, !tbaa !5
  store i32 %24766, ptr %621, align 4, !tbaa !5
  %24767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24768 = call i32 @s2n_print_stacktrace(ptr noundef %24767)
  %24769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24770 = trunc i8 %24769 to i1
  br i1 %24770, label %24771, label %24793

24771:                                            ; preds = %24764
  %24772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24773 = call i32 @fileno(ptr noundef %24772) #11
  %24774 = call i32 @isatty(i32 noundef %24773) #11
  %24775 = icmp ne i32 %24774, 0
  br i1 %24775, label %24776, label %24793

24776:                                            ; preds = %24771
  %24777 = load i32, ptr %621, align 4, !tbaa !5
  %24778 = call ptr @__errno_location() #12
  store i32 %24777, ptr %24778, align 4, !tbaa !5
  %24779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24780 = load i32, ptr @test_count, align 4, !tbaa !5
  %24781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24782 = load i32, ptr %24781, align 4, !tbaa !5
  %24783 = call ptr @s2n_strerror(i32 noundef %24782, ptr noundef @.str.4)
  %24784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24785 = load i32, ptr %24784, align 4, !tbaa !5
  %24786 = call ptr @s2n_strerror_debug(i32 noundef %24785, ptr noundef @.str.4)
  %24787 = call ptr @__errno_location() #12
  %24788 = load i32, ptr %24787, align 4, !tbaa !5
  %24789 = call ptr @strerror(i32 noundef %24788) #11
  %24790 = call ptr @__errno_location() #12
  %24791 = load i32, ptr %24790, align 4, !tbaa !5
  %24792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24779, ptr noundef @.str.2, i32 noundef %24780, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 1144, ptr noundef %24783, ptr noundef %24786, ptr noundef %24789, i32 noundef %24791) #11
  br label %24810

24793:                                            ; preds = %24771, %24764
  %24794 = load i32, ptr %621, align 4, !tbaa !5
  %24795 = call ptr @__errno_location() #12
  store i32 %24794, ptr %24795, align 4, !tbaa !5
  %24796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24797 = load i32, ptr @test_count, align 4, !tbaa !5
  %24798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24799 = load i32, ptr %24798, align 4, !tbaa !5
  %24800 = call ptr @s2n_strerror(i32 noundef %24799, ptr noundef @.str.4)
  %24801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24802 = load i32, ptr %24801, align 4, !tbaa !5
  %24803 = call ptr @s2n_strerror_debug(i32 noundef %24802, ptr noundef @.str.4)
  %24804 = call ptr @__errno_location() #12
  %24805 = load i32, ptr %24804, align 4, !tbaa !5
  %24806 = call ptr @strerror(i32 noundef %24805) #11
  %24807 = call ptr @__errno_location() #12
  %24808 = load i32, ptr %24807, align 4, !tbaa !5
  %24809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24796, ptr noundef @.str.5, i32 noundef %24797, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 1144, ptr noundef %24800, ptr noundef %24803, ptr noundef %24806, i32 noundef %24808) #11
  br label %24810

24810:                                            ; preds = %24793, %24776
  call void @llvm.lifetime.end.p0(i64 4, ptr %621) #11
  br label %24811

24811:                                            ; preds = %24810
  br label %24812

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

24813:                                            ; No predecessors!
  br label %24814

24814:                                            ; preds = %24813
  br label %24815

24815:                                            ; preds = %24814, %24757
  br label %24816

24816:                                            ; preds = %24815
  br label %24817

24817:                                            ; preds = %24816
  br label %24818

24818:                                            ; preds = %24817
  %24819 = load i32, ptr @test_count, align 4, !tbaa !5
  %24820 = add nsw i32 %24819, 1
  store i32 %24820, ptr @test_count, align 4, !tbaa !5
  %24821 = getelementptr inbounds [1 x i8], ptr %619, i64 0, i64 0
  %24822 = call i32 @s2n_stuffer_write_bytes(ptr noundef %620, ptr noundef %24821, i32 noundef 1)
  %24823 = icmp eq i32 %24822, -1
  br i1 %24823, label %24824, label %24877

24824:                                            ; preds = %24818
  br label %24825

24825:                                            ; preds = %24824
  br label %24826

24826:                                            ; preds = %24825
  call void @llvm.lifetime.start.p0(i64 4, ptr %622) #11
  %24827 = call ptr @__errno_location() #12
  %24828 = load i32, ptr %24827, align 4, !tbaa !5
  store i32 %24828, ptr %622, align 4, !tbaa !5
  %24829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24830 = call i32 @s2n_print_stacktrace(ptr noundef %24829)
  %24831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24832 = trunc i8 %24831 to i1
  br i1 %24832, label %24833, label %24855

24833:                                            ; preds = %24826
  %24834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24835 = call i32 @fileno(ptr noundef %24834) #11
  %24836 = call i32 @isatty(i32 noundef %24835) #11
  %24837 = icmp ne i32 %24836, 0
  br i1 %24837, label %24838, label %24855

24838:                                            ; preds = %24833
  %24839 = load i32, ptr %622, align 4, !tbaa !5
  %24840 = call ptr @__errno_location() #12
  store i32 %24839, ptr %24840, align 4, !tbaa !5
  %24841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24842 = load i32, ptr @test_count, align 4, !tbaa !5
  %24843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24844 = load i32, ptr %24843, align 4, !tbaa !5
  %24845 = call ptr @s2n_strerror(i32 noundef %24844, ptr noundef @.str.4)
  %24846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24847 = load i32, ptr %24846, align 4, !tbaa !5
  %24848 = call ptr @s2n_strerror_debug(i32 noundef %24847, ptr noundef @.str.4)
  %24849 = call ptr @__errno_location() #12
  %24850 = load i32, ptr %24849, align 4, !tbaa !5
  %24851 = call ptr @strerror(i32 noundef %24850) #11
  %24852 = call ptr @__errno_location() #12
  %24853 = load i32, ptr %24852, align 4, !tbaa !5
  %24854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24841, ptr noundef @.str.2, i32 noundef %24842, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 1145, ptr noundef %24845, ptr noundef %24848, ptr noundef %24851, i32 noundef %24853) #11
  br label %24872

24855:                                            ; preds = %24833, %24826
  %24856 = load i32, ptr %622, align 4, !tbaa !5
  %24857 = call ptr @__errno_location() #12
  store i32 %24856, ptr %24857, align 4, !tbaa !5
  %24858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24859 = load i32, ptr @test_count, align 4, !tbaa !5
  %24860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24861 = load i32, ptr %24860, align 4, !tbaa !5
  %24862 = call ptr @s2n_strerror(i32 noundef %24861, ptr noundef @.str.4)
  %24863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24864 = load i32, ptr %24863, align 4, !tbaa !5
  %24865 = call ptr @s2n_strerror_debug(i32 noundef %24864, ptr noundef @.str.4)
  %24866 = call ptr @__errno_location() #12
  %24867 = load i32, ptr %24866, align 4, !tbaa !5
  %24868 = call ptr @strerror(i32 noundef %24867) #11
  %24869 = call ptr @__errno_location() #12
  %24870 = load i32, ptr %24869, align 4, !tbaa !5
  %24871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24858, ptr noundef @.str.5, i32 noundef %24859, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 1145, ptr noundef %24862, ptr noundef %24865, ptr noundef %24868, i32 noundef %24870) #11
  br label %24872

24872:                                            ; preds = %24855, %24838
  call void @llvm.lifetime.end.p0(i64 4, ptr %622) #11
  br label %24873

24873:                                            ; preds = %24872
  br label %24874

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

24875:                                            ; No predecessors!
  br label %24876

24876:                                            ; preds = %24875
  br label %24877

24877:                                            ; preds = %24876, %24818
  br label %24878

24878:                                            ; preds = %24877
  br label %24879

24879:                                            ; preds = %24878
  br label %24880

24880:                                            ; preds = %24879
  br label %24881

24881:                                            ; preds = %24880
  br label %24882

24882:                                            ; preds = %24881
  %24883 = load i32, ptr @test_count, align 4, !tbaa !5
  %24884 = add nsw i32 %24883, 1
  store i32 %24884, ptr @test_count, align 4, !tbaa !5
  %24885 = load ptr, ptr %606, align 8, !tbaa !9
  %24886 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef %24885, ptr noundef %600, ptr noundef %620)
  %24887 = getelementptr inbounds %struct.s2n_result, ptr %623, i32 0, i32 0
  store i32 %24886, ptr %24887, align 4
  %24888 = getelementptr inbounds %struct.s2n_result, ptr %623, i32 0, i32 0
  %24889 = load i32, ptr %24888, align 4
  %24890 = call zeroext i1 @s2n_result_is_error(i32 %24889)
  br i1 %24890, label %24944, label %24891

24891:                                            ; preds = %24882
  br label %24892

24892:                                            ; preds = %24891
  br label %24893

24893:                                            ; preds = %24892
  call void @llvm.lifetime.start.p0(i64 4, ptr %624) #11
  %24894 = call ptr @__errno_location() #12
  %24895 = load i32, ptr %24894, align 4, !tbaa !5
  store i32 %24895, ptr %624, align 4, !tbaa !5
  %24896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24897 = call i32 @s2n_print_stacktrace(ptr noundef %24896)
  %24898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24899 = trunc i8 %24898 to i1
  br i1 %24899, label %24900, label %24922

24900:                                            ; preds = %24893
  %24901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24902 = call i32 @fileno(ptr noundef %24901) #11
  %24903 = call i32 @isatty(i32 noundef %24902) #11
  %24904 = icmp ne i32 %24903, 0
  br i1 %24904, label %24905, label %24922

24905:                                            ; preds = %24900
  %24906 = load i32, ptr %624, align 4, !tbaa !5
  %24907 = call ptr @__errno_location() #12
  store i32 %24906, ptr %24907, align 4, !tbaa !5
  %24908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24909 = load i32, ptr @test_count, align 4, !tbaa !5
  %24910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24911 = load i32, ptr %24910, align 4, !tbaa !5
  %24912 = call ptr @s2n_strerror(i32 noundef %24911, ptr noundef @.str.4)
  %24913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24914 = load i32, ptr %24913, align 4, !tbaa !5
  %24915 = call ptr @s2n_strerror_debug(i32 noundef %24914, ptr noundef @.str.4)
  %24916 = call ptr @__errno_location() #12
  %24917 = load i32, ptr %24916, align 4, !tbaa !5
  %24918 = call ptr @strerror(i32 noundef %24917) #11
  %24919 = call ptr @__errno_location() #12
  %24920 = load i32, ptr %24919, align 4, !tbaa !5
  %24921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24908, ptr noundef @.str.2, i32 noundef %24909, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %24912, ptr noundef %24915, ptr noundef %24918, i32 noundef %24920) #11
  br label %24939

24922:                                            ; preds = %24900, %24893
  %24923 = load i32, ptr %624, align 4, !tbaa !5
  %24924 = call ptr @__errno_location() #12
  store i32 %24923, ptr %24924, align 4, !tbaa !5
  %24925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24926 = load i32, ptr @test_count, align 4, !tbaa !5
  %24927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24928 = load i32, ptr %24927, align 4, !tbaa !5
  %24929 = call ptr @s2n_strerror(i32 noundef %24928, ptr noundef @.str.4)
  %24930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24931 = load i32, ptr %24930, align 4, !tbaa !5
  %24932 = call ptr @s2n_strerror_debug(i32 noundef %24931, ptr noundef @.str.4)
  %24933 = call ptr @__errno_location() #12
  %24934 = load i32, ptr %24933, align 4, !tbaa !5
  %24935 = call ptr @strerror(i32 noundef %24934) #11
  %24936 = call ptr @__errno_location() #12
  %24937 = load i32, ptr %24936, align 4, !tbaa !5
  %24938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24925, ptr noundef @.str.5, i32 noundef %24926, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %24929, ptr noundef %24932, ptr noundef %24935, i32 noundef %24937) #11
  br label %24939

24939:                                            ; preds = %24922, %24905
  call void @llvm.lifetime.end.p0(i64 4, ptr %624) #11
  br label %24940

24940:                                            ; preds = %24939
  br label %24941

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

24942:                                            ; No predecessors!
  br label %24943

24943:                                            ; preds = %24942
  br label %24944

24944:                                            ; preds = %24943, %24882
  br label %24945

24945:                                            ; preds = %24944
  br label %24946

24946:                                            ; preds = %24945
  br label %24947

24947:                                            ; preds = %24946
  %24948 = load i32, ptr @test_count, align 4, !tbaa !5
  %24949 = add nsw i32 %24948, 1
  store i32 %24949, ptr @test_count, align 4, !tbaa !5
  %24950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24951 = load i32, ptr %24950, align 4, !tbaa !5
  %24952 = icmp eq i32 %24951, 335544322
  br i1 %24952, label %25006, label %24953

24953:                                            ; preds = %24947
  br label %24954

24954:                                            ; preds = %24953
  br label %24955

24955:                                            ; preds = %24954
  call void @llvm.lifetime.start.p0(i64 4, ptr %625) #11
  %24956 = call ptr @__errno_location() #12
  %24957 = load i32, ptr %24956, align 4, !tbaa !5
  store i32 %24957, ptr %625, align 4, !tbaa !5
  %24958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24959 = call i32 @s2n_print_stacktrace(ptr noundef %24958)
  %24960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24961 = trunc i8 %24960 to i1
  br i1 %24961, label %24962, label %24984

24962:                                            ; preds = %24955
  %24963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24964 = call i32 @fileno(ptr noundef %24963) #11
  %24965 = call i32 @isatty(i32 noundef %24964) #11
  %24966 = icmp ne i32 %24965, 0
  br i1 %24966, label %24967, label %24984

24967:                                            ; preds = %24962
  %24968 = load i32, ptr %625, align 4, !tbaa !5
  %24969 = call ptr @__errno_location() #12
  store i32 %24968, ptr %24969, align 4, !tbaa !5
  %24970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24971 = load i32, ptr @test_count, align 4, !tbaa !5
  %24972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24973 = load i32, ptr %24972, align 4, !tbaa !5
  %24974 = call ptr @s2n_strerror(i32 noundef %24973, ptr noundef @.str.4)
  %24975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24976 = load i32, ptr %24975, align 4, !tbaa !5
  %24977 = call ptr @s2n_strerror_debug(i32 noundef %24976, ptr noundef @.str.4)
  %24978 = call ptr @__errno_location() #12
  %24979 = load i32, ptr %24978, align 4, !tbaa !5
  %24980 = call ptr @strerror(i32 noundef %24979) #11
  %24981 = call ptr @__errno_location() #12
  %24982 = load i32, ptr %24981, align 4, !tbaa !5
  %24983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24970, ptr noundef @.str.2, i32 noundef %24971, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %24974, ptr noundef %24977, ptr noundef %24980, i32 noundef %24982) #11
  br label %25001

24984:                                            ; preds = %24962, %24955
  %24985 = load i32, ptr %625, align 4, !tbaa !5
  %24986 = call ptr @__errno_location() #12
  store i32 %24985, ptr %24986, align 4, !tbaa !5
  %24987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24988 = load i32, ptr @test_count, align 4, !tbaa !5
  %24989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24990 = load i32, ptr %24989, align 4, !tbaa !5
  %24991 = call ptr @s2n_strerror(i32 noundef %24990, ptr noundef @.str.4)
  %24992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24993 = load i32, ptr %24992, align 4, !tbaa !5
  %24994 = call ptr @s2n_strerror_debug(i32 noundef %24993, ptr noundef @.str.4)
  %24995 = call ptr @__errno_location() #12
  %24996 = load i32, ptr %24995, align 4, !tbaa !5
  %24997 = call ptr @strerror(i32 noundef %24996) #11
  %24998 = call ptr @__errno_location() #12
  %24999 = load i32, ptr %24998, align 4, !tbaa !5
  %25000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24987, ptr noundef @.str.5, i32 noundef %24988, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %24991, ptr noundef %24994, ptr noundef %24997, i32 noundef %24999) #11
  br label %25001

25001:                                            ; preds = %24984, %24967
  call void @llvm.lifetime.end.p0(i64 4, ptr %625) #11
  br label %25002

25002:                                            ; preds = %25001
  br label %25003

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

25004:                                            ; No predecessors!
  br label %25005

25005:                                            ; preds = %25004
  br label %25006

25006:                                            ; preds = %25005, %24947
  br label %25007

25007:                                            ; preds = %25006
  br label %25008

25008:                                            ; preds = %25007
  br label %25009

25009:                                            ; preds = %25008
  %25010 = load i32, ptr @test_count, align 4, !tbaa !5
  %25011 = add nsw i32 %25010, 1
  store i32 %25011, ptr @test_count, align 4, !tbaa !5
  %25012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25013 = load i32, ptr %25012, align 4, !tbaa !5
  %25014 = call ptr @s2n_strerror_debug(i32 noundef %25013, ptr noundef @.str.4)
  %25015 = icmp eq ptr %25014, null
  br i1 %25015, label %25016, label %25069

25016:                                            ; preds = %25009
  br label %25017

25017:                                            ; preds = %25016
  br label %25018

25018:                                            ; preds = %25017
  call void @llvm.lifetime.start.p0(i64 4, ptr %626) #11
  %25019 = call ptr @__errno_location() #12
  %25020 = load i32, ptr %25019, align 4, !tbaa !5
  store i32 %25020, ptr %626, align 4, !tbaa !5
  %25021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25022 = call i32 @s2n_print_stacktrace(ptr noundef %25021)
  %25023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25024 = trunc i8 %25023 to i1
  br i1 %25024, label %25025, label %25047

25025:                                            ; preds = %25018
  %25026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25027 = call i32 @fileno(ptr noundef %25026) #11
  %25028 = call i32 @isatty(i32 noundef %25027) #11
  %25029 = icmp ne i32 %25028, 0
  br i1 %25029, label %25030, label %25047

25030:                                            ; preds = %25025
  %25031 = load i32, ptr %626, align 4, !tbaa !5
  %25032 = call ptr @__errno_location() #12
  store i32 %25031, ptr %25032, align 4, !tbaa !5
  %25033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25034 = load i32, ptr @test_count, align 4, !tbaa !5
  %25035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25036 = load i32, ptr %25035, align 4, !tbaa !5
  %25037 = call ptr @s2n_strerror(i32 noundef %25036, ptr noundef @.str.4)
  %25038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25039 = load i32, ptr %25038, align 4, !tbaa !5
  %25040 = call ptr @s2n_strerror_debug(i32 noundef %25039, ptr noundef @.str.4)
  %25041 = call ptr @__errno_location() #12
  %25042 = load i32, ptr %25041, align 4, !tbaa !5
  %25043 = call ptr @strerror(i32 noundef %25042) #11
  %25044 = call ptr @__errno_location() #12
  %25045 = load i32, ptr %25044, align 4, !tbaa !5
  %25046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25033, ptr noundef @.str.2, i32 noundef %25034, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %25037, ptr noundef %25040, ptr noundef %25043, i32 noundef %25045) #11
  br label %25064

25047:                                            ; preds = %25025, %25018
  %25048 = load i32, ptr %626, align 4, !tbaa !5
  %25049 = call ptr @__errno_location() #12
  store i32 %25048, ptr %25049, align 4, !tbaa !5
  %25050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25051 = load i32, ptr @test_count, align 4, !tbaa !5
  %25052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25053 = load i32, ptr %25052, align 4, !tbaa !5
  %25054 = call ptr @s2n_strerror(i32 noundef %25053, ptr noundef @.str.4)
  %25055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25056 = load i32, ptr %25055, align 4, !tbaa !5
  %25057 = call ptr @s2n_strerror_debug(i32 noundef %25056, ptr noundef @.str.4)
  %25058 = call ptr @__errno_location() #12
  %25059 = load i32, ptr %25058, align 4, !tbaa !5
  %25060 = call ptr @strerror(i32 noundef %25059) #11
  %25061 = call ptr @__errno_location() #12
  %25062 = load i32, ptr %25061, align 4, !tbaa !5
  %25063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25050, ptr noundef @.str.5, i32 noundef %25051, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %25054, ptr noundef %25057, ptr noundef %25060, i32 noundef %25062) #11
  br label %25064

25064:                                            ; preds = %25047, %25030
  call void @llvm.lifetime.end.p0(i64 4, ptr %626) #11
  br label %25065

25065:                                            ; preds = %25064
  br label %25066

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

25067:                                            ; No predecessors!
  br label %25068

25068:                                            ; preds = %25067
  br label %25069

25069:                                            ; preds = %25068, %25009
  br label %25070

25070:                                            ; preds = %25069
  br label %25071

25071:                                            ; preds = %25070
  br label %25072

25072:                                            ; preds = %25071
  br label %25073

25073:                                            ; preds = %25072
  br label %25074

25074:                                            ; preds = %25073
  %25075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25075, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25076 = call ptr @__errno_location() #12
  store i32 0, ptr %25076, align 4, !tbaa !5
  br label %25077

25077:                                            ; preds = %25074
  br label %25078

25078:                                            ; preds = %25077
  br label %25079

25079:                                            ; preds = %25078
  br label %25080

25080:                                            ; preds = %25079
  br label %25081

25081:                                            ; preds = %25080
  %25082 = load i32, ptr @test_count, align 4, !tbaa !5
  %25083 = add nsw i32 %25082, 1
  store i32 %25083, ptr @test_count, align 4, !tbaa !5
  %25084 = call i32 @s2n_stuffer_free(ptr noundef %620)
  %25085 = icmp eq i32 %25084, -1
  br i1 %25085, label %25086, label %25139

25086:                                            ; preds = %25081
  br label %25087

25087:                                            ; preds = %25086
  br label %25088

25088:                                            ; preds = %25087
  call void @llvm.lifetime.start.p0(i64 4, ptr %627) #11
  %25089 = call ptr @__errno_location() #12
  %25090 = load i32, ptr %25089, align 4, !tbaa !5
  store i32 %25090, ptr %627, align 4, !tbaa !5
  %25091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25092 = call i32 @s2n_print_stacktrace(ptr noundef %25091)
  %25093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25094 = trunc i8 %25093 to i1
  br i1 %25094, label %25095, label %25117

25095:                                            ; preds = %25088
  %25096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25097 = call i32 @fileno(ptr noundef %25096) #11
  %25098 = call i32 @isatty(i32 noundef %25097) #11
  %25099 = icmp ne i32 %25098, 0
  br i1 %25099, label %25100, label %25117

25100:                                            ; preds = %25095
  %25101 = load i32, ptr %627, align 4, !tbaa !5
  %25102 = call ptr @__errno_location() #12
  store i32 %25101, ptr %25102, align 4, !tbaa !5
  %25103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25104 = load i32, ptr @test_count, align 4, !tbaa !5
  %25105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25106 = load i32, ptr %25105, align 4, !tbaa !5
  %25107 = call ptr @s2n_strerror(i32 noundef %25106, ptr noundef @.str.4)
  %25108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25109 = load i32, ptr %25108, align 4, !tbaa !5
  %25110 = call ptr @s2n_strerror_debug(i32 noundef %25109, ptr noundef @.str.4)
  %25111 = call ptr @__errno_location() #12
  %25112 = load i32, ptr %25111, align 4, !tbaa !5
  %25113 = call ptr @strerror(i32 noundef %25112) #11
  %25114 = call ptr @__errno_location() #12
  %25115 = load i32, ptr %25114, align 4, !tbaa !5
  %25116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25103, ptr noundef @.str.2, i32 noundef %25104, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %25107, ptr noundef %25110, ptr noundef %25113, i32 noundef %25115) #11
  br label %25134

25117:                                            ; preds = %25095, %25088
  %25118 = load i32, ptr %627, align 4, !tbaa !5
  %25119 = call ptr @__errno_location() #12
  store i32 %25118, ptr %25119, align 4, !tbaa !5
  %25120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25121 = load i32, ptr @test_count, align 4, !tbaa !5
  %25122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25123 = load i32, ptr %25122, align 4, !tbaa !5
  %25124 = call ptr @s2n_strerror(i32 noundef %25123, ptr noundef @.str.4)
  %25125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25126 = load i32, ptr %25125, align 4, !tbaa !5
  %25127 = call ptr @s2n_strerror_debug(i32 noundef %25126, ptr noundef @.str.4)
  %25128 = call ptr @__errno_location() #12
  %25129 = load i32, ptr %25128, align 4, !tbaa !5
  %25130 = call ptr @strerror(i32 noundef %25129) #11
  %25131 = call ptr @__errno_location() #12
  %25132 = load i32, ptr %25131, align 4, !tbaa !5
  %25133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25120, ptr noundef @.str.5, i32 noundef %25121, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %25124, ptr noundef %25127, ptr noundef %25130, i32 noundef %25132) #11
  br label %25134

25134:                                            ; preds = %25117, %25100
  call void @llvm.lifetime.end.p0(i64 4, ptr %627) #11
  br label %25135

25135:                                            ; preds = %25134
  br label %25136

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

25137:                                            ; No predecessors!
  br label %25138

25138:                                            ; preds = %25137
  br label %25139

25139:                                            ; preds = %25138, %25081
  br label %25140

25140:                                            ; preds = %25139
  br label %25141

25141:                                            ; preds = %25140
  call void @llvm.lifetime.end.p0(i64 40, ptr %620) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %619) #11
  br label %25142

25142:                                            ; preds = %25141
  %25143 = load i32, ptr @test_count, align 4, !tbaa !5
  %25144 = add nsw i32 %25143, 1
  store i32 %25144, ptr @test_count, align 4, !tbaa !5
  %25145 = call i32 @s2n_stuffer_reread(ptr noundef %614)
  %25146 = icmp eq i32 %25145, -1
  br i1 %25146, label %25147, label %25200

25147:                                            ; preds = %25142
  br label %25148

25148:                                            ; preds = %25147
  br label %25149

25149:                                            ; preds = %25148
  call void @llvm.lifetime.start.p0(i64 4, ptr %628) #11
  %25150 = call ptr @__errno_location() #12
  %25151 = load i32, ptr %25150, align 4, !tbaa !5
  store i32 %25151, ptr %628, align 4, !tbaa !5
  %25152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25153 = call i32 @s2n_print_stacktrace(ptr noundef %25152)
  %25154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25155 = trunc i8 %25154 to i1
  br i1 %25155, label %25156, label %25178

25156:                                            ; preds = %25149
  %25157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25158 = call i32 @fileno(ptr noundef %25157) #11
  %25159 = call i32 @isatty(i32 noundef %25158) #11
  %25160 = icmp ne i32 %25159, 0
  br i1 %25160, label %25161, label %25178

25161:                                            ; preds = %25156
  %25162 = load i32, ptr %628, align 4, !tbaa !5
  %25163 = call ptr @__errno_location() #12
  store i32 %25162, ptr %25163, align 4, !tbaa !5
  %25164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25165 = load i32, ptr @test_count, align 4, !tbaa !5
  %25166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25167 = load i32, ptr %25166, align 4, !tbaa !5
  %25168 = call ptr @s2n_strerror(i32 noundef %25167, ptr noundef @.str.4)
  %25169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25170 = load i32, ptr %25169, align 4, !tbaa !5
  %25171 = call ptr @s2n_strerror_debug(i32 noundef %25170, ptr noundef @.str.4)
  %25172 = call ptr @__errno_location() #12
  %25173 = load i32, ptr %25172, align 4, !tbaa !5
  %25174 = call ptr @strerror(i32 noundef %25173) #11
  %25175 = call ptr @__errno_location() #12
  %25176 = load i32, ptr %25175, align 4, !tbaa !5
  %25177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25164, ptr noundef @.str.2, i32 noundef %25165, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1155, ptr noundef %25168, ptr noundef %25171, ptr noundef %25174, i32 noundef %25176) #11
  br label %25195

25178:                                            ; preds = %25156, %25149
  %25179 = load i32, ptr %628, align 4, !tbaa !5
  %25180 = call ptr @__errno_location() #12
  store i32 %25179, ptr %25180, align 4, !tbaa !5
  %25181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25182 = load i32, ptr @test_count, align 4, !tbaa !5
  %25183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25184 = load i32, ptr %25183, align 4, !tbaa !5
  %25185 = call ptr @s2n_strerror(i32 noundef %25184, ptr noundef @.str.4)
  %25186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25187 = load i32, ptr %25186, align 4, !tbaa !5
  %25188 = call ptr @s2n_strerror_debug(i32 noundef %25187, ptr noundef @.str.4)
  %25189 = call ptr @__errno_location() #12
  %25190 = load i32, ptr %25189, align 4, !tbaa !5
  %25191 = call ptr @strerror(i32 noundef %25190) #11
  %25192 = call ptr @__errno_location() #12
  %25193 = load i32, ptr %25192, align 4, !tbaa !5
  %25194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25181, ptr noundef @.str.5, i32 noundef %25182, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1155, ptr noundef %25185, ptr noundef %25188, ptr noundef %25191, i32 noundef %25193) #11
  br label %25195

25195:                                            ; preds = %25178, %25161
  call void @llvm.lifetime.end.p0(i64 4, ptr %628) #11
  br label %25196

25196:                                            ; preds = %25195
  br label %25197

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

25198:                                            ; No predecessors!
  br label %25199

25199:                                            ; preds = %25198
  br label %25200

25200:                                            ; preds = %25199, %25142
  br label %25201

25201:                                            ; preds = %25200
  br label %25202

25202:                                            ; preds = %25201
  %25203 = load ptr, ptr %606, align 8, !tbaa !9
  %25204 = getelementptr inbounds %struct.s2n_connection, ptr %25203, i32 0, i32 33
  %25205 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %25204, i32 0, i32 4
  store ptr null, ptr %25205, align 8, !tbaa !100
  %25206 = load ptr, ptr %606, align 8, !tbaa !9
  %25207 = getelementptr inbounds %struct.s2n_connection, ptr %25206, i32 0, i32 33
  %25208 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %25207, i32 0, i32 3
  store i16 0, ptr %25208, align 2, !tbaa !99
  br label %25209

25209:                                            ; preds = %25202
  br label %25210

25210:                                            ; preds = %25209
  br label %25211

25211:                                            ; preds = %25210
  %25212 = load i32, ptr @test_count, align 4, !tbaa !5
  %25213 = add nsw i32 %25212, 1
  store i32 %25213, ptr @test_count, align 4, !tbaa !5
  %25214 = load ptr, ptr %606, align 8, !tbaa !9
  %25215 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef %25214, ptr noundef %600, ptr noundef %614)
  %25216 = getelementptr inbounds %struct.s2n_result, ptr %629, i32 0, i32 0
  store i32 %25215, ptr %25216, align 4
  %25217 = getelementptr inbounds %struct.s2n_result, ptr %629, i32 0, i32 0
  %25218 = load i32, ptr %25217, align 4
  %25219 = call zeroext i1 @s2n_result_is_error(i32 %25218)
  br i1 %25219, label %25273, label %25220

25220:                                            ; preds = %25211
  br label %25221

25221:                                            ; preds = %25220
  br label %25222

25222:                                            ; preds = %25221
  call void @llvm.lifetime.start.p0(i64 4, ptr %630) #11
  %25223 = call ptr @__errno_location() #12
  %25224 = load i32, ptr %25223, align 4, !tbaa !5
  store i32 %25224, ptr %630, align 4, !tbaa !5
  %25225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25226 = call i32 @s2n_print_stacktrace(ptr noundef %25225)
  %25227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25228 = trunc i8 %25227 to i1
  br i1 %25228, label %25229, label %25251

25229:                                            ; preds = %25222
  %25230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25231 = call i32 @fileno(ptr noundef %25230) #11
  %25232 = call i32 @isatty(i32 noundef %25231) #11
  %25233 = icmp ne i32 %25232, 0
  br i1 %25233, label %25234, label %25251

25234:                                            ; preds = %25229
  %25235 = load i32, ptr %630, align 4, !tbaa !5
  %25236 = call ptr @__errno_location() #12
  store i32 %25235, ptr %25236, align 4, !tbaa !5
  %25237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25238 = load i32, ptr @test_count, align 4, !tbaa !5
  %25239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25240 = load i32, ptr %25239, align 4, !tbaa !5
  %25241 = call ptr @s2n_strerror(i32 noundef %25240, ptr noundef @.str.4)
  %25242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25243 = load i32, ptr %25242, align 4, !tbaa !5
  %25244 = call ptr @s2n_strerror_debug(i32 noundef %25243, ptr noundef @.str.4)
  %25245 = call ptr @__errno_location() #12
  %25246 = load i32, ptr %25245, align 4, !tbaa !5
  %25247 = call ptr @strerror(i32 noundef %25246) #11
  %25248 = call ptr @__errno_location() #12
  %25249 = load i32, ptr %25248, align 4, !tbaa !5
  %25250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25237, ptr noundef @.str.2, i32 noundef %25238, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 1160, ptr noundef %25241, ptr noundef %25244, ptr noundef %25247, i32 noundef %25249) #11
  br label %25268

25251:                                            ; preds = %25229, %25222
  %25252 = load i32, ptr %630, align 4, !tbaa !5
  %25253 = call ptr @__errno_location() #12
  store i32 %25252, ptr %25253, align 4, !tbaa !5
  %25254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25255 = load i32, ptr @test_count, align 4, !tbaa !5
  %25256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25257 = load i32, ptr %25256, align 4, !tbaa !5
  %25258 = call ptr @s2n_strerror(i32 noundef %25257, ptr noundef @.str.4)
  %25259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25260 = load i32, ptr %25259, align 4, !tbaa !5
  %25261 = call ptr @s2n_strerror_debug(i32 noundef %25260, ptr noundef @.str.4)
  %25262 = call ptr @__errno_location() #12
  %25263 = load i32, ptr %25262, align 4, !tbaa !5
  %25264 = call ptr @strerror(i32 noundef %25263) #11
  %25265 = call ptr @__errno_location() #12
  %25266 = load i32, ptr %25265, align 4, !tbaa !5
  %25267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25254, ptr noundef @.str.5, i32 noundef %25255, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 1160, ptr noundef %25258, ptr noundef %25261, ptr noundef %25264, i32 noundef %25266) #11
  br label %25268

25268:                                            ; preds = %25251, %25234
  call void @llvm.lifetime.end.p0(i64 4, ptr %630) #11
  br label %25269

25269:                                            ; preds = %25268
  br label %25270

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

25271:                                            ; No predecessors!
  br label %25272

25272:                                            ; preds = %25271
  br label %25273

25273:                                            ; preds = %25272, %25211
  br label %25274

25274:                                            ; preds = %25273
  br label %25275

25275:                                            ; preds = %25274
  br label %25276

25276:                                            ; preds = %25275
  %25277 = load i32, ptr @test_count, align 4, !tbaa !5
  %25278 = add nsw i32 %25277, 1
  store i32 %25278, ptr @test_count, align 4, !tbaa !5
  %25279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25280 = load i32, ptr %25279, align 4, !tbaa !5
  %25281 = icmp eq i32 %25280, 402653193
  br i1 %25281, label %25335, label %25282

25282:                                            ; preds = %25276
  br label %25283

25283:                                            ; preds = %25282
  br label %25284

25284:                                            ; preds = %25283
  call void @llvm.lifetime.start.p0(i64 4, ptr %631) #11
  %25285 = call ptr @__errno_location() #12
  %25286 = load i32, ptr %25285, align 4, !tbaa !5
  store i32 %25286, ptr %631, align 4, !tbaa !5
  %25287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25288 = call i32 @s2n_print_stacktrace(ptr noundef %25287)
  %25289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25290 = trunc i8 %25289 to i1
  br i1 %25290, label %25291, label %25313

25291:                                            ; preds = %25284
  %25292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25293 = call i32 @fileno(ptr noundef %25292) #11
  %25294 = call i32 @isatty(i32 noundef %25293) #11
  %25295 = icmp ne i32 %25294, 0
  br i1 %25295, label %25296, label %25313

25296:                                            ; preds = %25291
  %25297 = load i32, ptr %631, align 4, !tbaa !5
  %25298 = call ptr @__errno_location() #12
  store i32 %25297, ptr %25298, align 4, !tbaa !5
  %25299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25300 = load i32, ptr @test_count, align 4, !tbaa !5
  %25301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25302 = load i32, ptr %25301, align 4, !tbaa !5
  %25303 = call ptr @s2n_strerror(i32 noundef %25302, ptr noundef @.str.4)
  %25304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25305 = load i32, ptr %25304, align 4, !tbaa !5
  %25306 = call ptr @s2n_strerror_debug(i32 noundef %25305, ptr noundef @.str.4)
  %25307 = call ptr @__errno_location() #12
  %25308 = load i32, ptr %25307, align 4, !tbaa !5
  %25309 = call ptr @strerror(i32 noundef %25308) #11
  %25310 = call ptr @__errno_location() #12
  %25311 = load i32, ptr %25310, align 4, !tbaa !5
  %25312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25299, ptr noundef @.str.2, i32 noundef %25300, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 1160, ptr noundef %25303, ptr noundef %25306, ptr noundef %25309, i32 noundef %25311) #11
  br label %25330

25313:                                            ; preds = %25291, %25284
  %25314 = load i32, ptr %631, align 4, !tbaa !5
  %25315 = call ptr @__errno_location() #12
  store i32 %25314, ptr %25315, align 4, !tbaa !5
  %25316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25317 = load i32, ptr @test_count, align 4, !tbaa !5
  %25318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25319 = load i32, ptr %25318, align 4, !tbaa !5
  %25320 = call ptr @s2n_strerror(i32 noundef %25319, ptr noundef @.str.4)
  %25321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25322 = load i32, ptr %25321, align 4, !tbaa !5
  %25323 = call ptr @s2n_strerror_debug(i32 noundef %25322, ptr noundef @.str.4)
  %25324 = call ptr @__errno_location() #12
  %25325 = load i32, ptr %25324, align 4, !tbaa !5
  %25326 = call ptr @strerror(i32 noundef %25325) #11
  %25327 = call ptr @__errno_location() #12
  %25328 = load i32, ptr %25327, align 4, !tbaa !5
  %25329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25316, ptr noundef @.str.5, i32 noundef %25317, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 1160, ptr noundef %25320, ptr noundef %25323, ptr noundef %25326, i32 noundef %25328) #11
  br label %25330

25330:                                            ; preds = %25313, %25296
  call void @llvm.lifetime.end.p0(i64 4, ptr %631) #11
  br label %25331

25331:                                            ; preds = %25330
  br label %25332

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

25333:                                            ; No predecessors!
  br label %25334

25334:                                            ; preds = %25333
  br label %25335

25335:                                            ; preds = %25334, %25276
  br label %25336

25336:                                            ; preds = %25335
  br label %25337

25337:                                            ; preds = %25336
  br label %25338

25338:                                            ; preds = %25337
  %25339 = load i32, ptr @test_count, align 4, !tbaa !5
  %25340 = add nsw i32 %25339, 1
  store i32 %25340, ptr @test_count, align 4, !tbaa !5
  %25341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25342 = load i32, ptr %25341, align 4, !tbaa !5
  %25343 = call ptr @s2n_strerror_debug(i32 noundef %25342, ptr noundef @.str.4)
  %25344 = icmp eq ptr %25343, null
  br i1 %25344, label %25345, label %25398

25345:                                            ; preds = %25338
  br label %25346

25346:                                            ; preds = %25345
  br label %25347

25347:                                            ; preds = %25346
  call void @llvm.lifetime.start.p0(i64 4, ptr %632) #11
  %25348 = call ptr @__errno_location() #12
  %25349 = load i32, ptr %25348, align 4, !tbaa !5
  store i32 %25349, ptr %632, align 4, !tbaa !5
  %25350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25351 = call i32 @s2n_print_stacktrace(ptr noundef %25350)
  %25352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25353 = trunc i8 %25352 to i1
  br i1 %25353, label %25354, label %25376

25354:                                            ; preds = %25347
  %25355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25356 = call i32 @fileno(ptr noundef %25355) #11
  %25357 = call i32 @isatty(i32 noundef %25356) #11
  %25358 = icmp ne i32 %25357, 0
  br i1 %25358, label %25359, label %25376

25359:                                            ; preds = %25354
  %25360 = load i32, ptr %632, align 4, !tbaa !5
  %25361 = call ptr @__errno_location() #12
  store i32 %25360, ptr %25361, align 4, !tbaa !5
  %25362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25363 = load i32, ptr @test_count, align 4, !tbaa !5
  %25364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25365 = load i32, ptr %25364, align 4, !tbaa !5
  %25366 = call ptr @s2n_strerror(i32 noundef %25365, ptr noundef @.str.4)
  %25367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25368 = load i32, ptr %25367, align 4, !tbaa !5
  %25369 = call ptr @s2n_strerror_debug(i32 noundef %25368, ptr noundef @.str.4)
  %25370 = call ptr @__errno_location() #12
  %25371 = load i32, ptr %25370, align 4, !tbaa !5
  %25372 = call ptr @strerror(i32 noundef %25371) #11
  %25373 = call ptr @__errno_location() #12
  %25374 = load i32, ptr %25373, align 4, !tbaa !5
  %25375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25362, ptr noundef @.str.2, i32 noundef %25363, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1160, ptr noundef %25366, ptr noundef %25369, ptr noundef %25372, i32 noundef %25374) #11
  br label %25393

25376:                                            ; preds = %25354, %25347
  %25377 = load i32, ptr %632, align 4, !tbaa !5
  %25378 = call ptr @__errno_location() #12
  store i32 %25377, ptr %25378, align 4, !tbaa !5
  %25379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25380 = load i32, ptr @test_count, align 4, !tbaa !5
  %25381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25382 = load i32, ptr %25381, align 4, !tbaa !5
  %25383 = call ptr @s2n_strerror(i32 noundef %25382, ptr noundef @.str.4)
  %25384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25385 = load i32, ptr %25384, align 4, !tbaa !5
  %25386 = call ptr @s2n_strerror_debug(i32 noundef %25385, ptr noundef @.str.4)
  %25387 = call ptr @__errno_location() #12
  %25388 = load i32, ptr %25387, align 4, !tbaa !5
  %25389 = call ptr @strerror(i32 noundef %25388) #11
  %25390 = call ptr @__errno_location() #12
  %25391 = load i32, ptr %25390, align 4, !tbaa !5
  %25392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25379, ptr noundef @.str.5, i32 noundef %25380, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1160, ptr noundef %25383, ptr noundef %25386, ptr noundef %25389, i32 noundef %25391) #11
  br label %25393

25393:                                            ; preds = %25376, %25359
  call void @llvm.lifetime.end.p0(i64 4, ptr %632) #11
  br label %25394

25394:                                            ; preds = %25393
  br label %25395

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

25396:                                            ; No predecessors!
  br label %25397

25397:                                            ; preds = %25396
  br label %25398

25398:                                            ; preds = %25397, %25338
  br label %25399

25399:                                            ; preds = %25398
  br label %25400

25400:                                            ; preds = %25399
  br label %25401

25401:                                            ; preds = %25400
  br label %25402

25402:                                            ; preds = %25401
  br label %25403

25403:                                            ; preds = %25402
  %25404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25404, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25405 = call ptr @__errno_location() #12
  store i32 0, ptr %25405, align 4, !tbaa !5
  br label %25406

25406:                                            ; preds = %25403
  br label %25407

25407:                                            ; preds = %25406
  br label %25408

25408:                                            ; preds = %25407
  br label %25409

25409:                                            ; preds = %25408
  br label %25410

25410:                                            ; preds = %25409
  %25411 = load i32, ptr @test_count, align 4, !tbaa !5
  %25412 = add nsw i32 %25411, 1
  store i32 %25412, ptr @test_count, align 4, !tbaa !5
  %25413 = call i32 @s2n_stuffer_reread(ptr noundef %614)
  %25414 = icmp eq i32 %25413, -1
  br i1 %25414, label %25415, label %25468

25415:                                            ; preds = %25410
  br label %25416

25416:                                            ; preds = %25415
  br label %25417

25417:                                            ; preds = %25416
  call void @llvm.lifetime.start.p0(i64 4, ptr %633) #11
  %25418 = call ptr @__errno_location() #12
  %25419 = load i32, ptr %25418, align 4, !tbaa !5
  store i32 %25419, ptr %633, align 4, !tbaa !5
  %25420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25421 = call i32 @s2n_print_stacktrace(ptr noundef %25420)
  %25422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25423 = trunc i8 %25422 to i1
  br i1 %25423, label %25424, label %25446

25424:                                            ; preds = %25417
  %25425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25426 = call i32 @fileno(ptr noundef %25425) #11
  %25427 = call i32 @isatty(i32 noundef %25426) #11
  %25428 = icmp ne i32 %25427, 0
  br i1 %25428, label %25429, label %25446

25429:                                            ; preds = %25424
  %25430 = load i32, ptr %633, align 4, !tbaa !5
  %25431 = call ptr @__errno_location() #12
  store i32 %25430, ptr %25431, align 4, !tbaa !5
  %25432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25433 = load i32, ptr @test_count, align 4, !tbaa !5
  %25434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25435 = load i32, ptr %25434, align 4, !tbaa !5
  %25436 = call ptr @s2n_strerror(i32 noundef %25435, ptr noundef @.str.4)
  %25437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25438 = load i32, ptr %25437, align 4, !tbaa !5
  %25439 = call ptr @s2n_strerror_debug(i32 noundef %25438, ptr noundef @.str.4)
  %25440 = call ptr @__errno_location() #12
  %25441 = load i32, ptr %25440, align 4, !tbaa !5
  %25442 = call ptr @strerror(i32 noundef %25441) #11
  %25443 = call ptr @__errno_location() #12
  %25444 = load i32, ptr %25443, align 4, !tbaa !5
  %25445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25432, ptr noundef @.str.2, i32 noundef %25433, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1165, ptr noundef %25436, ptr noundef %25439, ptr noundef %25442, i32 noundef %25444) #11
  br label %25463

25446:                                            ; preds = %25424, %25417
  %25447 = load i32, ptr %633, align 4, !tbaa !5
  %25448 = call ptr @__errno_location() #12
  store i32 %25447, ptr %25448, align 4, !tbaa !5
  %25449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25450 = load i32, ptr @test_count, align 4, !tbaa !5
  %25451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25452 = load i32, ptr %25451, align 4, !tbaa !5
  %25453 = call ptr @s2n_strerror(i32 noundef %25452, ptr noundef @.str.4)
  %25454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25455 = load i32, ptr %25454, align 4, !tbaa !5
  %25456 = call ptr @s2n_strerror_debug(i32 noundef %25455, ptr noundef @.str.4)
  %25457 = call ptr @__errno_location() #12
  %25458 = load i32, ptr %25457, align 4, !tbaa !5
  %25459 = call ptr @strerror(i32 noundef %25458) #11
  %25460 = call ptr @__errno_location() #12
  %25461 = load i32, ptr %25460, align 4, !tbaa !5
  %25462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25449, ptr noundef @.str.5, i32 noundef %25450, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1165, ptr noundef %25453, ptr noundef %25456, ptr noundef %25459, i32 noundef %25461) #11
  br label %25463

25463:                                            ; preds = %25446, %25429
  call void @llvm.lifetime.end.p0(i64 4, ptr %633) #11
  br label %25464

25464:                                            ; preds = %25463
  br label %25465

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

25466:                                            ; No predecessors!
  br label %25467

25467:                                            ; preds = %25466
  br label %25468

25468:                                            ; preds = %25467, %25410
  br label %25469

25469:                                            ; preds = %25468
  br label %25470

25470:                                            ; preds = %25469
  %25471 = load ptr, ptr %606, align 8, !tbaa !9
  %25472 = getelementptr inbounds %struct.s2n_connection, ptr %25471, i32 0, i32 33
  %25473 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %25472, i32 0, i32 4
  store ptr %608, ptr %25473, align 8, !tbaa !100
  %25474 = load ptr, ptr %606, align 8, !tbaa !9
  %25475 = getelementptr inbounds %struct.s2n_connection, ptr %25474, i32 0, i32 33
  %25476 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %25475, i32 0, i32 3
  store i16 12, ptr %25476, align 2, !tbaa !99
  br label %25477

25477:                                            ; preds = %25470
  br label %25478

25478:                                            ; preds = %25477
  br label %25479

25479:                                            ; preds = %25478
  %25480 = load i32, ptr @test_count, align 4, !tbaa !5
  %25481 = add nsw i32 %25480, 1
  store i32 %25481, ptr @test_count, align 4, !tbaa !5
  %25482 = load ptr, ptr %606, align 8, !tbaa !9
  %25483 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef %25482, ptr noundef %600, ptr noundef %614)
  %25484 = getelementptr inbounds %struct.s2n_result, ptr %634, i32 0, i32 0
  store i32 %25483, ptr %25484, align 4
  %25485 = getelementptr inbounds %struct.s2n_result, ptr %634, i32 0, i32 0
  %25486 = load i32, ptr %25485, align 4
  %25487 = call zeroext i1 @s2n_result_is_error(i32 %25486)
  br i1 %25487, label %25541, label %25488

25488:                                            ; preds = %25479
  br label %25489

25489:                                            ; preds = %25488
  br label %25490

25490:                                            ; preds = %25489
  call void @llvm.lifetime.start.p0(i64 4, ptr %635) #11
  %25491 = call ptr @__errno_location() #12
  %25492 = load i32, ptr %25491, align 4, !tbaa !5
  store i32 %25492, ptr %635, align 4, !tbaa !5
  %25493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25494 = call i32 @s2n_print_stacktrace(ptr noundef %25493)
  %25495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25496 = trunc i8 %25495 to i1
  br i1 %25496, label %25497, label %25519

25497:                                            ; preds = %25490
  %25498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25499 = call i32 @fileno(ptr noundef %25498) #11
  %25500 = call i32 @isatty(i32 noundef %25499) #11
  %25501 = icmp ne i32 %25500, 0
  br i1 %25501, label %25502, label %25519

25502:                                            ; preds = %25497
  %25503 = load i32, ptr %635, align 4, !tbaa !5
  %25504 = call ptr @__errno_location() #12
  store i32 %25503, ptr %25504, align 4, !tbaa !5
  %25505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25506 = load i32, ptr @test_count, align 4, !tbaa !5
  %25507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25508 = load i32, ptr %25507, align 4, !tbaa !5
  %25509 = call ptr @s2n_strerror(i32 noundef %25508, ptr noundef @.str.4)
  %25510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25511 = load i32, ptr %25510, align 4, !tbaa !5
  %25512 = call ptr @s2n_strerror_debug(i32 noundef %25511, ptr noundef @.str.4)
  %25513 = call ptr @__errno_location() #12
  %25514 = load i32, ptr %25513, align 4, !tbaa !5
  %25515 = call ptr @strerror(i32 noundef %25514) #11
  %25516 = call ptr @__errno_location() #12
  %25517 = load i32, ptr %25516, align 4, !tbaa !5
  %25518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25505, ptr noundef @.str.2, i32 noundef %25506, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 1170, ptr noundef %25509, ptr noundef %25512, ptr noundef %25515, i32 noundef %25517) #11
  br label %25536

25519:                                            ; preds = %25497, %25490
  %25520 = load i32, ptr %635, align 4, !tbaa !5
  %25521 = call ptr @__errno_location() #12
  store i32 %25520, ptr %25521, align 4, !tbaa !5
  %25522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25523 = load i32, ptr @test_count, align 4, !tbaa !5
  %25524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25525 = load i32, ptr %25524, align 4, !tbaa !5
  %25526 = call ptr @s2n_strerror(i32 noundef %25525, ptr noundef @.str.4)
  %25527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25528 = load i32, ptr %25527, align 4, !tbaa !5
  %25529 = call ptr @s2n_strerror_debug(i32 noundef %25528, ptr noundef @.str.4)
  %25530 = call ptr @__errno_location() #12
  %25531 = load i32, ptr %25530, align 4, !tbaa !5
  %25532 = call ptr @strerror(i32 noundef %25531) #11
  %25533 = call ptr @__errno_location() #12
  %25534 = load i32, ptr %25533, align 4, !tbaa !5
  %25535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25522, ptr noundef @.str.5, i32 noundef %25523, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 1170, ptr noundef %25526, ptr noundef %25529, ptr noundef %25532, i32 noundef %25534) #11
  br label %25536

25536:                                            ; preds = %25519, %25502
  call void @llvm.lifetime.end.p0(i64 4, ptr %635) #11
  br label %25537

25537:                                            ; preds = %25536
  br label %25538

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

25539:                                            ; No predecessors!
  br label %25540

25540:                                            ; preds = %25539
  br label %25541

25541:                                            ; preds = %25540, %25479
  br label %25542

25542:                                            ; preds = %25541
  br label %25543

25543:                                            ; preds = %25542
  br label %25544

25544:                                            ; preds = %25543
  %25545 = load i32, ptr @test_count, align 4, !tbaa !5
  %25546 = add nsw i32 %25545, 1
  store i32 %25546, ptr @test_count, align 4, !tbaa !5
  %25547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25548 = load i32, ptr %25547, align 4, !tbaa !5
  %25549 = icmp eq i32 %25548, 335544322
  br i1 %25549, label %25603, label %25550

25550:                                            ; preds = %25544
  br label %25551

25551:                                            ; preds = %25550
  br label %25552

25552:                                            ; preds = %25551
  call void @llvm.lifetime.start.p0(i64 4, ptr %636) #11
  %25553 = call ptr @__errno_location() #12
  %25554 = load i32, ptr %25553, align 4, !tbaa !5
  store i32 %25554, ptr %636, align 4, !tbaa !5
  %25555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25556 = call i32 @s2n_print_stacktrace(ptr noundef %25555)
  %25557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25558 = trunc i8 %25557 to i1
  br i1 %25558, label %25559, label %25581

25559:                                            ; preds = %25552
  %25560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25561 = call i32 @fileno(ptr noundef %25560) #11
  %25562 = call i32 @isatty(i32 noundef %25561) #11
  %25563 = icmp ne i32 %25562, 0
  br i1 %25563, label %25564, label %25581

25564:                                            ; preds = %25559
  %25565 = load i32, ptr %636, align 4, !tbaa !5
  %25566 = call ptr @__errno_location() #12
  store i32 %25565, ptr %25566, align 4, !tbaa !5
  %25567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25568 = load i32, ptr @test_count, align 4, !tbaa !5
  %25569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25570 = load i32, ptr %25569, align 4, !tbaa !5
  %25571 = call ptr @s2n_strerror(i32 noundef %25570, ptr noundef @.str.4)
  %25572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25573 = load i32, ptr %25572, align 4, !tbaa !5
  %25574 = call ptr @s2n_strerror_debug(i32 noundef %25573, ptr noundef @.str.4)
  %25575 = call ptr @__errno_location() #12
  %25576 = load i32, ptr %25575, align 4, !tbaa !5
  %25577 = call ptr @strerror(i32 noundef %25576) #11
  %25578 = call ptr @__errno_location() #12
  %25579 = load i32, ptr %25578, align 4, !tbaa !5
  %25580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25567, ptr noundef @.str.2, i32 noundef %25568, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1170, ptr noundef %25571, ptr noundef %25574, ptr noundef %25577, i32 noundef %25579) #11
  br label %25598

25581:                                            ; preds = %25559, %25552
  %25582 = load i32, ptr %636, align 4, !tbaa !5
  %25583 = call ptr @__errno_location() #12
  store i32 %25582, ptr %25583, align 4, !tbaa !5
  %25584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25585 = load i32, ptr @test_count, align 4, !tbaa !5
  %25586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25587 = load i32, ptr %25586, align 4, !tbaa !5
  %25588 = call ptr @s2n_strerror(i32 noundef %25587, ptr noundef @.str.4)
  %25589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25590 = load i32, ptr %25589, align 4, !tbaa !5
  %25591 = call ptr @s2n_strerror_debug(i32 noundef %25590, ptr noundef @.str.4)
  %25592 = call ptr @__errno_location() #12
  %25593 = load i32, ptr %25592, align 4, !tbaa !5
  %25594 = call ptr @strerror(i32 noundef %25593) #11
  %25595 = call ptr @__errno_location() #12
  %25596 = load i32, ptr %25595, align 4, !tbaa !5
  %25597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25584, ptr noundef @.str.5, i32 noundef %25585, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1170, ptr noundef %25588, ptr noundef %25591, ptr noundef %25594, i32 noundef %25596) #11
  br label %25598

25598:                                            ; preds = %25581, %25564
  call void @llvm.lifetime.end.p0(i64 4, ptr %636) #11
  br label %25599

25599:                                            ; preds = %25598
  br label %25600

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

25601:                                            ; No predecessors!
  br label %25602

25602:                                            ; preds = %25601
  br label %25603

25603:                                            ; preds = %25602, %25544
  br label %25604

25604:                                            ; preds = %25603
  br label %25605

25605:                                            ; preds = %25604
  br label %25606

25606:                                            ; preds = %25605
  %25607 = load i32, ptr @test_count, align 4, !tbaa !5
  %25608 = add nsw i32 %25607, 1
  store i32 %25608, ptr @test_count, align 4, !tbaa !5
  %25609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25610 = load i32, ptr %25609, align 4, !tbaa !5
  %25611 = call ptr @s2n_strerror_debug(i32 noundef %25610, ptr noundef @.str.4)
  %25612 = icmp eq ptr %25611, null
  br i1 %25612, label %25613, label %25666

25613:                                            ; preds = %25606
  br label %25614

25614:                                            ; preds = %25613
  br label %25615

25615:                                            ; preds = %25614
  call void @llvm.lifetime.start.p0(i64 4, ptr %637) #11
  %25616 = call ptr @__errno_location() #12
  %25617 = load i32, ptr %25616, align 4, !tbaa !5
  store i32 %25617, ptr %637, align 4, !tbaa !5
  %25618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25619 = call i32 @s2n_print_stacktrace(ptr noundef %25618)
  %25620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25621 = trunc i8 %25620 to i1
  br i1 %25621, label %25622, label %25644

25622:                                            ; preds = %25615
  %25623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25624 = call i32 @fileno(ptr noundef %25623) #11
  %25625 = call i32 @isatty(i32 noundef %25624) #11
  %25626 = icmp ne i32 %25625, 0
  br i1 %25626, label %25627, label %25644

25627:                                            ; preds = %25622
  %25628 = load i32, ptr %637, align 4, !tbaa !5
  %25629 = call ptr @__errno_location() #12
  store i32 %25628, ptr %25629, align 4, !tbaa !5
  %25630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25631 = load i32, ptr @test_count, align 4, !tbaa !5
  %25632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25633 = load i32, ptr %25632, align 4, !tbaa !5
  %25634 = call ptr @s2n_strerror(i32 noundef %25633, ptr noundef @.str.4)
  %25635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25636 = load i32, ptr %25635, align 4, !tbaa !5
  %25637 = call ptr @s2n_strerror_debug(i32 noundef %25636, ptr noundef @.str.4)
  %25638 = call ptr @__errno_location() #12
  %25639 = load i32, ptr %25638, align 4, !tbaa !5
  %25640 = call ptr @strerror(i32 noundef %25639) #11
  %25641 = call ptr @__errno_location() #12
  %25642 = load i32, ptr %25641, align 4, !tbaa !5
  %25643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25630, ptr noundef @.str.2, i32 noundef %25631, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1170, ptr noundef %25634, ptr noundef %25637, ptr noundef %25640, i32 noundef %25642) #11
  br label %25661

25644:                                            ; preds = %25622, %25615
  %25645 = load i32, ptr %637, align 4, !tbaa !5
  %25646 = call ptr @__errno_location() #12
  store i32 %25645, ptr %25646, align 4, !tbaa !5
  %25647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25648 = load i32, ptr @test_count, align 4, !tbaa !5
  %25649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25650 = load i32, ptr %25649, align 4, !tbaa !5
  %25651 = call ptr @s2n_strerror(i32 noundef %25650, ptr noundef @.str.4)
  %25652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25653 = load i32, ptr %25652, align 4, !tbaa !5
  %25654 = call ptr @s2n_strerror_debug(i32 noundef %25653, ptr noundef @.str.4)
  %25655 = call ptr @__errno_location() #12
  %25656 = load i32, ptr %25655, align 4, !tbaa !5
  %25657 = call ptr @strerror(i32 noundef %25656) #11
  %25658 = call ptr @__errno_location() #12
  %25659 = load i32, ptr %25658, align 4, !tbaa !5
  %25660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25647, ptr noundef @.str.5, i32 noundef %25648, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1170, ptr noundef %25651, ptr noundef %25654, ptr noundef %25657, i32 noundef %25659) #11
  br label %25661

25661:                                            ; preds = %25644, %25627
  call void @llvm.lifetime.end.p0(i64 4, ptr %637) #11
  br label %25662

25662:                                            ; preds = %25661
  br label %25663

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

25664:                                            ; No predecessors!
  br label %25665

25665:                                            ; preds = %25664
  br label %25666

25666:                                            ; preds = %25665, %25606
  br label %25667

25667:                                            ; preds = %25666
  br label %25668

25668:                                            ; preds = %25667
  br label %25669

25669:                                            ; preds = %25668
  br label %25670

25670:                                            ; preds = %25669
  br label %25671

25671:                                            ; preds = %25670
  %25672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25672, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25673 = call ptr @__errno_location() #12
  store i32 0, ptr %25673, align 4, !tbaa !5
  br label %25674

25674:                                            ; preds = %25671
  br label %25675

25675:                                            ; preds = %25674
  br label %25676

25676:                                            ; preds = %25675
  br label %25677

25677:                                            ; preds = %25676
  br label %25678

25678:                                            ; preds = %25677
  %25679 = load i32, ptr @test_count, align 4, !tbaa !5
  %25680 = add nsw i32 %25679, 1
  store i32 %25680, ptr @test_count, align 4, !tbaa !5
  %25681 = call i32 @s2n_stuffer_reread(ptr noundef %614)
  %25682 = icmp eq i32 %25681, -1
  br i1 %25682, label %25683, label %25736

25683:                                            ; preds = %25678
  br label %25684

25684:                                            ; preds = %25683
  br label %25685

25685:                                            ; preds = %25684
  call void @llvm.lifetime.start.p0(i64 4, ptr %638) #11
  %25686 = call ptr @__errno_location() #12
  %25687 = load i32, ptr %25686, align 4, !tbaa !5
  store i32 %25687, ptr %638, align 4, !tbaa !5
  %25688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25689 = call i32 @s2n_print_stacktrace(ptr noundef %25688)
  %25690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25691 = trunc i8 %25690 to i1
  br i1 %25691, label %25692, label %25714

25692:                                            ; preds = %25685
  %25693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25694 = call i32 @fileno(ptr noundef %25693) #11
  %25695 = call i32 @isatty(i32 noundef %25694) #11
  %25696 = icmp ne i32 %25695, 0
  br i1 %25696, label %25697, label %25714

25697:                                            ; preds = %25692
  %25698 = load i32, ptr %638, align 4, !tbaa !5
  %25699 = call ptr @__errno_location() #12
  store i32 %25698, ptr %25699, align 4, !tbaa !5
  %25700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25701 = load i32, ptr @test_count, align 4, !tbaa !5
  %25702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25703 = load i32, ptr %25702, align 4, !tbaa !5
  %25704 = call ptr @s2n_strerror(i32 noundef %25703, ptr noundef @.str.4)
  %25705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25706 = load i32, ptr %25705, align 4, !tbaa !5
  %25707 = call ptr @s2n_strerror_debug(i32 noundef %25706, ptr noundef @.str.4)
  %25708 = call ptr @__errno_location() #12
  %25709 = load i32, ptr %25708, align 4, !tbaa !5
  %25710 = call ptr @strerror(i32 noundef %25709) #11
  %25711 = call ptr @__errno_location() #12
  %25712 = load i32, ptr %25711, align 4, !tbaa !5
  %25713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25700, ptr noundef @.str.2, i32 noundef %25701, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1175, ptr noundef %25704, ptr noundef %25707, ptr noundef %25710, i32 noundef %25712) #11
  br label %25731

25714:                                            ; preds = %25692, %25685
  %25715 = load i32, ptr %638, align 4, !tbaa !5
  %25716 = call ptr @__errno_location() #12
  store i32 %25715, ptr %25716, align 4, !tbaa !5
  %25717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25718 = load i32, ptr @test_count, align 4, !tbaa !5
  %25719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25720 = load i32, ptr %25719, align 4, !tbaa !5
  %25721 = call ptr @s2n_strerror(i32 noundef %25720, ptr noundef @.str.4)
  %25722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25723 = load i32, ptr %25722, align 4, !tbaa !5
  %25724 = call ptr @s2n_strerror_debug(i32 noundef %25723, ptr noundef @.str.4)
  %25725 = call ptr @__errno_location() #12
  %25726 = load i32, ptr %25725, align 4, !tbaa !5
  %25727 = call ptr @strerror(i32 noundef %25726) #11
  %25728 = call ptr @__errno_location() #12
  %25729 = load i32, ptr %25728, align 4, !tbaa !5
  %25730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25717, ptr noundef @.str.5, i32 noundef %25718, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1175, ptr noundef %25721, ptr noundef %25724, ptr noundef %25727, i32 noundef %25729) #11
  br label %25731

25731:                                            ; preds = %25714, %25697
  call void @llvm.lifetime.end.p0(i64 4, ptr %638) #11
  br label %25732

25732:                                            ; preds = %25731
  br label %25733

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

25734:                                            ; No predecessors!
  br label %25735

25735:                                            ; preds = %25734
  br label %25736

25736:                                            ; preds = %25735, %25678
  br label %25737

25737:                                            ; preds = %25736
  br label %25738

25738:                                            ; preds = %25737
  %25739 = load ptr, ptr %606, align 8, !tbaa !9
  %25740 = getelementptr inbounds %struct.s2n_connection, ptr %25739, i32 0, i32 33
  %25741 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %25740, i32 0, i32 4
  store ptr %608, ptr %25741, align 8, !tbaa !100
  %25742 = load ptr, ptr %606, align 8, !tbaa !9
  %25743 = getelementptr inbounds %struct.s2n_connection, ptr %25742, i32 0, i32 33
  %25744 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %25743, i32 0, i32 3
  store i16 0, ptr %25744, align 2, !tbaa !99
  br label %25745

25745:                                            ; preds = %25738
  br label %25746

25746:                                            ; preds = %25745
  br label %25747

25747:                                            ; preds = %25746
  %25748 = load i32, ptr @test_count, align 4, !tbaa !5
  %25749 = add nsw i32 %25748, 1
  store i32 %25749, ptr @test_count, align 4, !tbaa !5
  %25750 = load ptr, ptr %606, align 8, !tbaa !9
  %25751 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef %25750, ptr noundef %600, ptr noundef %614)
  %25752 = getelementptr inbounds %struct.s2n_result, ptr %639, i32 0, i32 0
  store i32 %25751, ptr %25752, align 4
  %25753 = getelementptr inbounds %struct.s2n_result, ptr %639, i32 0, i32 0
  %25754 = load i32, ptr %25753, align 4
  %25755 = call zeroext i1 @s2n_result_is_error(i32 %25754)
  br i1 %25755, label %25809, label %25756

25756:                                            ; preds = %25747
  br label %25757

25757:                                            ; preds = %25756
  br label %25758

25758:                                            ; preds = %25757
  call void @llvm.lifetime.start.p0(i64 4, ptr %640) #11
  %25759 = call ptr @__errno_location() #12
  %25760 = load i32, ptr %25759, align 4, !tbaa !5
  store i32 %25760, ptr %640, align 4, !tbaa !5
  %25761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25762 = call i32 @s2n_print_stacktrace(ptr noundef %25761)
  %25763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25764 = trunc i8 %25763 to i1
  br i1 %25764, label %25765, label %25787

25765:                                            ; preds = %25758
  %25766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25767 = call i32 @fileno(ptr noundef %25766) #11
  %25768 = call i32 @isatty(i32 noundef %25767) #11
  %25769 = icmp ne i32 %25768, 0
  br i1 %25769, label %25770, label %25787

25770:                                            ; preds = %25765
  %25771 = load i32, ptr %640, align 4, !tbaa !5
  %25772 = call ptr @__errno_location() #12
  store i32 %25771, ptr %25772, align 4, !tbaa !5
  %25773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25774 = load i32, ptr @test_count, align 4, !tbaa !5
  %25775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25776 = load i32, ptr %25775, align 4, !tbaa !5
  %25777 = call ptr @s2n_strerror(i32 noundef %25776, ptr noundef @.str.4)
  %25778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25779 = load i32, ptr %25778, align 4, !tbaa !5
  %25780 = call ptr @s2n_strerror_debug(i32 noundef %25779, ptr noundef @.str.4)
  %25781 = call ptr @__errno_location() #12
  %25782 = load i32, ptr %25781, align 4, !tbaa !5
  %25783 = call ptr @strerror(i32 noundef %25782) #11
  %25784 = call ptr @__errno_location() #12
  %25785 = load i32, ptr %25784, align 4, !tbaa !5
  %25786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25773, ptr noundef @.str.2, i32 noundef %25774, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %25777, ptr noundef %25780, ptr noundef %25783, i32 noundef %25785) #11
  br label %25804

25787:                                            ; preds = %25765, %25758
  %25788 = load i32, ptr %640, align 4, !tbaa !5
  %25789 = call ptr @__errno_location() #12
  store i32 %25788, ptr %25789, align 4, !tbaa !5
  %25790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25791 = load i32, ptr @test_count, align 4, !tbaa !5
  %25792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25793 = load i32, ptr %25792, align 4, !tbaa !5
  %25794 = call ptr @s2n_strerror(i32 noundef %25793, ptr noundef @.str.4)
  %25795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25796 = load i32, ptr %25795, align 4, !tbaa !5
  %25797 = call ptr @s2n_strerror_debug(i32 noundef %25796, ptr noundef @.str.4)
  %25798 = call ptr @__errno_location() #12
  %25799 = load i32, ptr %25798, align 4, !tbaa !5
  %25800 = call ptr @strerror(i32 noundef %25799) #11
  %25801 = call ptr @__errno_location() #12
  %25802 = load i32, ptr %25801, align 4, !tbaa !5
  %25803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25790, ptr noundef @.str.5, i32 noundef %25791, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %25794, ptr noundef %25797, ptr noundef %25800, i32 noundef %25802) #11
  br label %25804

25804:                                            ; preds = %25787, %25770
  call void @llvm.lifetime.end.p0(i64 4, ptr %640) #11
  br label %25805

25805:                                            ; preds = %25804
  br label %25806

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

25807:                                            ; No predecessors!
  br label %25808

25808:                                            ; preds = %25807
  br label %25809

25809:                                            ; preds = %25808, %25747
  br label %25810

25810:                                            ; preds = %25809
  br label %25811

25811:                                            ; preds = %25810
  br label %25812

25812:                                            ; preds = %25811
  %25813 = load i32, ptr @test_count, align 4, !tbaa !5
  %25814 = add nsw i32 %25813, 1
  store i32 %25814, ptr @test_count, align 4, !tbaa !5
  %25815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25816 = load i32, ptr %25815, align 4, !tbaa !5
  %25817 = icmp eq i32 %25816, 402653194
  br i1 %25817, label %25871, label %25818

25818:                                            ; preds = %25812
  br label %25819

25819:                                            ; preds = %25818
  br label %25820

25820:                                            ; preds = %25819
  call void @llvm.lifetime.start.p0(i64 4, ptr %641) #11
  %25821 = call ptr @__errno_location() #12
  %25822 = load i32, ptr %25821, align 4, !tbaa !5
  store i32 %25822, ptr %641, align 4, !tbaa !5
  %25823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25824 = call i32 @s2n_print_stacktrace(ptr noundef %25823)
  %25825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25826 = trunc i8 %25825 to i1
  br i1 %25826, label %25827, label %25849

25827:                                            ; preds = %25820
  %25828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25829 = call i32 @fileno(ptr noundef %25828) #11
  %25830 = call i32 @isatty(i32 noundef %25829) #11
  %25831 = icmp ne i32 %25830, 0
  br i1 %25831, label %25832, label %25849

25832:                                            ; preds = %25827
  %25833 = load i32, ptr %641, align 4, !tbaa !5
  %25834 = call ptr @__errno_location() #12
  store i32 %25833, ptr %25834, align 4, !tbaa !5
  %25835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25836 = load i32, ptr @test_count, align 4, !tbaa !5
  %25837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25838 = load i32, ptr %25837, align 4, !tbaa !5
  %25839 = call ptr @s2n_strerror(i32 noundef %25838, ptr noundef @.str.4)
  %25840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25841 = load i32, ptr %25840, align 4, !tbaa !5
  %25842 = call ptr @s2n_strerror_debug(i32 noundef %25841, ptr noundef @.str.4)
  %25843 = call ptr @__errno_location() #12
  %25844 = load i32, ptr %25843, align 4, !tbaa !5
  %25845 = call ptr @strerror(i32 noundef %25844) #11
  %25846 = call ptr @__errno_location() #12
  %25847 = load i32, ptr %25846, align 4, !tbaa !5
  %25848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25835, ptr noundef @.str.2, i32 noundef %25836, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %25839, ptr noundef %25842, ptr noundef %25845, i32 noundef %25847) #11
  br label %25866

25849:                                            ; preds = %25827, %25820
  %25850 = load i32, ptr %641, align 4, !tbaa !5
  %25851 = call ptr @__errno_location() #12
  store i32 %25850, ptr %25851, align 4, !tbaa !5
  %25852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25853 = load i32, ptr @test_count, align 4, !tbaa !5
  %25854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25855 = load i32, ptr %25854, align 4, !tbaa !5
  %25856 = call ptr @s2n_strerror(i32 noundef %25855, ptr noundef @.str.4)
  %25857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25858 = load i32, ptr %25857, align 4, !tbaa !5
  %25859 = call ptr @s2n_strerror_debug(i32 noundef %25858, ptr noundef @.str.4)
  %25860 = call ptr @__errno_location() #12
  %25861 = load i32, ptr %25860, align 4, !tbaa !5
  %25862 = call ptr @strerror(i32 noundef %25861) #11
  %25863 = call ptr @__errno_location() #12
  %25864 = load i32, ptr %25863, align 4, !tbaa !5
  %25865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25852, ptr noundef @.str.5, i32 noundef %25853, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %25856, ptr noundef %25859, ptr noundef %25862, i32 noundef %25864) #11
  br label %25866

25866:                                            ; preds = %25849, %25832
  call void @llvm.lifetime.end.p0(i64 4, ptr %641) #11
  br label %25867

25867:                                            ; preds = %25866
  br label %25868

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

25869:                                            ; No predecessors!
  br label %25870

25870:                                            ; preds = %25869
  br label %25871

25871:                                            ; preds = %25870, %25812
  br label %25872

25872:                                            ; preds = %25871
  br label %25873

25873:                                            ; preds = %25872
  br label %25874

25874:                                            ; preds = %25873
  %25875 = load i32, ptr @test_count, align 4, !tbaa !5
  %25876 = add nsw i32 %25875, 1
  store i32 %25876, ptr @test_count, align 4, !tbaa !5
  %25877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25878 = load i32, ptr %25877, align 4, !tbaa !5
  %25879 = call ptr @s2n_strerror_debug(i32 noundef %25878, ptr noundef @.str.4)
  %25880 = icmp eq ptr %25879, null
  br i1 %25880, label %25881, label %25934

25881:                                            ; preds = %25874
  br label %25882

25882:                                            ; preds = %25881
  br label %25883

25883:                                            ; preds = %25882
  call void @llvm.lifetime.start.p0(i64 4, ptr %642) #11
  %25884 = call ptr @__errno_location() #12
  %25885 = load i32, ptr %25884, align 4, !tbaa !5
  store i32 %25885, ptr %642, align 4, !tbaa !5
  %25886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25887 = call i32 @s2n_print_stacktrace(ptr noundef %25886)
  %25888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25889 = trunc i8 %25888 to i1
  br i1 %25889, label %25890, label %25912

25890:                                            ; preds = %25883
  %25891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25892 = call i32 @fileno(ptr noundef %25891) #11
  %25893 = call i32 @isatty(i32 noundef %25892) #11
  %25894 = icmp ne i32 %25893, 0
  br i1 %25894, label %25895, label %25912

25895:                                            ; preds = %25890
  %25896 = load i32, ptr %642, align 4, !tbaa !5
  %25897 = call ptr @__errno_location() #12
  store i32 %25896, ptr %25897, align 4, !tbaa !5
  %25898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25899 = load i32, ptr @test_count, align 4, !tbaa !5
  %25900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25901 = load i32, ptr %25900, align 4, !tbaa !5
  %25902 = call ptr @s2n_strerror(i32 noundef %25901, ptr noundef @.str.4)
  %25903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25904 = load i32, ptr %25903, align 4, !tbaa !5
  %25905 = call ptr @s2n_strerror_debug(i32 noundef %25904, ptr noundef @.str.4)
  %25906 = call ptr @__errno_location() #12
  %25907 = load i32, ptr %25906, align 4, !tbaa !5
  %25908 = call ptr @strerror(i32 noundef %25907) #11
  %25909 = call ptr @__errno_location() #12
  %25910 = load i32, ptr %25909, align 4, !tbaa !5
  %25911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25898, ptr noundef @.str.2, i32 noundef %25899, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %25902, ptr noundef %25905, ptr noundef %25908, i32 noundef %25910) #11
  br label %25929

25912:                                            ; preds = %25890, %25883
  %25913 = load i32, ptr %642, align 4, !tbaa !5
  %25914 = call ptr @__errno_location() #12
  store i32 %25913, ptr %25914, align 4, !tbaa !5
  %25915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25916 = load i32, ptr @test_count, align 4, !tbaa !5
  %25917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25918 = load i32, ptr %25917, align 4, !tbaa !5
  %25919 = call ptr @s2n_strerror(i32 noundef %25918, ptr noundef @.str.4)
  %25920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25921 = load i32, ptr %25920, align 4, !tbaa !5
  %25922 = call ptr @s2n_strerror_debug(i32 noundef %25921, ptr noundef @.str.4)
  %25923 = call ptr @__errno_location() #12
  %25924 = load i32, ptr %25923, align 4, !tbaa !5
  %25925 = call ptr @strerror(i32 noundef %25924) #11
  %25926 = call ptr @__errno_location() #12
  %25927 = load i32, ptr %25926, align 4, !tbaa !5
  %25928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25915, ptr noundef @.str.5, i32 noundef %25916, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %25919, ptr noundef %25922, ptr noundef %25925, i32 noundef %25927) #11
  br label %25929

25929:                                            ; preds = %25912, %25895
  call void @llvm.lifetime.end.p0(i64 4, ptr %642) #11
  br label %25930

25930:                                            ; preds = %25929
  br label %25931

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

25932:                                            ; No predecessors!
  br label %25933

25933:                                            ; preds = %25932
  br label %25934

25934:                                            ; preds = %25933, %25874
  br label %25935

25935:                                            ; preds = %25934
  br label %25936

25936:                                            ; preds = %25935
  br label %25937

25937:                                            ; preds = %25936
  br label %25938

25938:                                            ; preds = %25937
  br label %25939

25939:                                            ; preds = %25938
  %25940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25940, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25941 = call ptr @__errno_location() #12
  store i32 0, ptr %25941, align 4, !tbaa !5
  br label %25942

25942:                                            ; preds = %25939
  br label %25943

25943:                                            ; preds = %25942
  br label %25944

25944:                                            ; preds = %25943
  br label %25945

25945:                                            ; preds = %25944
  br label %25946

25946:                                            ; preds = %25945
  %25947 = load i32, ptr @test_count, align 4, !tbaa !5
  %25948 = add nsw i32 %25947, 1
  store i32 %25948, ptr @test_count, align 4, !tbaa !5
  %25949 = call i32 @s2n_stuffer_reread(ptr noundef %614)
  %25950 = icmp eq i32 %25949, -1
  br i1 %25950, label %25951, label %26004

25951:                                            ; preds = %25946
  br label %25952

25952:                                            ; preds = %25951
  br label %25953

25953:                                            ; preds = %25952
  call void @llvm.lifetime.start.p0(i64 4, ptr %643) #11
  %25954 = call ptr @__errno_location() #12
  %25955 = load i32, ptr %25954, align 4, !tbaa !5
  store i32 %25955, ptr %643, align 4, !tbaa !5
  %25956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25957 = call i32 @s2n_print_stacktrace(ptr noundef %25956)
  %25958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25959 = trunc i8 %25958 to i1
  br i1 %25959, label %25960, label %25982

25960:                                            ; preds = %25953
  %25961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25962 = call i32 @fileno(ptr noundef %25961) #11
  %25963 = call i32 @isatty(i32 noundef %25962) #11
  %25964 = icmp ne i32 %25963, 0
  br i1 %25964, label %25965, label %25982

25965:                                            ; preds = %25960
  %25966 = load i32, ptr %643, align 4, !tbaa !5
  %25967 = call ptr @__errno_location() #12
  store i32 %25966, ptr %25967, align 4, !tbaa !5
  %25968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25969 = load i32, ptr @test_count, align 4, !tbaa !5
  %25970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25971 = load i32, ptr %25970, align 4, !tbaa !5
  %25972 = call ptr @s2n_strerror(i32 noundef %25971, ptr noundef @.str.4)
  %25973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25974 = load i32, ptr %25973, align 4, !tbaa !5
  %25975 = call ptr @s2n_strerror_debug(i32 noundef %25974, ptr noundef @.str.4)
  %25976 = call ptr @__errno_location() #12
  %25977 = load i32, ptr %25976, align 4, !tbaa !5
  %25978 = call ptr @strerror(i32 noundef %25977) #11
  %25979 = call ptr @__errno_location() #12
  %25980 = load i32, ptr %25979, align 4, !tbaa !5
  %25981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25968, ptr noundef @.str.2, i32 noundef %25969, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %25972, ptr noundef %25975, ptr noundef %25978, i32 noundef %25980) #11
  br label %25999

25982:                                            ; preds = %25960, %25953
  %25983 = load i32, ptr %643, align 4, !tbaa !5
  %25984 = call ptr @__errno_location() #12
  store i32 %25983, ptr %25984, align 4, !tbaa !5
  %25985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25986 = load i32, ptr @test_count, align 4, !tbaa !5
  %25987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25988 = load i32, ptr %25987, align 4, !tbaa !5
  %25989 = call ptr @s2n_strerror(i32 noundef %25988, ptr noundef @.str.4)
  %25990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25991 = load i32, ptr %25990, align 4, !tbaa !5
  %25992 = call ptr @s2n_strerror_debug(i32 noundef %25991, ptr noundef @.str.4)
  %25993 = call ptr @__errno_location() #12
  %25994 = load i32, ptr %25993, align 4, !tbaa !5
  %25995 = call ptr @strerror(i32 noundef %25994) #11
  %25996 = call ptr @__errno_location() #12
  %25997 = load i32, ptr %25996, align 4, !tbaa !5
  %25998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25985, ptr noundef @.str.5, i32 noundef %25986, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %25989, ptr noundef %25992, ptr noundef %25995, i32 noundef %25997) #11
  br label %25999

25999:                                            ; preds = %25982, %25965
  call void @llvm.lifetime.end.p0(i64 4, ptr %643) #11
  br label %26000

26000:                                            ; preds = %25999
  br label %26001

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

26002:                                            ; No predecessors!
  br label %26003

26003:                                            ; preds = %26002
  br label %26004

26004:                                            ; preds = %26003, %25946
  br label %26005

26005:                                            ; preds = %26004
  br label %26006

26006:                                            ; preds = %26005
  %26007 = load ptr, ptr %606, align 8, !tbaa !9
  %26008 = getelementptr inbounds %struct.s2n_connection, ptr %26007, i32 0, i32 33
  %26009 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %26008, i32 0, i32 4
  store ptr %608, ptr %26009, align 8, !tbaa !100
  %26010 = load ptr, ptr %606, align 8, !tbaa !9
  %26011 = getelementptr inbounds %struct.s2n_connection, ptr %26010, i32 0, i32 33
  %26012 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %26011, i32 0, i32 3
  store i16 2, ptr %26012, align 2, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 8, ptr %644) #11
  store ptr %604, ptr %644, align 8, !tbaa !9
  br label %26013

26013:                                            ; preds = %26006
  br label %26014

26014:                                            ; preds = %26013
  br label %26015

26015:                                            ; preds = %26014
  %26016 = load i32, ptr @test_count, align 4, !tbaa !5
  %26017 = add nsw i32 %26016, 1
  store i32 %26017, ptr @test_count, align 4, !tbaa !5
  %26018 = load ptr, ptr %606, align 8, !tbaa !9
  %26019 = load ptr, ptr %644, align 8, !tbaa !9
  %26020 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef %26018, ptr noundef %26019, ptr noundef %614)
  %26021 = getelementptr inbounds %struct.s2n_result, ptr %645, i32 0, i32 0
  store i32 %26020, ptr %26021, align 4
  %26022 = getelementptr inbounds %struct.s2n_result, ptr %645, i32 0, i32 0
  %26023 = load i32, ptr %26022, align 4
  %26024 = call zeroext i1 @s2n_result_is_error(i32 %26023)
  br i1 %26024, label %26078, label %26025

26025:                                            ; preds = %26015
  br label %26026

26026:                                            ; preds = %26025
  br label %26027

26027:                                            ; preds = %26026
  call void @llvm.lifetime.start.p0(i64 4, ptr %646) #11
  %26028 = call ptr @__errno_location() #12
  %26029 = load i32, ptr %26028, align 4, !tbaa !5
  store i32 %26029, ptr %646, align 4, !tbaa !5
  %26030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26031 = call i32 @s2n_print_stacktrace(ptr noundef %26030)
  %26032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26033 = trunc i8 %26032 to i1
  br i1 %26033, label %26034, label %26056

26034:                                            ; preds = %26027
  %26035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26036 = call i32 @fileno(ptr noundef %26035) #11
  %26037 = call i32 @isatty(i32 noundef %26036) #11
  %26038 = icmp ne i32 %26037, 0
  br i1 %26038, label %26039, label %26056

26039:                                            ; preds = %26034
  %26040 = load i32, ptr %646, align 4, !tbaa !5
  %26041 = call ptr @__errno_location() #12
  store i32 %26040, ptr %26041, align 4, !tbaa !5
  %26042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26043 = load i32, ptr @test_count, align 4, !tbaa !5
  %26044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26045 = load i32, ptr %26044, align 4, !tbaa !5
  %26046 = call ptr @s2n_strerror(i32 noundef %26045, ptr noundef @.str.4)
  %26047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26048 = load i32, ptr %26047, align 4, !tbaa !5
  %26049 = call ptr @s2n_strerror_debug(i32 noundef %26048, ptr noundef @.str.4)
  %26050 = call ptr @__errno_location() #12
  %26051 = load i32, ptr %26050, align 4, !tbaa !5
  %26052 = call ptr @strerror(i32 noundef %26051) #11
  %26053 = call ptr @__errno_location() #12
  %26054 = load i32, ptr %26053, align 4, !tbaa !5
  %26055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26042, ptr noundef @.str.2, i32 noundef %26043, ptr noundef @.str.170, ptr noundef @.str.1, i32 noundef 1193, ptr noundef %26046, ptr noundef %26049, ptr noundef %26052, i32 noundef %26054) #11
  br label %26073

26056:                                            ; preds = %26034, %26027
  %26057 = load i32, ptr %646, align 4, !tbaa !5
  %26058 = call ptr @__errno_location() #12
  store i32 %26057, ptr %26058, align 4, !tbaa !5
  %26059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26060 = load i32, ptr @test_count, align 4, !tbaa !5
  %26061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26062 = load i32, ptr %26061, align 4, !tbaa !5
  %26063 = call ptr @s2n_strerror(i32 noundef %26062, ptr noundef @.str.4)
  %26064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26065 = load i32, ptr %26064, align 4, !tbaa !5
  %26066 = call ptr @s2n_strerror_debug(i32 noundef %26065, ptr noundef @.str.4)
  %26067 = call ptr @__errno_location() #12
  %26068 = load i32, ptr %26067, align 4, !tbaa !5
  %26069 = call ptr @strerror(i32 noundef %26068) #11
  %26070 = call ptr @__errno_location() #12
  %26071 = load i32, ptr %26070, align 4, !tbaa !5
  %26072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26059, ptr noundef @.str.5, i32 noundef %26060, ptr noundef @.str.170, ptr noundef @.str.1, i32 noundef 1193, ptr noundef %26063, ptr noundef %26066, ptr noundef %26069, i32 noundef %26071) #11
  br label %26073

26073:                                            ; preds = %26056, %26039
  call void @llvm.lifetime.end.p0(i64 4, ptr %646) #11
  br label %26074

26074:                                            ; preds = %26073
  br label %26075

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

26076:                                            ; No predecessors!
  br label %26077

26077:                                            ; preds = %26076
  br label %26078

26078:                                            ; preds = %26077, %26015
  br label %26079

26079:                                            ; preds = %26078
  br label %26080

26080:                                            ; preds = %26079
  br label %26081

26081:                                            ; preds = %26080
  %26082 = load i32, ptr @test_count, align 4, !tbaa !5
  %26083 = add nsw i32 %26082, 1
  store i32 %26083, ptr @test_count, align 4, !tbaa !5
  %26084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26085 = load i32, ptr %26084, align 4, !tbaa !5
  %26086 = icmp eq i32 %26085, 335544322
  br i1 %26086, label %26140, label %26087

26087:                                            ; preds = %26081
  br label %26088

26088:                                            ; preds = %26087
  br label %26089

26089:                                            ; preds = %26088
  call void @llvm.lifetime.start.p0(i64 4, ptr %647) #11
  %26090 = call ptr @__errno_location() #12
  %26091 = load i32, ptr %26090, align 4, !tbaa !5
  store i32 %26091, ptr %647, align 4, !tbaa !5
  %26092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26093 = call i32 @s2n_print_stacktrace(ptr noundef %26092)
  %26094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26095 = trunc i8 %26094 to i1
  br i1 %26095, label %26096, label %26118

26096:                                            ; preds = %26089
  %26097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26098 = call i32 @fileno(ptr noundef %26097) #11
  %26099 = call i32 @isatty(i32 noundef %26098) #11
  %26100 = icmp ne i32 %26099, 0
  br i1 %26100, label %26101, label %26118

26101:                                            ; preds = %26096
  %26102 = load i32, ptr %647, align 4, !tbaa !5
  %26103 = call ptr @__errno_location() #12
  store i32 %26102, ptr %26103, align 4, !tbaa !5
  %26104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26105 = load i32, ptr @test_count, align 4, !tbaa !5
  %26106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26107 = load i32, ptr %26106, align 4, !tbaa !5
  %26108 = call ptr @s2n_strerror(i32 noundef %26107, ptr noundef @.str.4)
  %26109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26110 = load i32, ptr %26109, align 4, !tbaa !5
  %26111 = call ptr @s2n_strerror_debug(i32 noundef %26110, ptr noundef @.str.4)
  %26112 = call ptr @__errno_location() #12
  %26113 = load i32, ptr %26112, align 4, !tbaa !5
  %26114 = call ptr @strerror(i32 noundef %26113) #11
  %26115 = call ptr @__errno_location() #12
  %26116 = load i32, ptr %26115, align 4, !tbaa !5
  %26117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26104, ptr noundef @.str.2, i32 noundef %26105, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1193, ptr noundef %26108, ptr noundef %26111, ptr noundef %26114, i32 noundef %26116) #11
  br label %26135

26118:                                            ; preds = %26096, %26089
  %26119 = load i32, ptr %647, align 4, !tbaa !5
  %26120 = call ptr @__errno_location() #12
  store i32 %26119, ptr %26120, align 4, !tbaa !5
  %26121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26122 = load i32, ptr @test_count, align 4, !tbaa !5
  %26123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26124 = load i32, ptr %26123, align 4, !tbaa !5
  %26125 = call ptr @s2n_strerror(i32 noundef %26124, ptr noundef @.str.4)
  %26126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26127 = load i32, ptr %26126, align 4, !tbaa !5
  %26128 = call ptr @s2n_strerror_debug(i32 noundef %26127, ptr noundef @.str.4)
  %26129 = call ptr @__errno_location() #12
  %26130 = load i32, ptr %26129, align 4, !tbaa !5
  %26131 = call ptr @strerror(i32 noundef %26130) #11
  %26132 = call ptr @__errno_location() #12
  %26133 = load i32, ptr %26132, align 4, !tbaa !5
  %26134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26121, ptr noundef @.str.5, i32 noundef %26122, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1193, ptr noundef %26125, ptr noundef %26128, ptr noundef %26131, i32 noundef %26133) #11
  br label %26135

26135:                                            ; preds = %26118, %26101
  call void @llvm.lifetime.end.p0(i64 4, ptr %647) #11
  br label %26136

26136:                                            ; preds = %26135
  br label %26137

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

26138:                                            ; No predecessors!
  br label %26139

26139:                                            ; preds = %26138
  br label %26140

26140:                                            ; preds = %26139, %26081
  br label %26141

26141:                                            ; preds = %26140
  br label %26142

26142:                                            ; preds = %26141
  br label %26143

26143:                                            ; preds = %26142
  %26144 = load i32, ptr @test_count, align 4, !tbaa !5
  %26145 = add nsw i32 %26144, 1
  store i32 %26145, ptr @test_count, align 4, !tbaa !5
  %26146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26147 = load i32, ptr %26146, align 4, !tbaa !5
  %26148 = call ptr @s2n_strerror_debug(i32 noundef %26147, ptr noundef @.str.4)
  %26149 = icmp eq ptr %26148, null
  br i1 %26149, label %26150, label %26203

26150:                                            ; preds = %26143
  br label %26151

26151:                                            ; preds = %26150
  br label %26152

26152:                                            ; preds = %26151
  call void @llvm.lifetime.start.p0(i64 4, ptr %648) #11
  %26153 = call ptr @__errno_location() #12
  %26154 = load i32, ptr %26153, align 4, !tbaa !5
  store i32 %26154, ptr %648, align 4, !tbaa !5
  %26155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26156 = call i32 @s2n_print_stacktrace(ptr noundef %26155)
  %26157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26158 = trunc i8 %26157 to i1
  br i1 %26158, label %26159, label %26181

26159:                                            ; preds = %26152
  %26160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26161 = call i32 @fileno(ptr noundef %26160) #11
  %26162 = call i32 @isatty(i32 noundef %26161) #11
  %26163 = icmp ne i32 %26162, 0
  br i1 %26163, label %26164, label %26181

26164:                                            ; preds = %26159
  %26165 = load i32, ptr %648, align 4, !tbaa !5
  %26166 = call ptr @__errno_location() #12
  store i32 %26165, ptr %26166, align 4, !tbaa !5
  %26167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26168 = load i32, ptr @test_count, align 4, !tbaa !5
  %26169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26170 = load i32, ptr %26169, align 4, !tbaa !5
  %26171 = call ptr @s2n_strerror(i32 noundef %26170, ptr noundef @.str.4)
  %26172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26173 = load i32, ptr %26172, align 4, !tbaa !5
  %26174 = call ptr @s2n_strerror_debug(i32 noundef %26173, ptr noundef @.str.4)
  %26175 = call ptr @__errno_location() #12
  %26176 = load i32, ptr %26175, align 4, !tbaa !5
  %26177 = call ptr @strerror(i32 noundef %26176) #11
  %26178 = call ptr @__errno_location() #12
  %26179 = load i32, ptr %26178, align 4, !tbaa !5
  %26180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26167, ptr noundef @.str.2, i32 noundef %26168, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1193, ptr noundef %26171, ptr noundef %26174, ptr noundef %26177, i32 noundef %26179) #11
  br label %26198

26181:                                            ; preds = %26159, %26152
  %26182 = load i32, ptr %648, align 4, !tbaa !5
  %26183 = call ptr @__errno_location() #12
  store i32 %26182, ptr %26183, align 4, !tbaa !5
  %26184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26185 = load i32, ptr @test_count, align 4, !tbaa !5
  %26186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26187 = load i32, ptr %26186, align 4, !tbaa !5
  %26188 = call ptr @s2n_strerror(i32 noundef %26187, ptr noundef @.str.4)
  %26189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26190 = load i32, ptr %26189, align 4, !tbaa !5
  %26191 = call ptr @s2n_strerror_debug(i32 noundef %26190, ptr noundef @.str.4)
  %26192 = call ptr @__errno_location() #12
  %26193 = load i32, ptr %26192, align 4, !tbaa !5
  %26194 = call ptr @strerror(i32 noundef %26193) #11
  %26195 = call ptr @__errno_location() #12
  %26196 = load i32, ptr %26195, align 4, !tbaa !5
  %26197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26184, ptr noundef @.str.5, i32 noundef %26185, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1193, ptr noundef %26188, ptr noundef %26191, ptr noundef %26194, i32 noundef %26196) #11
  br label %26198

26198:                                            ; preds = %26181, %26164
  call void @llvm.lifetime.end.p0(i64 4, ptr %648) #11
  br label %26199

26199:                                            ; preds = %26198
  br label %26200

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

26201:                                            ; No predecessors!
  br label %26202

26202:                                            ; preds = %26201
  br label %26203

26203:                                            ; preds = %26202, %26143
  br label %26204

26204:                                            ; preds = %26203
  br label %26205

26205:                                            ; preds = %26204
  br label %26206

26206:                                            ; preds = %26205
  br label %26207

26207:                                            ; preds = %26206
  br label %26208

26208:                                            ; preds = %26207
  %26209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26209, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26210 = call ptr @__errno_location() #12
  store i32 0, ptr %26210, align 4, !tbaa !5
  br label %26211

26211:                                            ; preds = %26208
  br label %26212

26212:                                            ; preds = %26211
  br label %26213

26213:                                            ; preds = %26212
  br label %26214

26214:                                            ; preds = %26213
  call void @llvm.lifetime.end.p0(i64 8, ptr %644) #11
  br label %26215

26215:                                            ; preds = %26214
  %26216 = load i32, ptr @test_count, align 4, !tbaa !5
  %26217 = add nsw i32 %26216, 1
  store i32 %26217, ptr @test_count, align 4, !tbaa !5
  %26218 = call i32 @s2n_stuffer_reread(ptr noundef %614)
  %26219 = icmp eq i32 %26218, -1
  br i1 %26219, label %26220, label %26273

26220:                                            ; preds = %26215
  br label %26221

26221:                                            ; preds = %26220
  br label %26222

26222:                                            ; preds = %26221
  call void @llvm.lifetime.start.p0(i64 4, ptr %649) #11
  %26223 = call ptr @__errno_location() #12
  %26224 = load i32, ptr %26223, align 4, !tbaa !5
  store i32 %26224, ptr %649, align 4, !tbaa !5
  %26225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26226 = call i32 @s2n_print_stacktrace(ptr noundef %26225)
  %26227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26228 = trunc i8 %26227 to i1
  br i1 %26228, label %26229, label %26251

26229:                                            ; preds = %26222
  %26230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26231 = call i32 @fileno(ptr noundef %26230) #11
  %26232 = call i32 @isatty(i32 noundef %26231) #11
  %26233 = icmp ne i32 %26232, 0
  br i1 %26233, label %26234, label %26251

26234:                                            ; preds = %26229
  %26235 = load i32, ptr %649, align 4, !tbaa !5
  %26236 = call ptr @__errno_location() #12
  store i32 %26235, ptr %26236, align 4, !tbaa !5
  %26237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26238 = load i32, ptr @test_count, align 4, !tbaa !5
  %26239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26240 = load i32, ptr %26239, align 4, !tbaa !5
  %26241 = call ptr @s2n_strerror(i32 noundef %26240, ptr noundef @.str.4)
  %26242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26243 = load i32, ptr %26242, align 4, !tbaa !5
  %26244 = call ptr @s2n_strerror_debug(i32 noundef %26243, ptr noundef @.str.4)
  %26245 = call ptr @__errno_location() #12
  %26246 = load i32, ptr %26245, align 4, !tbaa !5
  %26247 = call ptr @strerror(i32 noundef %26246) #11
  %26248 = call ptr @__errno_location() #12
  %26249 = load i32, ptr %26248, align 4, !tbaa !5
  %26250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26237, ptr noundef @.str.2, i32 noundef %26238, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1198, ptr noundef %26241, ptr noundef %26244, ptr noundef %26247, i32 noundef %26249) #11
  br label %26268

26251:                                            ; preds = %26229, %26222
  %26252 = load i32, ptr %649, align 4, !tbaa !5
  %26253 = call ptr @__errno_location() #12
  store i32 %26252, ptr %26253, align 4, !tbaa !5
  %26254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26255 = load i32, ptr @test_count, align 4, !tbaa !5
  %26256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26257 = load i32, ptr %26256, align 4, !tbaa !5
  %26258 = call ptr @s2n_strerror(i32 noundef %26257, ptr noundef @.str.4)
  %26259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26260 = load i32, ptr %26259, align 4, !tbaa !5
  %26261 = call ptr @s2n_strerror_debug(i32 noundef %26260, ptr noundef @.str.4)
  %26262 = call ptr @__errno_location() #12
  %26263 = load i32, ptr %26262, align 4, !tbaa !5
  %26264 = call ptr @strerror(i32 noundef %26263) #11
  %26265 = call ptr @__errno_location() #12
  %26266 = load i32, ptr %26265, align 4, !tbaa !5
  %26267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26254, ptr noundef @.str.5, i32 noundef %26255, ptr noundef @.str.168, ptr noundef @.str.1, i32 noundef 1198, ptr noundef %26258, ptr noundef %26261, ptr noundef %26264, i32 noundef %26266) #11
  br label %26268

26268:                                            ; preds = %26251, %26234
  call void @llvm.lifetime.end.p0(i64 4, ptr %649) #11
  br label %26269

26269:                                            ; preds = %26268
  br label %26270

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

26271:                                            ; No predecessors!
  br label %26272

26272:                                            ; preds = %26271
  br label %26273

26273:                                            ; preds = %26272, %26215
  br label %26274

26274:                                            ; preds = %26273
  br label %26275

26275:                                            ; preds = %26274
  %26276 = load ptr, ptr %606, align 8, !tbaa !9
  %26277 = getelementptr inbounds %struct.s2n_connection, ptr %26276, i32 0, i32 33
  %26278 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %26277, i32 0, i32 4
  store ptr %608, ptr %26278, align 8, !tbaa !100
  %26279 = load ptr, ptr %606, align 8, !tbaa !9
  %26280 = getelementptr inbounds %struct.s2n_connection, ptr %26279, i32 0, i32 33
  %26281 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %26280, i32 0, i32 3
  store i16 2, ptr %26281, align 2, !tbaa !99
  br label %26282

26282:                                            ; preds = %26275
  %26283 = load i32, ptr @test_count, align 4, !tbaa !5
  %26284 = add nsw i32 %26283, 1
  store i32 %26284, ptr @test_count, align 4, !tbaa !5
  %26285 = load ptr, ptr %606, align 8, !tbaa !9
  %26286 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef %26285, ptr noundef %600, ptr noundef %614)
  %26287 = getelementptr inbounds %struct.s2n_result, ptr %650, i32 0, i32 0
  store i32 %26286, ptr %26287, align 4
  %26288 = getelementptr inbounds %struct.s2n_result, ptr %650, i32 0, i32 0
  %26289 = load i32, ptr %26288, align 4
  %26290 = call zeroext i1 @s2n_result_is_ok(i32 %26289)
  br i1 %26290, label %26344, label %26291

26291:                                            ; preds = %26282
  br label %26292

26292:                                            ; preds = %26291
  br label %26293

26293:                                            ; preds = %26292
  call void @llvm.lifetime.start.p0(i64 4, ptr %651) #11
  %26294 = call ptr @__errno_location() #12
  %26295 = load i32, ptr %26294, align 4, !tbaa !5
  store i32 %26295, ptr %651, align 4, !tbaa !5
  %26296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26297 = call i32 @s2n_print_stacktrace(ptr noundef %26296)
  %26298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26299 = trunc i8 %26298 to i1
  br i1 %26299, label %26300, label %26322

26300:                                            ; preds = %26293
  %26301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26302 = call i32 @fileno(ptr noundef %26301) #11
  %26303 = call i32 @isatty(i32 noundef %26302) #11
  %26304 = icmp ne i32 %26303, 0
  br i1 %26304, label %26305, label %26322

26305:                                            ; preds = %26300
  %26306 = load i32, ptr %651, align 4, !tbaa !5
  %26307 = call ptr @__errno_location() #12
  store i32 %26306, ptr %26307, align 4, !tbaa !5
  %26308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26309 = load i32, ptr @test_count, align 4, !tbaa !5
  %26310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26311 = load i32, ptr %26310, align 4, !tbaa !5
  %26312 = call ptr @s2n_strerror(i32 noundef %26311, ptr noundef @.str.4)
  %26313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26314 = load i32, ptr %26313, align 4, !tbaa !5
  %26315 = call ptr @s2n_strerror_debug(i32 noundef %26314, ptr noundef @.str.4)
  %26316 = call ptr @__errno_location() #12
  %26317 = load i32, ptr %26316, align 4, !tbaa !5
  %26318 = call ptr @strerror(i32 noundef %26317) #11
  %26319 = call ptr @__errno_location() #12
  %26320 = load i32, ptr %26319, align 4, !tbaa !5
  %26321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26308, ptr noundef @.str.2, i32 noundef %26309, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1202, ptr noundef %26312, ptr noundef %26315, ptr noundef %26318, i32 noundef %26320) #11
  br label %26339

26322:                                            ; preds = %26300, %26293
  %26323 = load i32, ptr %651, align 4, !tbaa !5
  %26324 = call ptr @__errno_location() #12
  store i32 %26323, ptr %26324, align 4, !tbaa !5
  %26325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26326 = load i32, ptr @test_count, align 4, !tbaa !5
  %26327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26328 = load i32, ptr %26327, align 4, !tbaa !5
  %26329 = call ptr @s2n_strerror(i32 noundef %26328, ptr noundef @.str.4)
  %26330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26331 = load i32, ptr %26330, align 4, !tbaa !5
  %26332 = call ptr @s2n_strerror_debug(i32 noundef %26331, ptr noundef @.str.4)
  %26333 = call ptr @__errno_location() #12
  %26334 = load i32, ptr %26333, align 4, !tbaa !5
  %26335 = call ptr @strerror(i32 noundef %26334) #11
  %26336 = call ptr @__errno_location() #12
  %26337 = load i32, ptr %26336, align 4, !tbaa !5
  %26338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26325, ptr noundef @.str.5, i32 noundef %26326, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 1202, ptr noundef %26329, ptr noundef %26332, ptr noundef %26335, i32 noundef %26337) #11
  br label %26339

26339:                                            ; preds = %26322, %26305
  call void @llvm.lifetime.end.p0(i64 4, ptr %651) #11
  br label %26340

26340:                                            ; preds = %26339
  br label %26341

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

26342:                                            ; No predecessors!
  br label %26343

26343:                                            ; preds = %26342
  br label %26344

26344:                                            ; preds = %26343, %26282
  br label %26345

26345:                                            ; preds = %26344
  br label %26346

26346:                                            ; preds = %26345
  br label %26347

26347:                                            ; preds = %26346
  %26348 = load i32, ptr @test_count, align 4, !tbaa !5
  %26349 = add nsw i32 %26348, 1
  store i32 %26349, ptr @test_count, align 4, !tbaa !5
  %26350 = load ptr, ptr %606, align 8, !tbaa !9
  %26351 = call i32 @s2n_connection_free(ptr noundef %26350)
  %26352 = icmp eq i32 %26351, -1
  br i1 %26352, label %26353, label %26406

26353:                                            ; preds = %26347
  br label %26354

26354:                                            ; preds = %26353
  br label %26355

26355:                                            ; preds = %26354
  call void @llvm.lifetime.start.p0(i64 4, ptr %652) #11
  %26356 = call ptr @__errno_location() #12
  %26357 = load i32, ptr %26356, align 4, !tbaa !5
  store i32 %26357, ptr %652, align 4, !tbaa !5
  %26358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26359 = call i32 @s2n_print_stacktrace(ptr noundef %26358)
  %26360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26361 = trunc i8 %26360 to i1
  br i1 %26361, label %26362, label %26384

26362:                                            ; preds = %26355
  %26363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26364 = call i32 @fileno(ptr noundef %26363) #11
  %26365 = call i32 @isatty(i32 noundef %26364) #11
  %26366 = icmp ne i32 %26365, 0
  br i1 %26366, label %26367, label %26384

26367:                                            ; preds = %26362
  %26368 = load i32, ptr %652, align 4, !tbaa !5
  %26369 = call ptr @__errno_location() #12
  store i32 %26368, ptr %26369, align 4, !tbaa !5
  %26370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26371 = load i32, ptr @test_count, align 4, !tbaa !5
  %26372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26373 = load i32, ptr %26372, align 4, !tbaa !5
  %26374 = call ptr @s2n_strerror(i32 noundef %26373, ptr noundef @.str.4)
  %26375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26376 = load i32, ptr %26375, align 4, !tbaa !5
  %26377 = call ptr @s2n_strerror_debug(i32 noundef %26376, ptr noundef @.str.4)
  %26378 = call ptr @__errno_location() #12
  %26379 = load i32, ptr %26378, align 4, !tbaa !5
  %26380 = call ptr @strerror(i32 noundef %26379) #11
  %26381 = call ptr @__errno_location() #12
  %26382 = load i32, ptr %26381, align 4, !tbaa !5
  %26383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26370, ptr noundef @.str.2, i32 noundef %26371, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1205, ptr noundef %26374, ptr noundef %26377, ptr noundef %26380, i32 noundef %26382) #11
  br label %26401

26384:                                            ; preds = %26362, %26355
  %26385 = load i32, ptr %652, align 4, !tbaa !5
  %26386 = call ptr @__errno_location() #12
  store i32 %26385, ptr %26386, align 4, !tbaa !5
  %26387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26388 = load i32, ptr @test_count, align 4, !tbaa !5
  %26389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26390 = load i32, ptr %26389, align 4, !tbaa !5
  %26391 = call ptr @s2n_strerror(i32 noundef %26390, ptr noundef @.str.4)
  %26392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26393 = load i32, ptr %26392, align 4, !tbaa !5
  %26394 = call ptr @s2n_strerror_debug(i32 noundef %26393, ptr noundef @.str.4)
  %26395 = call ptr @__errno_location() #12
  %26396 = load i32, ptr %26395, align 4, !tbaa !5
  %26397 = call ptr @strerror(i32 noundef %26396) #11
  %26398 = call ptr @__errno_location() #12
  %26399 = load i32, ptr %26398, align 4, !tbaa !5
  %26400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26387, ptr noundef @.str.5, i32 noundef %26388, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1205, ptr noundef %26391, ptr noundef %26394, ptr noundef %26397, i32 noundef %26399) #11
  br label %26401

26401:                                            ; preds = %26384, %26367
  call void @llvm.lifetime.end.p0(i64 4, ptr %652) #11
  br label %26402

26402:                                            ; preds = %26401
  br label %26403

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

26404:                                            ; No predecessors!
  br label %26405

26405:                                            ; preds = %26404
  br label %26406

26406:                                            ; preds = %26405, %26347
  br label %26407

26407:                                            ; preds = %26406
  br label %26408

26408:                                            ; preds = %26407
  br label %26409

26409:                                            ; preds = %26408
  %26410 = load i32, ptr @test_count, align 4, !tbaa !5
  %26411 = add nsw i32 %26410, 1
  store i32 %26411, ptr @test_count, align 4, !tbaa !5
  %26412 = call i32 @s2n_stuffer_free(ptr noundef %614)
  %26413 = icmp eq i32 %26412, -1
  br i1 %26413, label %26414, label %26467

26414:                                            ; preds = %26409
  br label %26415

26415:                                            ; preds = %26414
  br label %26416

26416:                                            ; preds = %26415
  call void @llvm.lifetime.start.p0(i64 4, ptr %653) #11
  %26417 = call ptr @__errno_location() #12
  %26418 = load i32, ptr %26417, align 4, !tbaa !5
  store i32 %26418, ptr %653, align 4, !tbaa !5
  %26419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26420 = call i32 @s2n_print_stacktrace(ptr noundef %26419)
  %26421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26422 = trunc i8 %26421 to i1
  br i1 %26422, label %26423, label %26445

26423:                                            ; preds = %26416
  %26424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26425 = call i32 @fileno(ptr noundef %26424) #11
  %26426 = call i32 @isatty(i32 noundef %26425) #11
  %26427 = icmp ne i32 %26426, 0
  br i1 %26427, label %26428, label %26445

26428:                                            ; preds = %26423
  %26429 = load i32, ptr %653, align 4, !tbaa !5
  %26430 = call ptr @__errno_location() #12
  store i32 %26429, ptr %26430, align 4, !tbaa !5
  %26431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26432 = load i32, ptr @test_count, align 4, !tbaa !5
  %26433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26434 = load i32, ptr %26433, align 4, !tbaa !5
  %26435 = call ptr @s2n_strerror(i32 noundef %26434, ptr noundef @.str.4)
  %26436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26437 = load i32, ptr %26436, align 4, !tbaa !5
  %26438 = call ptr @s2n_strerror_debug(i32 noundef %26437, ptr noundef @.str.4)
  %26439 = call ptr @__errno_location() #12
  %26440 = load i32, ptr %26439, align 4, !tbaa !5
  %26441 = call ptr @strerror(i32 noundef %26440) #11
  %26442 = call ptr @__errno_location() #12
  %26443 = load i32, ptr %26442, align 4, !tbaa !5
  %26444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26431, ptr noundef @.str.2, i32 noundef %26432, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 1206, ptr noundef %26435, ptr noundef %26438, ptr noundef %26441, i32 noundef %26443) #11
  br label %26462

26445:                                            ; preds = %26423, %26416
  %26446 = load i32, ptr %653, align 4, !tbaa !5
  %26447 = call ptr @__errno_location() #12
  store i32 %26446, ptr %26447, align 4, !tbaa !5
  %26448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26449 = load i32, ptr @test_count, align 4, !tbaa !5
  %26450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26451 = load i32, ptr %26450, align 4, !tbaa !5
  %26452 = call ptr @s2n_strerror(i32 noundef %26451, ptr noundef @.str.4)
  %26453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26454 = load i32, ptr %26453, align 4, !tbaa !5
  %26455 = call ptr @s2n_strerror_debug(i32 noundef %26454, ptr noundef @.str.4)
  %26456 = call ptr @__errno_location() #12
  %26457 = load i32, ptr %26456, align 4, !tbaa !5
  %26458 = call ptr @strerror(i32 noundef %26457) #11
  %26459 = call ptr @__errno_location() #12
  %26460 = load i32, ptr %26459, align 4, !tbaa !5
  %26461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26448, ptr noundef @.str.5, i32 noundef %26449, ptr noundef @.str.172, ptr noundef @.str.1, i32 noundef 1206, ptr noundef %26452, ptr noundef %26455, ptr noundef %26458, i32 noundef %26460) #11
  br label %26462

26462:                                            ; preds = %26445, %26428
  call void @llvm.lifetime.end.p0(i64 4, ptr %653) #11
  br label %26463

26463:                                            ; preds = %26462
  br label %26464

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

26465:                                            ; No predecessors!
  br label %26466

26466:                                            ; preds = %26465
  br label %26467

26467:                                            ; preds = %26466, %26409
  br label %26468

26468:                                            ; preds = %26467
  br label %26469

26469:                                            ; preds = %26468
  call void @llvm.lifetime.end.p0(i64 40, ptr %614) #11
  %26470 = call i32 @s2n_psk_wipe(ptr noundef %608)
  %26471 = getelementptr inbounds %struct.s2n_result, ptr %654, i32 0, i32 0
  store i32 %26470, ptr %26471, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %608) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %606) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %604) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %602) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %600) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %599) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %598) #11
  call void @llvm.lifetime.end.p0(i64 7, ptr %597) #11
  call void @llvm.lifetime.end.p0(i64 6, ptr %596) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %595) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %594) #11
  call void @llvm.lifetime.end.p0(i64 3, ptr %593) #11
  call void @llvm.lifetime.start.p0(i64 12, ptr %655) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %655, ptr align 1 @__const.main.client_hello_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr %656) #11
  store i8 0, ptr %656, align 1, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 1, ptr %657) #11
  store i8 0, ptr %657, align 1, !tbaa !81
  br label %26472

26472:                                            ; preds = %26469
  %26473 = load i32, ptr @test_count, align 4, !tbaa !5
  %26474 = add nsw i32 %26473, 1
  store i32 %26474, ptr @test_count, align 4, !tbaa !5
  %26475 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 45, ptr noundef %657)
  %26476 = icmp eq i32 %26475, -1
  br i1 %26476, label %26477, label %26530

26477:                                            ; preds = %26472
  br label %26478

26478:                                            ; preds = %26477
  br label %26479

26479:                                            ; preds = %26478
  call void @llvm.lifetime.start.p0(i64 4, ptr %658) #11
  %26480 = call ptr @__errno_location() #12
  %26481 = load i32, ptr %26480, align 4, !tbaa !5
  store i32 %26481, ptr %658, align 4, !tbaa !5
  %26482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26483 = call i32 @s2n_print_stacktrace(ptr noundef %26482)
  %26484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26485 = trunc i8 %26484 to i1
  br i1 %26485, label %26486, label %26508

26486:                                            ; preds = %26479
  %26487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26488 = call i32 @fileno(ptr noundef %26487) #11
  %26489 = call i32 @isatty(i32 noundef %26488) #11
  %26490 = icmp ne i32 %26489, 0
  br i1 %26490, label %26491, label %26508

26491:                                            ; preds = %26486
  %26492 = load i32, ptr %658, align 4, !tbaa !5
  %26493 = call ptr @__errno_location() #12
  store i32 %26492, ptr %26493, align 4, !tbaa !5
  %26494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26495 = load i32, ptr @test_count, align 4, !tbaa !5
  %26496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26497 = load i32, ptr %26496, align 4, !tbaa !5
  %26498 = call ptr @s2n_strerror(i32 noundef %26497, ptr noundef @.str.4)
  %26499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26500 = load i32, ptr %26499, align 4, !tbaa !5
  %26501 = call ptr @s2n_strerror_debug(i32 noundef %26500, ptr noundef @.str.4)
  %26502 = call ptr @__errno_location() #12
  %26503 = load i32, ptr %26502, align 4, !tbaa !5
  %26504 = call ptr @strerror(i32 noundef %26503) #11
  %26505 = call ptr @__errno_location() #12
  %26506 = load i32, ptr %26505, align 4, !tbaa !5
  %26507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26494, ptr noundef @.str.2, i32 noundef %26495, ptr noundef @.str.173, ptr noundef @.str.1, i32 noundef 1214, ptr noundef %26498, ptr noundef %26501, ptr noundef %26504, i32 noundef %26506) #11
  br label %26525

26508:                                            ; preds = %26486, %26479
  %26509 = load i32, ptr %658, align 4, !tbaa !5
  %26510 = call ptr @__errno_location() #12
  store i32 %26509, ptr %26510, align 4, !tbaa !5
  %26511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26512 = load i32, ptr @test_count, align 4, !tbaa !5
  %26513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26514 = load i32, ptr %26513, align 4, !tbaa !5
  %26515 = call ptr @s2n_strerror(i32 noundef %26514, ptr noundef @.str.4)
  %26516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26517 = load i32, ptr %26516, align 4, !tbaa !5
  %26518 = call ptr @s2n_strerror_debug(i32 noundef %26517, ptr noundef @.str.4)
  %26519 = call ptr @__errno_location() #12
  %26520 = load i32, ptr %26519, align 4, !tbaa !5
  %26521 = call ptr @strerror(i32 noundef %26520) #11
  %26522 = call ptr @__errno_location() #12
  %26523 = load i32, ptr %26522, align 4, !tbaa !5
  %26524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26511, ptr noundef @.str.5, i32 noundef %26512, ptr noundef @.str.173, ptr noundef @.str.1, i32 noundef 1214, ptr noundef %26515, ptr noundef %26518, ptr noundef %26521, i32 noundef %26523) #11
  br label %26525

26525:                                            ; preds = %26508, %26491
  call void @llvm.lifetime.end.p0(i64 4, ptr %658) #11
  br label %26526

26526:                                            ; preds = %26525
  br label %26527

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

26528:                                            ; No predecessors!
  br label %26529

26529:                                            ; preds = %26528
  br label %26530

26530:                                            ; preds = %26529, %26472
  br label %26531

26531:                                            ; preds = %26530
  br label %26532

26532:                                            ; preds = %26531
  br label %26533

26533:                                            ; preds = %26532
  %26534 = load i32, ptr @test_count, align 4, !tbaa !5
  %26535 = add nsw i32 %26534, 1
  store i32 %26535, ptr @test_count, align 4, !tbaa !5
  %26536 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 51, ptr noundef %656)
  %26537 = icmp eq i32 %26536, -1
  br i1 %26537, label %26538, label %26591

26538:                                            ; preds = %26533
  br label %26539

26539:                                            ; preds = %26538
  br label %26540

26540:                                            ; preds = %26539
  call void @llvm.lifetime.start.p0(i64 4, ptr %659) #11
  %26541 = call ptr @__errno_location() #12
  %26542 = load i32, ptr %26541, align 4, !tbaa !5
  store i32 %26542, ptr %659, align 4, !tbaa !5
  %26543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26544 = call i32 @s2n_print_stacktrace(ptr noundef %26543)
  %26545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26546 = trunc i8 %26545 to i1
  br i1 %26546, label %26547, label %26569

26547:                                            ; preds = %26540
  %26548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26549 = call i32 @fileno(ptr noundef %26548) #11
  %26550 = call i32 @isatty(i32 noundef %26549) #11
  %26551 = icmp ne i32 %26550, 0
  br i1 %26551, label %26552, label %26569

26552:                                            ; preds = %26547
  %26553 = load i32, ptr %659, align 4, !tbaa !5
  %26554 = call ptr @__errno_location() #12
  store i32 %26553, ptr %26554, align 4, !tbaa !5
  %26555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26556 = load i32, ptr @test_count, align 4, !tbaa !5
  %26557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26558 = load i32, ptr %26557, align 4, !tbaa !5
  %26559 = call ptr @s2n_strerror(i32 noundef %26558, ptr noundef @.str.4)
  %26560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26561 = load i32, ptr %26560, align 4, !tbaa !5
  %26562 = call ptr @s2n_strerror_debug(i32 noundef %26561, ptr noundef @.str.4)
  %26563 = call ptr @__errno_location() #12
  %26564 = load i32, ptr %26563, align 4, !tbaa !5
  %26565 = call ptr @strerror(i32 noundef %26564) #11
  %26566 = call ptr @__errno_location() #12
  %26567 = load i32, ptr %26566, align 4, !tbaa !5
  %26568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26555, ptr noundef @.str.2, i32 noundef %26556, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %26559, ptr noundef %26562, ptr noundef %26565, i32 noundef %26567) #11
  br label %26586

26569:                                            ; preds = %26547, %26540
  %26570 = load i32, ptr %659, align 4, !tbaa !5
  %26571 = call ptr @__errno_location() #12
  store i32 %26570, ptr %26571, align 4, !tbaa !5
  %26572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26573 = load i32, ptr @test_count, align 4, !tbaa !5
  %26574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26575 = load i32, ptr %26574, align 4, !tbaa !5
  %26576 = call ptr @s2n_strerror(i32 noundef %26575, ptr noundef @.str.4)
  %26577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26578 = load i32, ptr %26577, align 4, !tbaa !5
  %26579 = call ptr @s2n_strerror_debug(i32 noundef %26578, ptr noundef @.str.4)
  %26580 = call ptr @__errno_location() #12
  %26581 = load i32, ptr %26580, align 4, !tbaa !5
  %26582 = call ptr @strerror(i32 noundef %26581) #11
  %26583 = call ptr @__errno_location() #12
  %26584 = load i32, ptr %26583, align 4, !tbaa !5
  %26585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26572, ptr noundef @.str.5, i32 noundef %26573, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %26576, ptr noundef %26579, ptr noundef %26582, i32 noundef %26584) #11
  br label %26586

26586:                                            ; preds = %26569, %26552
  call void @llvm.lifetime.end.p0(i64 4, ptr %659) #11
  br label %26587

26587:                                            ; preds = %26586
  br label %26588

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

26589:                                            ; No predecessors!
  br label %26590

26590:                                            ; preds = %26589
  br label %26591

26591:                                            ; preds = %26590, %26533
  br label %26592

26592:                                            ; preds = %26591
  br label %26593

26593:                                            ; preds = %26592
  call void @llvm.lifetime.start.p0(i64 4, ptr %660) #11
  call void @llvm.memset.p0.i64(ptr align 1 %660, i8 0, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %661) #11
  store ptr null, ptr %661, align 8, !tbaa !9
  br label %26594

26594:                                            ; preds = %26593
  %26595 = load i32, ptr @test_count, align 4, !tbaa !5
  %26596 = add nsw i32 %26595, 1
  store i32 %26596, ptr @test_count, align 4, !tbaa !5
  %26597 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %26597, ptr %661, align 8, !tbaa !9
  %26598 = icmp eq ptr %26597, null
  br i1 %26598, label %26599, label %26652

26599:                                            ; preds = %26594
  br label %26600

26600:                                            ; preds = %26599
  br label %26601

26601:                                            ; preds = %26600
  call void @llvm.lifetime.start.p0(i64 4, ptr %662) #11
  %26602 = call ptr @__errno_location() #12
  %26603 = load i32, ptr %26602, align 4, !tbaa !5
  store i32 %26603, ptr %662, align 4, !tbaa !5
  %26604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26605 = call i32 @s2n_print_stacktrace(ptr noundef %26604)
  %26606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26607 = trunc i8 %26606 to i1
  br i1 %26607, label %26608, label %26630

26608:                                            ; preds = %26601
  %26609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26610 = call i32 @fileno(ptr noundef %26609) #11
  %26611 = call i32 @isatty(i32 noundef %26610) #11
  %26612 = icmp ne i32 %26611, 0
  br i1 %26612, label %26613, label %26630

26613:                                            ; preds = %26608
  %26614 = load i32, ptr %662, align 4, !tbaa !5
  %26615 = call ptr @__errno_location() #12
  store i32 %26614, ptr %26615, align 4, !tbaa !5
  %26616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26617 = load i32, ptr @test_count, align 4, !tbaa !5
  %26618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26619 = load i32, ptr %26618, align 4, !tbaa !5
  %26620 = call ptr @s2n_strerror(i32 noundef %26619, ptr noundef @.str.4)
  %26621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26622 = load i32, ptr %26621, align 4, !tbaa !5
  %26623 = call ptr @s2n_strerror_debug(i32 noundef %26622, ptr noundef @.str.4)
  %26624 = call ptr @__errno_location() #12
  %26625 = load i32, ptr %26624, align 4, !tbaa !5
  %26626 = call ptr @strerror(i32 noundef %26625) #11
  %26627 = call ptr @__errno_location() #12
  %26628 = load i32, ptr %26627, align 4, !tbaa !5
  %26629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26616, ptr noundef @.str.2, i32 noundef %26617, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1225, ptr noundef %26620, ptr noundef %26623, ptr noundef %26626, i32 noundef %26628) #11
  br label %26647

26630:                                            ; preds = %26608, %26601
  %26631 = load i32, ptr %662, align 4, !tbaa !5
  %26632 = call ptr @__errno_location() #12
  store i32 %26631, ptr %26632, align 4, !tbaa !5
  %26633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26634 = load i32, ptr @test_count, align 4, !tbaa !5
  %26635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26636 = load i32, ptr %26635, align 4, !tbaa !5
  %26637 = call ptr @s2n_strerror(i32 noundef %26636, ptr noundef @.str.4)
  %26638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26639 = load i32, ptr %26638, align 4, !tbaa !5
  %26640 = call ptr @s2n_strerror_debug(i32 noundef %26639, ptr noundef @.str.4)
  %26641 = call ptr @__errno_location() #12
  %26642 = load i32, ptr %26641, align 4, !tbaa !5
  %26643 = call ptr @strerror(i32 noundef %26642) #11
  %26644 = call ptr @__errno_location() #12
  %26645 = load i32, ptr %26644, align 4, !tbaa !5
  %26646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26633, ptr noundef @.str.5, i32 noundef %26634, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1225, ptr noundef %26637, ptr noundef %26640, ptr noundef %26643, i32 noundef %26645) #11
  br label %26647

26647:                                            ; preds = %26630, %26613
  call void @llvm.lifetime.end.p0(i64 4, ptr %662) #11
  br label %26648

26648:                                            ; preds = %26647
  br label %26649

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

26650:                                            ; No predecessors!
  br label %26651

26651:                                            ; preds = %26650
  br label %26652

26652:                                            ; preds = %26651, %26594
  br label %26653

26653:                                            ; preds = %26652
  br label %26654

26654:                                            ; preds = %26653
  %26655 = load ptr, ptr %661, align 8, !tbaa !9
  %26656 = getelementptr inbounds %struct.s2n_connection, ptr %26655, i32 0, i32 71
  %26657 = getelementptr inbounds %struct.s2n_client_hello, ptr %26656, i32 0, i32 1
  %26658 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %26657, i32 0, i32 2
  store i16 1, ptr %26658, align 8, !tbaa !104
  %26659 = load ptr, ptr %661, align 8, !tbaa !9
  %26660 = getelementptr inbounds %struct.s2n_connection, ptr %26659, i32 0, i32 33
  %26661 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %26660, i32 0, i32 5
  store i32 2, ptr %26661, align 8, !tbaa !105
  %26662 = load i8, ptr %657, align 1, !tbaa !81
  %26663 = zext i8 %26662 to i32
  %26664 = srem i32 %26663, 8
  %26665 = shl i32 1, %26664
  %26666 = load ptr, ptr %661, align 8, !tbaa !9
  %26667 = getelementptr inbounds %struct.s2n_connection, ptr %26666, i32 0, i32 11
  %26668 = load i8, ptr %657, align 1, !tbaa !81
  %26669 = zext i8 %26668 to i32
  %26670 = ashr i32 %26669, 3
  %26671 = sext i32 %26670 to i64
  %26672 = getelementptr inbounds [22 x i8], ptr %26667, i64 0, i64 %26671
  %26673 = load i8, ptr %26672, align 1, !tbaa !81
  %26674 = sext i8 %26673 to i32
  %26675 = or i32 %26674, %26665
  %26676 = trunc i32 %26675 to i8
  store i8 %26676, ptr %26672, align 1, !tbaa !81
  %26677 = load i8, ptr %656, align 1, !tbaa !81
  %26678 = zext i8 %26677 to i32
  %26679 = srem i32 %26678, 8
  %26680 = shl i32 1, %26679
  %26681 = load ptr, ptr %661, align 8, !tbaa !9
  %26682 = getelementptr inbounds %struct.s2n_connection, ptr %26681, i32 0, i32 11
  %26683 = load i8, ptr %656, align 1, !tbaa !81
  %26684 = zext i8 %26683 to i32
  %26685 = ashr i32 %26684, 3
  %26686 = sext i32 %26685 to i64
  %26687 = getelementptr inbounds [22 x i8], ptr %26682, i64 0, i64 %26686
  %26688 = load i8, ptr %26687, align 1, !tbaa !81
  %26689 = sext i8 %26688 to i32
  %26690 = or i32 %26689, %26680
  %26691 = trunc i32 %26690 to i8
  store i8 %26691, ptr %26687, align 1, !tbaa !81
  br label %26692

26692:                                            ; preds = %26654
  %26693 = load i32, ptr @test_count, align 4, !tbaa !5
  %26694 = add nsw i32 %26693, 1
  store i32 %26694, ptr @test_count, align 4, !tbaa !5
  %26695 = load ptr, ptr %661, align 8, !tbaa !9
  %26696 = getelementptr inbounds %struct.s2n_connection, ptr %26695, i32 0, i32 52
  %26697 = getelementptr inbounds %struct.s2n_handshake, ptr %26696, i32 0, i32 0
  %26698 = getelementptr inbounds [12 x i8], ptr %655, i64 0, i64 0
  %26699 = call i32 @s2n_stuffer_write_bytes(ptr noundef %26697, ptr noundef %26698, i32 noundef 12)
  %26700 = icmp eq i32 %26699, -1
  br i1 %26700, label %26701, label %26754

26701:                                            ; preds = %26692
  br label %26702

26702:                                            ; preds = %26701
  br label %26703

26703:                                            ; preds = %26702
  call void @llvm.lifetime.start.p0(i64 4, ptr %663) #11
  %26704 = call ptr @__errno_location() #12
  %26705 = load i32, ptr %26704, align 4, !tbaa !5
  store i32 %26705, ptr %663, align 4, !tbaa !5
  %26706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26707 = call i32 @s2n_print_stacktrace(ptr noundef %26706)
  %26708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26709 = trunc i8 %26708 to i1
  br i1 %26709, label %26710, label %26732

26710:                                            ; preds = %26703
  %26711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26712 = call i32 @fileno(ptr noundef %26711) #11
  %26713 = call i32 @isatty(i32 noundef %26712) #11
  %26714 = icmp ne i32 %26713, 0
  br i1 %26714, label %26715, label %26732

26715:                                            ; preds = %26710
  %26716 = load i32, ptr %663, align 4, !tbaa !5
  %26717 = call ptr @__errno_location() #12
  store i32 %26716, ptr %26717, align 4, !tbaa !5
  %26718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26719 = load i32, ptr @test_count, align 4, !tbaa !5
  %26720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26721 = load i32, ptr %26720, align 4, !tbaa !5
  %26722 = call ptr @s2n_strerror(i32 noundef %26721, ptr noundef @.str.4)
  %26723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26724 = load i32, ptr %26723, align 4, !tbaa !5
  %26725 = call ptr @s2n_strerror_debug(i32 noundef %26724, ptr noundef @.str.4)
  %26726 = call ptr @__errno_location() #12
  %26727 = load i32, ptr %26726, align 4, !tbaa !5
  %26728 = call ptr @strerror(i32 noundef %26727) #11
  %26729 = call ptr @__errno_location() #12
  %26730 = load i32, ptr %26729, align 4, !tbaa !5
  %26731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26718, ptr noundef @.str.2, i32 noundef %26719, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 1234, ptr noundef %26722, ptr noundef %26725, ptr noundef %26728, i32 noundef %26730) #11
  br label %26749

26732:                                            ; preds = %26710, %26703
  %26733 = load i32, ptr %663, align 4, !tbaa !5
  %26734 = call ptr @__errno_location() #12
  store i32 %26733, ptr %26734, align 4, !tbaa !5
  %26735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26736 = load i32, ptr @test_count, align 4, !tbaa !5
  %26737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26738 = load i32, ptr %26737, align 4, !tbaa !5
  %26739 = call ptr @s2n_strerror(i32 noundef %26738, ptr noundef @.str.4)
  %26740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26741 = load i32, ptr %26740, align 4, !tbaa !5
  %26742 = call ptr @s2n_strerror_debug(i32 noundef %26741, ptr noundef @.str.4)
  %26743 = call ptr @__errno_location() #12
  %26744 = load i32, ptr %26743, align 4, !tbaa !5
  %26745 = call ptr @strerror(i32 noundef %26744) #11
  %26746 = call ptr @__errno_location() #12
  %26747 = load i32, ptr %26746, align 4, !tbaa !5
  %26748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26735, ptr noundef @.str.5, i32 noundef %26736, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 1234, ptr noundef %26739, ptr noundef %26742, ptr noundef %26745, i32 noundef %26747) #11
  br label %26749

26749:                                            ; preds = %26732, %26715
  call void @llvm.lifetime.end.p0(i64 4, ptr %663) #11
  br label %26750

26750:                                            ; preds = %26749
  br label %26751

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

26752:                                            ; No predecessors!
  br label %26753

26753:                                            ; preds = %26752
  br label %26754

26754:                                            ; preds = %26753, %26692
  br label %26755

26755:                                            ; preds = %26754
  br label %26756

26756:                                            ; preds = %26755
  br label %26757

26757:                                            ; preds = %26756
  %26758 = load i32, ptr @test_count, align 4, !tbaa !5
  %26759 = add nsw i32 %26758, 1
  store i32 %26759, ptr @test_count, align 4, !tbaa !5
  %26760 = load ptr, ptr %661, align 8, !tbaa !9
  %26761 = getelementptr inbounds %struct.s2n_connection, ptr %26760, i32 0, i32 52
  %26762 = getelementptr inbounds %struct.s2n_handshake, ptr %26761, i32 0, i32 0
  %26763 = getelementptr inbounds [4 x i8], ptr %660, i64 0, i64 0
  %26764 = call i32 @s2n_stuffer_write_bytes(ptr noundef %26762, ptr noundef %26763, i32 noundef 4)
  %26765 = icmp eq i32 %26764, -1
  br i1 %26765, label %26766, label %26819

26766:                                            ; preds = %26757
  br label %26767

26767:                                            ; preds = %26766
  br label %26768

26768:                                            ; preds = %26767
  call void @llvm.lifetime.start.p0(i64 4, ptr %664) #11
  %26769 = call ptr @__errno_location() #12
  %26770 = load i32, ptr %26769, align 4, !tbaa !5
  store i32 %26770, ptr %664, align 4, !tbaa !5
  %26771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26772 = call i32 @s2n_print_stacktrace(ptr noundef %26771)
  %26773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26774 = trunc i8 %26773 to i1
  br i1 %26774, label %26775, label %26797

26775:                                            ; preds = %26768
  %26776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26777 = call i32 @fileno(ptr noundef %26776) #11
  %26778 = call i32 @isatty(i32 noundef %26777) #11
  %26779 = icmp ne i32 %26778, 0
  br i1 %26779, label %26780, label %26797

26780:                                            ; preds = %26775
  %26781 = load i32, ptr %664, align 4, !tbaa !5
  %26782 = call ptr @__errno_location() #12
  store i32 %26781, ptr %26782, align 4, !tbaa !5
  %26783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26784 = load i32, ptr @test_count, align 4, !tbaa !5
  %26785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26786 = load i32, ptr %26785, align 4, !tbaa !5
  %26787 = call ptr @s2n_strerror(i32 noundef %26786, ptr noundef @.str.4)
  %26788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26789 = load i32, ptr %26788, align 4, !tbaa !5
  %26790 = call ptr @s2n_strerror_debug(i32 noundef %26789, ptr noundef @.str.4)
  %26791 = call ptr @__errno_location() #12
  %26792 = load i32, ptr %26791, align 4, !tbaa !5
  %26793 = call ptr @strerror(i32 noundef %26792) #11
  %26794 = call ptr @__errno_location() #12
  %26795 = load i32, ptr %26794, align 4, !tbaa !5
  %26796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26783, ptr noundef @.str.2, i32 noundef %26784, ptr noundef @.str.176, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %26787, ptr noundef %26790, ptr noundef %26793, i32 noundef %26795) #11
  br label %26814

26797:                                            ; preds = %26775, %26768
  %26798 = load i32, ptr %664, align 4, !tbaa !5
  %26799 = call ptr @__errno_location() #12
  store i32 %26798, ptr %26799, align 4, !tbaa !5
  %26800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26801 = load i32, ptr @test_count, align 4, !tbaa !5
  %26802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26803 = load i32, ptr %26802, align 4, !tbaa !5
  %26804 = call ptr @s2n_strerror(i32 noundef %26803, ptr noundef @.str.4)
  %26805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26806 = load i32, ptr %26805, align 4, !tbaa !5
  %26807 = call ptr @s2n_strerror_debug(i32 noundef %26806, ptr noundef @.str.4)
  %26808 = call ptr @__errno_location() #12
  %26809 = load i32, ptr %26808, align 4, !tbaa !5
  %26810 = call ptr @strerror(i32 noundef %26809) #11
  %26811 = call ptr @__errno_location() #12
  %26812 = load i32, ptr %26811, align 4, !tbaa !5
  %26813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26800, ptr noundef @.str.5, i32 noundef %26801, ptr noundef @.str.176, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %26804, ptr noundef %26807, ptr noundef %26810, i32 noundef %26812) #11
  br label %26814

26814:                                            ; preds = %26797, %26780
  call void @llvm.lifetime.end.p0(i64 4, ptr %664) #11
  br label %26815

26815:                                            ; preds = %26814
  br label %26816

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

26817:                                            ; No predecessors!
  br label %26818

26818:                                            ; preds = %26817
  br label %26819

26819:                                            ; preds = %26818, %26757
  br label %26820

26820:                                            ; preds = %26819
  br label %26821

26821:                                            ; preds = %26820
  call void @llvm.lifetime.start.p0(i64 40, ptr %665) #11
  call void @llvm.memset.p0.i64(ptr align 8 %665, i8 0, i64 40, i1 false)
  br label %26822

26822:                                            ; preds = %26821
  %26823 = load i32, ptr @test_count, align 4, !tbaa !5
  %26824 = add nsw i32 %26823, 1
  store i32 %26824, ptr @test_count, align 4, !tbaa !5
  %26825 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %665, i32 noundef 0)
  %26826 = icmp eq i32 %26825, -1
  br i1 %26826, label %26827, label %26880

26827:                                            ; preds = %26822
  br label %26828

26828:                                            ; preds = %26827
  br label %26829

26829:                                            ; preds = %26828
  call void @llvm.lifetime.start.p0(i64 4, ptr %666) #11
  %26830 = call ptr @__errno_location() #12
  %26831 = load i32, ptr %26830, align 4, !tbaa !5
  store i32 %26831, ptr %666, align 4, !tbaa !5
  %26832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26833 = call i32 @s2n_print_stacktrace(ptr noundef %26832)
  %26834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26835 = trunc i8 %26834 to i1
  br i1 %26835, label %26836, label %26858

26836:                                            ; preds = %26829
  %26837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26838 = call i32 @fileno(ptr noundef %26837) #11
  %26839 = call i32 @isatty(i32 noundef %26838) #11
  %26840 = icmp ne i32 %26839, 0
  br i1 %26840, label %26841, label %26858

26841:                                            ; preds = %26836
  %26842 = load i32, ptr %666, align 4, !tbaa !5
  %26843 = call ptr @__errno_location() #12
  store i32 %26842, ptr %26843, align 4, !tbaa !5
  %26844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26845 = load i32, ptr @test_count, align 4, !tbaa !5
  %26846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26847 = load i32, ptr %26846, align 4, !tbaa !5
  %26848 = call ptr @s2n_strerror(i32 noundef %26847, ptr noundef @.str.4)
  %26849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26850 = load i32, ptr %26849, align 4, !tbaa !5
  %26851 = call ptr @s2n_strerror_debug(i32 noundef %26850, ptr noundef @.str.4)
  %26852 = call ptr @__errno_location() #12
  %26853 = load i32, ptr %26852, align 4, !tbaa !5
  %26854 = call ptr @strerror(i32 noundef %26853) #11
  %26855 = call ptr @__errno_location() #12
  %26856 = load i32, ptr %26855, align 4, !tbaa !5
  %26857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26844, ptr noundef @.str.2, i32 noundef %26845, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1239, ptr noundef %26848, ptr noundef %26851, ptr noundef %26854, i32 noundef %26856) #11
  br label %26875

26858:                                            ; preds = %26836, %26829
  %26859 = load i32, ptr %666, align 4, !tbaa !5
  %26860 = call ptr @__errno_location() #12
  store i32 %26859, ptr %26860, align 4, !tbaa !5
  %26861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26862 = load i32, ptr @test_count, align 4, !tbaa !5
  %26863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26864 = load i32, ptr %26863, align 4, !tbaa !5
  %26865 = call ptr @s2n_strerror(i32 noundef %26864, ptr noundef @.str.4)
  %26866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26867 = load i32, ptr %26866, align 4, !tbaa !5
  %26868 = call ptr @s2n_strerror_debug(i32 noundef %26867, ptr noundef @.str.4)
  %26869 = call ptr @__errno_location() #12
  %26870 = load i32, ptr %26869, align 4, !tbaa !5
  %26871 = call ptr @strerror(i32 noundef %26870) #11
  %26872 = call ptr @__errno_location() #12
  %26873 = load i32, ptr %26872, align 4, !tbaa !5
  %26874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26861, ptr noundef @.str.5, i32 noundef %26862, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1239, ptr noundef %26865, ptr noundef %26868, ptr noundef %26871, i32 noundef %26873) #11
  br label %26875

26875:                                            ; preds = %26858, %26841
  call void @llvm.lifetime.end.p0(i64 4, ptr %666) #11
  br label %26876

26876:                                            ; preds = %26875
  br label %26877

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

26878:                                            ; No predecessors!
  br label %26879

26879:                                            ; preds = %26878
  br label %26880

26880:                                            ; preds = %26879, %26822
  br label %26881

26881:                                            ; preds = %26880
  br label %26882

26882:                                            ; preds = %26881
  br label %26883

26883:                                            ; preds = %26882
  %26884 = load i32, ptr @test_count, align 4, !tbaa !5
  %26885 = add nsw i32 %26884, 1
  store i32 %26885, ptr @test_count, align 4, !tbaa !5
  %26886 = getelementptr inbounds [4 x i8], ptr %660, i64 0, i64 0
  %26887 = call i32 @s2n_stuffer_write_bytes(ptr noundef %665, ptr noundef %26886, i32 noundef 4)
  %26888 = icmp eq i32 %26887, -1
  br i1 %26888, label %26889, label %26942

26889:                                            ; preds = %26883
  br label %26890

26890:                                            ; preds = %26889
  br label %26891

26891:                                            ; preds = %26890
  call void @llvm.lifetime.start.p0(i64 4, ptr %667) #11
  %26892 = call ptr @__errno_location() #12
  %26893 = load i32, ptr %26892, align 4, !tbaa !5
  store i32 %26893, ptr %667, align 4, !tbaa !5
  %26894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26895 = call i32 @s2n_print_stacktrace(ptr noundef %26894)
  %26896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26897 = trunc i8 %26896 to i1
  br i1 %26897, label %26898, label %26920

26898:                                            ; preds = %26891
  %26899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26900 = call i32 @fileno(ptr noundef %26899) #11
  %26901 = call i32 @isatty(i32 noundef %26900) #11
  %26902 = icmp ne i32 %26901, 0
  br i1 %26902, label %26903, label %26920

26903:                                            ; preds = %26898
  %26904 = load i32, ptr %667, align 4, !tbaa !5
  %26905 = call ptr @__errno_location() #12
  store i32 %26904, ptr %26905, align 4, !tbaa !5
  %26906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26907 = load i32, ptr @test_count, align 4, !tbaa !5
  %26908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26909 = load i32, ptr %26908, align 4, !tbaa !5
  %26910 = call ptr @s2n_strerror(i32 noundef %26909, ptr noundef @.str.4)
  %26911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26912 = load i32, ptr %26911, align 4, !tbaa !5
  %26913 = call ptr @s2n_strerror_debug(i32 noundef %26912, ptr noundef @.str.4)
  %26914 = call ptr @__errno_location() #12
  %26915 = load i32, ptr %26914, align 4, !tbaa !5
  %26916 = call ptr @strerror(i32 noundef %26915) #11
  %26917 = call ptr @__errno_location() #12
  %26918 = load i32, ptr %26917, align 4, !tbaa !5
  %26919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26906, ptr noundef @.str.2, i32 noundef %26907, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1240, ptr noundef %26910, ptr noundef %26913, ptr noundef %26916, i32 noundef %26918) #11
  br label %26937

26920:                                            ; preds = %26898, %26891
  %26921 = load i32, ptr %667, align 4, !tbaa !5
  %26922 = call ptr @__errno_location() #12
  store i32 %26921, ptr %26922, align 4, !tbaa !5
  %26923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26924 = load i32, ptr @test_count, align 4, !tbaa !5
  %26925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26926 = load i32, ptr %26925, align 4, !tbaa !5
  %26927 = call ptr @s2n_strerror(i32 noundef %26926, ptr noundef @.str.4)
  %26928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26929 = load i32, ptr %26928, align 4, !tbaa !5
  %26930 = call ptr @s2n_strerror_debug(i32 noundef %26929, ptr noundef @.str.4)
  %26931 = call ptr @__errno_location() #12
  %26932 = load i32, ptr %26931, align 4, !tbaa !5
  %26933 = call ptr @strerror(i32 noundef %26932) #11
  %26934 = call ptr @__errno_location() #12
  %26935 = load i32, ptr %26934, align 4, !tbaa !5
  %26936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26923, ptr noundef @.str.5, i32 noundef %26924, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1240, ptr noundef %26927, ptr noundef %26930, ptr noundef %26933, i32 noundef %26935) #11
  br label %26937

26937:                                            ; preds = %26920, %26903
  call void @llvm.lifetime.end.p0(i64 4, ptr %667) #11
  br label %26938

26938:                                            ; preds = %26937
  br label %26939

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

26940:                                            ; No predecessors!
  br label %26941

26941:                                            ; preds = %26940
  br label %26942

26942:                                            ; preds = %26941, %26883
  br label %26943

26943:                                            ; preds = %26942
  br label %26944

26944:                                            ; preds = %26943
  br label %26945

26945:                                            ; preds = %26944
  %26946 = load i32, ptr @test_count, align 4, !tbaa !5
  %26947 = add nsw i32 %26946, 1
  store i32 %26947, ptr @test_count, align 4, !tbaa !5
  %26948 = load ptr, ptr %661, align 8, !tbaa !9
  %26949 = call i32 @s2n_client_psk_recv(ptr noundef %26948, ptr noundef %665)
  %26950 = icmp eq i32 %26949, -1
  br i1 %26950, label %26951, label %27004

26951:                                            ; preds = %26945
  br label %26952

26952:                                            ; preds = %26951
  br label %26953

26953:                                            ; preds = %26952
  call void @llvm.lifetime.start.p0(i64 4, ptr %668) #11
  %26954 = call ptr @__errno_location() #12
  %26955 = load i32, ptr %26954, align 4, !tbaa !5
  store i32 %26955, ptr %668, align 4, !tbaa !5
  %26956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26957 = call i32 @s2n_print_stacktrace(ptr noundef %26956)
  %26958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26959 = trunc i8 %26958 to i1
  br i1 %26959, label %26960, label %26982

26960:                                            ; preds = %26953
  %26961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26962 = call i32 @fileno(ptr noundef %26961) #11
  %26963 = call i32 @isatty(i32 noundef %26962) #11
  %26964 = icmp ne i32 %26963, 0
  br i1 %26964, label %26965, label %26982

26965:                                            ; preds = %26960
  %26966 = load i32, ptr %668, align 4, !tbaa !5
  %26967 = call ptr @__errno_location() #12
  store i32 %26966, ptr %26967, align 4, !tbaa !5
  %26968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26969 = load i32, ptr @test_count, align 4, !tbaa !5
  %26970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26971 = load i32, ptr %26970, align 4, !tbaa !5
  %26972 = call ptr @s2n_strerror(i32 noundef %26971, ptr noundef @.str.4)
  %26973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26974 = load i32, ptr %26973, align 4, !tbaa !5
  %26975 = call ptr @s2n_strerror_debug(i32 noundef %26974, ptr noundef @.str.4)
  %26976 = call ptr @__errno_location() #12
  %26977 = load i32, ptr %26976, align 4, !tbaa !5
  %26978 = call ptr @strerror(i32 noundef %26977) #11
  %26979 = call ptr @__errno_location() #12
  %26980 = load i32, ptr %26979, align 4, !tbaa !5
  %26981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26968, ptr noundef @.str.2, i32 noundef %26969, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 1243, ptr noundef %26972, ptr noundef %26975, ptr noundef %26978, i32 noundef %26980) #11
  br label %26999

26982:                                            ; preds = %26960, %26953
  %26983 = load i32, ptr %668, align 4, !tbaa !5
  %26984 = call ptr @__errno_location() #12
  store i32 %26983, ptr %26984, align 4, !tbaa !5
  %26985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26986 = load i32, ptr @test_count, align 4, !tbaa !5
  %26987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26988 = load i32, ptr %26987, align 4, !tbaa !5
  %26989 = call ptr @s2n_strerror(i32 noundef %26988, ptr noundef @.str.4)
  %26990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26991 = load i32, ptr %26990, align 4, !tbaa !5
  %26992 = call ptr @s2n_strerror_debug(i32 noundef %26991, ptr noundef @.str.4)
  %26993 = call ptr @__errno_location() #12
  %26994 = load i32, ptr %26993, align 4, !tbaa !5
  %26995 = call ptr @strerror(i32 noundef %26994) #11
  %26996 = call ptr @__errno_location() #12
  %26997 = load i32, ptr %26996, align 4, !tbaa !5
  %26998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26985, ptr noundef @.str.5, i32 noundef %26986, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 1243, ptr noundef %26989, ptr noundef %26992, ptr noundef %26995, i32 noundef %26997) #11
  br label %26999

26999:                                            ; preds = %26982, %26965
  call void @llvm.lifetime.end.p0(i64 4, ptr %668) #11
  br label %27000

27000:                                            ; preds = %26999
  br label %27001

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

27002:                                            ; No predecessors!
  br label %27003

27003:                                            ; preds = %27002
  br label %27004

27004:                                            ; preds = %27003, %26945
  br label %27005

27005:                                            ; preds = %27004
  br label %27006

27006:                                            ; preds = %27005
  br label %27007

27007:                                            ; preds = %27006
  %27008 = load i32, ptr @test_count, align 4, !tbaa !5
  %27009 = add nsw i32 %27008, 1
  store i32 %27009, ptr @test_count, align 4, !tbaa !5
  %27010 = load ptr, ptr %661, align 8, !tbaa !9
  %27011 = getelementptr inbounds %struct.s2n_connection, ptr %27010, i32 0, i32 33
  %27012 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %27011, i32 0, i32 3
  %27013 = load i16, ptr %27012, align 2, !tbaa !99
  %27014 = zext i16 %27013 to i32
  %27015 = icmp eq i32 %27014, 0
  br i1 %27015, label %27069, label %27016

27016:                                            ; preds = %27007
  br label %27017

27017:                                            ; preds = %27016
  br label %27018

27018:                                            ; preds = %27017
  call void @llvm.lifetime.start.p0(i64 4, ptr %669) #11
  %27019 = call ptr @__errno_location() #12
  %27020 = load i32, ptr %27019, align 4, !tbaa !5
  store i32 %27020, ptr %669, align 4, !tbaa !5
  %27021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27022 = call i32 @s2n_print_stacktrace(ptr noundef %27021)
  %27023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27024 = trunc i8 %27023 to i1
  br i1 %27024, label %27025, label %27047

27025:                                            ; preds = %27018
  %27026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27027 = call i32 @fileno(ptr noundef %27026) #11
  %27028 = call i32 @isatty(i32 noundef %27027) #11
  %27029 = icmp ne i32 %27028, 0
  br i1 %27029, label %27030, label %27047

27030:                                            ; preds = %27025
  %27031 = load i32, ptr %669, align 4, !tbaa !5
  %27032 = call ptr @__errno_location() #12
  store i32 %27031, ptr %27032, align 4, !tbaa !5
  %27033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27034 = load i32, ptr @test_count, align 4, !tbaa !5
  %27035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27036 = load i32, ptr %27035, align 4, !tbaa !5
  %27037 = call ptr @s2n_strerror(i32 noundef %27036, ptr noundef @.str.4)
  %27038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27039 = load i32, ptr %27038, align 4, !tbaa !5
  %27040 = call ptr @s2n_strerror_debug(i32 noundef %27039, ptr noundef @.str.4)
  %27041 = call ptr @__errno_location() #12
  %27042 = load i32, ptr %27041, align 4, !tbaa !5
  %27043 = call ptr @strerror(i32 noundef %27042) #11
  %27044 = call ptr @__errno_location() #12
  %27045 = load i32, ptr %27044, align 4, !tbaa !5
  %27046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27033, ptr noundef @.str.2, i32 noundef %27034, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 1244, ptr noundef %27037, ptr noundef %27040, ptr noundef %27043, i32 noundef %27045) #11
  br label %27064

27047:                                            ; preds = %27025, %27018
  %27048 = load i32, ptr %669, align 4, !tbaa !5
  %27049 = call ptr @__errno_location() #12
  store i32 %27048, ptr %27049, align 4, !tbaa !5
  %27050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27051 = load i32, ptr @test_count, align 4, !tbaa !5
  %27052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27053 = load i32, ptr %27052, align 4, !tbaa !5
  %27054 = call ptr @s2n_strerror(i32 noundef %27053, ptr noundef @.str.4)
  %27055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27056 = load i32, ptr %27055, align 4, !tbaa !5
  %27057 = call ptr @s2n_strerror_debug(i32 noundef %27056, ptr noundef @.str.4)
  %27058 = call ptr @__errno_location() #12
  %27059 = load i32, ptr %27058, align 4, !tbaa !5
  %27060 = call ptr @strerror(i32 noundef %27059) #11
  %27061 = call ptr @__errno_location() #12
  %27062 = load i32, ptr %27061, align 4, !tbaa !5
  %27063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27050, ptr noundef @.str.5, i32 noundef %27051, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 1244, ptr noundef %27054, ptr noundef %27057, ptr noundef %27060, i32 noundef %27062) #11
  br label %27064

27064:                                            ; preds = %27047, %27030
  call void @llvm.lifetime.end.p0(i64 4, ptr %669) #11
  br label %27065

27065:                                            ; preds = %27064
  br label %27066

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

27067:                                            ; No predecessors!
  br label %27068

27068:                                            ; preds = %27067
  br label %27069

27069:                                            ; preds = %27068, %27007
  br label %27070

27070:                                            ; preds = %27069
  br label %27071

27071:                                            ; preds = %27070
  br label %27072

27072:                                            ; preds = %27071
  %27073 = load i32, ptr @test_count, align 4, !tbaa !5
  %27074 = add nsw i32 %27073, 1
  store i32 %27074, ptr @test_count, align 4, !tbaa !5
  %27075 = load ptr, ptr %661, align 8, !tbaa !9
  %27076 = getelementptr inbounds %struct.s2n_connection, ptr %27075, i32 0, i32 33
  %27077 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %27076, i32 0, i32 4
  %27078 = load ptr, ptr %27077, align 8, !tbaa !100
  %27079 = icmp eq ptr %27078, null
  br i1 %27079, label %27133, label %27080

27080:                                            ; preds = %27072
  br label %27081

27081:                                            ; preds = %27080
  br label %27082

27082:                                            ; preds = %27081
  call void @llvm.lifetime.start.p0(i64 4, ptr %670) #11
  %27083 = call ptr @__errno_location() #12
  %27084 = load i32, ptr %27083, align 4, !tbaa !5
  store i32 %27084, ptr %670, align 4, !tbaa !5
  %27085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27086 = call i32 @s2n_print_stacktrace(ptr noundef %27085)
  %27087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27088 = trunc i8 %27087 to i1
  br i1 %27088, label %27089, label %27111

27089:                                            ; preds = %27082
  %27090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27091 = call i32 @fileno(ptr noundef %27090) #11
  %27092 = call i32 @isatty(i32 noundef %27091) #11
  %27093 = icmp ne i32 %27092, 0
  br i1 %27093, label %27094, label %27111

27094:                                            ; preds = %27089
  %27095 = load i32, ptr %670, align 4, !tbaa !5
  %27096 = call ptr @__errno_location() #12
  store i32 %27095, ptr %27096, align 4, !tbaa !5
  %27097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27098 = load i32, ptr @test_count, align 4, !tbaa !5
  %27099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27100 = load i32, ptr %27099, align 4, !tbaa !5
  %27101 = call ptr @s2n_strerror(i32 noundef %27100, ptr noundef @.str.4)
  %27102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27103 = load i32, ptr %27102, align 4, !tbaa !5
  %27104 = call ptr @s2n_strerror_debug(i32 noundef %27103, ptr noundef @.str.4)
  %27105 = call ptr @__errno_location() #12
  %27106 = load i32, ptr %27105, align 4, !tbaa !5
  %27107 = call ptr @strerror(i32 noundef %27106) #11
  %27108 = call ptr @__errno_location() #12
  %27109 = load i32, ptr %27108, align 4, !tbaa !5
  %27110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27097, ptr noundef @.str.2, i32 noundef %27098, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1245, ptr noundef %27101, ptr noundef %27104, ptr noundef %27107, i32 noundef %27109) #11
  br label %27128

27111:                                            ; preds = %27089, %27082
  %27112 = load i32, ptr %670, align 4, !tbaa !5
  %27113 = call ptr @__errno_location() #12
  store i32 %27112, ptr %27113, align 4, !tbaa !5
  %27114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27115 = load i32, ptr @test_count, align 4, !tbaa !5
  %27116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27117 = load i32, ptr %27116, align 4, !tbaa !5
  %27118 = call ptr @s2n_strerror(i32 noundef %27117, ptr noundef @.str.4)
  %27119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27120 = load i32, ptr %27119, align 4, !tbaa !5
  %27121 = call ptr @s2n_strerror_debug(i32 noundef %27120, ptr noundef @.str.4)
  %27122 = call ptr @__errno_location() #12
  %27123 = load i32, ptr %27122, align 4, !tbaa !5
  %27124 = call ptr @strerror(i32 noundef %27123) #11
  %27125 = call ptr @__errno_location() #12
  %27126 = load i32, ptr %27125, align 4, !tbaa !5
  %27127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27114, ptr noundef @.str.5, i32 noundef %27115, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1245, ptr noundef %27118, ptr noundef %27121, ptr noundef %27124, i32 noundef %27126) #11
  br label %27128

27128:                                            ; preds = %27111, %27094
  call void @llvm.lifetime.end.p0(i64 4, ptr %670) #11
  br label %27129

27129:                                            ; preds = %27128
  br label %27130

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

27131:                                            ; No predecessors!
  br label %27132

27132:                                            ; preds = %27131
  br label %27133

27133:                                            ; preds = %27132, %27072
  br label %27134

27134:                                            ; preds = %27133
  br label %27135

27135:                                            ; preds = %27134
  br label %27136

27136:                                            ; preds = %27135
  %27137 = load i32, ptr @test_count, align 4, !tbaa !5
  %27138 = add nsw i32 %27137, 1
  store i32 %27138, ptr @test_count, align 4, !tbaa !5
  %27139 = load ptr, ptr %661, align 8, !tbaa !9
  %27140 = call i32 @s2n_connection_free(ptr noundef %27139)
  %27141 = icmp eq i32 %27140, -1
  br i1 %27141, label %27142, label %27195

27142:                                            ; preds = %27136
  br label %27143

27143:                                            ; preds = %27142
  br label %27144

27144:                                            ; preds = %27143
  call void @llvm.lifetime.start.p0(i64 4, ptr %671) #11
  %27145 = call ptr @__errno_location() #12
  %27146 = load i32, ptr %27145, align 4, !tbaa !5
  store i32 %27146, ptr %671, align 4, !tbaa !5
  %27147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27148 = call i32 @s2n_print_stacktrace(ptr noundef %27147)
  %27149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27150 = trunc i8 %27149 to i1
  br i1 %27150, label %27151, label %27173

27151:                                            ; preds = %27144
  %27152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27153 = call i32 @fileno(ptr noundef %27152) #11
  %27154 = call i32 @isatty(i32 noundef %27153) #11
  %27155 = icmp ne i32 %27154, 0
  br i1 %27155, label %27156, label %27173

27156:                                            ; preds = %27151
  %27157 = load i32, ptr %671, align 4, !tbaa !5
  %27158 = call ptr @__errno_location() #12
  store i32 %27157, ptr %27158, align 4, !tbaa !5
  %27159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27160 = load i32, ptr @test_count, align 4, !tbaa !5
  %27161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27162 = load i32, ptr %27161, align 4, !tbaa !5
  %27163 = call ptr @s2n_strerror(i32 noundef %27162, ptr noundef @.str.4)
  %27164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27165 = load i32, ptr %27164, align 4, !tbaa !5
  %27166 = call ptr @s2n_strerror_debug(i32 noundef %27165, ptr noundef @.str.4)
  %27167 = call ptr @__errno_location() #12
  %27168 = load i32, ptr %27167, align 4, !tbaa !5
  %27169 = call ptr @strerror(i32 noundef %27168) #11
  %27170 = call ptr @__errno_location() #12
  %27171 = load i32, ptr %27170, align 4, !tbaa !5
  %27172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27159, ptr noundef @.str.2, i32 noundef %27160, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1247, ptr noundef %27163, ptr noundef %27166, ptr noundef %27169, i32 noundef %27171) #11
  br label %27190

27173:                                            ; preds = %27151, %27144
  %27174 = load i32, ptr %671, align 4, !tbaa !5
  %27175 = call ptr @__errno_location() #12
  store i32 %27174, ptr %27175, align 4, !tbaa !5
  %27176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27177 = load i32, ptr @test_count, align 4, !tbaa !5
  %27178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27179 = load i32, ptr %27178, align 4, !tbaa !5
  %27180 = call ptr @s2n_strerror(i32 noundef %27179, ptr noundef @.str.4)
  %27181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27182 = load i32, ptr %27181, align 4, !tbaa !5
  %27183 = call ptr @s2n_strerror_debug(i32 noundef %27182, ptr noundef @.str.4)
  %27184 = call ptr @__errno_location() #12
  %27185 = load i32, ptr %27184, align 4, !tbaa !5
  %27186 = call ptr @strerror(i32 noundef %27185) #11
  %27187 = call ptr @__errno_location() #12
  %27188 = load i32, ptr %27187, align 4, !tbaa !5
  %27189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27176, ptr noundef @.str.5, i32 noundef %27177, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1247, ptr noundef %27180, ptr noundef %27183, ptr noundef %27186, i32 noundef %27188) #11
  br label %27190

27190:                                            ; preds = %27173, %27156
  call void @llvm.lifetime.end.p0(i64 4, ptr %671) #11
  br label %27191

27191:                                            ; preds = %27190
  br label %27192

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

27193:                                            ; No predecessors!
  br label %27194

27194:                                            ; preds = %27193
  br label %27195

27195:                                            ; preds = %27194, %27136
  br label %27196

27196:                                            ; preds = %27195
  br label %27197

27197:                                            ; preds = %27196
  br label %27198

27198:                                            ; preds = %27197
  %27199 = load i32, ptr @test_count, align 4, !tbaa !5
  %27200 = add nsw i32 %27199, 1
  store i32 %27200, ptr @test_count, align 4, !tbaa !5
  %27201 = call i32 @s2n_stuffer_free(ptr noundef %665)
  %27202 = icmp eq i32 %27201, -1
  br i1 %27202, label %27203, label %27256

27203:                                            ; preds = %27198
  br label %27204

27204:                                            ; preds = %27203
  br label %27205

27205:                                            ; preds = %27204
  call void @llvm.lifetime.start.p0(i64 4, ptr %672) #11
  %27206 = call ptr @__errno_location() #12
  %27207 = load i32, ptr %27206, align 4, !tbaa !5
  store i32 %27207, ptr %672, align 4, !tbaa !5
  %27208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27209 = call i32 @s2n_print_stacktrace(ptr noundef %27208)
  %27210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27211 = trunc i8 %27210 to i1
  br i1 %27211, label %27212, label %27234

27212:                                            ; preds = %27205
  %27213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27214 = call i32 @fileno(ptr noundef %27213) #11
  %27215 = call i32 @isatty(i32 noundef %27214) #11
  %27216 = icmp ne i32 %27215, 0
  br i1 %27216, label %27217, label %27234

27217:                                            ; preds = %27212
  %27218 = load i32, ptr %672, align 4, !tbaa !5
  %27219 = call ptr @__errno_location() #12
  store i32 %27218, ptr %27219, align 4, !tbaa !5
  %27220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27221 = load i32, ptr @test_count, align 4, !tbaa !5
  %27222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27223 = load i32, ptr %27222, align 4, !tbaa !5
  %27224 = call ptr @s2n_strerror(i32 noundef %27223, ptr noundef @.str.4)
  %27225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27226 = load i32, ptr %27225, align 4, !tbaa !5
  %27227 = call ptr @s2n_strerror_debug(i32 noundef %27226, ptr noundef @.str.4)
  %27228 = call ptr @__errno_location() #12
  %27229 = load i32, ptr %27228, align 4, !tbaa !5
  %27230 = call ptr @strerror(i32 noundef %27229) #11
  %27231 = call ptr @__errno_location() #12
  %27232 = load i32, ptr %27231, align 4, !tbaa !5
  %27233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27220, ptr noundef @.str.2, i32 noundef %27221, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1248, ptr noundef %27224, ptr noundef %27227, ptr noundef %27230, i32 noundef %27232) #11
  br label %27251

27234:                                            ; preds = %27212, %27205
  %27235 = load i32, ptr %672, align 4, !tbaa !5
  %27236 = call ptr @__errno_location() #12
  store i32 %27235, ptr %27236, align 4, !tbaa !5
  %27237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27238 = load i32, ptr @test_count, align 4, !tbaa !5
  %27239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27240 = load i32, ptr %27239, align 4, !tbaa !5
  %27241 = call ptr @s2n_strerror(i32 noundef %27240, ptr noundef @.str.4)
  %27242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27243 = load i32, ptr %27242, align 4, !tbaa !5
  %27244 = call ptr @s2n_strerror_debug(i32 noundef %27243, ptr noundef @.str.4)
  %27245 = call ptr @__errno_location() #12
  %27246 = load i32, ptr %27245, align 4, !tbaa !5
  %27247 = call ptr @strerror(i32 noundef %27246) #11
  %27248 = call ptr @__errno_location() #12
  %27249 = load i32, ptr %27248, align 4, !tbaa !5
  %27250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27237, ptr noundef @.str.5, i32 noundef %27238, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1248, ptr noundef %27241, ptr noundef %27244, ptr noundef %27247, i32 noundef %27249) #11
  br label %27251

27251:                                            ; preds = %27234, %27217
  call void @llvm.lifetime.end.p0(i64 4, ptr %672) #11
  br label %27252

27252:                                            ; preds = %27251
  br label %27253

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

27254:                                            ; No predecessors!
  br label %27255

27255:                                            ; preds = %27254
  br label %27256

27256:                                            ; preds = %27255, %27198
  br label %27257

27257:                                            ; preds = %27256
  br label %27258

27258:                                            ; preds = %27257
  call void @llvm.lifetime.end.p0(i64 40, ptr %665) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %661) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %660) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %673) #11
  store i8 18, ptr %673, align 1, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 1, ptr %674) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %674, ptr align 1 @__const.main.identity_bytes, i64 1, i1 false)
  call void @llvm.lifetime.start.p0(i64 11, ptr %675) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %675, ptr align 1 @__const.main.extension_data, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %676) #11
  store ptr null, ptr %676, align 8, !tbaa !9
  br label %27259

27259:                                            ; preds = %27258
  %27260 = load i32, ptr @test_count, align 4, !tbaa !5
  %27261 = add nsw i32 %27260, 1
  store i32 %27261, ptr @test_count, align 4, !tbaa !5
  %27262 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %27262, ptr %676, align 8, !tbaa !9
  %27263 = icmp eq ptr %27262, null
  br i1 %27263, label %27264, label %27317

27264:                                            ; preds = %27259
  br label %27265

27265:                                            ; preds = %27264
  br label %27266

27266:                                            ; preds = %27265
  call void @llvm.lifetime.start.p0(i64 4, ptr %677) #11
  %27267 = call ptr @__errno_location() #12
  %27268 = load i32, ptr %27267, align 4, !tbaa !5
  store i32 %27268, ptr %677, align 4, !tbaa !5
  %27269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27270 = call i32 @s2n_print_stacktrace(ptr noundef %27269)
  %27271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27272 = trunc i8 %27271 to i1
  br i1 %27272, label %27273, label %27295

27273:                                            ; preds = %27266
  %27274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27275 = call i32 @fileno(ptr noundef %27274) #11
  %27276 = call i32 @isatty(i32 noundef %27275) #11
  %27277 = icmp ne i32 %27276, 0
  br i1 %27277, label %27278, label %27295

27278:                                            ; preds = %27273
  %27279 = load i32, ptr %677, align 4, !tbaa !5
  %27280 = call ptr @__errno_location() #12
  store i32 %27279, ptr %27280, align 4, !tbaa !5
  %27281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27282 = load i32, ptr @test_count, align 4, !tbaa !5
  %27283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27284 = load i32, ptr %27283, align 4, !tbaa !5
  %27285 = call ptr @s2n_strerror(i32 noundef %27284, ptr noundef @.str.4)
  %27286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27287 = load i32, ptr %27286, align 4, !tbaa !5
  %27288 = call ptr @s2n_strerror_debug(i32 noundef %27287, ptr noundef @.str.4)
  %27289 = call ptr @__errno_location() #12
  %27290 = load i32, ptr %27289, align 4, !tbaa !5
  %27291 = call ptr @strerror(i32 noundef %27290) #11
  %27292 = call ptr @__errno_location() #12
  %27293 = load i32, ptr %27292, align 4, !tbaa !5
  %27294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27281, ptr noundef @.str.2, i32 noundef %27282, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1265, ptr noundef %27285, ptr noundef %27288, ptr noundef %27291, i32 noundef %27293) #11
  br label %27312

27295:                                            ; preds = %27273, %27266
  %27296 = load i32, ptr %677, align 4, !tbaa !5
  %27297 = call ptr @__errno_location() #12
  store i32 %27296, ptr %27297, align 4, !tbaa !5
  %27298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27299 = load i32, ptr @test_count, align 4, !tbaa !5
  %27300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27301 = load i32, ptr %27300, align 4, !tbaa !5
  %27302 = call ptr @s2n_strerror(i32 noundef %27301, ptr noundef @.str.4)
  %27303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27304 = load i32, ptr %27303, align 4, !tbaa !5
  %27305 = call ptr @s2n_strerror_debug(i32 noundef %27304, ptr noundef @.str.4)
  %27306 = call ptr @__errno_location() #12
  %27307 = load i32, ptr %27306, align 4, !tbaa !5
  %27308 = call ptr @strerror(i32 noundef %27307) #11
  %27309 = call ptr @__errno_location() #12
  %27310 = load i32, ptr %27309, align 4, !tbaa !5
  %27311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27298, ptr noundef @.str.5, i32 noundef %27299, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1265, ptr noundef %27302, ptr noundef %27305, ptr noundef %27308, i32 noundef %27310) #11
  br label %27312

27312:                                            ; preds = %27295, %27278
  call void @llvm.lifetime.end.p0(i64 4, ptr %677) #11
  br label %27313

27313:                                            ; preds = %27312
  br label %27314

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

27315:                                            ; No predecessors!
  br label %27316

27316:                                            ; preds = %27315
  br label %27317

27317:                                            ; preds = %27316, %27259
  br label %27318

27318:                                            ; preds = %27317
  br label %27319

27319:                                            ; preds = %27318
  br label %27320

27320:                                            ; preds = %27319
  %27321 = load i32, ptr @test_count, align 4, !tbaa !5
  %27322 = add nsw i32 %27321, 1
  store i32 %27322, ptr @test_count, align 4, !tbaa !5
  %27323 = load ptr, ptr %676, align 8, !tbaa !9
  %27324 = call i32 @s2n_connection_set_psk_type(ptr noundef %27323, i32 noundef 1)
  %27325 = getelementptr inbounds %struct.s2n_result, ptr %678, i32 0, i32 0
  store i32 %27324, ptr %27325, align 4
  %27326 = getelementptr inbounds %struct.s2n_result, ptr %678, i32 0, i32 0
  %27327 = load i32, ptr %27326, align 4
  %27328 = call zeroext i1 @s2n_result_is_ok(i32 %27327)
  br i1 %27328, label %27382, label %27329

27329:                                            ; preds = %27320
  br label %27330

27330:                                            ; preds = %27329
  br label %27331

27331:                                            ; preds = %27330
  call void @llvm.lifetime.start.p0(i64 4, ptr %679) #11
  %27332 = call ptr @__errno_location() #12
  %27333 = load i32, ptr %27332, align 4, !tbaa !5
  store i32 %27333, ptr %679, align 4, !tbaa !5
  %27334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27335 = call i32 @s2n_print_stacktrace(ptr noundef %27334)
  %27336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27337 = trunc i8 %27336 to i1
  br i1 %27337, label %27338, label %27360

27338:                                            ; preds = %27331
  %27339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27340 = call i32 @fileno(ptr noundef %27339) #11
  %27341 = call i32 @isatty(i32 noundef %27340) #11
  %27342 = icmp ne i32 %27341, 0
  br i1 %27342, label %27343, label %27360

27343:                                            ; preds = %27338
  %27344 = load i32, ptr %679, align 4, !tbaa !5
  %27345 = call ptr @__errno_location() #12
  store i32 %27344, ptr %27345, align 4, !tbaa !5
  %27346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27347 = load i32, ptr @test_count, align 4, !tbaa !5
  %27348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27349 = load i32, ptr %27348, align 4, !tbaa !5
  %27350 = call ptr @s2n_strerror(i32 noundef %27349, ptr noundef @.str.4)
  %27351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27352 = load i32, ptr %27351, align 4, !tbaa !5
  %27353 = call ptr @s2n_strerror_debug(i32 noundef %27352, ptr noundef @.str.4)
  %27354 = call ptr @__errno_location() #12
  %27355 = load i32, ptr %27354, align 4, !tbaa !5
  %27356 = call ptr @strerror(i32 noundef %27355) #11
  %27357 = call ptr @__errno_location() #12
  %27358 = load i32, ptr %27357, align 4, !tbaa !5
  %27359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27346, ptr noundef @.str.2, i32 noundef %27347, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 1266, ptr noundef %27350, ptr noundef %27353, ptr noundef %27356, i32 noundef %27358) #11
  br label %27377

27360:                                            ; preds = %27338, %27331
  %27361 = load i32, ptr %679, align 4, !tbaa !5
  %27362 = call ptr @__errno_location() #12
  store i32 %27361, ptr %27362, align 4, !tbaa !5
  %27363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27364 = load i32, ptr @test_count, align 4, !tbaa !5
  %27365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27366 = load i32, ptr %27365, align 4, !tbaa !5
  %27367 = call ptr @s2n_strerror(i32 noundef %27366, ptr noundef @.str.4)
  %27368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27369 = load i32, ptr %27368, align 4, !tbaa !5
  %27370 = call ptr @s2n_strerror_debug(i32 noundef %27369, ptr noundef @.str.4)
  %27371 = call ptr @__errno_location() #12
  %27372 = load i32, ptr %27371, align 4, !tbaa !5
  %27373 = call ptr @strerror(i32 noundef %27372) #11
  %27374 = call ptr @__errno_location() #12
  %27375 = load i32, ptr %27374, align 4, !tbaa !5
  %27376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27363, ptr noundef @.str.5, i32 noundef %27364, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 1266, ptr noundef %27367, ptr noundef %27370, ptr noundef %27373, i32 noundef %27375) #11
  br label %27377

27377:                                            ; preds = %27360, %27343
  call void @llvm.lifetime.end.p0(i64 4, ptr %679) #11
  br label %27378

27378:                                            ; preds = %27377
  br label %27379

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

27380:                                            ; No predecessors!
  br label %27381

27381:                                            ; preds = %27380
  br label %27382

27382:                                            ; preds = %27381, %27320
  br label %27383

27383:                                            ; preds = %27382
  br label %27384

27384:                                            ; preds = %27383
  %27385 = load ptr, ptr %676, align 8, !tbaa !9
  %27386 = getelementptr inbounds %struct.s2n_connection, ptr %27385, i32 0, i32 71
  %27387 = getelementptr inbounds %struct.s2n_client_hello, ptr %27386, i32 0, i32 1
  %27388 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %27387, i32 0, i32 2
  store i16 1, ptr %27388, align 8, !tbaa !104
  %27389 = load ptr, ptr %676, align 8, !tbaa !9
  %27390 = getelementptr inbounds %struct.s2n_connection, ptr %27389, i32 0, i32 33
  %27391 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %27390, i32 0, i32 5
  store i32 2, ptr %27391, align 8, !tbaa !105
  %27392 = load i8, ptr %657, align 1, !tbaa !81
  %27393 = zext i8 %27392 to i32
  %27394 = srem i32 %27393, 8
  %27395 = shl i32 1, %27394
  %27396 = load ptr, ptr %676, align 8, !tbaa !9
  %27397 = getelementptr inbounds %struct.s2n_connection, ptr %27396, i32 0, i32 11
  %27398 = load i8, ptr %657, align 1, !tbaa !81
  %27399 = zext i8 %27398 to i32
  %27400 = ashr i32 %27399, 3
  %27401 = sext i32 %27400 to i64
  %27402 = getelementptr inbounds [22 x i8], ptr %27397, i64 0, i64 %27401
  %27403 = load i8, ptr %27402, align 1, !tbaa !81
  %27404 = sext i8 %27403 to i32
  %27405 = or i32 %27404, %27395
  %27406 = trunc i32 %27405 to i8
  store i8 %27406, ptr %27402, align 1, !tbaa !81
  %27407 = load i8, ptr %656, align 1, !tbaa !81
  %27408 = zext i8 %27407 to i32
  %27409 = srem i32 %27408, 8
  %27410 = shl i32 1, %27409
  %27411 = load ptr, ptr %676, align 8, !tbaa !9
  %27412 = getelementptr inbounds %struct.s2n_connection, ptr %27411, i32 0, i32 11
  %27413 = load i8, ptr %656, align 1, !tbaa !81
  %27414 = zext i8 %27413 to i32
  %27415 = ashr i32 %27414, 3
  %27416 = sext i32 %27415 to i64
  %27417 = getelementptr inbounds [22 x i8], ptr %27412, i64 0, i64 %27416
  %27418 = load i8, ptr %27417, align 1, !tbaa !81
  %27419 = sext i8 %27418 to i32
  %27420 = or i32 %27419, %27410
  %27421 = trunc i32 %27420 to i8
  store i8 %27421, ptr %27417, align 1, !tbaa !81
  br label %27422

27422:                                            ; preds = %27384
  %27423 = load i32, ptr @test_count, align 4, !tbaa !5
  %27424 = add nsw i32 %27423, 1
  store i32 %27424, ptr @test_count, align 4, !tbaa !5
  %27425 = load ptr, ptr %676, align 8, !tbaa !9
  %27426 = getelementptr inbounds %struct.s2n_connection, ptr %27425, i32 0, i32 52
  %27427 = getelementptr inbounds %struct.s2n_handshake, ptr %27426, i32 0, i32 0
  %27428 = getelementptr inbounds [12 x i8], ptr %655, i64 0, i64 0
  %27429 = call i32 @s2n_stuffer_write_bytes(ptr noundef %27427, ptr noundef %27428, i32 noundef 12)
  %27430 = icmp eq i32 %27429, -1
  br i1 %27430, label %27431, label %27484

27431:                                            ; preds = %27422
  br label %27432

27432:                                            ; preds = %27431
  br label %27433

27433:                                            ; preds = %27432
  call void @llvm.lifetime.start.p0(i64 4, ptr %680) #11
  %27434 = call ptr @__errno_location() #12
  %27435 = load i32, ptr %27434, align 4, !tbaa !5
  store i32 %27435, ptr %680, align 4, !tbaa !5
  %27436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27437 = call i32 @s2n_print_stacktrace(ptr noundef %27436)
  %27438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27439 = trunc i8 %27438 to i1
  br i1 %27439, label %27440, label %27462

27440:                                            ; preds = %27433
  %27441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27442 = call i32 @fileno(ptr noundef %27441) #11
  %27443 = call i32 @isatty(i32 noundef %27442) #11
  %27444 = icmp ne i32 %27443, 0
  br i1 %27444, label %27445, label %27462

27445:                                            ; preds = %27440
  %27446 = load i32, ptr %680, align 4, !tbaa !5
  %27447 = call ptr @__errno_location() #12
  store i32 %27446, ptr %27447, align 4, !tbaa !5
  %27448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27449 = load i32, ptr @test_count, align 4, !tbaa !5
  %27450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27451 = load i32, ptr %27450, align 4, !tbaa !5
  %27452 = call ptr @s2n_strerror(i32 noundef %27451, ptr noundef @.str.4)
  %27453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27454 = load i32, ptr %27453, align 4, !tbaa !5
  %27455 = call ptr @s2n_strerror_debug(i32 noundef %27454, ptr noundef @.str.4)
  %27456 = call ptr @__errno_location() #12
  %27457 = load i32, ptr %27456, align 4, !tbaa !5
  %27458 = call ptr @strerror(i32 noundef %27457) #11
  %27459 = call ptr @__errno_location() #12
  %27460 = load i32, ptr %27459, align 4, !tbaa !5
  %27461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27448, ptr noundef @.str.2, i32 noundef %27449, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 1275, ptr noundef %27452, ptr noundef %27455, ptr noundef %27458, i32 noundef %27460) #11
  br label %27479

27462:                                            ; preds = %27440, %27433
  %27463 = load i32, ptr %680, align 4, !tbaa !5
  %27464 = call ptr @__errno_location() #12
  store i32 %27463, ptr %27464, align 4, !tbaa !5
  %27465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27466 = load i32, ptr @test_count, align 4, !tbaa !5
  %27467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27468 = load i32, ptr %27467, align 4, !tbaa !5
  %27469 = call ptr @s2n_strerror(i32 noundef %27468, ptr noundef @.str.4)
  %27470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27471 = load i32, ptr %27470, align 4, !tbaa !5
  %27472 = call ptr @s2n_strerror_debug(i32 noundef %27471, ptr noundef @.str.4)
  %27473 = call ptr @__errno_location() #12
  %27474 = load i32, ptr %27473, align 4, !tbaa !5
  %27475 = call ptr @strerror(i32 noundef %27474) #11
  %27476 = call ptr @__errno_location() #12
  %27477 = load i32, ptr %27476, align 4, !tbaa !5
  %27478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27465, ptr noundef @.str.5, i32 noundef %27466, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 1275, ptr noundef %27469, ptr noundef %27472, ptr noundef %27475, i32 noundef %27477) #11
  br label %27479

27479:                                            ; preds = %27462, %27445
  call void @llvm.lifetime.end.p0(i64 4, ptr %680) #11
  br label %27480

27480:                                            ; preds = %27479
  br label %27481

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

27482:                                            ; No predecessors!
  br label %27483

27483:                                            ; preds = %27482
  br label %27484

27484:                                            ; preds = %27483, %27422
  br label %27485

27485:                                            ; preds = %27484
  br label %27486

27486:                                            ; preds = %27485
  br label %27487

27487:                                            ; preds = %27486
  %27488 = load i32, ptr @test_count, align 4, !tbaa !5
  %27489 = add nsw i32 %27488, 1
  store i32 %27489, ptr @test_count, align 4, !tbaa !5
  %27490 = load ptr, ptr %676, align 8, !tbaa !9
  %27491 = getelementptr inbounds %struct.s2n_connection, ptr %27490, i32 0, i32 52
  %27492 = getelementptr inbounds %struct.s2n_handshake, ptr %27491, i32 0, i32 0
  %27493 = getelementptr inbounds [11 x i8], ptr %675, i64 0, i64 0
  %27494 = call i32 @s2n_stuffer_write_bytes(ptr noundef %27492, ptr noundef %27493, i32 noundef 11)
  %27495 = icmp eq i32 %27494, -1
  br i1 %27495, label %27496, label %27549

27496:                                            ; preds = %27487
  br label %27497

27497:                                            ; preds = %27496
  br label %27498

27498:                                            ; preds = %27497
  call void @llvm.lifetime.start.p0(i64 4, ptr %681) #11
  %27499 = call ptr @__errno_location() #12
  %27500 = load i32, ptr %27499, align 4, !tbaa !5
  store i32 %27500, ptr %681, align 4, !tbaa !5
  %27501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27502 = call i32 @s2n_print_stacktrace(ptr noundef %27501)
  %27503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27504 = trunc i8 %27503 to i1
  br i1 %27504, label %27505, label %27527

27505:                                            ; preds = %27498
  %27506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27507 = call i32 @fileno(ptr noundef %27506) #11
  %27508 = call i32 @isatty(i32 noundef %27507) #11
  %27509 = icmp ne i32 %27508, 0
  br i1 %27509, label %27510, label %27527

27510:                                            ; preds = %27505
  %27511 = load i32, ptr %681, align 4, !tbaa !5
  %27512 = call ptr @__errno_location() #12
  store i32 %27511, ptr %27512, align 4, !tbaa !5
  %27513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27514 = load i32, ptr @test_count, align 4, !tbaa !5
  %27515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27516 = load i32, ptr %27515, align 4, !tbaa !5
  %27517 = call ptr @s2n_strerror(i32 noundef %27516, ptr noundef @.str.4)
  %27518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27519 = load i32, ptr %27518, align 4, !tbaa !5
  %27520 = call ptr @s2n_strerror_debug(i32 noundef %27519, ptr noundef @.str.4)
  %27521 = call ptr @__errno_location() #12
  %27522 = load i32, ptr %27521, align 4, !tbaa !5
  %27523 = call ptr @strerror(i32 noundef %27522) #11
  %27524 = call ptr @__errno_location() #12
  %27525 = load i32, ptr %27524, align 4, !tbaa !5
  %27526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27513, ptr noundef @.str.2, i32 noundef %27514, ptr noundef @.str.176, ptr noundef @.str.1, i32 noundef 1276, ptr noundef %27517, ptr noundef %27520, ptr noundef %27523, i32 noundef %27525) #11
  br label %27544

27527:                                            ; preds = %27505, %27498
  %27528 = load i32, ptr %681, align 4, !tbaa !5
  %27529 = call ptr @__errno_location() #12
  store i32 %27528, ptr %27529, align 4, !tbaa !5
  %27530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27531 = load i32, ptr @test_count, align 4, !tbaa !5
  %27532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27533 = load i32, ptr %27532, align 4, !tbaa !5
  %27534 = call ptr @s2n_strerror(i32 noundef %27533, ptr noundef @.str.4)
  %27535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27536 = load i32, ptr %27535, align 4, !tbaa !5
  %27537 = call ptr @s2n_strerror_debug(i32 noundef %27536, ptr noundef @.str.4)
  %27538 = call ptr @__errno_location() #12
  %27539 = load i32, ptr %27538, align 4, !tbaa !5
  %27540 = call ptr @strerror(i32 noundef %27539) #11
  %27541 = call ptr @__errno_location() #12
  %27542 = load i32, ptr %27541, align 4, !tbaa !5
  %27543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27530, ptr noundef @.str.5, i32 noundef %27531, ptr noundef @.str.176, ptr noundef @.str.1, i32 noundef 1276, ptr noundef %27534, ptr noundef %27537, ptr noundef %27540, i32 noundef %27542) #11
  br label %27544

27544:                                            ; preds = %27527, %27510
  call void @llvm.lifetime.end.p0(i64 4, ptr %681) #11
  br label %27545

27545:                                            ; preds = %27544
  br label %27546

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

27547:                                            ; No predecessors!
  br label %27548

27548:                                            ; preds = %27547
  br label %27549

27549:                                            ; preds = %27548, %27487
  br label %27550

27550:                                            ; preds = %27549
  br label %27551

27551:                                            ; preds = %27550
  call void @llvm.lifetime.start.p0(i64 40, ptr %682) #11
  call void @llvm.memset.p0.i64(ptr align 8 %682, i8 0, i64 40, i1 false)
  br label %27552

27552:                                            ; preds = %27551
  %27553 = load i32, ptr @test_count, align 4, !tbaa !5
  %27554 = add nsw i32 %27553, 1
  store i32 %27554, ptr @test_count, align 4, !tbaa !5
  %27555 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %682, i32 noundef 0)
  %27556 = icmp eq i32 %27555, -1
  br i1 %27556, label %27557, label %27610

27557:                                            ; preds = %27552
  br label %27558

27558:                                            ; preds = %27557
  br label %27559

27559:                                            ; preds = %27558
  call void @llvm.lifetime.start.p0(i64 4, ptr %683) #11
  %27560 = call ptr @__errno_location() #12
  %27561 = load i32, ptr %27560, align 4, !tbaa !5
  store i32 %27561, ptr %683, align 4, !tbaa !5
  %27562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27563 = call i32 @s2n_print_stacktrace(ptr noundef %27562)
  %27564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27565 = trunc i8 %27564 to i1
  br i1 %27565, label %27566, label %27588

27566:                                            ; preds = %27559
  %27567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27568 = call i32 @fileno(ptr noundef %27567) #11
  %27569 = call i32 @isatty(i32 noundef %27568) #11
  %27570 = icmp ne i32 %27569, 0
  br i1 %27570, label %27571, label %27588

27571:                                            ; preds = %27566
  %27572 = load i32, ptr %683, align 4, !tbaa !5
  %27573 = call ptr @__errno_location() #12
  store i32 %27572, ptr %27573, align 4, !tbaa !5
  %27574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27575 = load i32, ptr @test_count, align 4, !tbaa !5
  %27576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27577 = load i32, ptr %27576, align 4, !tbaa !5
  %27578 = call ptr @s2n_strerror(i32 noundef %27577, ptr noundef @.str.4)
  %27579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27580 = load i32, ptr %27579, align 4, !tbaa !5
  %27581 = call ptr @s2n_strerror_debug(i32 noundef %27580, ptr noundef @.str.4)
  %27582 = call ptr @__errno_location() #12
  %27583 = load i32, ptr %27582, align 4, !tbaa !5
  %27584 = call ptr @strerror(i32 noundef %27583) #11
  %27585 = call ptr @__errno_location() #12
  %27586 = load i32, ptr %27585, align 4, !tbaa !5
  %27587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27574, ptr noundef @.str.2, i32 noundef %27575, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1280, ptr noundef %27578, ptr noundef %27581, ptr noundef %27584, i32 noundef %27586) #11
  br label %27605

27588:                                            ; preds = %27566, %27559
  %27589 = load i32, ptr %683, align 4, !tbaa !5
  %27590 = call ptr @__errno_location() #12
  store i32 %27589, ptr %27590, align 4, !tbaa !5
  %27591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27592 = load i32, ptr @test_count, align 4, !tbaa !5
  %27593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27594 = load i32, ptr %27593, align 4, !tbaa !5
  %27595 = call ptr @s2n_strerror(i32 noundef %27594, ptr noundef @.str.4)
  %27596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27597 = load i32, ptr %27596, align 4, !tbaa !5
  %27598 = call ptr @s2n_strerror_debug(i32 noundef %27597, ptr noundef @.str.4)
  %27599 = call ptr @__errno_location() #12
  %27600 = load i32, ptr %27599, align 4, !tbaa !5
  %27601 = call ptr @strerror(i32 noundef %27600) #11
  %27602 = call ptr @__errno_location() #12
  %27603 = load i32, ptr %27602, align 4, !tbaa !5
  %27604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27591, ptr noundef @.str.5, i32 noundef %27592, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1280, ptr noundef %27595, ptr noundef %27598, ptr noundef %27601, i32 noundef %27603) #11
  br label %27605

27605:                                            ; preds = %27588, %27571
  call void @llvm.lifetime.end.p0(i64 4, ptr %683) #11
  br label %27606

27606:                                            ; preds = %27605
  br label %27607

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

27608:                                            ; No predecessors!
  br label %27609

27609:                                            ; preds = %27608
  br label %27610

27610:                                            ; preds = %27609, %27552
  br label %27611

27611:                                            ; preds = %27610
  br label %27612

27612:                                            ; preds = %27611
  br label %27613

27613:                                            ; preds = %27612
  %27614 = load i32, ptr @test_count, align 4, !tbaa !5
  %27615 = add nsw i32 %27614, 1
  store i32 %27615, ptr @test_count, align 4, !tbaa !5
  %27616 = getelementptr inbounds [11 x i8], ptr %675, i64 0, i64 0
  %27617 = call i32 @s2n_stuffer_write_bytes(ptr noundef %682, ptr noundef %27616, i32 noundef 11)
  %27618 = icmp eq i32 %27617, -1
  br i1 %27618, label %27619, label %27672

27619:                                            ; preds = %27613
  br label %27620

27620:                                            ; preds = %27619
  br label %27621

27621:                                            ; preds = %27620
  call void @llvm.lifetime.start.p0(i64 4, ptr %684) #11
  %27622 = call ptr @__errno_location() #12
  %27623 = load i32, ptr %27622, align 4, !tbaa !5
  store i32 %27623, ptr %684, align 4, !tbaa !5
  %27624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27625 = call i32 @s2n_print_stacktrace(ptr noundef %27624)
  %27626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27627 = trunc i8 %27626 to i1
  br i1 %27627, label %27628, label %27650

27628:                                            ; preds = %27621
  %27629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27630 = call i32 @fileno(ptr noundef %27629) #11
  %27631 = call i32 @isatty(i32 noundef %27630) #11
  %27632 = icmp ne i32 %27631, 0
  br i1 %27632, label %27633, label %27650

27633:                                            ; preds = %27628
  %27634 = load i32, ptr %684, align 4, !tbaa !5
  %27635 = call ptr @__errno_location() #12
  store i32 %27634, ptr %27635, align 4, !tbaa !5
  %27636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27637 = load i32, ptr @test_count, align 4, !tbaa !5
  %27638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27639 = load i32, ptr %27638, align 4, !tbaa !5
  %27640 = call ptr @s2n_strerror(i32 noundef %27639, ptr noundef @.str.4)
  %27641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27642 = load i32, ptr %27641, align 4, !tbaa !5
  %27643 = call ptr @s2n_strerror_debug(i32 noundef %27642, ptr noundef @.str.4)
  %27644 = call ptr @__errno_location() #12
  %27645 = load i32, ptr %27644, align 4, !tbaa !5
  %27646 = call ptr @strerror(i32 noundef %27645) #11
  %27647 = call ptr @__errno_location() #12
  %27648 = load i32, ptr %27647, align 4, !tbaa !5
  %27649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27636, ptr noundef @.str.2, i32 noundef %27637, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1281, ptr noundef %27640, ptr noundef %27643, ptr noundef %27646, i32 noundef %27648) #11
  br label %27667

27650:                                            ; preds = %27628, %27621
  %27651 = load i32, ptr %684, align 4, !tbaa !5
  %27652 = call ptr @__errno_location() #12
  store i32 %27651, ptr %27652, align 4, !tbaa !5
  %27653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27654 = load i32, ptr @test_count, align 4, !tbaa !5
  %27655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27656 = load i32, ptr %27655, align 4, !tbaa !5
  %27657 = call ptr @s2n_strerror(i32 noundef %27656, ptr noundef @.str.4)
  %27658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27659 = load i32, ptr %27658, align 4, !tbaa !5
  %27660 = call ptr @s2n_strerror_debug(i32 noundef %27659, ptr noundef @.str.4)
  %27661 = call ptr @__errno_location() #12
  %27662 = load i32, ptr %27661, align 4, !tbaa !5
  %27663 = call ptr @strerror(i32 noundef %27662) #11
  %27664 = call ptr @__errno_location() #12
  %27665 = load i32, ptr %27664, align 4, !tbaa !5
  %27666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27653, ptr noundef @.str.5, i32 noundef %27654, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1281, ptr noundef %27657, ptr noundef %27660, ptr noundef %27663, i32 noundef %27665) #11
  br label %27667

27667:                                            ; preds = %27650, %27633
  call void @llvm.lifetime.end.p0(i64 4, ptr %684) #11
  br label %27668

27668:                                            ; preds = %27667
  br label %27669

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

27670:                                            ; No predecessors!
  br label %27671

27671:                                            ; preds = %27670
  br label %27672

27672:                                            ; preds = %27671, %27613
  br label %27673

27673:                                            ; preds = %27672
  br label %27674

27674:                                            ; preds = %27673
  call void @llvm.lifetime.start.p0(i64 8, ptr %685) #11
  store ptr null, ptr %685, align 8, !tbaa !9
  br label %27675

27675:                                            ; preds = %27674
  %27676 = load i32, ptr @test_count, align 4, !tbaa !5
  %27677 = add nsw i32 %27676, 1
  store i32 %27677, ptr @test_count, align 4, !tbaa !5
  %27678 = load ptr, ptr %676, align 8, !tbaa !9
  %27679 = getelementptr inbounds %struct.s2n_connection, ptr %27678, i32 0, i32 33
  %27680 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %27679, i32 0, i32 1
  %27681 = call i32 @s2n_array_pushback(ptr noundef %27680, ptr noundef %685)
  %27682 = getelementptr inbounds %struct.s2n_result, ptr %686, i32 0, i32 0
  store i32 %27681, ptr %27682, align 4
  %27683 = getelementptr inbounds %struct.s2n_result, ptr %686, i32 0, i32 0
  %27684 = load i32, ptr %27683, align 4
  %27685 = call zeroext i1 @s2n_result_is_ok(i32 %27684)
  br i1 %27685, label %27739, label %27686

27686:                                            ; preds = %27675
  br label %27687

27687:                                            ; preds = %27686
  br label %27688

27688:                                            ; preds = %27687
  call void @llvm.lifetime.start.p0(i64 4, ptr %687) #11
  %27689 = call ptr @__errno_location() #12
  %27690 = load i32, ptr %27689, align 4, !tbaa !5
  store i32 %27690, ptr %687, align 4, !tbaa !5
  %27691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27692 = call i32 @s2n_print_stacktrace(ptr noundef %27691)
  %27693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27694 = trunc i8 %27693 to i1
  br i1 %27694, label %27695, label %27717

27695:                                            ; preds = %27688
  %27696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27697 = call i32 @fileno(ptr noundef %27696) #11
  %27698 = call i32 @isatty(i32 noundef %27697) #11
  %27699 = icmp ne i32 %27698, 0
  br i1 %27699, label %27700, label %27717

27700:                                            ; preds = %27695
  %27701 = load i32, ptr %687, align 4, !tbaa !5
  %27702 = call ptr @__errno_location() #12
  store i32 %27701, ptr %27702, align 4, !tbaa !5
  %27703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27704 = load i32, ptr @test_count, align 4, !tbaa !5
  %27705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27706 = load i32, ptr %27705, align 4, !tbaa !5
  %27707 = call ptr @s2n_strerror(i32 noundef %27706, ptr noundef @.str.4)
  %27708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27709 = load i32, ptr %27708, align 4, !tbaa !5
  %27710 = call ptr @s2n_strerror_debug(i32 noundef %27709, ptr noundef @.str.4)
  %27711 = call ptr @__errno_location() #12
  %27712 = load i32, ptr %27711, align 4, !tbaa !5
  %27713 = call ptr @strerror(i32 noundef %27712) #11
  %27714 = call ptr @__errno_location() #12
  %27715 = load i32, ptr %27714, align 4, !tbaa !5
  %27716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27703, ptr noundef @.str.2, i32 noundef %27704, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1284, ptr noundef %27707, ptr noundef %27710, ptr noundef %27713, i32 noundef %27715) #11
  br label %27734

27717:                                            ; preds = %27695, %27688
  %27718 = load i32, ptr %687, align 4, !tbaa !5
  %27719 = call ptr @__errno_location() #12
  store i32 %27718, ptr %27719, align 4, !tbaa !5
  %27720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27721 = load i32, ptr @test_count, align 4, !tbaa !5
  %27722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27723 = load i32, ptr %27722, align 4, !tbaa !5
  %27724 = call ptr @s2n_strerror(i32 noundef %27723, ptr noundef @.str.4)
  %27725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27726 = load i32, ptr %27725, align 4, !tbaa !5
  %27727 = call ptr @s2n_strerror_debug(i32 noundef %27726, ptr noundef @.str.4)
  %27728 = call ptr @__errno_location() #12
  %27729 = load i32, ptr %27728, align 4, !tbaa !5
  %27730 = call ptr @strerror(i32 noundef %27729) #11
  %27731 = call ptr @__errno_location() #12
  %27732 = load i32, ptr %27731, align 4, !tbaa !5
  %27733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27720, ptr noundef @.str.5, i32 noundef %27721, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1284, ptr noundef %27724, ptr noundef %27727, ptr noundef %27730, i32 noundef %27732) #11
  br label %27734

27734:                                            ; preds = %27717, %27700
  call void @llvm.lifetime.end.p0(i64 4, ptr %687) #11
  br label %27735

27735:                                            ; preds = %27734
  br label %27736

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

27737:                                            ; No predecessors!
  br label %27738

27738:                                            ; preds = %27737
  br label %27739

27739:                                            ; preds = %27738, %27675
  br label %27740

27740:                                            ; preds = %27739
  br label %27741

27741:                                            ; preds = %27740
  br label %27742

27742:                                            ; preds = %27741
  %27743 = load i32, ptr @test_count, align 4, !tbaa !5
  %27744 = add nsw i32 %27743, 1
  store i32 %27744, ptr @test_count, align 4, !tbaa !5
  %27745 = load ptr, ptr %685, align 8, !tbaa !9
  %27746 = call i32 @s2n_psk_init(ptr noundef %27745, i32 noundef 1)
  %27747 = getelementptr inbounds %struct.s2n_result, ptr %688, i32 0, i32 0
  store i32 %27746, ptr %27747, align 4
  %27748 = getelementptr inbounds %struct.s2n_result, ptr %688, i32 0, i32 0
  %27749 = load i32, ptr %27748, align 4
  %27750 = call zeroext i1 @s2n_result_is_ok(i32 %27749)
  br i1 %27750, label %27804, label %27751

27751:                                            ; preds = %27742
  br label %27752

27752:                                            ; preds = %27751
  br label %27753

27753:                                            ; preds = %27752
  call void @llvm.lifetime.start.p0(i64 4, ptr %689) #11
  %27754 = call ptr @__errno_location() #12
  %27755 = load i32, ptr %27754, align 4, !tbaa !5
  store i32 %27755, ptr %689, align 4, !tbaa !5
  %27756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27757 = call i32 @s2n_print_stacktrace(ptr noundef %27756)
  %27758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27759 = trunc i8 %27758 to i1
  br i1 %27759, label %27760, label %27782

27760:                                            ; preds = %27753
  %27761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27762 = call i32 @fileno(ptr noundef %27761) #11
  %27763 = call i32 @isatty(i32 noundef %27762) #11
  %27764 = icmp ne i32 %27763, 0
  br i1 %27764, label %27765, label %27782

27765:                                            ; preds = %27760
  %27766 = load i32, ptr %689, align 4, !tbaa !5
  %27767 = call ptr @__errno_location() #12
  store i32 %27766, ptr %27767, align 4, !tbaa !5
  %27768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27769 = load i32, ptr @test_count, align 4, !tbaa !5
  %27770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27771 = load i32, ptr %27770, align 4, !tbaa !5
  %27772 = call ptr @s2n_strerror(i32 noundef %27771, ptr noundef @.str.4)
  %27773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27774 = load i32, ptr %27773, align 4, !tbaa !5
  %27775 = call ptr @s2n_strerror_debug(i32 noundef %27774, ptr noundef @.str.4)
  %27776 = call ptr @__errno_location() #12
  %27777 = load i32, ptr %27776, align 4, !tbaa !5
  %27778 = call ptr @strerror(i32 noundef %27777) #11
  %27779 = call ptr @__errno_location() #12
  %27780 = load i32, ptr %27779, align 4, !tbaa !5
  %27781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27768, ptr noundef @.str.2, i32 noundef %27769, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1285, ptr noundef %27772, ptr noundef %27775, ptr noundef %27778, i32 noundef %27780) #11
  br label %27799

27782:                                            ; preds = %27760, %27753
  %27783 = load i32, ptr %689, align 4, !tbaa !5
  %27784 = call ptr @__errno_location() #12
  store i32 %27783, ptr %27784, align 4, !tbaa !5
  %27785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27786 = load i32, ptr @test_count, align 4, !tbaa !5
  %27787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27788 = load i32, ptr %27787, align 4, !tbaa !5
  %27789 = call ptr @s2n_strerror(i32 noundef %27788, ptr noundef @.str.4)
  %27790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27791 = load i32, ptr %27790, align 4, !tbaa !5
  %27792 = call ptr @s2n_strerror_debug(i32 noundef %27791, ptr noundef @.str.4)
  %27793 = call ptr @__errno_location() #12
  %27794 = load i32, ptr %27793, align 4, !tbaa !5
  %27795 = call ptr @strerror(i32 noundef %27794) #11
  %27796 = call ptr @__errno_location() #12
  %27797 = load i32, ptr %27796, align 4, !tbaa !5
  %27798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27785, ptr noundef @.str.5, i32 noundef %27786, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1285, ptr noundef %27789, ptr noundef %27792, ptr noundef %27795, i32 noundef %27797) #11
  br label %27799

27799:                                            ; preds = %27782, %27765
  call void @llvm.lifetime.end.p0(i64 4, ptr %689) #11
  br label %27800

27800:                                            ; preds = %27799
  br label %27801

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

27802:                                            ; No predecessors!
  br label %27803

27803:                                            ; preds = %27802
  br label %27804

27804:                                            ; preds = %27803, %27742
  br label %27805

27805:                                            ; preds = %27804
  br label %27806

27806:                                            ; preds = %27805
  br label %27807

27807:                                            ; preds = %27806
  %27808 = load i32, ptr @test_count, align 4, !tbaa !5
  %27809 = add nsw i32 %27808, 1
  store i32 %27809, ptr @test_count, align 4, !tbaa !5
  %27810 = load ptr, ptr %685, align 8, !tbaa !9
  %27811 = getelementptr inbounds [1 x i8], ptr %674, i64 0, i64 0
  %27812 = call i32 @s2n_psk_set_identity(ptr noundef %27810, ptr noundef %27811, i16 noundef zeroext 1)
  %27813 = icmp eq i32 %27812, -1
  br i1 %27813, label %27814, label %27867

27814:                                            ; preds = %27807
  br label %27815

27815:                                            ; preds = %27814
  br label %27816

27816:                                            ; preds = %27815
  call void @llvm.lifetime.start.p0(i64 4, ptr %690) #11
  %27817 = call ptr @__errno_location() #12
  %27818 = load i32, ptr %27817, align 4, !tbaa !5
  store i32 %27818, ptr %690, align 4, !tbaa !5
  %27819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27820 = call i32 @s2n_print_stacktrace(ptr noundef %27819)
  %27821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27822 = trunc i8 %27821 to i1
  br i1 %27822, label %27823, label %27845

27823:                                            ; preds = %27816
  %27824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27825 = call i32 @fileno(ptr noundef %27824) #11
  %27826 = call i32 @isatty(i32 noundef %27825) #11
  %27827 = icmp ne i32 %27826, 0
  br i1 %27827, label %27828, label %27845

27828:                                            ; preds = %27823
  %27829 = load i32, ptr %690, align 4, !tbaa !5
  %27830 = call ptr @__errno_location() #12
  store i32 %27829, ptr %27830, align 4, !tbaa !5
  %27831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27832 = load i32, ptr @test_count, align 4, !tbaa !5
  %27833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27834 = load i32, ptr %27833, align 4, !tbaa !5
  %27835 = call ptr @s2n_strerror(i32 noundef %27834, ptr noundef @.str.4)
  %27836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27837 = load i32, ptr %27836, align 4, !tbaa !5
  %27838 = call ptr @s2n_strerror_debug(i32 noundef %27837, ptr noundef @.str.4)
  %27839 = call ptr @__errno_location() #12
  %27840 = load i32, ptr %27839, align 4, !tbaa !5
  %27841 = call ptr @strerror(i32 noundef %27840) #11
  %27842 = call ptr @__errno_location() #12
  %27843 = load i32, ptr %27842, align 4, !tbaa !5
  %27844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27831, ptr noundef @.str.2, i32 noundef %27832, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 1286, ptr noundef %27835, ptr noundef %27838, ptr noundef %27841, i32 noundef %27843) #11
  br label %27862

27845:                                            ; preds = %27823, %27816
  %27846 = load i32, ptr %690, align 4, !tbaa !5
  %27847 = call ptr @__errno_location() #12
  store i32 %27846, ptr %27847, align 4, !tbaa !5
  %27848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27849 = load i32, ptr @test_count, align 4, !tbaa !5
  %27850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27851 = load i32, ptr %27850, align 4, !tbaa !5
  %27852 = call ptr @s2n_strerror(i32 noundef %27851, ptr noundef @.str.4)
  %27853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27854 = load i32, ptr %27853, align 4, !tbaa !5
  %27855 = call ptr @s2n_strerror_debug(i32 noundef %27854, ptr noundef @.str.4)
  %27856 = call ptr @__errno_location() #12
  %27857 = load i32, ptr %27856, align 4, !tbaa !5
  %27858 = call ptr @strerror(i32 noundef %27857) #11
  %27859 = call ptr @__errno_location() #12
  %27860 = load i32, ptr %27859, align 4, !tbaa !5
  %27861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27848, ptr noundef @.str.5, i32 noundef %27849, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 1286, ptr noundef %27852, ptr noundef %27855, ptr noundef %27858, i32 noundef %27860) #11
  br label %27862

27862:                                            ; preds = %27845, %27828
  call void @llvm.lifetime.end.p0(i64 4, ptr %690) #11
  br label %27863

27863:                                            ; preds = %27862
  br label %27864

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

27865:                                            ; No predecessors!
  br label %27866

27866:                                            ; preds = %27865
  br label %27867

27867:                                            ; preds = %27866, %27807
  br label %27868

27868:                                            ; preds = %27867
  br label %27869

27869:                                            ; preds = %27868
  %27870 = load ptr, ptr %676, align 8, !tbaa !9
  %27871 = getelementptr inbounds %struct.s2n_connection, ptr %27870, i32 0, i32 23
  store i8 33, ptr %27871, align 4, !tbaa !45
  br label %27872

27872:                                            ; preds = %27869
  %27873 = load i32, ptr @test_count, align 4, !tbaa !5
  %27874 = add nsw i32 %27873, 1
  store i32 %27874, ptr @test_count, align 4, !tbaa !5
  %27875 = load ptr, ptr %676, align 8, !tbaa !9
  %27876 = call i32 @s2n_extension_recv(ptr noundef @s2n_client_psk_extension, ptr noundef %27875, ptr noundef %682)
  %27877 = icmp eq i32 %27876, -1
  br i1 %27877, label %27878, label %27931

27878:                                            ; preds = %27872
  br label %27879

27879:                                            ; preds = %27878
  br label %27880

27880:                                            ; preds = %27879
  call void @llvm.lifetime.start.p0(i64 4, ptr %691) #11
  %27881 = call ptr @__errno_location() #12
  %27882 = load i32, ptr %27881, align 4, !tbaa !5
  store i32 %27882, ptr %691, align 4, !tbaa !5
  %27883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27884 = call i32 @s2n_print_stacktrace(ptr noundef %27883)
  %27885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27886 = trunc i8 %27885 to i1
  br i1 %27886, label %27887, label %27909

27887:                                            ; preds = %27880
  %27888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27889 = call i32 @fileno(ptr noundef %27888) #11
  %27890 = call i32 @isatty(i32 noundef %27889) #11
  %27891 = icmp ne i32 %27890, 0
  br i1 %27891, label %27892, label %27909

27892:                                            ; preds = %27887
  %27893 = load i32, ptr %691, align 4, !tbaa !5
  %27894 = call ptr @__errno_location() #12
  store i32 %27893, ptr %27894, align 4, !tbaa !5
  %27895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27896 = load i32, ptr @test_count, align 4, !tbaa !5
  %27897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27898 = load i32, ptr %27897, align 4, !tbaa !5
  %27899 = call ptr @s2n_strerror(i32 noundef %27898, ptr noundef @.str.4)
  %27900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27901 = load i32, ptr %27900, align 4, !tbaa !5
  %27902 = call ptr @s2n_strerror_debug(i32 noundef %27901, ptr noundef @.str.4)
  %27903 = call ptr @__errno_location() #12
  %27904 = load i32, ptr %27903, align 4, !tbaa !5
  %27905 = call ptr @strerror(i32 noundef %27904) #11
  %27906 = call ptr @__errno_location() #12
  %27907 = load i32, ptr %27906, align 4, !tbaa !5
  %27908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27895, ptr noundef @.str.2, i32 noundef %27896, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %27899, ptr noundef %27902, ptr noundef %27905, i32 noundef %27907) #11
  br label %27926

27909:                                            ; preds = %27887, %27880
  %27910 = load i32, ptr %691, align 4, !tbaa !5
  %27911 = call ptr @__errno_location() #12
  store i32 %27910, ptr %27911, align 4, !tbaa !5
  %27912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27913 = load i32, ptr @test_count, align 4, !tbaa !5
  %27914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27915 = load i32, ptr %27914, align 4, !tbaa !5
  %27916 = call ptr @s2n_strerror(i32 noundef %27915, ptr noundef @.str.4)
  %27917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27918 = load i32, ptr %27917, align 4, !tbaa !5
  %27919 = call ptr @s2n_strerror_debug(i32 noundef %27918, ptr noundef @.str.4)
  %27920 = call ptr @__errno_location() #12
  %27921 = load i32, ptr %27920, align 4, !tbaa !5
  %27922 = call ptr @strerror(i32 noundef %27921) #11
  %27923 = call ptr @__errno_location() #12
  %27924 = load i32, ptr %27923, align 4, !tbaa !5
  %27925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27912, ptr noundef @.str.5, i32 noundef %27913, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %27916, ptr noundef %27919, ptr noundef %27922, i32 noundef %27924) #11
  br label %27926

27926:                                            ; preds = %27909, %27892
  call void @llvm.lifetime.end.p0(i64 4, ptr %691) #11
  br label %27927

27927:                                            ; preds = %27926
  br label %27928

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

27929:                                            ; No predecessors!
  br label %27930

27930:                                            ; preds = %27929
  br label %27931

27931:                                            ; preds = %27930, %27872
  br label %27932

27932:                                            ; preds = %27931
  br label %27933

27933:                                            ; preds = %27932
  br label %27934

27934:                                            ; preds = %27933
  %27935 = load i32, ptr @test_count, align 4, !tbaa !5
  %27936 = add nsw i32 %27935, 1
  store i32 %27936, ptr @test_count, align 4, !tbaa !5
  %27937 = load ptr, ptr %676, align 8, !tbaa !9
  %27938 = getelementptr inbounds %struct.s2n_connection, ptr %27937, i32 0, i32 33
  %27939 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %27938, i32 0, i32 4
  %27940 = load ptr, ptr %27939, align 8, !tbaa !100
  %27941 = icmp eq ptr %27940, null
  br i1 %27941, label %27995, label %27942

27942:                                            ; preds = %27934
  br label %27943

27943:                                            ; preds = %27942
  br label %27944

27944:                                            ; preds = %27943
  call void @llvm.lifetime.start.p0(i64 4, ptr %692) #11
  %27945 = call ptr @__errno_location() #12
  %27946 = load i32, ptr %27945, align 4, !tbaa !5
  store i32 %27946, ptr %692, align 4, !tbaa !5
  %27947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27948 = call i32 @s2n_print_stacktrace(ptr noundef %27947)
  %27949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27950 = trunc i8 %27949 to i1
  br i1 %27950, label %27951, label %27973

27951:                                            ; preds = %27944
  %27952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27953 = call i32 @fileno(ptr noundef %27952) #11
  %27954 = call i32 @isatty(i32 noundef %27953) #11
  %27955 = icmp ne i32 %27954, 0
  br i1 %27955, label %27956, label %27973

27956:                                            ; preds = %27951
  %27957 = load i32, ptr %692, align 4, !tbaa !5
  %27958 = call ptr @__errno_location() #12
  store i32 %27957, ptr %27958, align 4, !tbaa !5
  %27959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27960 = load i32, ptr @test_count, align 4, !tbaa !5
  %27961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27962 = load i32, ptr %27961, align 4, !tbaa !5
  %27963 = call ptr @s2n_strerror(i32 noundef %27962, ptr noundef @.str.4)
  %27964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27965 = load i32, ptr %27964, align 4, !tbaa !5
  %27966 = call ptr @s2n_strerror_debug(i32 noundef %27965, ptr noundef @.str.4)
  %27967 = call ptr @__errno_location() #12
  %27968 = load i32, ptr %27967, align 4, !tbaa !5
  %27969 = call ptr @strerror(i32 noundef %27968) #11
  %27970 = call ptr @__errno_location() #12
  %27971 = load i32, ptr %27970, align 4, !tbaa !5
  %27972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27959, ptr noundef @.str.2, i32 noundef %27960, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1291, ptr noundef %27963, ptr noundef %27966, ptr noundef %27969, i32 noundef %27971) #11
  br label %27990

27973:                                            ; preds = %27951, %27944
  %27974 = load i32, ptr %692, align 4, !tbaa !5
  %27975 = call ptr @__errno_location() #12
  store i32 %27974, ptr %27975, align 4, !tbaa !5
  %27976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27977 = load i32, ptr @test_count, align 4, !tbaa !5
  %27978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27979 = load i32, ptr %27978, align 4, !tbaa !5
  %27980 = call ptr @s2n_strerror(i32 noundef %27979, ptr noundef @.str.4)
  %27981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27982 = load i32, ptr %27981, align 4, !tbaa !5
  %27983 = call ptr @s2n_strerror_debug(i32 noundef %27982, ptr noundef @.str.4)
  %27984 = call ptr @__errno_location() #12
  %27985 = load i32, ptr %27984, align 4, !tbaa !5
  %27986 = call ptr @strerror(i32 noundef %27985) #11
  %27987 = call ptr @__errno_location() #12
  %27988 = load i32, ptr %27987, align 4, !tbaa !5
  %27989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27976, ptr noundef @.str.5, i32 noundef %27977, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1291, ptr noundef %27980, ptr noundef %27983, ptr noundef %27986, i32 noundef %27988) #11
  br label %27990

27990:                                            ; preds = %27973, %27956
  call void @llvm.lifetime.end.p0(i64 4, ptr %692) #11
  br label %27991

27991:                                            ; preds = %27990
  br label %27992

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

27993:                                            ; No predecessors!
  br label %27994

27994:                                            ; preds = %27993
  br label %27995

27995:                                            ; preds = %27994, %27934
  br label %27996

27996:                                            ; preds = %27995
  br label %27997

27997:                                            ; preds = %27996
  br label %27998

27998:                                            ; preds = %27997
  %27999 = load i32, ptr @test_count, align 4, !tbaa !5
  %28000 = add nsw i32 %27999, 1
  store i32 %28000, ptr @test_count, align 4, !tbaa !5
  %28001 = getelementptr inbounds %struct.s2n_stuffer, ptr %682, i32 0, i32 2
  %28002 = load i32, ptr %28001, align 4, !tbaa !70
  %28003 = getelementptr inbounds %struct.s2n_stuffer, ptr %682, i32 0, i32 1
  %28004 = load i32, ptr %28003, align 8, !tbaa !71
  %28005 = sub i32 %28002, %28004
  %28006 = zext i32 %28005 to i64
  %28007 = icmp eq i64 %28006, 11
  br i1 %28007, label %28061, label %28008

28008:                                            ; preds = %27998
  br label %28009

28009:                                            ; preds = %28008
  br label %28010

28010:                                            ; preds = %28009
  call void @llvm.lifetime.start.p0(i64 4, ptr %693) #11
  %28011 = call ptr @__errno_location() #12
  %28012 = load i32, ptr %28011, align 4, !tbaa !5
  store i32 %28012, ptr %693, align 4, !tbaa !5
  %28013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28014 = call i32 @s2n_print_stacktrace(ptr noundef %28013)
  %28015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28016 = trunc i8 %28015 to i1
  br i1 %28016, label %28017, label %28039

28017:                                            ; preds = %28010
  %28018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28019 = call i32 @fileno(ptr noundef %28018) #11
  %28020 = call i32 @isatty(i32 noundef %28019) #11
  %28021 = icmp ne i32 %28020, 0
  br i1 %28021, label %28022, label %28039

28022:                                            ; preds = %28017
  %28023 = load i32, ptr %693, align 4, !tbaa !5
  %28024 = call ptr @__errno_location() #12
  store i32 %28023, ptr %28024, align 4, !tbaa !5
  %28025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28026 = load i32, ptr @test_count, align 4, !tbaa !5
  %28027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28028 = load i32, ptr %28027, align 4, !tbaa !5
  %28029 = call ptr @s2n_strerror(i32 noundef %28028, ptr noundef @.str.4)
  %28030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28031 = load i32, ptr %28030, align 4, !tbaa !5
  %28032 = call ptr @s2n_strerror_debug(i32 noundef %28031, ptr noundef @.str.4)
  %28033 = call ptr @__errno_location() #12
  %28034 = load i32, ptr %28033, align 4, !tbaa !5
  %28035 = call ptr @strerror(i32 noundef %28034) #11
  %28036 = call ptr @__errno_location() #12
  %28037 = load i32, ptr %28036, align 4, !tbaa !5
  %28038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28025, ptr noundef @.str.2, i32 noundef %28026, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 1292, ptr noundef %28029, ptr noundef %28032, ptr noundef %28035, i32 noundef %28037) #11
  br label %28056

28039:                                            ; preds = %28017, %28010
  %28040 = load i32, ptr %693, align 4, !tbaa !5
  %28041 = call ptr @__errno_location() #12
  store i32 %28040, ptr %28041, align 4, !tbaa !5
  %28042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28043 = load i32, ptr @test_count, align 4, !tbaa !5
  %28044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28045 = load i32, ptr %28044, align 4, !tbaa !5
  %28046 = call ptr @s2n_strerror(i32 noundef %28045, ptr noundef @.str.4)
  %28047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28048 = load i32, ptr %28047, align 4, !tbaa !5
  %28049 = call ptr @s2n_strerror_debug(i32 noundef %28048, ptr noundef @.str.4)
  %28050 = call ptr @__errno_location() #12
  %28051 = load i32, ptr %28050, align 4, !tbaa !5
  %28052 = call ptr @strerror(i32 noundef %28051) #11
  %28053 = call ptr @__errno_location() #12
  %28054 = load i32, ptr %28053, align 4, !tbaa !5
  %28055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28042, ptr noundef @.str.5, i32 noundef %28043, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 1292, ptr noundef %28046, ptr noundef %28049, ptr noundef %28052, i32 noundef %28054) #11
  br label %28056

28056:                                            ; preds = %28039, %28022
  call void @llvm.lifetime.end.p0(i64 4, ptr %693) #11
  br label %28057

28057:                                            ; preds = %28056
  br label %28058

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

28059:                                            ; No predecessors!
  br label %28060

28060:                                            ; preds = %28059
  br label %28061

28061:                                            ; preds = %28060, %27998
  br label %28062

28062:                                            ; preds = %28061
  br label %28063

28063:                                            ; preds = %28062
  %28064 = load ptr, ptr %676, align 8, !tbaa !9
  %28065 = getelementptr inbounds %struct.s2n_connection, ptr %28064, i32 0, i32 23
  store i8 34, ptr %28065, align 4, !tbaa !45
  br label %28066

28066:                                            ; preds = %28063
  br label %28067

28067:                                            ; preds = %28066
  br label %28068

28068:                                            ; preds = %28067
  %28069 = load i32, ptr @test_count, align 4, !tbaa !5
  %28070 = add nsw i32 %28069, 1
  store i32 %28070, ptr @test_count, align 4, !tbaa !5
  %28071 = load ptr, ptr %676, align 8, !tbaa !9
  %28072 = call i32 @s2n_client_psk_recv(ptr noundef %28071, ptr noundef %682)
  %28073 = icmp eq i32 %28072, -1
  br i1 %28073, label %28127, label %28074

28074:                                            ; preds = %28068
  br label %28075

28075:                                            ; preds = %28074
  br label %28076

28076:                                            ; preds = %28075
  call void @llvm.lifetime.start.p0(i64 4, ptr %694) #11
  %28077 = call ptr @__errno_location() #12
  %28078 = load i32, ptr %28077, align 4, !tbaa !5
  store i32 %28078, ptr %694, align 4, !tbaa !5
  %28079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28080 = call i32 @s2n_print_stacktrace(ptr noundef %28079)
  %28081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28082 = trunc i8 %28081 to i1
  br i1 %28082, label %28083, label %28105

28083:                                            ; preds = %28076
  %28084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28085 = call i32 @fileno(ptr noundef %28084) #11
  %28086 = call i32 @isatty(i32 noundef %28085) #11
  %28087 = icmp ne i32 %28086, 0
  br i1 %28087, label %28088, label %28105

28088:                                            ; preds = %28083
  %28089 = load i32, ptr %694, align 4, !tbaa !5
  %28090 = call ptr @__errno_location() #12
  store i32 %28089, ptr %28090, align 4, !tbaa !5
  %28091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28092 = load i32, ptr @test_count, align 4, !tbaa !5
  %28093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28094 = load i32, ptr %28093, align 4, !tbaa !5
  %28095 = call ptr @s2n_strerror(i32 noundef %28094, ptr noundef @.str.4)
  %28096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28097 = load i32, ptr %28096, align 4, !tbaa !5
  %28098 = call ptr @s2n_strerror_debug(i32 noundef %28097, ptr noundef @.str.4)
  %28099 = call ptr @__errno_location() #12
  %28100 = load i32, ptr %28099, align 4, !tbaa !5
  %28101 = call ptr @strerror(i32 noundef %28100) #11
  %28102 = call ptr @__errno_location() #12
  %28103 = load i32, ptr %28102, align 4, !tbaa !5
  %28104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28091, ptr noundef @.str.2, i32 noundef %28092, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1296, ptr noundef %28095, ptr noundef %28098, ptr noundef %28101, i32 noundef %28103) #11
  br label %28122

28105:                                            ; preds = %28083, %28076
  %28106 = load i32, ptr %694, align 4, !tbaa !5
  %28107 = call ptr @__errno_location() #12
  store i32 %28106, ptr %28107, align 4, !tbaa !5
  %28108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28109 = load i32, ptr @test_count, align 4, !tbaa !5
  %28110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28111 = load i32, ptr %28110, align 4, !tbaa !5
  %28112 = call ptr @s2n_strerror(i32 noundef %28111, ptr noundef @.str.4)
  %28113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28114 = load i32, ptr %28113, align 4, !tbaa !5
  %28115 = call ptr @s2n_strerror_debug(i32 noundef %28114, ptr noundef @.str.4)
  %28116 = call ptr @__errno_location() #12
  %28117 = load i32, ptr %28116, align 4, !tbaa !5
  %28118 = call ptr @strerror(i32 noundef %28117) #11
  %28119 = call ptr @__errno_location() #12
  %28120 = load i32, ptr %28119, align 4, !tbaa !5
  %28121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28108, ptr noundef @.str.5, i32 noundef %28109, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1296, ptr noundef %28112, ptr noundef %28115, ptr noundef %28118, i32 noundef %28120) #11
  br label %28122

28122:                                            ; preds = %28105, %28088
  call void @llvm.lifetime.end.p0(i64 4, ptr %694) #11
  br label %28123

28123:                                            ; preds = %28122
  br label %28124

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

28125:                                            ; No predecessors!
  br label %28126

28126:                                            ; preds = %28125
  br label %28127

28127:                                            ; preds = %28126, %28068
  br label %28128

28128:                                            ; preds = %28127
  br label %28129

28129:                                            ; preds = %28128
  br label %28130

28130:                                            ; preds = %28129
  %28131 = load i32, ptr @test_count, align 4, !tbaa !5
  %28132 = add nsw i32 %28131, 1
  store i32 %28132, ptr @test_count, align 4, !tbaa !5
  %28133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28134 = load i32, ptr %28133, align 4, !tbaa !5
  %28135 = icmp eq i32 %28134, 335544322
  br i1 %28135, label %28189, label %28136

28136:                                            ; preds = %28130
  br label %28137

28137:                                            ; preds = %28136
  br label %28138

28138:                                            ; preds = %28137
  call void @llvm.lifetime.start.p0(i64 4, ptr %695) #11
  %28139 = call ptr @__errno_location() #12
  %28140 = load i32, ptr %28139, align 4, !tbaa !5
  store i32 %28140, ptr %695, align 4, !tbaa !5
  %28141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28142 = call i32 @s2n_print_stacktrace(ptr noundef %28141)
  %28143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28144 = trunc i8 %28143 to i1
  br i1 %28144, label %28145, label %28167

28145:                                            ; preds = %28138
  %28146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28147 = call i32 @fileno(ptr noundef %28146) #11
  %28148 = call i32 @isatty(i32 noundef %28147) #11
  %28149 = icmp ne i32 %28148, 0
  br i1 %28149, label %28150, label %28167

28150:                                            ; preds = %28145
  %28151 = load i32, ptr %695, align 4, !tbaa !5
  %28152 = call ptr @__errno_location() #12
  store i32 %28151, ptr %28152, align 4, !tbaa !5
  %28153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28154 = load i32, ptr @test_count, align 4, !tbaa !5
  %28155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28156 = load i32, ptr %28155, align 4, !tbaa !5
  %28157 = call ptr @s2n_strerror(i32 noundef %28156, ptr noundef @.str.4)
  %28158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28159 = load i32, ptr %28158, align 4, !tbaa !5
  %28160 = call ptr @s2n_strerror_debug(i32 noundef %28159, ptr noundef @.str.4)
  %28161 = call ptr @__errno_location() #12
  %28162 = load i32, ptr %28161, align 4, !tbaa !5
  %28163 = call ptr @strerror(i32 noundef %28162) #11
  %28164 = call ptr @__errno_location() #12
  %28165 = load i32, ptr %28164, align 4, !tbaa !5
  %28166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28153, ptr noundef @.str.2, i32 noundef %28154, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1296, ptr noundef %28157, ptr noundef %28160, ptr noundef %28163, i32 noundef %28165) #11
  br label %28184

28167:                                            ; preds = %28145, %28138
  %28168 = load i32, ptr %695, align 4, !tbaa !5
  %28169 = call ptr @__errno_location() #12
  store i32 %28168, ptr %28169, align 4, !tbaa !5
  %28170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28171 = load i32, ptr @test_count, align 4, !tbaa !5
  %28172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28173 = load i32, ptr %28172, align 4, !tbaa !5
  %28174 = call ptr @s2n_strerror(i32 noundef %28173, ptr noundef @.str.4)
  %28175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28176 = load i32, ptr %28175, align 4, !tbaa !5
  %28177 = call ptr @s2n_strerror_debug(i32 noundef %28176, ptr noundef @.str.4)
  %28178 = call ptr @__errno_location() #12
  %28179 = load i32, ptr %28178, align 4, !tbaa !5
  %28180 = call ptr @strerror(i32 noundef %28179) #11
  %28181 = call ptr @__errno_location() #12
  %28182 = load i32, ptr %28181, align 4, !tbaa !5
  %28183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28170, ptr noundef @.str.5, i32 noundef %28171, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 1296, ptr noundef %28174, ptr noundef %28177, ptr noundef %28180, i32 noundef %28182) #11
  br label %28184

28184:                                            ; preds = %28167, %28150
  call void @llvm.lifetime.end.p0(i64 4, ptr %695) #11
  br label %28185

28185:                                            ; preds = %28184
  br label %28186

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

28187:                                            ; No predecessors!
  br label %28188

28188:                                            ; preds = %28187
  br label %28189

28189:                                            ; preds = %28188, %28130
  br label %28190

28190:                                            ; preds = %28189
  br label %28191

28191:                                            ; preds = %28190
  br label %28192

28192:                                            ; preds = %28191
  %28193 = load i32, ptr @test_count, align 4, !tbaa !5
  %28194 = add nsw i32 %28193, 1
  store i32 %28194, ptr @test_count, align 4, !tbaa !5
  %28195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28196 = load i32, ptr %28195, align 4, !tbaa !5
  %28197 = call ptr @s2n_strerror_debug(i32 noundef %28196, ptr noundef @.str.4)
  %28198 = icmp eq ptr %28197, null
  br i1 %28198, label %28199, label %28252

28199:                                            ; preds = %28192
  br label %28200

28200:                                            ; preds = %28199
  br label %28201

28201:                                            ; preds = %28200
  call void @llvm.lifetime.start.p0(i64 4, ptr %696) #11
  %28202 = call ptr @__errno_location() #12
  %28203 = load i32, ptr %28202, align 4, !tbaa !5
  store i32 %28203, ptr %696, align 4, !tbaa !5
  %28204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28205 = call i32 @s2n_print_stacktrace(ptr noundef %28204)
  %28206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28207 = trunc i8 %28206 to i1
  br i1 %28207, label %28208, label %28230

28208:                                            ; preds = %28201
  %28209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28210 = call i32 @fileno(ptr noundef %28209) #11
  %28211 = call i32 @isatty(i32 noundef %28210) #11
  %28212 = icmp ne i32 %28211, 0
  br i1 %28212, label %28213, label %28230

28213:                                            ; preds = %28208
  %28214 = load i32, ptr %696, align 4, !tbaa !5
  %28215 = call ptr @__errno_location() #12
  store i32 %28214, ptr %28215, align 4, !tbaa !5
  %28216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28217 = load i32, ptr @test_count, align 4, !tbaa !5
  %28218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28219 = load i32, ptr %28218, align 4, !tbaa !5
  %28220 = call ptr @s2n_strerror(i32 noundef %28219, ptr noundef @.str.4)
  %28221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28222 = load i32, ptr %28221, align 4, !tbaa !5
  %28223 = call ptr @s2n_strerror_debug(i32 noundef %28222, ptr noundef @.str.4)
  %28224 = call ptr @__errno_location() #12
  %28225 = load i32, ptr %28224, align 4, !tbaa !5
  %28226 = call ptr @strerror(i32 noundef %28225) #11
  %28227 = call ptr @__errno_location() #12
  %28228 = load i32, ptr %28227, align 4, !tbaa !5
  %28229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28216, ptr noundef @.str.2, i32 noundef %28217, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1296, ptr noundef %28220, ptr noundef %28223, ptr noundef %28226, i32 noundef %28228) #11
  br label %28247

28230:                                            ; preds = %28208, %28201
  %28231 = load i32, ptr %696, align 4, !tbaa !5
  %28232 = call ptr @__errno_location() #12
  store i32 %28231, ptr %28232, align 4, !tbaa !5
  %28233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28234 = load i32, ptr @test_count, align 4, !tbaa !5
  %28235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28236 = load i32, ptr %28235, align 4, !tbaa !5
  %28237 = call ptr @s2n_strerror(i32 noundef %28236, ptr noundef @.str.4)
  %28238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28239 = load i32, ptr %28238, align 4, !tbaa !5
  %28240 = call ptr @s2n_strerror_debug(i32 noundef %28239, ptr noundef @.str.4)
  %28241 = call ptr @__errno_location() #12
  %28242 = load i32, ptr %28241, align 4, !tbaa !5
  %28243 = call ptr @strerror(i32 noundef %28242) #11
  %28244 = call ptr @__errno_location() #12
  %28245 = load i32, ptr %28244, align 4, !tbaa !5
  %28246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28233, ptr noundef @.str.5, i32 noundef %28234, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1296, ptr noundef %28237, ptr noundef %28240, ptr noundef %28243, i32 noundef %28245) #11
  br label %28247

28247:                                            ; preds = %28230, %28213
  call void @llvm.lifetime.end.p0(i64 4, ptr %696) #11
  br label %28248

28248:                                            ; preds = %28247
  br label %28249

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

28250:                                            ; No predecessors!
  br label %28251

28251:                                            ; preds = %28250
  br label %28252

28252:                                            ; preds = %28251, %28192
  br label %28253

28253:                                            ; preds = %28252
  br label %28254

28254:                                            ; preds = %28253
  br label %28255

28255:                                            ; preds = %28254
  br label %28256

28256:                                            ; preds = %28255
  br label %28257

28257:                                            ; preds = %28256
  %28258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28258, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28259 = call ptr @__errno_location() #12
  store i32 0, ptr %28259, align 4, !tbaa !5
  br label %28260

28260:                                            ; preds = %28257
  br label %28261

28261:                                            ; preds = %28260
  br label %28262

28262:                                            ; preds = %28261
  br label %28263

28263:                                            ; preds = %28262
  br label %28264

28264:                                            ; preds = %28263
  %28265 = load i32, ptr @test_count, align 4, !tbaa !5
  %28266 = add nsw i32 %28265, 1
  store i32 %28266, ptr @test_count, align 4, !tbaa !5
  %28267 = load ptr, ptr %676, align 8, !tbaa !9
  %28268 = call i32 @s2n_connection_free(ptr noundef %28267)
  %28269 = icmp eq i32 %28268, -1
  br i1 %28269, label %28270, label %28323

28270:                                            ; preds = %28264
  br label %28271

28271:                                            ; preds = %28270
  br label %28272

28272:                                            ; preds = %28271
  call void @llvm.lifetime.start.p0(i64 4, ptr %697) #11
  %28273 = call ptr @__errno_location() #12
  %28274 = load i32, ptr %28273, align 4, !tbaa !5
  store i32 %28274, ptr %697, align 4, !tbaa !5
  %28275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28276 = call i32 @s2n_print_stacktrace(ptr noundef %28275)
  %28277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28278 = trunc i8 %28277 to i1
  br i1 %28278, label %28279, label %28301

28279:                                            ; preds = %28272
  %28280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28281 = call i32 @fileno(ptr noundef %28280) #11
  %28282 = call i32 @isatty(i32 noundef %28281) #11
  %28283 = icmp ne i32 %28282, 0
  br i1 %28283, label %28284, label %28301

28284:                                            ; preds = %28279
  %28285 = load i32, ptr %697, align 4, !tbaa !5
  %28286 = call ptr @__errno_location() #12
  store i32 %28285, ptr %28286, align 4, !tbaa !5
  %28287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28288 = load i32, ptr @test_count, align 4, !tbaa !5
  %28289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28290 = load i32, ptr %28289, align 4, !tbaa !5
  %28291 = call ptr @s2n_strerror(i32 noundef %28290, ptr noundef @.str.4)
  %28292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28293 = load i32, ptr %28292, align 4, !tbaa !5
  %28294 = call ptr @s2n_strerror_debug(i32 noundef %28293, ptr noundef @.str.4)
  %28295 = call ptr @__errno_location() #12
  %28296 = load i32, ptr %28295, align 4, !tbaa !5
  %28297 = call ptr @strerror(i32 noundef %28296) #11
  %28298 = call ptr @__errno_location() #12
  %28299 = load i32, ptr %28298, align 4, !tbaa !5
  %28300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28287, ptr noundef @.str.2, i32 noundef %28288, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1298, ptr noundef %28291, ptr noundef %28294, ptr noundef %28297, i32 noundef %28299) #11
  br label %28318

28301:                                            ; preds = %28279, %28272
  %28302 = load i32, ptr %697, align 4, !tbaa !5
  %28303 = call ptr @__errno_location() #12
  store i32 %28302, ptr %28303, align 4, !tbaa !5
  %28304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28305 = load i32, ptr @test_count, align 4, !tbaa !5
  %28306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28307 = load i32, ptr %28306, align 4, !tbaa !5
  %28308 = call ptr @s2n_strerror(i32 noundef %28307, ptr noundef @.str.4)
  %28309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28310 = load i32, ptr %28309, align 4, !tbaa !5
  %28311 = call ptr @s2n_strerror_debug(i32 noundef %28310, ptr noundef @.str.4)
  %28312 = call ptr @__errno_location() #12
  %28313 = load i32, ptr %28312, align 4, !tbaa !5
  %28314 = call ptr @strerror(i32 noundef %28313) #11
  %28315 = call ptr @__errno_location() #12
  %28316 = load i32, ptr %28315, align 4, !tbaa !5
  %28317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28304, ptr noundef @.str.5, i32 noundef %28305, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1298, ptr noundef %28308, ptr noundef %28311, ptr noundef %28314, i32 noundef %28316) #11
  br label %28318

28318:                                            ; preds = %28301, %28284
  call void @llvm.lifetime.end.p0(i64 4, ptr %697) #11
  br label %28319

28319:                                            ; preds = %28318
  br label %28320

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

28321:                                            ; No predecessors!
  br label %28322

28322:                                            ; preds = %28321
  br label %28323

28323:                                            ; preds = %28322, %28264
  br label %28324

28324:                                            ; preds = %28323
  br label %28325

28325:                                            ; preds = %28324
  br label %28326

28326:                                            ; preds = %28325
  %28327 = load i32, ptr @test_count, align 4, !tbaa !5
  %28328 = add nsw i32 %28327, 1
  store i32 %28328, ptr @test_count, align 4, !tbaa !5
  %28329 = call i32 @s2n_stuffer_free(ptr noundef %682)
  %28330 = icmp eq i32 %28329, -1
  br i1 %28330, label %28331, label %28384

28331:                                            ; preds = %28326
  br label %28332

28332:                                            ; preds = %28331
  br label %28333

28333:                                            ; preds = %28332
  call void @llvm.lifetime.start.p0(i64 4, ptr %698) #11
  %28334 = call ptr @__errno_location() #12
  %28335 = load i32, ptr %28334, align 4, !tbaa !5
  store i32 %28335, ptr %698, align 4, !tbaa !5
  %28336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28337 = call i32 @s2n_print_stacktrace(ptr noundef %28336)
  %28338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28339 = trunc i8 %28338 to i1
  br i1 %28339, label %28340, label %28362

28340:                                            ; preds = %28333
  %28341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28342 = call i32 @fileno(ptr noundef %28341) #11
  %28343 = call i32 @isatty(i32 noundef %28342) #11
  %28344 = icmp ne i32 %28343, 0
  br i1 %28344, label %28345, label %28362

28345:                                            ; preds = %28340
  %28346 = load i32, ptr %698, align 4, !tbaa !5
  %28347 = call ptr @__errno_location() #12
  store i32 %28346, ptr %28347, align 4, !tbaa !5
  %28348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28349 = load i32, ptr @test_count, align 4, !tbaa !5
  %28350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28351 = load i32, ptr %28350, align 4, !tbaa !5
  %28352 = call ptr @s2n_strerror(i32 noundef %28351, ptr noundef @.str.4)
  %28353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28354 = load i32, ptr %28353, align 4, !tbaa !5
  %28355 = call ptr @s2n_strerror_debug(i32 noundef %28354, ptr noundef @.str.4)
  %28356 = call ptr @__errno_location() #12
  %28357 = load i32, ptr %28356, align 4, !tbaa !5
  %28358 = call ptr @strerror(i32 noundef %28357) #11
  %28359 = call ptr @__errno_location() #12
  %28360 = load i32, ptr %28359, align 4, !tbaa !5
  %28361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28348, ptr noundef @.str.2, i32 noundef %28349, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1299, ptr noundef %28352, ptr noundef %28355, ptr noundef %28358, i32 noundef %28360) #11
  br label %28379

28362:                                            ; preds = %28340, %28333
  %28363 = load i32, ptr %698, align 4, !tbaa !5
  %28364 = call ptr @__errno_location() #12
  store i32 %28363, ptr %28364, align 4, !tbaa !5
  %28365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28366 = load i32, ptr @test_count, align 4, !tbaa !5
  %28367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28368 = load i32, ptr %28367, align 4, !tbaa !5
  %28369 = call ptr @s2n_strerror(i32 noundef %28368, ptr noundef @.str.4)
  %28370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28371 = load i32, ptr %28370, align 4, !tbaa !5
  %28372 = call ptr @s2n_strerror_debug(i32 noundef %28371, ptr noundef @.str.4)
  %28373 = call ptr @__errno_location() #12
  %28374 = load i32, ptr %28373, align 4, !tbaa !5
  %28375 = call ptr @strerror(i32 noundef %28374) #11
  %28376 = call ptr @__errno_location() #12
  %28377 = load i32, ptr %28376, align 4, !tbaa !5
  %28378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28365, ptr noundef @.str.5, i32 noundef %28366, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1299, ptr noundef %28369, ptr noundef %28372, ptr noundef %28375, i32 noundef %28377) #11
  br label %28379

28379:                                            ; preds = %28362, %28345
  call void @llvm.lifetime.end.p0(i64 4, ptr %698) #11
  br label %28380

28380:                                            ; preds = %28379
  br label %28381

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

28382:                                            ; No predecessors!
  br label %28383

28383:                                            ; preds = %28382
  br label %28384

28384:                                            ; preds = %28383, %28326
  br label %28385

28385:                                            ; preds = %28384
  br label %28386

28386:                                            ; preds = %28385
  call void @llvm.lifetime.end.p0(i64 8, ptr %685) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %682) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %676) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %675) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %674) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %673) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %699) #11
  call void @llvm.memset.p0.i64(ptr align 1 %699, i8 0, i64 1, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %700) #11
  store ptr null, ptr %700, align 8, !tbaa !9
  br label %28387

28387:                                            ; preds = %28386
  %28388 = load i32, ptr @test_count, align 4, !tbaa !5
  %28389 = add nsw i32 %28388, 1
  store i32 %28389, ptr @test_count, align 4, !tbaa !5
  %28390 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %28390, ptr %700, align 8, !tbaa !9
  %28391 = icmp eq ptr %28390, null
  br i1 %28391, label %28392, label %28445

28392:                                            ; preds = %28387
  br label %28393

28393:                                            ; preds = %28392
  br label %28394

28394:                                            ; preds = %28393
  call void @llvm.lifetime.start.p0(i64 4, ptr %701) #11
  %28395 = call ptr @__errno_location() #12
  %28396 = load i32, ptr %28395, align 4, !tbaa !5
  store i32 %28396, ptr %701, align 4, !tbaa !5
  %28397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28398 = call i32 @s2n_print_stacktrace(ptr noundef %28397)
  %28399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28400 = trunc i8 %28399 to i1
  br i1 %28400, label %28401, label %28423

28401:                                            ; preds = %28394
  %28402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28403 = call i32 @fileno(ptr noundef %28402) #11
  %28404 = call i32 @isatty(i32 noundef %28403) #11
  %28405 = icmp ne i32 %28404, 0
  br i1 %28405, label %28406, label %28423

28406:                                            ; preds = %28401
  %28407 = load i32, ptr %701, align 4, !tbaa !5
  %28408 = call ptr @__errno_location() #12
  store i32 %28407, ptr %28408, align 4, !tbaa !5
  %28409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28410 = load i32, ptr @test_count, align 4, !tbaa !5
  %28411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28412 = load i32, ptr %28411, align 4, !tbaa !5
  %28413 = call ptr @s2n_strerror(i32 noundef %28412, ptr noundef @.str.4)
  %28414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28415 = load i32, ptr %28414, align 4, !tbaa !5
  %28416 = call ptr @s2n_strerror_debug(i32 noundef %28415, ptr noundef @.str.4)
  %28417 = call ptr @__errno_location() #12
  %28418 = load i32, ptr %28417, align 4, !tbaa !5
  %28419 = call ptr @strerror(i32 noundef %28418) #11
  %28420 = call ptr @__errno_location() #12
  %28421 = load i32, ptr %28420, align 4, !tbaa !5
  %28422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28409, ptr noundef @.str.2, i32 noundef %28410, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1307, ptr noundef %28413, ptr noundef %28416, ptr noundef %28419, i32 noundef %28421) #11
  br label %28440

28423:                                            ; preds = %28401, %28394
  %28424 = load i32, ptr %701, align 4, !tbaa !5
  %28425 = call ptr @__errno_location() #12
  store i32 %28424, ptr %28425, align 4, !tbaa !5
  %28426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28427 = load i32, ptr @test_count, align 4, !tbaa !5
  %28428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28429 = load i32, ptr %28428, align 4, !tbaa !5
  %28430 = call ptr @s2n_strerror(i32 noundef %28429, ptr noundef @.str.4)
  %28431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28432 = load i32, ptr %28431, align 4, !tbaa !5
  %28433 = call ptr @s2n_strerror_debug(i32 noundef %28432, ptr noundef @.str.4)
  %28434 = call ptr @__errno_location() #12
  %28435 = load i32, ptr %28434, align 4, !tbaa !5
  %28436 = call ptr @strerror(i32 noundef %28435) #11
  %28437 = call ptr @__errno_location() #12
  %28438 = load i32, ptr %28437, align 4, !tbaa !5
  %28439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28426, ptr noundef @.str.5, i32 noundef %28427, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1307, ptr noundef %28430, ptr noundef %28433, ptr noundef %28436, i32 noundef %28438) #11
  br label %28440

28440:                                            ; preds = %28423, %28406
  call void @llvm.lifetime.end.p0(i64 4, ptr %701) #11
  br label %28441

28441:                                            ; preds = %28440
  br label %28442

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

28443:                                            ; No predecessors!
  br label %28444

28444:                                            ; preds = %28443
  br label %28445

28445:                                            ; preds = %28444, %28387
  br label %28446

28446:                                            ; preds = %28445
  br label %28447

28447:                                            ; preds = %28446
  %28448 = load ptr, ptr %700, align 8, !tbaa !9
  %28449 = getelementptr inbounds %struct.s2n_connection, ptr %28448, i32 0, i32 71
  %28450 = getelementptr inbounds %struct.s2n_client_hello, ptr %28449, i32 0, i32 1
  %28451 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %28450, i32 0, i32 2
  store i16 1, ptr %28451, align 8, !tbaa !104
  call void @llvm.lifetime.start.p0(i64 40, ptr %702) #11
  call void @llvm.memset.p0.i64(ptr align 8 %702, i8 0, i64 40, i1 false)
  br label %28452

28452:                                            ; preds = %28447
  %28453 = load i32, ptr @test_count, align 4, !tbaa !5
  %28454 = add nsw i32 %28453, 1
  store i32 %28454, ptr @test_count, align 4, !tbaa !5
  %28455 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %702, i32 noundef 0)
  %28456 = icmp eq i32 %28455, -1
  br i1 %28456, label %28457, label %28510

28457:                                            ; preds = %28452
  br label %28458

28458:                                            ; preds = %28457
  br label %28459

28459:                                            ; preds = %28458
  call void @llvm.lifetime.start.p0(i64 4, ptr %703) #11
  %28460 = call ptr @__errno_location() #12
  %28461 = load i32, ptr %28460, align 4, !tbaa !5
  store i32 %28461, ptr %703, align 4, !tbaa !5
  %28462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28463 = call i32 @s2n_print_stacktrace(ptr noundef %28462)
  %28464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28465 = trunc i8 %28464 to i1
  br i1 %28465, label %28466, label %28488

28466:                                            ; preds = %28459
  %28467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28468 = call i32 @fileno(ptr noundef %28467) #11
  %28469 = call i32 @isatty(i32 noundef %28468) #11
  %28470 = icmp ne i32 %28469, 0
  br i1 %28470, label %28471, label %28488

28471:                                            ; preds = %28466
  %28472 = load i32, ptr %703, align 4, !tbaa !5
  %28473 = call ptr @__errno_location() #12
  store i32 %28472, ptr %28473, align 4, !tbaa !5
  %28474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28475 = load i32, ptr @test_count, align 4, !tbaa !5
  %28476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28477 = load i32, ptr %28476, align 4, !tbaa !5
  %28478 = call ptr @s2n_strerror(i32 noundef %28477, ptr noundef @.str.4)
  %28479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28480 = load i32, ptr %28479, align 4, !tbaa !5
  %28481 = call ptr @s2n_strerror_debug(i32 noundef %28480, ptr noundef @.str.4)
  %28482 = call ptr @__errno_location() #12
  %28483 = load i32, ptr %28482, align 4, !tbaa !5
  %28484 = call ptr @strerror(i32 noundef %28483) #11
  %28485 = call ptr @__errno_location() #12
  %28486 = load i32, ptr %28485, align 4, !tbaa !5
  %28487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28474, ptr noundef @.str.2, i32 noundef %28475, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1312, ptr noundef %28478, ptr noundef %28481, ptr noundef %28484, i32 noundef %28486) #11
  br label %28505

28488:                                            ; preds = %28466, %28459
  %28489 = load i32, ptr %703, align 4, !tbaa !5
  %28490 = call ptr @__errno_location() #12
  store i32 %28489, ptr %28490, align 4, !tbaa !5
  %28491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28492 = load i32, ptr @test_count, align 4, !tbaa !5
  %28493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28494 = load i32, ptr %28493, align 4, !tbaa !5
  %28495 = call ptr @s2n_strerror(i32 noundef %28494, ptr noundef @.str.4)
  %28496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28497 = load i32, ptr %28496, align 4, !tbaa !5
  %28498 = call ptr @s2n_strerror_debug(i32 noundef %28497, ptr noundef @.str.4)
  %28499 = call ptr @__errno_location() #12
  %28500 = load i32, ptr %28499, align 4, !tbaa !5
  %28501 = call ptr @strerror(i32 noundef %28500) #11
  %28502 = call ptr @__errno_location() #12
  %28503 = load i32, ptr %28502, align 4, !tbaa !5
  %28504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28491, ptr noundef @.str.5, i32 noundef %28492, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1312, ptr noundef %28495, ptr noundef %28498, ptr noundef %28501, i32 noundef %28503) #11
  br label %28505

28505:                                            ; preds = %28488, %28471
  call void @llvm.lifetime.end.p0(i64 4, ptr %703) #11
  br label %28506

28506:                                            ; preds = %28505
  br label %28507

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

28508:                                            ; No predecessors!
  br label %28509

28509:                                            ; preds = %28508
  br label %28510

28510:                                            ; preds = %28509, %28452
  br label %28511

28511:                                            ; preds = %28510
  br label %28512

28512:                                            ; preds = %28511
  br label %28513

28513:                                            ; preds = %28512
  %28514 = load i32, ptr @test_count, align 4, !tbaa !5
  %28515 = add nsw i32 %28514, 1
  store i32 %28515, ptr @test_count, align 4, !tbaa !5
  %28516 = getelementptr inbounds [1 x i8], ptr %699, i64 0, i64 0
  %28517 = call i32 @s2n_stuffer_write_bytes(ptr noundef %702, ptr noundef %28516, i32 noundef 1)
  %28518 = icmp eq i32 %28517, -1
  br i1 %28518, label %28519, label %28572

28519:                                            ; preds = %28513
  br label %28520

28520:                                            ; preds = %28519
  br label %28521

28521:                                            ; preds = %28520
  call void @llvm.lifetime.start.p0(i64 4, ptr %704) #11
  %28522 = call ptr @__errno_location() #12
  %28523 = load i32, ptr %28522, align 4, !tbaa !5
  store i32 %28523, ptr %704, align 4, !tbaa !5
  %28524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28525 = call i32 @s2n_print_stacktrace(ptr noundef %28524)
  %28526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28527 = trunc i8 %28526 to i1
  br i1 %28527, label %28528, label %28550

28528:                                            ; preds = %28521
  %28529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28530 = call i32 @fileno(ptr noundef %28529) #11
  %28531 = call i32 @isatty(i32 noundef %28530) #11
  %28532 = icmp ne i32 %28531, 0
  br i1 %28532, label %28533, label %28550

28533:                                            ; preds = %28528
  %28534 = load i32, ptr %704, align 4, !tbaa !5
  %28535 = call ptr @__errno_location() #12
  store i32 %28534, ptr %28535, align 4, !tbaa !5
  %28536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28537 = load i32, ptr @test_count, align 4, !tbaa !5
  %28538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28539 = load i32, ptr %28538, align 4, !tbaa !5
  %28540 = call ptr @s2n_strerror(i32 noundef %28539, ptr noundef @.str.4)
  %28541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28542 = load i32, ptr %28541, align 4, !tbaa !5
  %28543 = call ptr @s2n_strerror_debug(i32 noundef %28542, ptr noundef @.str.4)
  %28544 = call ptr @__errno_location() #12
  %28545 = load i32, ptr %28544, align 4, !tbaa !5
  %28546 = call ptr @strerror(i32 noundef %28545) #11
  %28547 = call ptr @__errno_location() #12
  %28548 = load i32, ptr %28547, align 4, !tbaa !5
  %28549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28536, ptr noundef @.str.2, i32 noundef %28537, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1313, ptr noundef %28540, ptr noundef %28543, ptr noundef %28546, i32 noundef %28548) #11
  br label %28567

28550:                                            ; preds = %28528, %28521
  %28551 = load i32, ptr %704, align 4, !tbaa !5
  %28552 = call ptr @__errno_location() #12
  store i32 %28551, ptr %28552, align 4, !tbaa !5
  %28553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28554 = load i32, ptr @test_count, align 4, !tbaa !5
  %28555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28556 = load i32, ptr %28555, align 4, !tbaa !5
  %28557 = call ptr @s2n_strerror(i32 noundef %28556, ptr noundef @.str.4)
  %28558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28559 = load i32, ptr %28558, align 4, !tbaa !5
  %28560 = call ptr @s2n_strerror_debug(i32 noundef %28559, ptr noundef @.str.4)
  %28561 = call ptr @__errno_location() #12
  %28562 = load i32, ptr %28561, align 4, !tbaa !5
  %28563 = call ptr @strerror(i32 noundef %28562) #11
  %28564 = call ptr @__errno_location() #12
  %28565 = load i32, ptr %28564, align 4, !tbaa !5
  %28566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28553, ptr noundef @.str.5, i32 noundef %28554, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1313, ptr noundef %28557, ptr noundef %28560, ptr noundef %28563, i32 noundef %28565) #11
  br label %28567

28567:                                            ; preds = %28550, %28533
  call void @llvm.lifetime.end.p0(i64 4, ptr %704) #11
  br label %28568

28568:                                            ; preds = %28567
  br label %28569

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

28570:                                            ; No predecessors!
  br label %28571

28571:                                            ; preds = %28570
  br label %28572

28572:                                            ; preds = %28571, %28513
  br label %28573

28573:                                            ; preds = %28572
  br label %28574

28574:                                            ; preds = %28573
  br label %28575

28575:                                            ; preds = %28574
  %28576 = load i32, ptr @test_count, align 4, !tbaa !5
  %28577 = add nsw i32 %28576, 1
  store i32 %28577, ptr @test_count, align 4, !tbaa !5
  %28578 = load ptr, ptr %700, align 8, !tbaa !9
  %28579 = getelementptr inbounds %struct.s2n_connection, ptr %28578, i32 0, i32 33
  %28580 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %28579, i32 0, i32 5
  %28581 = load i32, ptr %28580, align 8, !tbaa !105
  %28582 = icmp eq i32 %28581, 0
  br i1 %28582, label %28636, label %28583

28583:                                            ; preds = %28575
  br label %28584

28584:                                            ; preds = %28583
  br label %28585

28585:                                            ; preds = %28584
  call void @llvm.lifetime.start.p0(i64 4, ptr %705) #11
  %28586 = call ptr @__errno_location() #12
  %28587 = load i32, ptr %28586, align 4, !tbaa !5
  store i32 %28587, ptr %705, align 4, !tbaa !5
  %28588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28589 = call i32 @s2n_print_stacktrace(ptr noundef %28588)
  %28590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28591 = trunc i8 %28590 to i1
  br i1 %28591, label %28592, label %28614

28592:                                            ; preds = %28585
  %28593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28594 = call i32 @fileno(ptr noundef %28593) #11
  %28595 = call i32 @isatty(i32 noundef %28594) #11
  %28596 = icmp ne i32 %28595, 0
  br i1 %28596, label %28597, label %28614

28597:                                            ; preds = %28592
  %28598 = load i32, ptr %705, align 4, !tbaa !5
  %28599 = call ptr @__errno_location() #12
  store i32 %28598, ptr %28599, align 4, !tbaa !5
  %28600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28601 = load i32, ptr @test_count, align 4, !tbaa !5
  %28602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28603 = load i32, ptr %28602, align 4, !tbaa !5
  %28604 = call ptr @s2n_strerror(i32 noundef %28603, ptr noundef @.str.4)
  %28605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28606 = load i32, ptr %28605, align 4, !tbaa !5
  %28607 = call ptr @s2n_strerror_debug(i32 noundef %28606, ptr noundef @.str.4)
  %28608 = call ptr @__errno_location() #12
  %28609 = load i32, ptr %28608, align 4, !tbaa !5
  %28610 = call ptr @strerror(i32 noundef %28609) #11
  %28611 = call ptr @__errno_location() #12
  %28612 = load i32, ptr %28611, align 4, !tbaa !5
  %28613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28600, ptr noundef @.str.2, i32 noundef %28601, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 1315, ptr noundef %28604, ptr noundef %28607, ptr noundef %28610, i32 noundef %28612) #11
  br label %28631

28614:                                            ; preds = %28592, %28585
  %28615 = load i32, ptr %705, align 4, !tbaa !5
  %28616 = call ptr @__errno_location() #12
  store i32 %28615, ptr %28616, align 4, !tbaa !5
  %28617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28618 = load i32, ptr @test_count, align 4, !tbaa !5
  %28619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28620 = load i32, ptr %28619, align 4, !tbaa !5
  %28621 = call ptr @s2n_strerror(i32 noundef %28620, ptr noundef @.str.4)
  %28622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28623 = load i32, ptr %28622, align 4, !tbaa !5
  %28624 = call ptr @s2n_strerror_debug(i32 noundef %28623, ptr noundef @.str.4)
  %28625 = call ptr @__errno_location() #12
  %28626 = load i32, ptr %28625, align 4, !tbaa !5
  %28627 = call ptr @strerror(i32 noundef %28626) #11
  %28628 = call ptr @__errno_location() #12
  %28629 = load i32, ptr %28628, align 4, !tbaa !5
  %28630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28617, ptr noundef @.str.5, i32 noundef %28618, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 1315, ptr noundef %28621, ptr noundef %28624, ptr noundef %28627, i32 noundef %28629) #11
  br label %28631

28631:                                            ; preds = %28614, %28597
  call void @llvm.lifetime.end.p0(i64 4, ptr %705) #11
  br label %28632

28632:                                            ; preds = %28631
  br label %28633

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

28634:                                            ; No predecessors!
  br label %28635

28635:                                            ; preds = %28634
  br label %28636

28636:                                            ; preds = %28635, %28575
  br label %28637

28637:                                            ; preds = %28636
  br label %28638

28638:                                            ; preds = %28637
  br label %28639

28639:                                            ; preds = %28638
  %28640 = load i32, ptr @test_count, align 4, !tbaa !5
  %28641 = add nsw i32 %28640, 1
  store i32 %28641, ptr @test_count, align 4, !tbaa !5
  %28642 = load ptr, ptr %700, align 8, !tbaa !9
  %28643 = getelementptr inbounds %struct.s2n_connection, ptr %28642, i32 0, i32 11
  %28644 = load i8, ptr %657, align 1, !tbaa !81
  %28645 = zext i8 %28644 to i32
  %28646 = ashr i32 %28645, 3
  %28647 = sext i32 %28646 to i64
  %28648 = getelementptr inbounds [22 x i8], ptr %28643, i64 0, i64 %28647
  %28649 = load i8, ptr %28648, align 1, !tbaa !81
  %28650 = sext i8 %28649 to i32
  %28651 = load i8, ptr %657, align 1, !tbaa !81
  %28652 = zext i8 %28651 to i32
  %28653 = srem i32 %28652, 8
  %28654 = shl i32 1, %28653
  %28655 = and i32 %28650, %28654
  %28656 = icmp ne i32 %28655, 0
  br i1 %28656, label %28657, label %28710

28657:                                            ; preds = %28639
  br label %28658

28658:                                            ; preds = %28657
  br label %28659

28659:                                            ; preds = %28658
  call void @llvm.lifetime.start.p0(i64 4, ptr %706) #11
  %28660 = call ptr @__errno_location() #12
  %28661 = load i32, ptr %28660, align 4, !tbaa !5
  store i32 %28661, ptr %706, align 4, !tbaa !5
  %28662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28663 = call i32 @s2n_print_stacktrace(ptr noundef %28662)
  %28664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28665 = trunc i8 %28664 to i1
  br i1 %28665, label %28666, label %28688

28666:                                            ; preds = %28659
  %28667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28668 = call i32 @fileno(ptr noundef %28667) #11
  %28669 = call i32 @isatty(i32 noundef %28668) #11
  %28670 = icmp ne i32 %28669, 0
  br i1 %28670, label %28671, label %28688

28671:                                            ; preds = %28666
  %28672 = load i32, ptr %706, align 4, !tbaa !5
  %28673 = call ptr @__errno_location() #12
  store i32 %28672, ptr %28673, align 4, !tbaa !5
  %28674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28675 = load i32, ptr @test_count, align 4, !tbaa !5
  %28676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28677 = load i32, ptr %28676, align 4, !tbaa !5
  %28678 = call ptr @s2n_strerror(i32 noundef %28677, ptr noundef @.str.4)
  %28679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28680 = load i32, ptr %28679, align 4, !tbaa !5
  %28681 = call ptr @s2n_strerror_debug(i32 noundef %28680, ptr noundef @.str.4)
  %28682 = call ptr @__errno_location() #12
  %28683 = load i32, ptr %28682, align 4, !tbaa !5
  %28684 = call ptr @strerror(i32 noundef %28683) #11
  %28685 = call ptr @__errno_location() #12
  %28686 = load i32, ptr %28685, align 4, !tbaa !5
  %28687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28674, ptr noundef @.str.2, i32 noundef %28675, ptr noundef @.str.186, ptr noundef @.str.1, i32 noundef 1317, ptr noundef %28678, ptr noundef %28681, ptr noundef %28684, i32 noundef %28686) #11
  br label %28705

28688:                                            ; preds = %28666, %28659
  %28689 = load i32, ptr %706, align 4, !tbaa !5
  %28690 = call ptr @__errno_location() #12
  store i32 %28689, ptr %28690, align 4, !tbaa !5
  %28691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28692 = load i32, ptr @test_count, align 4, !tbaa !5
  %28693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28694 = load i32, ptr %28693, align 4, !tbaa !5
  %28695 = call ptr @s2n_strerror(i32 noundef %28694, ptr noundef @.str.4)
  %28696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28697 = load i32, ptr %28696, align 4, !tbaa !5
  %28698 = call ptr @s2n_strerror_debug(i32 noundef %28697, ptr noundef @.str.4)
  %28699 = call ptr @__errno_location() #12
  %28700 = load i32, ptr %28699, align 4, !tbaa !5
  %28701 = call ptr @strerror(i32 noundef %28700) #11
  %28702 = call ptr @__errno_location() #12
  %28703 = load i32, ptr %28702, align 4, !tbaa !5
  %28704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28691, ptr noundef @.str.5, i32 noundef %28692, ptr noundef @.str.186, ptr noundef @.str.1, i32 noundef 1317, ptr noundef %28695, ptr noundef %28698, ptr noundef %28701, i32 noundef %28703) #11
  br label %28705

28705:                                            ; preds = %28688, %28671
  call void @llvm.lifetime.end.p0(i64 4, ptr %706) #11
  br label %28706

28706:                                            ; preds = %28705
  br label %28707

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

28708:                                            ; No predecessors!
  br label %28709

28709:                                            ; preds = %28708
  br label %28710

28710:                                            ; preds = %28709, %28639
  br label %28711

28711:                                            ; preds = %28710
  br label %28712

28712:                                            ; preds = %28711
  br label %28713

28713:                                            ; preds = %28712
  br label %28714

28714:                                            ; preds = %28713
  br label %28715

28715:                                            ; preds = %28714
  %28716 = load i32, ptr @test_count, align 4, !tbaa !5
  %28717 = add nsw i32 %28716, 1
  store i32 %28717, ptr @test_count, align 4, !tbaa !5
  %28718 = load ptr, ptr %700, align 8, !tbaa !9
  %28719 = call i32 @s2n_client_psk_recv(ptr noundef %28718, ptr noundef %702)
  %28720 = icmp eq i32 %28719, -1
  br i1 %28720, label %28774, label %28721

28721:                                            ; preds = %28715
  br label %28722

28722:                                            ; preds = %28721
  br label %28723

28723:                                            ; preds = %28722
  call void @llvm.lifetime.start.p0(i64 4, ptr %707) #11
  %28724 = call ptr @__errno_location() #12
  %28725 = load i32, ptr %28724, align 4, !tbaa !5
  store i32 %28725, ptr %707, align 4, !tbaa !5
  %28726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28727 = call i32 @s2n_print_stacktrace(ptr noundef %28726)
  %28728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28729 = trunc i8 %28728 to i1
  br i1 %28729, label %28730, label %28752

28730:                                            ; preds = %28723
  %28731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28732 = call i32 @fileno(ptr noundef %28731) #11
  %28733 = call i32 @isatty(i32 noundef %28732) #11
  %28734 = icmp ne i32 %28733, 0
  br i1 %28734, label %28735, label %28752

28735:                                            ; preds = %28730
  %28736 = load i32, ptr %707, align 4, !tbaa !5
  %28737 = call ptr @__errno_location() #12
  store i32 %28736, ptr %28737, align 4, !tbaa !5
  %28738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28739 = load i32, ptr @test_count, align 4, !tbaa !5
  %28740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28741 = load i32, ptr %28740, align 4, !tbaa !5
  %28742 = call ptr @s2n_strerror(i32 noundef %28741, ptr noundef @.str.4)
  %28743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28744 = load i32, ptr %28743, align 4, !tbaa !5
  %28745 = call ptr @s2n_strerror_debug(i32 noundef %28744, ptr noundef @.str.4)
  %28746 = call ptr @__errno_location() #12
  %28747 = load i32, ptr %28746, align 4, !tbaa !5
  %28748 = call ptr @strerror(i32 noundef %28747) #11
  %28749 = call ptr @__errno_location() #12
  %28750 = load i32, ptr %28749, align 4, !tbaa !5
  %28751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28738, ptr noundef @.str.2, i32 noundef %28739, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1319, ptr noundef %28742, ptr noundef %28745, ptr noundef %28748, i32 noundef %28750) #11
  br label %28769

28752:                                            ; preds = %28730, %28723
  %28753 = load i32, ptr %707, align 4, !tbaa !5
  %28754 = call ptr @__errno_location() #12
  store i32 %28753, ptr %28754, align 4, !tbaa !5
  %28755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28756 = load i32, ptr @test_count, align 4, !tbaa !5
  %28757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28758 = load i32, ptr %28757, align 4, !tbaa !5
  %28759 = call ptr @s2n_strerror(i32 noundef %28758, ptr noundef @.str.4)
  %28760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28761 = load i32, ptr %28760, align 4, !tbaa !5
  %28762 = call ptr @s2n_strerror_debug(i32 noundef %28761, ptr noundef @.str.4)
  %28763 = call ptr @__errno_location() #12
  %28764 = load i32, ptr %28763, align 4, !tbaa !5
  %28765 = call ptr @strerror(i32 noundef %28764) #11
  %28766 = call ptr @__errno_location() #12
  %28767 = load i32, ptr %28766, align 4, !tbaa !5
  %28768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28755, ptr noundef @.str.5, i32 noundef %28756, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1319, ptr noundef %28759, ptr noundef %28762, ptr noundef %28765, i32 noundef %28767) #11
  br label %28769

28769:                                            ; preds = %28752, %28735
  call void @llvm.lifetime.end.p0(i64 4, ptr %707) #11
  br label %28770

28770:                                            ; preds = %28769
  br label %28771

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

28772:                                            ; No predecessors!
  br label %28773

28773:                                            ; preds = %28772
  br label %28774

28774:                                            ; preds = %28773, %28715
  br label %28775

28775:                                            ; preds = %28774
  br label %28776

28776:                                            ; preds = %28775
  br label %28777

28777:                                            ; preds = %28776
  %28778 = load i32, ptr @test_count, align 4, !tbaa !5
  %28779 = add nsw i32 %28778, 1
  store i32 %28779, ptr @test_count, align 4, !tbaa !5
  %28780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28781 = load i32, ptr %28780, align 4, !tbaa !5
  %28782 = icmp eq i32 %28781, 335544393
  br i1 %28782, label %28836, label %28783

28783:                                            ; preds = %28777
  br label %28784

28784:                                            ; preds = %28783
  br label %28785

28785:                                            ; preds = %28784
  call void @llvm.lifetime.start.p0(i64 4, ptr %708) #11
  %28786 = call ptr @__errno_location() #12
  %28787 = load i32, ptr %28786, align 4, !tbaa !5
  store i32 %28787, ptr %708, align 4, !tbaa !5
  %28788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28789 = call i32 @s2n_print_stacktrace(ptr noundef %28788)
  %28790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28791 = trunc i8 %28790 to i1
  br i1 %28791, label %28792, label %28814

28792:                                            ; preds = %28785
  %28793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28794 = call i32 @fileno(ptr noundef %28793) #11
  %28795 = call i32 @isatty(i32 noundef %28794) #11
  %28796 = icmp ne i32 %28795, 0
  br i1 %28796, label %28797, label %28814

28797:                                            ; preds = %28792
  %28798 = load i32, ptr %708, align 4, !tbaa !5
  %28799 = call ptr @__errno_location() #12
  store i32 %28798, ptr %28799, align 4, !tbaa !5
  %28800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28801 = load i32, ptr @test_count, align 4, !tbaa !5
  %28802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28803 = load i32, ptr %28802, align 4, !tbaa !5
  %28804 = call ptr @s2n_strerror(i32 noundef %28803, ptr noundef @.str.4)
  %28805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28806 = load i32, ptr %28805, align 4, !tbaa !5
  %28807 = call ptr @s2n_strerror_debug(i32 noundef %28806, ptr noundef @.str.4)
  %28808 = call ptr @__errno_location() #12
  %28809 = load i32, ptr %28808, align 4, !tbaa !5
  %28810 = call ptr @strerror(i32 noundef %28809) #11
  %28811 = call ptr @__errno_location() #12
  %28812 = load i32, ptr %28811, align 4, !tbaa !5
  %28813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28800, ptr noundef @.str.2, i32 noundef %28801, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 1319, ptr noundef %28804, ptr noundef %28807, ptr noundef %28810, i32 noundef %28812) #11
  br label %28831

28814:                                            ; preds = %28792, %28785
  %28815 = load i32, ptr %708, align 4, !tbaa !5
  %28816 = call ptr @__errno_location() #12
  store i32 %28815, ptr %28816, align 4, !tbaa !5
  %28817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28818 = load i32, ptr @test_count, align 4, !tbaa !5
  %28819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28820 = load i32, ptr %28819, align 4, !tbaa !5
  %28821 = call ptr @s2n_strerror(i32 noundef %28820, ptr noundef @.str.4)
  %28822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28823 = load i32, ptr %28822, align 4, !tbaa !5
  %28824 = call ptr @s2n_strerror_debug(i32 noundef %28823, ptr noundef @.str.4)
  %28825 = call ptr @__errno_location() #12
  %28826 = load i32, ptr %28825, align 4, !tbaa !5
  %28827 = call ptr @strerror(i32 noundef %28826) #11
  %28828 = call ptr @__errno_location() #12
  %28829 = load i32, ptr %28828, align 4, !tbaa !5
  %28830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28817, ptr noundef @.str.5, i32 noundef %28818, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 1319, ptr noundef %28821, ptr noundef %28824, ptr noundef %28827, i32 noundef %28829) #11
  br label %28831

28831:                                            ; preds = %28814, %28797
  call void @llvm.lifetime.end.p0(i64 4, ptr %708) #11
  br label %28832

28832:                                            ; preds = %28831
  br label %28833

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

28834:                                            ; No predecessors!
  br label %28835

28835:                                            ; preds = %28834
  br label %28836

28836:                                            ; preds = %28835, %28777
  br label %28837

28837:                                            ; preds = %28836
  br label %28838

28838:                                            ; preds = %28837
  br label %28839

28839:                                            ; preds = %28838
  %28840 = load i32, ptr @test_count, align 4, !tbaa !5
  %28841 = add nsw i32 %28840, 1
  store i32 %28841, ptr @test_count, align 4, !tbaa !5
  %28842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28843 = load i32, ptr %28842, align 4, !tbaa !5
  %28844 = call ptr @s2n_strerror_debug(i32 noundef %28843, ptr noundef @.str.4)
  %28845 = icmp eq ptr %28844, null
  br i1 %28845, label %28846, label %28899

28846:                                            ; preds = %28839
  br label %28847

28847:                                            ; preds = %28846
  br label %28848

28848:                                            ; preds = %28847
  call void @llvm.lifetime.start.p0(i64 4, ptr %709) #11
  %28849 = call ptr @__errno_location() #12
  %28850 = load i32, ptr %28849, align 4, !tbaa !5
  store i32 %28850, ptr %709, align 4, !tbaa !5
  %28851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28852 = call i32 @s2n_print_stacktrace(ptr noundef %28851)
  %28853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28854 = trunc i8 %28853 to i1
  br i1 %28854, label %28855, label %28877

28855:                                            ; preds = %28848
  %28856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28857 = call i32 @fileno(ptr noundef %28856) #11
  %28858 = call i32 @isatty(i32 noundef %28857) #11
  %28859 = icmp ne i32 %28858, 0
  br i1 %28859, label %28860, label %28877

28860:                                            ; preds = %28855
  %28861 = load i32, ptr %709, align 4, !tbaa !5
  %28862 = call ptr @__errno_location() #12
  store i32 %28861, ptr %28862, align 4, !tbaa !5
  %28863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28864 = load i32, ptr @test_count, align 4, !tbaa !5
  %28865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28866 = load i32, ptr %28865, align 4, !tbaa !5
  %28867 = call ptr @s2n_strerror(i32 noundef %28866, ptr noundef @.str.4)
  %28868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28869 = load i32, ptr %28868, align 4, !tbaa !5
  %28870 = call ptr @s2n_strerror_debug(i32 noundef %28869, ptr noundef @.str.4)
  %28871 = call ptr @__errno_location() #12
  %28872 = load i32, ptr %28871, align 4, !tbaa !5
  %28873 = call ptr @strerror(i32 noundef %28872) #11
  %28874 = call ptr @__errno_location() #12
  %28875 = load i32, ptr %28874, align 4, !tbaa !5
  %28876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28863, ptr noundef @.str.2, i32 noundef %28864, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1319, ptr noundef %28867, ptr noundef %28870, ptr noundef %28873, i32 noundef %28875) #11
  br label %28894

28877:                                            ; preds = %28855, %28848
  %28878 = load i32, ptr %709, align 4, !tbaa !5
  %28879 = call ptr @__errno_location() #12
  store i32 %28878, ptr %28879, align 4, !tbaa !5
  %28880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28881 = load i32, ptr @test_count, align 4, !tbaa !5
  %28882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28883 = load i32, ptr %28882, align 4, !tbaa !5
  %28884 = call ptr @s2n_strerror(i32 noundef %28883, ptr noundef @.str.4)
  %28885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28886 = load i32, ptr %28885, align 4, !tbaa !5
  %28887 = call ptr @s2n_strerror_debug(i32 noundef %28886, ptr noundef @.str.4)
  %28888 = call ptr @__errno_location() #12
  %28889 = load i32, ptr %28888, align 4, !tbaa !5
  %28890 = call ptr @strerror(i32 noundef %28889) #11
  %28891 = call ptr @__errno_location() #12
  %28892 = load i32, ptr %28891, align 4, !tbaa !5
  %28893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28880, ptr noundef @.str.5, i32 noundef %28881, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1319, ptr noundef %28884, ptr noundef %28887, ptr noundef %28890, i32 noundef %28892) #11
  br label %28894

28894:                                            ; preds = %28877, %28860
  call void @llvm.lifetime.end.p0(i64 4, ptr %709) #11
  br label %28895

28895:                                            ; preds = %28894
  br label %28896

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

28897:                                            ; No predecessors!
  br label %28898

28898:                                            ; preds = %28897
  br label %28899

28899:                                            ; preds = %28898, %28839
  br label %28900

28900:                                            ; preds = %28899
  br label %28901

28901:                                            ; preds = %28900
  br label %28902

28902:                                            ; preds = %28901
  br label %28903

28903:                                            ; preds = %28902
  br label %28904

28904:                                            ; preds = %28903
  %28905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28905, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28906 = call ptr @__errno_location() #12
  store i32 0, ptr %28906, align 4, !tbaa !5
  br label %28907

28907:                                            ; preds = %28904
  br label %28908

28908:                                            ; preds = %28907
  br label %28909

28909:                                            ; preds = %28908
  br label %28910

28910:                                            ; preds = %28909
  br label %28911

28911:                                            ; preds = %28910
  %28912 = load i32, ptr @test_count, align 4, !tbaa !5
  %28913 = add nsw i32 %28912, 1
  store i32 %28913, ptr @test_count, align 4, !tbaa !5
  %28914 = load ptr, ptr %700, align 8, !tbaa !9
  %28915 = call i32 @s2n_connection_free(ptr noundef %28914)
  %28916 = icmp eq i32 %28915, -1
  br i1 %28916, label %28917, label %28970

28917:                                            ; preds = %28911
  br label %28918

28918:                                            ; preds = %28917
  br label %28919

28919:                                            ; preds = %28918
  call void @llvm.lifetime.start.p0(i64 4, ptr %710) #11
  %28920 = call ptr @__errno_location() #12
  %28921 = load i32, ptr %28920, align 4, !tbaa !5
  store i32 %28921, ptr %710, align 4, !tbaa !5
  %28922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28923 = call i32 @s2n_print_stacktrace(ptr noundef %28922)
  %28924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28925 = trunc i8 %28924 to i1
  br i1 %28925, label %28926, label %28948

28926:                                            ; preds = %28919
  %28927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28928 = call i32 @fileno(ptr noundef %28927) #11
  %28929 = call i32 @isatty(i32 noundef %28928) #11
  %28930 = icmp ne i32 %28929, 0
  br i1 %28930, label %28931, label %28948

28931:                                            ; preds = %28926
  %28932 = load i32, ptr %710, align 4, !tbaa !5
  %28933 = call ptr @__errno_location() #12
  store i32 %28932, ptr %28933, align 4, !tbaa !5
  %28934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28935 = load i32, ptr @test_count, align 4, !tbaa !5
  %28936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28937 = load i32, ptr %28936, align 4, !tbaa !5
  %28938 = call ptr @s2n_strerror(i32 noundef %28937, ptr noundef @.str.4)
  %28939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28940 = load i32, ptr %28939, align 4, !tbaa !5
  %28941 = call ptr @s2n_strerror_debug(i32 noundef %28940, ptr noundef @.str.4)
  %28942 = call ptr @__errno_location() #12
  %28943 = load i32, ptr %28942, align 4, !tbaa !5
  %28944 = call ptr @strerror(i32 noundef %28943) #11
  %28945 = call ptr @__errno_location() #12
  %28946 = load i32, ptr %28945, align 4, !tbaa !5
  %28947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28934, ptr noundef @.str.2, i32 noundef %28935, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1321, ptr noundef %28938, ptr noundef %28941, ptr noundef %28944, i32 noundef %28946) #11
  br label %28965

28948:                                            ; preds = %28926, %28919
  %28949 = load i32, ptr %710, align 4, !tbaa !5
  %28950 = call ptr @__errno_location() #12
  store i32 %28949, ptr %28950, align 4, !tbaa !5
  %28951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28952 = load i32, ptr @test_count, align 4, !tbaa !5
  %28953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28954 = load i32, ptr %28953, align 4, !tbaa !5
  %28955 = call ptr @s2n_strerror(i32 noundef %28954, ptr noundef @.str.4)
  %28956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28957 = load i32, ptr %28956, align 4, !tbaa !5
  %28958 = call ptr @s2n_strerror_debug(i32 noundef %28957, ptr noundef @.str.4)
  %28959 = call ptr @__errno_location() #12
  %28960 = load i32, ptr %28959, align 4, !tbaa !5
  %28961 = call ptr @strerror(i32 noundef %28960) #11
  %28962 = call ptr @__errno_location() #12
  %28963 = load i32, ptr %28962, align 4, !tbaa !5
  %28964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28951, ptr noundef @.str.5, i32 noundef %28952, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1321, ptr noundef %28955, ptr noundef %28958, ptr noundef %28961, i32 noundef %28963) #11
  br label %28965

28965:                                            ; preds = %28948, %28931
  call void @llvm.lifetime.end.p0(i64 4, ptr %710) #11
  br label %28966

28966:                                            ; preds = %28965
  br label %28967

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

28968:                                            ; No predecessors!
  br label %28969

28969:                                            ; preds = %28968
  br label %28970

28970:                                            ; preds = %28969, %28911
  br label %28971

28971:                                            ; preds = %28970
  br label %28972

28972:                                            ; preds = %28971
  br label %28973

28973:                                            ; preds = %28972
  %28974 = load i32, ptr @test_count, align 4, !tbaa !5
  %28975 = add nsw i32 %28974, 1
  store i32 %28975, ptr @test_count, align 4, !tbaa !5
  %28976 = call i32 @s2n_stuffer_free(ptr noundef %702)
  %28977 = icmp eq i32 %28976, -1
  br i1 %28977, label %28978, label %29031

28978:                                            ; preds = %28973
  br label %28979

28979:                                            ; preds = %28978
  br label %28980

28980:                                            ; preds = %28979
  call void @llvm.lifetime.start.p0(i64 4, ptr %711) #11
  %28981 = call ptr @__errno_location() #12
  %28982 = load i32, ptr %28981, align 4, !tbaa !5
  store i32 %28982, ptr %711, align 4, !tbaa !5
  %28983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28984 = call i32 @s2n_print_stacktrace(ptr noundef %28983)
  %28985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28986 = trunc i8 %28985 to i1
  br i1 %28986, label %28987, label %29009

28987:                                            ; preds = %28980
  %28988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28989 = call i32 @fileno(ptr noundef %28988) #11
  %28990 = call i32 @isatty(i32 noundef %28989) #11
  %28991 = icmp ne i32 %28990, 0
  br i1 %28991, label %28992, label %29009

28992:                                            ; preds = %28987
  %28993 = load i32, ptr %711, align 4, !tbaa !5
  %28994 = call ptr @__errno_location() #12
  store i32 %28993, ptr %28994, align 4, !tbaa !5
  %28995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28996 = load i32, ptr @test_count, align 4, !tbaa !5
  %28997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28998 = load i32, ptr %28997, align 4, !tbaa !5
  %28999 = call ptr @s2n_strerror(i32 noundef %28998, ptr noundef @.str.4)
  %29000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29001 = load i32, ptr %29000, align 4, !tbaa !5
  %29002 = call ptr @s2n_strerror_debug(i32 noundef %29001, ptr noundef @.str.4)
  %29003 = call ptr @__errno_location() #12
  %29004 = load i32, ptr %29003, align 4, !tbaa !5
  %29005 = call ptr @strerror(i32 noundef %29004) #11
  %29006 = call ptr @__errno_location() #12
  %29007 = load i32, ptr %29006, align 4, !tbaa !5
  %29008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28995, ptr noundef @.str.2, i32 noundef %28996, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1322, ptr noundef %28999, ptr noundef %29002, ptr noundef %29005, i32 noundef %29007) #11
  br label %29026

29009:                                            ; preds = %28987, %28980
  %29010 = load i32, ptr %711, align 4, !tbaa !5
  %29011 = call ptr @__errno_location() #12
  store i32 %29010, ptr %29011, align 4, !tbaa !5
  %29012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29013 = load i32, ptr @test_count, align 4, !tbaa !5
  %29014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29015 = load i32, ptr %29014, align 4, !tbaa !5
  %29016 = call ptr @s2n_strerror(i32 noundef %29015, ptr noundef @.str.4)
  %29017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29018 = load i32, ptr %29017, align 4, !tbaa !5
  %29019 = call ptr @s2n_strerror_debug(i32 noundef %29018, ptr noundef @.str.4)
  %29020 = call ptr @__errno_location() #12
  %29021 = load i32, ptr %29020, align 4, !tbaa !5
  %29022 = call ptr @strerror(i32 noundef %29021) #11
  %29023 = call ptr @__errno_location() #12
  %29024 = load i32, ptr %29023, align 4, !tbaa !5
  %29025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29012, ptr noundef @.str.5, i32 noundef %29013, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1322, ptr noundef %29016, ptr noundef %29019, ptr noundef %29022, i32 noundef %29024) #11
  br label %29026

29026:                                            ; preds = %29009, %28992
  call void @llvm.lifetime.end.p0(i64 4, ptr %711) #11
  br label %29027

29027:                                            ; preds = %29026
  br label %29028

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

29029:                                            ; No predecessors!
  br label %29030

29030:                                            ; preds = %29029
  br label %29031

29031:                                            ; preds = %29030, %28973
  br label %29032

29032:                                            ; preds = %29031
  br label %29033

29033:                                            ; preds = %29032
  call void @llvm.lifetime.end.p0(i64 40, ptr %702) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %700) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %699) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %712) #11
  call void @llvm.memset.p0.i64(ptr align 1 %712, i8 0, i64 1, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %713) #11
  store ptr null, ptr %713, align 8, !tbaa !9
  br label %29034

29034:                                            ; preds = %29033
  %29035 = load i32, ptr @test_count, align 4, !tbaa !5
  %29036 = add nsw i32 %29035, 1
  store i32 %29036, ptr @test_count, align 4, !tbaa !5
  %29037 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %29037, ptr %713, align 8, !tbaa !9
  %29038 = icmp eq ptr %29037, null
  br i1 %29038, label %29039, label %29092

29039:                                            ; preds = %29034
  br label %29040

29040:                                            ; preds = %29039
  br label %29041

29041:                                            ; preds = %29040
  call void @llvm.lifetime.start.p0(i64 4, ptr %714) #11
  %29042 = call ptr @__errno_location() #12
  %29043 = load i32, ptr %29042, align 4, !tbaa !5
  store i32 %29043, ptr %714, align 4, !tbaa !5
  %29044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29045 = call i32 @s2n_print_stacktrace(ptr noundef %29044)
  %29046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29047 = trunc i8 %29046 to i1
  br i1 %29047, label %29048, label %29070

29048:                                            ; preds = %29041
  %29049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29050 = call i32 @fileno(ptr noundef %29049) #11
  %29051 = call i32 @isatty(i32 noundef %29050) #11
  %29052 = icmp ne i32 %29051, 0
  br i1 %29052, label %29053, label %29070

29053:                                            ; preds = %29048
  %29054 = load i32, ptr %714, align 4, !tbaa !5
  %29055 = call ptr @__errno_location() #12
  store i32 %29054, ptr %29055, align 4, !tbaa !5
  %29056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29057 = load i32, ptr @test_count, align 4, !tbaa !5
  %29058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29059 = load i32, ptr %29058, align 4, !tbaa !5
  %29060 = call ptr @s2n_strerror(i32 noundef %29059, ptr noundef @.str.4)
  %29061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29062 = load i32, ptr %29061, align 4, !tbaa !5
  %29063 = call ptr @s2n_strerror_debug(i32 noundef %29062, ptr noundef @.str.4)
  %29064 = call ptr @__errno_location() #12
  %29065 = load i32, ptr %29064, align 4, !tbaa !5
  %29066 = call ptr @strerror(i32 noundef %29065) #11
  %29067 = call ptr @__errno_location() #12
  %29068 = load i32, ptr %29067, align 4, !tbaa !5
  %29069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29056, ptr noundef @.str.2, i32 noundef %29057, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1329, ptr noundef %29060, ptr noundef %29063, ptr noundef %29066, i32 noundef %29068) #11
  br label %29087

29070:                                            ; preds = %29048, %29041
  %29071 = load i32, ptr %714, align 4, !tbaa !5
  %29072 = call ptr @__errno_location() #12
  store i32 %29071, ptr %29072, align 4, !tbaa !5
  %29073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29074 = load i32, ptr @test_count, align 4, !tbaa !5
  %29075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29076 = load i32, ptr %29075, align 4, !tbaa !5
  %29077 = call ptr @s2n_strerror(i32 noundef %29076, ptr noundef @.str.4)
  %29078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29079 = load i32, ptr %29078, align 4, !tbaa !5
  %29080 = call ptr @s2n_strerror_debug(i32 noundef %29079, ptr noundef @.str.4)
  %29081 = call ptr @__errno_location() #12
  %29082 = load i32, ptr %29081, align 4, !tbaa !5
  %29083 = call ptr @strerror(i32 noundef %29082) #11
  %29084 = call ptr @__errno_location() #12
  %29085 = load i32, ptr %29084, align 4, !tbaa !5
  %29086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29073, ptr noundef @.str.5, i32 noundef %29074, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1329, ptr noundef %29077, ptr noundef %29080, ptr noundef %29083, i32 noundef %29085) #11
  br label %29087

29087:                                            ; preds = %29070, %29053
  call void @llvm.lifetime.end.p0(i64 4, ptr %714) #11
  br label %29088

29088:                                            ; preds = %29087
  br label %29089

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

29090:                                            ; No predecessors!
  br label %29091

29091:                                            ; preds = %29090
  br label %29092

29092:                                            ; preds = %29091, %29034
  br label %29093

29093:                                            ; preds = %29092
  br label %29094

29094:                                            ; preds = %29093
  %29095 = load ptr, ptr %713, align 8, !tbaa !9
  %29096 = getelementptr inbounds %struct.s2n_connection, ptr %29095, i32 0, i32 71
  %29097 = getelementptr inbounds %struct.s2n_client_hello, ptr %29096, i32 0, i32 1
  %29098 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %29097, i32 0, i32 2
  store i16 1, ptr %29098, align 8, !tbaa !104
  call void @llvm.lifetime.start.p0(i64 40, ptr %715) #11
  call void @llvm.memset.p0.i64(ptr align 8 %715, i8 0, i64 40, i1 false)
  br label %29099

29099:                                            ; preds = %29094
  %29100 = load i32, ptr @test_count, align 4, !tbaa !5
  %29101 = add nsw i32 %29100, 1
  store i32 %29101, ptr @test_count, align 4, !tbaa !5
  %29102 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %715, i32 noundef 0)
  %29103 = icmp eq i32 %29102, -1
  br i1 %29103, label %29104, label %29157

29104:                                            ; preds = %29099
  br label %29105

29105:                                            ; preds = %29104
  br label %29106

29106:                                            ; preds = %29105
  call void @llvm.lifetime.start.p0(i64 4, ptr %716) #11
  %29107 = call ptr @__errno_location() #12
  %29108 = load i32, ptr %29107, align 4, !tbaa !5
  store i32 %29108, ptr %716, align 4, !tbaa !5
  %29109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29110 = call i32 @s2n_print_stacktrace(ptr noundef %29109)
  %29111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29112 = trunc i8 %29111 to i1
  br i1 %29112, label %29113, label %29135

29113:                                            ; preds = %29106
  %29114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29115 = call i32 @fileno(ptr noundef %29114) #11
  %29116 = call i32 @isatty(i32 noundef %29115) #11
  %29117 = icmp ne i32 %29116, 0
  br i1 %29117, label %29118, label %29135

29118:                                            ; preds = %29113
  %29119 = load i32, ptr %716, align 4, !tbaa !5
  %29120 = call ptr @__errno_location() #12
  store i32 %29119, ptr %29120, align 4, !tbaa !5
  %29121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29122 = load i32, ptr @test_count, align 4, !tbaa !5
  %29123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29124 = load i32, ptr %29123, align 4, !tbaa !5
  %29125 = call ptr @s2n_strerror(i32 noundef %29124, ptr noundef @.str.4)
  %29126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29127 = load i32, ptr %29126, align 4, !tbaa !5
  %29128 = call ptr @s2n_strerror_debug(i32 noundef %29127, ptr noundef @.str.4)
  %29129 = call ptr @__errno_location() #12
  %29130 = load i32, ptr %29129, align 4, !tbaa !5
  %29131 = call ptr @strerror(i32 noundef %29130) #11
  %29132 = call ptr @__errno_location() #12
  %29133 = load i32, ptr %29132, align 4, !tbaa !5
  %29134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29121, ptr noundef @.str.2, i32 noundef %29122, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1334, ptr noundef %29125, ptr noundef %29128, ptr noundef %29131, i32 noundef %29133) #11
  br label %29152

29135:                                            ; preds = %29113, %29106
  %29136 = load i32, ptr %716, align 4, !tbaa !5
  %29137 = call ptr @__errno_location() #12
  store i32 %29136, ptr %29137, align 4, !tbaa !5
  %29138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29139 = load i32, ptr @test_count, align 4, !tbaa !5
  %29140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29141 = load i32, ptr %29140, align 4, !tbaa !5
  %29142 = call ptr @s2n_strerror(i32 noundef %29141, ptr noundef @.str.4)
  %29143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29144 = load i32, ptr %29143, align 4, !tbaa !5
  %29145 = call ptr @s2n_strerror_debug(i32 noundef %29144, ptr noundef @.str.4)
  %29146 = call ptr @__errno_location() #12
  %29147 = load i32, ptr %29146, align 4, !tbaa !5
  %29148 = call ptr @strerror(i32 noundef %29147) #11
  %29149 = call ptr @__errno_location() #12
  %29150 = load i32, ptr %29149, align 4, !tbaa !5
  %29151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29138, ptr noundef @.str.5, i32 noundef %29139, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1334, ptr noundef %29142, ptr noundef %29145, ptr noundef %29148, i32 noundef %29150) #11
  br label %29152

29152:                                            ; preds = %29135, %29118
  call void @llvm.lifetime.end.p0(i64 4, ptr %716) #11
  br label %29153

29153:                                            ; preds = %29152
  br label %29154

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

29155:                                            ; No predecessors!
  br label %29156

29156:                                            ; preds = %29155
  br label %29157

29157:                                            ; preds = %29156, %29099
  br label %29158

29158:                                            ; preds = %29157
  br label %29159

29159:                                            ; preds = %29158
  br label %29160

29160:                                            ; preds = %29159
  %29161 = load i32, ptr @test_count, align 4, !tbaa !5
  %29162 = add nsw i32 %29161, 1
  store i32 %29162, ptr @test_count, align 4, !tbaa !5
  %29163 = getelementptr inbounds [1 x i8], ptr %712, i64 0, i64 0
  %29164 = call i32 @s2n_stuffer_write_bytes(ptr noundef %715, ptr noundef %29163, i32 noundef 1)
  %29165 = icmp eq i32 %29164, -1
  br i1 %29165, label %29166, label %29219

29166:                                            ; preds = %29160
  br label %29167

29167:                                            ; preds = %29166
  br label %29168

29168:                                            ; preds = %29167
  call void @llvm.lifetime.start.p0(i64 4, ptr %717) #11
  %29169 = call ptr @__errno_location() #12
  %29170 = load i32, ptr %29169, align 4, !tbaa !5
  store i32 %29170, ptr %717, align 4, !tbaa !5
  %29171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29172 = call i32 @s2n_print_stacktrace(ptr noundef %29171)
  %29173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29174 = trunc i8 %29173 to i1
  br i1 %29174, label %29175, label %29197

29175:                                            ; preds = %29168
  %29176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29177 = call i32 @fileno(ptr noundef %29176) #11
  %29178 = call i32 @isatty(i32 noundef %29177) #11
  %29179 = icmp ne i32 %29178, 0
  br i1 %29179, label %29180, label %29197

29180:                                            ; preds = %29175
  %29181 = load i32, ptr %717, align 4, !tbaa !5
  %29182 = call ptr @__errno_location() #12
  store i32 %29181, ptr %29182, align 4, !tbaa !5
  %29183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29184 = load i32, ptr @test_count, align 4, !tbaa !5
  %29185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29186 = load i32, ptr %29185, align 4, !tbaa !5
  %29187 = call ptr @s2n_strerror(i32 noundef %29186, ptr noundef @.str.4)
  %29188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29189 = load i32, ptr %29188, align 4, !tbaa !5
  %29190 = call ptr @s2n_strerror_debug(i32 noundef %29189, ptr noundef @.str.4)
  %29191 = call ptr @__errno_location() #12
  %29192 = load i32, ptr %29191, align 4, !tbaa !5
  %29193 = call ptr @strerror(i32 noundef %29192) #11
  %29194 = call ptr @__errno_location() #12
  %29195 = load i32, ptr %29194, align 4, !tbaa !5
  %29196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29183, ptr noundef @.str.2, i32 noundef %29184, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1335, ptr noundef %29187, ptr noundef %29190, ptr noundef %29193, i32 noundef %29195) #11
  br label %29214

29197:                                            ; preds = %29175, %29168
  %29198 = load i32, ptr %717, align 4, !tbaa !5
  %29199 = call ptr @__errno_location() #12
  store i32 %29198, ptr %29199, align 4, !tbaa !5
  %29200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29201 = load i32, ptr @test_count, align 4, !tbaa !5
  %29202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29203 = load i32, ptr %29202, align 4, !tbaa !5
  %29204 = call ptr @s2n_strerror(i32 noundef %29203, ptr noundef @.str.4)
  %29205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29206 = load i32, ptr %29205, align 4, !tbaa !5
  %29207 = call ptr @s2n_strerror_debug(i32 noundef %29206, ptr noundef @.str.4)
  %29208 = call ptr @__errno_location() #12
  %29209 = load i32, ptr %29208, align 4, !tbaa !5
  %29210 = call ptr @strerror(i32 noundef %29209) #11
  %29211 = call ptr @__errno_location() #12
  %29212 = load i32, ptr %29211, align 4, !tbaa !5
  %29213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29200, ptr noundef @.str.5, i32 noundef %29201, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1335, ptr noundef %29204, ptr noundef %29207, ptr noundef %29210, i32 noundef %29212) #11
  br label %29214

29214:                                            ; preds = %29197, %29180
  call void @llvm.lifetime.end.p0(i64 4, ptr %717) #11
  br label %29215

29215:                                            ; preds = %29214
  br label %29216

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

29217:                                            ; No predecessors!
  br label %29218

29218:                                            ; preds = %29217
  br label %29219

29219:                                            ; preds = %29218, %29160
  br label %29220

29220:                                            ; preds = %29219
  br label %29221

29221:                                            ; preds = %29220
  %29222 = load ptr, ptr %713, align 8, !tbaa !9
  %29223 = getelementptr inbounds %struct.s2n_connection, ptr %29222, i32 0, i32 33
  %29224 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %29223, i32 0, i32 5
  store i32 0, ptr %29224, align 8, !tbaa !105
  %29225 = load i8, ptr %657, align 1, !tbaa !81
  %29226 = zext i8 %29225 to i32
  %29227 = srem i32 %29226, 8
  %29228 = shl i32 1, %29227
  %29229 = load ptr, ptr %713, align 8, !tbaa !9
  %29230 = getelementptr inbounds %struct.s2n_connection, ptr %29229, i32 0, i32 11
  %29231 = load i8, ptr %657, align 1, !tbaa !81
  %29232 = zext i8 %29231 to i32
  %29233 = ashr i32 %29232, 3
  %29234 = sext i32 %29233 to i64
  %29235 = getelementptr inbounds [22 x i8], ptr %29230, i64 0, i64 %29234
  %29236 = load i8, ptr %29235, align 1, !tbaa !81
  %29237 = sext i8 %29236 to i32
  %29238 = or i32 %29237, %29228
  %29239 = trunc i32 %29238 to i8
  store i8 %29239, ptr %29235, align 1, !tbaa !81
  br label %29240

29240:                                            ; preds = %29221
  %29241 = load i32, ptr @test_count, align 4, !tbaa !5
  %29242 = add nsw i32 %29241, 1
  store i32 %29242, ptr @test_count, align 4, !tbaa !5
  %29243 = load ptr, ptr %713, align 8, !tbaa !9
  %29244 = call i32 @s2n_client_psk_recv(ptr noundef %29243, ptr noundef %715)
  %29245 = icmp eq i32 %29244, -1
  br i1 %29245, label %29246, label %29299

29246:                                            ; preds = %29240
  br label %29247

29247:                                            ; preds = %29246
  br label %29248

29248:                                            ; preds = %29247
  call void @llvm.lifetime.start.p0(i64 4, ptr %718) #11
  %29249 = call ptr @__errno_location() #12
  %29250 = load i32, ptr %29249, align 4, !tbaa !5
  store i32 %29250, ptr %718, align 4, !tbaa !5
  %29251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29252 = call i32 @s2n_print_stacktrace(ptr noundef %29251)
  %29253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29254 = trunc i8 %29253 to i1
  br i1 %29254, label %29255, label %29277

29255:                                            ; preds = %29248
  %29256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29257 = call i32 @fileno(ptr noundef %29256) #11
  %29258 = call i32 @isatty(i32 noundef %29257) #11
  %29259 = icmp ne i32 %29258, 0
  br i1 %29259, label %29260, label %29277

29260:                                            ; preds = %29255
  %29261 = load i32, ptr %718, align 4, !tbaa !5
  %29262 = call ptr @__errno_location() #12
  store i32 %29261, ptr %29262, align 4, !tbaa !5
  %29263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29264 = load i32, ptr @test_count, align 4, !tbaa !5
  %29265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29266 = load i32, ptr %29265, align 4, !tbaa !5
  %29267 = call ptr @s2n_strerror(i32 noundef %29266, ptr noundef @.str.4)
  %29268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29269 = load i32, ptr %29268, align 4, !tbaa !5
  %29270 = call ptr @s2n_strerror_debug(i32 noundef %29269, ptr noundef @.str.4)
  %29271 = call ptr @__errno_location() #12
  %29272 = load i32, ptr %29271, align 4, !tbaa !5
  %29273 = call ptr @strerror(i32 noundef %29272) #11
  %29274 = call ptr @__errno_location() #12
  %29275 = load i32, ptr %29274, align 4, !tbaa !5
  %29276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29263, ptr noundef @.str.2, i32 noundef %29264, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 1341, ptr noundef %29267, ptr noundef %29270, ptr noundef %29273, i32 noundef %29275) #11
  br label %29294

29277:                                            ; preds = %29255, %29248
  %29278 = load i32, ptr %718, align 4, !tbaa !5
  %29279 = call ptr @__errno_location() #12
  store i32 %29278, ptr %29279, align 4, !tbaa !5
  %29280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29281 = load i32, ptr @test_count, align 4, !tbaa !5
  %29282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29283 = load i32, ptr %29282, align 4, !tbaa !5
  %29284 = call ptr @s2n_strerror(i32 noundef %29283, ptr noundef @.str.4)
  %29285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29286 = load i32, ptr %29285, align 4, !tbaa !5
  %29287 = call ptr @s2n_strerror_debug(i32 noundef %29286, ptr noundef @.str.4)
  %29288 = call ptr @__errno_location() #12
  %29289 = load i32, ptr %29288, align 4, !tbaa !5
  %29290 = call ptr @strerror(i32 noundef %29289) #11
  %29291 = call ptr @__errno_location() #12
  %29292 = load i32, ptr %29291, align 4, !tbaa !5
  %29293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29280, ptr noundef @.str.5, i32 noundef %29281, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 1341, ptr noundef %29284, ptr noundef %29287, ptr noundef %29290, i32 noundef %29292) #11
  br label %29294

29294:                                            ; preds = %29277, %29260
  call void @llvm.lifetime.end.p0(i64 4, ptr %718) #11
  br label %29295

29295:                                            ; preds = %29294
  br label %29296

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

29297:                                            ; No predecessors!
  br label %29298

29298:                                            ; preds = %29297
  br label %29299

29299:                                            ; preds = %29298, %29240
  br label %29300

29300:                                            ; preds = %29299
  br label %29301

29301:                                            ; preds = %29300
  br label %29302

29302:                                            ; preds = %29301
  %29303 = load i32, ptr @test_count, align 4, !tbaa !5
  %29304 = add nsw i32 %29303, 1
  store i32 %29304, ptr @test_count, align 4, !tbaa !5
  %29305 = load ptr, ptr %713, align 8, !tbaa !9
  %29306 = getelementptr inbounds %struct.s2n_connection, ptr %29305, i32 0, i32 33
  %29307 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %29306, i32 0, i32 4
  %29308 = load ptr, ptr %29307, align 8, !tbaa !100
  %29309 = icmp eq ptr %29308, null
  br i1 %29309, label %29363, label %29310

29310:                                            ; preds = %29302
  br label %29311

29311:                                            ; preds = %29310
  br label %29312

29312:                                            ; preds = %29311
  call void @llvm.lifetime.start.p0(i64 4, ptr %719) #11
  %29313 = call ptr @__errno_location() #12
  %29314 = load i32, ptr %29313, align 4, !tbaa !5
  store i32 %29314, ptr %719, align 4, !tbaa !5
  %29315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29316 = call i32 @s2n_print_stacktrace(ptr noundef %29315)
  %29317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29318 = trunc i8 %29317 to i1
  br i1 %29318, label %29319, label %29341

29319:                                            ; preds = %29312
  %29320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29321 = call i32 @fileno(ptr noundef %29320) #11
  %29322 = call i32 @isatty(i32 noundef %29321) #11
  %29323 = icmp ne i32 %29322, 0
  br i1 %29323, label %29324, label %29341

29324:                                            ; preds = %29319
  %29325 = load i32, ptr %719, align 4, !tbaa !5
  %29326 = call ptr @__errno_location() #12
  store i32 %29325, ptr %29326, align 4, !tbaa !5
  %29327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29328 = load i32, ptr @test_count, align 4, !tbaa !5
  %29329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29330 = load i32, ptr %29329, align 4, !tbaa !5
  %29331 = call ptr @s2n_strerror(i32 noundef %29330, ptr noundef @.str.4)
  %29332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29333 = load i32, ptr %29332, align 4, !tbaa !5
  %29334 = call ptr @s2n_strerror_debug(i32 noundef %29333, ptr noundef @.str.4)
  %29335 = call ptr @__errno_location() #12
  %29336 = load i32, ptr %29335, align 4, !tbaa !5
  %29337 = call ptr @strerror(i32 noundef %29336) #11
  %29338 = call ptr @__errno_location() #12
  %29339 = load i32, ptr %29338, align 4, !tbaa !5
  %29340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29327, ptr noundef @.str.2, i32 noundef %29328, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1342, ptr noundef %29331, ptr noundef %29334, ptr noundef %29337, i32 noundef %29339) #11
  br label %29358

29341:                                            ; preds = %29319, %29312
  %29342 = load i32, ptr %719, align 4, !tbaa !5
  %29343 = call ptr @__errno_location() #12
  store i32 %29342, ptr %29343, align 4, !tbaa !5
  %29344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29345 = load i32, ptr @test_count, align 4, !tbaa !5
  %29346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29347 = load i32, ptr %29346, align 4, !tbaa !5
  %29348 = call ptr @s2n_strerror(i32 noundef %29347, ptr noundef @.str.4)
  %29349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29350 = load i32, ptr %29349, align 4, !tbaa !5
  %29351 = call ptr @s2n_strerror_debug(i32 noundef %29350, ptr noundef @.str.4)
  %29352 = call ptr @__errno_location() #12
  %29353 = load i32, ptr %29352, align 4, !tbaa !5
  %29354 = call ptr @strerror(i32 noundef %29353) #11
  %29355 = call ptr @__errno_location() #12
  %29356 = load i32, ptr %29355, align 4, !tbaa !5
  %29357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29344, ptr noundef @.str.5, i32 noundef %29345, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 1342, ptr noundef %29348, ptr noundef %29351, ptr noundef %29354, i32 noundef %29356) #11
  br label %29358

29358:                                            ; preds = %29341, %29324
  call void @llvm.lifetime.end.p0(i64 4, ptr %719) #11
  br label %29359

29359:                                            ; preds = %29358
  br label %29360

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

29361:                                            ; No predecessors!
  br label %29362

29362:                                            ; preds = %29361
  br label %29363

29363:                                            ; preds = %29362, %29302
  br label %29364

29364:                                            ; preds = %29363
  br label %29365

29365:                                            ; preds = %29364
  br label %29366

29366:                                            ; preds = %29365
  %29367 = load i32, ptr @test_count, align 4, !tbaa !5
  %29368 = add nsw i32 %29367, 1
  store i32 %29368, ptr @test_count, align 4, !tbaa !5
  %29369 = load ptr, ptr %713, align 8, !tbaa !9
  %29370 = call i32 @s2n_connection_free(ptr noundef %29369)
  %29371 = icmp eq i32 %29370, -1
  br i1 %29371, label %29372, label %29425

29372:                                            ; preds = %29366
  br label %29373

29373:                                            ; preds = %29372
  br label %29374

29374:                                            ; preds = %29373
  call void @llvm.lifetime.start.p0(i64 4, ptr %720) #11
  %29375 = call ptr @__errno_location() #12
  %29376 = load i32, ptr %29375, align 4, !tbaa !5
  store i32 %29376, ptr %720, align 4, !tbaa !5
  %29377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29378 = call i32 @s2n_print_stacktrace(ptr noundef %29377)
  %29379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29380 = trunc i8 %29379 to i1
  br i1 %29380, label %29381, label %29403

29381:                                            ; preds = %29374
  %29382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29383 = call i32 @fileno(ptr noundef %29382) #11
  %29384 = call i32 @isatty(i32 noundef %29383) #11
  %29385 = icmp ne i32 %29384, 0
  br i1 %29385, label %29386, label %29403

29386:                                            ; preds = %29381
  %29387 = load i32, ptr %720, align 4, !tbaa !5
  %29388 = call ptr @__errno_location() #12
  store i32 %29387, ptr %29388, align 4, !tbaa !5
  %29389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29390 = load i32, ptr @test_count, align 4, !tbaa !5
  %29391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29392 = load i32, ptr %29391, align 4, !tbaa !5
  %29393 = call ptr @s2n_strerror(i32 noundef %29392, ptr noundef @.str.4)
  %29394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29395 = load i32, ptr %29394, align 4, !tbaa !5
  %29396 = call ptr @s2n_strerror_debug(i32 noundef %29395, ptr noundef @.str.4)
  %29397 = call ptr @__errno_location() #12
  %29398 = load i32, ptr %29397, align 4, !tbaa !5
  %29399 = call ptr @strerror(i32 noundef %29398) #11
  %29400 = call ptr @__errno_location() #12
  %29401 = load i32, ptr %29400, align 4, !tbaa !5
  %29402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29389, ptr noundef @.str.2, i32 noundef %29390, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1344, ptr noundef %29393, ptr noundef %29396, ptr noundef %29399, i32 noundef %29401) #11
  br label %29420

29403:                                            ; preds = %29381, %29374
  %29404 = load i32, ptr %720, align 4, !tbaa !5
  %29405 = call ptr @__errno_location() #12
  store i32 %29404, ptr %29405, align 4, !tbaa !5
  %29406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29407 = load i32, ptr @test_count, align 4, !tbaa !5
  %29408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29409 = load i32, ptr %29408, align 4, !tbaa !5
  %29410 = call ptr @s2n_strerror(i32 noundef %29409, ptr noundef @.str.4)
  %29411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29412 = load i32, ptr %29411, align 4, !tbaa !5
  %29413 = call ptr @s2n_strerror_debug(i32 noundef %29412, ptr noundef @.str.4)
  %29414 = call ptr @__errno_location() #12
  %29415 = load i32, ptr %29414, align 4, !tbaa !5
  %29416 = call ptr @strerror(i32 noundef %29415) #11
  %29417 = call ptr @__errno_location() #12
  %29418 = load i32, ptr %29417, align 4, !tbaa !5
  %29419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29406, ptr noundef @.str.5, i32 noundef %29407, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1344, ptr noundef %29410, ptr noundef %29413, ptr noundef %29416, i32 noundef %29418) #11
  br label %29420

29420:                                            ; preds = %29403, %29386
  call void @llvm.lifetime.end.p0(i64 4, ptr %720) #11
  br label %29421

29421:                                            ; preds = %29420
  br label %29422

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

29423:                                            ; No predecessors!
  br label %29424

29424:                                            ; preds = %29423
  br label %29425

29425:                                            ; preds = %29424, %29366
  br label %29426

29426:                                            ; preds = %29425
  br label %29427

29427:                                            ; preds = %29426
  br label %29428

29428:                                            ; preds = %29427
  %29429 = load i32, ptr @test_count, align 4, !tbaa !5
  %29430 = add nsw i32 %29429, 1
  store i32 %29430, ptr @test_count, align 4, !tbaa !5
  %29431 = call i32 @s2n_stuffer_free(ptr noundef %715)
  %29432 = icmp eq i32 %29431, -1
  br i1 %29432, label %29433, label %29486

29433:                                            ; preds = %29428
  br label %29434

29434:                                            ; preds = %29433
  br label %29435

29435:                                            ; preds = %29434
  call void @llvm.lifetime.start.p0(i64 4, ptr %721) #11
  %29436 = call ptr @__errno_location() #12
  %29437 = load i32, ptr %29436, align 4, !tbaa !5
  store i32 %29437, ptr %721, align 4, !tbaa !5
  %29438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29439 = call i32 @s2n_print_stacktrace(ptr noundef %29438)
  %29440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29441 = trunc i8 %29440 to i1
  br i1 %29441, label %29442, label %29464

29442:                                            ; preds = %29435
  %29443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29444 = call i32 @fileno(ptr noundef %29443) #11
  %29445 = call i32 @isatty(i32 noundef %29444) #11
  %29446 = icmp ne i32 %29445, 0
  br i1 %29446, label %29447, label %29464

29447:                                            ; preds = %29442
  %29448 = load i32, ptr %721, align 4, !tbaa !5
  %29449 = call ptr @__errno_location() #12
  store i32 %29448, ptr %29449, align 4, !tbaa !5
  %29450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29451 = load i32, ptr @test_count, align 4, !tbaa !5
  %29452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29453 = load i32, ptr %29452, align 4, !tbaa !5
  %29454 = call ptr @s2n_strerror(i32 noundef %29453, ptr noundef @.str.4)
  %29455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29456 = load i32, ptr %29455, align 4, !tbaa !5
  %29457 = call ptr @s2n_strerror_debug(i32 noundef %29456, ptr noundef @.str.4)
  %29458 = call ptr @__errno_location() #12
  %29459 = load i32, ptr %29458, align 4, !tbaa !5
  %29460 = call ptr @strerror(i32 noundef %29459) #11
  %29461 = call ptr @__errno_location() #12
  %29462 = load i32, ptr %29461, align 4, !tbaa !5
  %29463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29450, ptr noundef @.str.2, i32 noundef %29451, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1345, ptr noundef %29454, ptr noundef %29457, ptr noundef %29460, i32 noundef %29462) #11
  br label %29481

29464:                                            ; preds = %29442, %29435
  %29465 = load i32, ptr %721, align 4, !tbaa !5
  %29466 = call ptr @__errno_location() #12
  store i32 %29465, ptr %29466, align 4, !tbaa !5
  %29467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29468 = load i32, ptr @test_count, align 4, !tbaa !5
  %29469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29470 = load i32, ptr %29469, align 4, !tbaa !5
  %29471 = call ptr @s2n_strerror(i32 noundef %29470, ptr noundef @.str.4)
  %29472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29473 = load i32, ptr %29472, align 4, !tbaa !5
  %29474 = call ptr @s2n_strerror_debug(i32 noundef %29473, ptr noundef @.str.4)
  %29475 = call ptr @__errno_location() #12
  %29476 = load i32, ptr %29475, align 4, !tbaa !5
  %29477 = call ptr @strerror(i32 noundef %29476) #11
  %29478 = call ptr @__errno_location() #12
  %29479 = load i32, ptr %29478, align 4, !tbaa !5
  %29480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29467, ptr noundef @.str.5, i32 noundef %29468, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1345, ptr noundef %29471, ptr noundef %29474, ptr noundef %29477, i32 noundef %29479) #11
  br label %29481

29481:                                            ; preds = %29464, %29447
  call void @llvm.lifetime.end.p0(i64 4, ptr %721) #11
  br label %29482

29482:                                            ; preds = %29481
  br label %29483

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

29484:                                            ; No predecessors!
  br label %29485

29485:                                            ; preds = %29484
  br label %29486

29486:                                            ; preds = %29485, %29428
  br label %29487

29487:                                            ; preds = %29486
  br label %29488

29488:                                            ; preds = %29487
  call void @llvm.lifetime.end.p0(i64 40, ptr %715) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %713) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %712) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %722) #11
  call void @llvm.memset.p0.i64(ptr align 1 %722, i8 0, i64 1, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %723) #11
  store ptr null, ptr %723, align 8, !tbaa !9
  br label %29489

29489:                                            ; preds = %29488
  %29490 = load i32, ptr @test_count, align 4, !tbaa !5
  %29491 = add nsw i32 %29490, 1
  store i32 %29491, ptr @test_count, align 4, !tbaa !5
  %29492 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %29492, ptr %723, align 8, !tbaa !9
  %29493 = icmp eq ptr %29492, null
  br i1 %29493, label %29494, label %29547

29494:                                            ; preds = %29489
  br label %29495

29495:                                            ; preds = %29494
  br label %29496

29496:                                            ; preds = %29495
  call void @llvm.lifetime.start.p0(i64 4, ptr %724) #11
  %29497 = call ptr @__errno_location() #12
  %29498 = load i32, ptr %29497, align 4, !tbaa !5
  store i32 %29498, ptr %724, align 4, !tbaa !5
  %29499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29500 = call i32 @s2n_print_stacktrace(ptr noundef %29499)
  %29501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29502 = trunc i8 %29501 to i1
  br i1 %29502, label %29503, label %29525

29503:                                            ; preds = %29496
  %29504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29505 = call i32 @fileno(ptr noundef %29504) #11
  %29506 = call i32 @isatty(i32 noundef %29505) #11
  %29507 = icmp ne i32 %29506, 0
  br i1 %29507, label %29508, label %29525

29508:                                            ; preds = %29503
  %29509 = load i32, ptr %724, align 4, !tbaa !5
  %29510 = call ptr @__errno_location() #12
  store i32 %29509, ptr %29510, align 4, !tbaa !5
  %29511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29512 = load i32, ptr @test_count, align 4, !tbaa !5
  %29513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29514 = load i32, ptr %29513, align 4, !tbaa !5
  %29515 = call ptr @s2n_strerror(i32 noundef %29514, ptr noundef @.str.4)
  %29516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29517 = load i32, ptr %29516, align 4, !tbaa !5
  %29518 = call ptr @s2n_strerror_debug(i32 noundef %29517, ptr noundef @.str.4)
  %29519 = call ptr @__errno_location() #12
  %29520 = load i32, ptr %29519, align 4, !tbaa !5
  %29521 = call ptr @strerror(i32 noundef %29520) #11
  %29522 = call ptr @__errno_location() #12
  %29523 = load i32, ptr %29522, align 4, !tbaa !5
  %29524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29511, ptr noundef @.str.2, i32 noundef %29512, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1353, ptr noundef %29515, ptr noundef %29518, ptr noundef %29521, i32 noundef %29523) #11
  br label %29542

29525:                                            ; preds = %29503, %29496
  %29526 = load i32, ptr %724, align 4, !tbaa !5
  %29527 = call ptr @__errno_location() #12
  store i32 %29526, ptr %29527, align 4, !tbaa !5
  %29528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29529 = load i32, ptr @test_count, align 4, !tbaa !5
  %29530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29531 = load i32, ptr %29530, align 4, !tbaa !5
  %29532 = call ptr @s2n_strerror(i32 noundef %29531, ptr noundef @.str.4)
  %29533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29534 = load i32, ptr %29533, align 4, !tbaa !5
  %29535 = call ptr @s2n_strerror_debug(i32 noundef %29534, ptr noundef @.str.4)
  %29536 = call ptr @__errno_location() #12
  %29537 = load i32, ptr %29536, align 4, !tbaa !5
  %29538 = call ptr @strerror(i32 noundef %29537) #11
  %29539 = call ptr @__errno_location() #12
  %29540 = load i32, ptr %29539, align 4, !tbaa !5
  %29541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29528, ptr noundef @.str.5, i32 noundef %29529, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1353, ptr noundef %29532, ptr noundef %29535, ptr noundef %29538, i32 noundef %29540) #11
  br label %29542

29542:                                            ; preds = %29525, %29508
  call void @llvm.lifetime.end.p0(i64 4, ptr %724) #11
  br label %29543

29543:                                            ; preds = %29542
  br label %29544

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

29545:                                            ; No predecessors!
  br label %29546

29546:                                            ; preds = %29545
  br label %29547

29547:                                            ; preds = %29546, %29489
  br label %29548

29548:                                            ; preds = %29547
  br label %29549

29549:                                            ; preds = %29548
  %29550 = load ptr, ptr %723, align 8, !tbaa !9
  %29551 = getelementptr inbounds %struct.s2n_connection, ptr %29550, i32 0, i32 71
  %29552 = getelementptr inbounds %struct.s2n_client_hello, ptr %29551, i32 0, i32 1
  %29553 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %29552, i32 0, i32 2
  store i16 1, ptr %29553, align 8, !tbaa !104
  call void @llvm.lifetime.start.p0(i64 40, ptr %725) #11
  call void @llvm.memset.p0.i64(ptr align 8 %725, i8 0, i64 40, i1 false)
  br label %29554

29554:                                            ; preds = %29549
  %29555 = load i32, ptr @test_count, align 4, !tbaa !5
  %29556 = add nsw i32 %29555, 1
  store i32 %29556, ptr @test_count, align 4, !tbaa !5
  %29557 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %725, i32 noundef 0)
  %29558 = icmp eq i32 %29557, -1
  br i1 %29558, label %29559, label %29612

29559:                                            ; preds = %29554
  br label %29560

29560:                                            ; preds = %29559
  br label %29561

29561:                                            ; preds = %29560
  call void @llvm.lifetime.start.p0(i64 4, ptr %726) #11
  %29562 = call ptr @__errno_location() #12
  %29563 = load i32, ptr %29562, align 4, !tbaa !5
  store i32 %29563, ptr %726, align 4, !tbaa !5
  %29564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29565 = call i32 @s2n_print_stacktrace(ptr noundef %29564)
  %29566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29567 = trunc i8 %29566 to i1
  br i1 %29567, label %29568, label %29590

29568:                                            ; preds = %29561
  %29569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29570 = call i32 @fileno(ptr noundef %29569) #11
  %29571 = call i32 @isatty(i32 noundef %29570) #11
  %29572 = icmp ne i32 %29571, 0
  br i1 %29572, label %29573, label %29590

29573:                                            ; preds = %29568
  %29574 = load i32, ptr %726, align 4, !tbaa !5
  %29575 = call ptr @__errno_location() #12
  store i32 %29574, ptr %29575, align 4, !tbaa !5
  %29576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29577 = load i32, ptr @test_count, align 4, !tbaa !5
  %29578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29579 = load i32, ptr %29578, align 4, !tbaa !5
  %29580 = call ptr @s2n_strerror(i32 noundef %29579, ptr noundef @.str.4)
  %29581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29582 = load i32, ptr %29581, align 4, !tbaa !5
  %29583 = call ptr @s2n_strerror_debug(i32 noundef %29582, ptr noundef @.str.4)
  %29584 = call ptr @__errno_location() #12
  %29585 = load i32, ptr %29584, align 4, !tbaa !5
  %29586 = call ptr @strerror(i32 noundef %29585) #11
  %29587 = call ptr @__errno_location() #12
  %29588 = load i32, ptr %29587, align 4, !tbaa !5
  %29589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29576, ptr noundef @.str.2, i32 noundef %29577, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1358, ptr noundef %29580, ptr noundef %29583, ptr noundef %29586, i32 noundef %29588) #11
  br label %29607

29590:                                            ; preds = %29568, %29561
  %29591 = load i32, ptr %726, align 4, !tbaa !5
  %29592 = call ptr @__errno_location() #12
  store i32 %29591, ptr %29592, align 4, !tbaa !5
  %29593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29594 = load i32, ptr @test_count, align 4, !tbaa !5
  %29595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29596 = load i32, ptr %29595, align 4, !tbaa !5
  %29597 = call ptr @s2n_strerror(i32 noundef %29596, ptr noundef @.str.4)
  %29598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29599 = load i32, ptr %29598, align 4, !tbaa !5
  %29600 = call ptr @s2n_strerror_debug(i32 noundef %29599, ptr noundef @.str.4)
  %29601 = call ptr @__errno_location() #12
  %29602 = load i32, ptr %29601, align 4, !tbaa !5
  %29603 = call ptr @strerror(i32 noundef %29602) #11
  %29604 = call ptr @__errno_location() #12
  %29605 = load i32, ptr %29604, align 4, !tbaa !5
  %29606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29593, ptr noundef @.str.5, i32 noundef %29594, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 1358, ptr noundef %29597, ptr noundef %29600, ptr noundef %29603, i32 noundef %29605) #11
  br label %29607

29607:                                            ; preds = %29590, %29573
  call void @llvm.lifetime.end.p0(i64 4, ptr %726) #11
  br label %29608

29608:                                            ; preds = %29607
  br label %29609

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

29610:                                            ; No predecessors!
  br label %29611

29611:                                            ; preds = %29610
  br label %29612

29612:                                            ; preds = %29611, %29554
  br label %29613

29613:                                            ; preds = %29612
  br label %29614

29614:                                            ; preds = %29613
  br label %29615

29615:                                            ; preds = %29614
  %29616 = load i32, ptr @test_count, align 4, !tbaa !5
  %29617 = add nsw i32 %29616, 1
  store i32 %29617, ptr @test_count, align 4, !tbaa !5
  %29618 = getelementptr inbounds [1 x i8], ptr %722, i64 0, i64 0
  %29619 = call i32 @s2n_stuffer_write_bytes(ptr noundef %725, ptr noundef %29618, i32 noundef 1)
  %29620 = icmp eq i32 %29619, -1
  br i1 %29620, label %29621, label %29674

29621:                                            ; preds = %29615
  br label %29622

29622:                                            ; preds = %29621
  br label %29623

29623:                                            ; preds = %29622
  call void @llvm.lifetime.start.p0(i64 4, ptr %727) #11
  %29624 = call ptr @__errno_location() #12
  %29625 = load i32, ptr %29624, align 4, !tbaa !5
  store i32 %29625, ptr %727, align 4, !tbaa !5
  %29626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29627 = call i32 @s2n_print_stacktrace(ptr noundef %29626)
  %29628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29629 = trunc i8 %29628 to i1
  br i1 %29629, label %29630, label %29652

29630:                                            ; preds = %29623
  %29631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29632 = call i32 @fileno(ptr noundef %29631) #11
  %29633 = call i32 @isatty(i32 noundef %29632) #11
  %29634 = icmp ne i32 %29633, 0
  br i1 %29634, label %29635, label %29652

29635:                                            ; preds = %29630
  %29636 = load i32, ptr %727, align 4, !tbaa !5
  %29637 = call ptr @__errno_location() #12
  store i32 %29636, ptr %29637, align 4, !tbaa !5
  %29638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29639 = load i32, ptr @test_count, align 4, !tbaa !5
  %29640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29641 = load i32, ptr %29640, align 4, !tbaa !5
  %29642 = call ptr @s2n_strerror(i32 noundef %29641, ptr noundef @.str.4)
  %29643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29644 = load i32, ptr %29643, align 4, !tbaa !5
  %29645 = call ptr @s2n_strerror_debug(i32 noundef %29644, ptr noundef @.str.4)
  %29646 = call ptr @__errno_location() #12
  %29647 = load i32, ptr %29646, align 4, !tbaa !5
  %29648 = call ptr @strerror(i32 noundef %29647) #11
  %29649 = call ptr @__errno_location() #12
  %29650 = load i32, ptr %29649, align 4, !tbaa !5
  %29651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29638, ptr noundef @.str.2, i32 noundef %29639, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1359, ptr noundef %29642, ptr noundef %29645, ptr noundef %29648, i32 noundef %29650) #11
  br label %29669

29652:                                            ; preds = %29630, %29623
  %29653 = load i32, ptr %727, align 4, !tbaa !5
  %29654 = call ptr @__errno_location() #12
  store i32 %29653, ptr %29654, align 4, !tbaa !5
  %29655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29656 = load i32, ptr @test_count, align 4, !tbaa !5
  %29657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29658 = load i32, ptr %29657, align 4, !tbaa !5
  %29659 = call ptr @s2n_strerror(i32 noundef %29658, ptr noundef @.str.4)
  %29660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29661 = load i32, ptr %29660, align 4, !tbaa !5
  %29662 = call ptr @s2n_strerror_debug(i32 noundef %29661, ptr noundef @.str.4)
  %29663 = call ptr @__errno_location() #12
  %29664 = load i32, ptr %29663, align 4, !tbaa !5
  %29665 = call ptr @strerror(i32 noundef %29664) #11
  %29666 = call ptr @__errno_location() #12
  %29667 = load i32, ptr %29666, align 4, !tbaa !5
  %29668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29655, ptr noundef @.str.5, i32 noundef %29656, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 1359, ptr noundef %29659, ptr noundef %29662, ptr noundef %29665, i32 noundef %29667) #11
  br label %29669

29669:                                            ; preds = %29652, %29635
  call void @llvm.lifetime.end.p0(i64 4, ptr %727) #11
  br label %29670

29670:                                            ; preds = %29669
  br label %29671

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

29672:                                            ; No predecessors!
  br label %29673

29673:                                            ; preds = %29672
  br label %29674

29674:                                            ; preds = %29673, %29615
  br label %29675

29675:                                            ; preds = %29674
  br label %29676

29676:                                            ; preds = %29675
  %29677 = load ptr, ptr %723, align 8, !tbaa !9
  %29678 = getelementptr inbounds %struct.s2n_connection, ptr %29677, i32 0, i32 33
  %29679 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %29678, i32 0, i32 5
  store i32 2, ptr %29679, align 8, !tbaa !105
  %29680 = load i8, ptr %657, align 1, !tbaa !81
  %29681 = zext i8 %29680 to i32
  %29682 = srem i32 %29681, 8
  %29683 = shl i32 1, %29682
  %29684 = load ptr, ptr %723, align 8, !tbaa !9
  %29685 = getelementptr inbounds %struct.s2n_connection, ptr %29684, i32 0, i32 11
  %29686 = load i8, ptr %657, align 1, !tbaa !81
  %29687 = zext i8 %29686 to i32
  %29688 = ashr i32 %29687, 3
  %29689 = sext i32 %29688 to i64
  %29690 = getelementptr inbounds [22 x i8], ptr %29685, i64 0, i64 %29689
  %29691 = load i8, ptr %29690, align 1, !tbaa !81
  %29692 = sext i8 %29691 to i32
  %29693 = or i32 %29692, %29683
  %29694 = trunc i32 %29693 to i8
  store i8 %29694, ptr %29690, align 1, !tbaa !81
  br label %29695

29695:                                            ; preds = %29676
  %29696 = load i32, ptr @test_count, align 4, !tbaa !5
  %29697 = add nsw i32 %29696, 1
  store i32 %29697, ptr @test_count, align 4, !tbaa !5
  %29698 = load ptr, ptr %723, align 8, !tbaa !9
  %29699 = getelementptr inbounds %struct.s2n_connection, ptr %29698, i32 0, i32 11
  %29700 = load i8, ptr %656, align 1, !tbaa !81
  %29701 = zext i8 %29700 to i32
  %29702 = ashr i32 %29701, 3
  %29703 = sext i32 %29702 to i64
  %29704 = getelementptr inbounds [22 x i8], ptr %29699, i64 0, i64 %29703
  %29705 = load i8, ptr %29704, align 1, !tbaa !81
  %29706 = sext i8 %29705 to i32
  %29707 = load i8, ptr %656, align 1, !tbaa !81
  %29708 = zext i8 %29707 to i32
  %29709 = srem i32 %29708, 8
  %29710 = shl i32 1, %29709
  %29711 = and i32 %29706, %29710
  %29712 = icmp ne i32 %29711, 0
  br i1 %29712, label %29713, label %29766

29713:                                            ; preds = %29695
  br label %29714

29714:                                            ; preds = %29713
  br label %29715

29715:                                            ; preds = %29714
  call void @llvm.lifetime.start.p0(i64 4, ptr %728) #11
  %29716 = call ptr @__errno_location() #12
  %29717 = load i32, ptr %29716, align 4, !tbaa !5
  store i32 %29717, ptr %728, align 4, !tbaa !5
  %29718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29719 = call i32 @s2n_print_stacktrace(ptr noundef %29718)
  %29720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29721 = trunc i8 %29720 to i1
  br i1 %29721, label %29722, label %29744

29722:                                            ; preds = %29715
  %29723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29724 = call i32 @fileno(ptr noundef %29723) #11
  %29725 = call i32 @isatty(i32 noundef %29724) #11
  %29726 = icmp ne i32 %29725, 0
  br i1 %29726, label %29727, label %29744

29727:                                            ; preds = %29722
  %29728 = load i32, ptr %728, align 4, !tbaa !5
  %29729 = call ptr @__errno_location() #12
  store i32 %29728, ptr %29729, align 4, !tbaa !5
  %29730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29731 = load i32, ptr @test_count, align 4, !tbaa !5
  %29732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29733 = load i32, ptr %29732, align 4, !tbaa !5
  %29734 = call ptr @s2n_strerror(i32 noundef %29733, ptr noundef @.str.4)
  %29735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29736 = load i32, ptr %29735, align 4, !tbaa !5
  %29737 = call ptr @s2n_strerror_debug(i32 noundef %29736, ptr noundef @.str.4)
  %29738 = call ptr @__errno_location() #12
  %29739 = load i32, ptr %29738, align 4, !tbaa !5
  %29740 = call ptr @strerror(i32 noundef %29739) #11
  %29741 = call ptr @__errno_location() #12
  %29742 = load i32, ptr %29741, align 4, !tbaa !5
  %29743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29730, ptr noundef @.str.2, i32 noundef %29731, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 1364, ptr noundef %29734, ptr noundef %29737, ptr noundef %29740, i32 noundef %29742) #11
  br label %29761

29744:                                            ; preds = %29722, %29715
  %29745 = load i32, ptr %728, align 4, !tbaa !5
  %29746 = call ptr @__errno_location() #12
  store i32 %29745, ptr %29746, align 4, !tbaa !5
  %29747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29748 = load i32, ptr @test_count, align 4, !tbaa !5
  %29749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29750 = load i32, ptr %29749, align 4, !tbaa !5
  %29751 = call ptr @s2n_strerror(i32 noundef %29750, ptr noundef @.str.4)
  %29752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29753 = load i32, ptr %29752, align 4, !tbaa !5
  %29754 = call ptr @s2n_strerror_debug(i32 noundef %29753, ptr noundef @.str.4)
  %29755 = call ptr @__errno_location() #12
  %29756 = load i32, ptr %29755, align 4, !tbaa !5
  %29757 = call ptr @strerror(i32 noundef %29756) #11
  %29758 = call ptr @__errno_location() #12
  %29759 = load i32, ptr %29758, align 4, !tbaa !5
  %29760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29747, ptr noundef @.str.5, i32 noundef %29748, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 1364, ptr noundef %29751, ptr noundef %29754, ptr noundef %29757, i32 noundef %29759) #11
  br label %29761

29761:                                            ; preds = %29744, %29727
  call void @llvm.lifetime.end.p0(i64 4, ptr %728) #11
  br label %29762

29762:                                            ; preds = %29761
  br label %29763

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

29764:                                            ; No predecessors!
  br label %29765

29765:                                            ; preds = %29764
  br label %29766

29766:                                            ; preds = %29765, %29695
  br label %29767

29767:                                            ; preds = %29766
  br label %29768

29768:                                            ; preds = %29767
  br label %29769

29769:                                            ; preds = %29768
  br label %29770

29770:                                            ; preds = %29769
  br label %29771

29771:                                            ; preds = %29770
  %29772 = load i32, ptr @test_count, align 4, !tbaa !5
  %29773 = add nsw i32 %29772, 1
  store i32 %29773, ptr @test_count, align 4, !tbaa !5
  %29774 = load ptr, ptr %723, align 8, !tbaa !9
  %29775 = call i32 @s2n_client_psk_recv(ptr noundef %29774, ptr noundef %725)
  %29776 = icmp eq i32 %29775, -1
  br i1 %29776, label %29830, label %29777

29777:                                            ; preds = %29771
  br label %29778

29778:                                            ; preds = %29777
  br label %29779

29779:                                            ; preds = %29778
  call void @llvm.lifetime.start.p0(i64 4, ptr %729) #11
  %29780 = call ptr @__errno_location() #12
  %29781 = load i32, ptr %29780, align 4, !tbaa !5
  store i32 %29781, ptr %729, align 4, !tbaa !5
  %29782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29783 = call i32 @s2n_print_stacktrace(ptr noundef %29782)
  %29784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29785 = trunc i8 %29784 to i1
  br i1 %29785, label %29786, label %29808

29786:                                            ; preds = %29779
  %29787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29788 = call i32 @fileno(ptr noundef %29787) #11
  %29789 = call i32 @isatty(i32 noundef %29788) #11
  %29790 = icmp ne i32 %29789, 0
  br i1 %29790, label %29791, label %29808

29791:                                            ; preds = %29786
  %29792 = load i32, ptr %729, align 4, !tbaa !5
  %29793 = call ptr @__errno_location() #12
  store i32 %29792, ptr %29793, align 4, !tbaa !5
  %29794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29795 = load i32, ptr @test_count, align 4, !tbaa !5
  %29796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29797 = load i32, ptr %29796, align 4, !tbaa !5
  %29798 = call ptr @s2n_strerror(i32 noundef %29797, ptr noundef @.str.4)
  %29799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29800 = load i32, ptr %29799, align 4, !tbaa !5
  %29801 = call ptr @s2n_strerror_debug(i32 noundef %29800, ptr noundef @.str.4)
  %29802 = call ptr @__errno_location() #12
  %29803 = load i32, ptr %29802, align 4, !tbaa !5
  %29804 = call ptr @strerror(i32 noundef %29803) #11
  %29805 = call ptr @__errno_location() #12
  %29806 = load i32, ptr %29805, align 4, !tbaa !5
  %29807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29794, ptr noundef @.str.2, i32 noundef %29795, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1366, ptr noundef %29798, ptr noundef %29801, ptr noundef %29804, i32 noundef %29806) #11
  br label %29825

29808:                                            ; preds = %29786, %29779
  %29809 = load i32, ptr %729, align 4, !tbaa !5
  %29810 = call ptr @__errno_location() #12
  store i32 %29809, ptr %29810, align 4, !tbaa !5
  %29811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29812 = load i32, ptr @test_count, align 4, !tbaa !5
  %29813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29814 = load i32, ptr %29813, align 4, !tbaa !5
  %29815 = call ptr @s2n_strerror(i32 noundef %29814, ptr noundef @.str.4)
  %29816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29817 = load i32, ptr %29816, align 4, !tbaa !5
  %29818 = call ptr @s2n_strerror_debug(i32 noundef %29817, ptr noundef @.str.4)
  %29819 = call ptr @__errno_location() #12
  %29820 = load i32, ptr %29819, align 4, !tbaa !5
  %29821 = call ptr @strerror(i32 noundef %29820) #11
  %29822 = call ptr @__errno_location() #12
  %29823 = load i32, ptr %29822, align 4, !tbaa !5
  %29824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29811, ptr noundef @.str.5, i32 noundef %29812, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1366, ptr noundef %29815, ptr noundef %29818, ptr noundef %29821, i32 noundef %29823) #11
  br label %29825

29825:                                            ; preds = %29808, %29791
  call void @llvm.lifetime.end.p0(i64 4, ptr %729) #11
  br label %29826

29826:                                            ; preds = %29825
  br label %29827

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

29828:                                            ; No predecessors!
  br label %29829

29829:                                            ; preds = %29828
  br label %29830

29830:                                            ; preds = %29829, %29771
  br label %29831

29831:                                            ; preds = %29830
  br label %29832

29832:                                            ; preds = %29831
  br label %29833

29833:                                            ; preds = %29832
  %29834 = load i32, ptr @test_count, align 4, !tbaa !5
  %29835 = add nsw i32 %29834, 1
  store i32 %29835, ptr @test_count, align 4, !tbaa !5
  %29836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29837 = load i32, ptr %29836, align 4, !tbaa !5
  %29838 = icmp eq i32 %29837, 335544393
  br i1 %29838, label %29892, label %29839

29839:                                            ; preds = %29833
  br label %29840

29840:                                            ; preds = %29839
  br label %29841

29841:                                            ; preds = %29840
  call void @llvm.lifetime.start.p0(i64 4, ptr %730) #11
  %29842 = call ptr @__errno_location() #12
  %29843 = load i32, ptr %29842, align 4, !tbaa !5
  store i32 %29843, ptr %730, align 4, !tbaa !5
  %29844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29845 = call i32 @s2n_print_stacktrace(ptr noundef %29844)
  %29846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29847 = trunc i8 %29846 to i1
  br i1 %29847, label %29848, label %29870

29848:                                            ; preds = %29841
  %29849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29850 = call i32 @fileno(ptr noundef %29849) #11
  %29851 = call i32 @isatty(i32 noundef %29850) #11
  %29852 = icmp ne i32 %29851, 0
  br i1 %29852, label %29853, label %29870

29853:                                            ; preds = %29848
  %29854 = load i32, ptr %730, align 4, !tbaa !5
  %29855 = call ptr @__errno_location() #12
  store i32 %29854, ptr %29855, align 4, !tbaa !5
  %29856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29857 = load i32, ptr @test_count, align 4, !tbaa !5
  %29858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29859 = load i32, ptr %29858, align 4, !tbaa !5
  %29860 = call ptr @s2n_strerror(i32 noundef %29859, ptr noundef @.str.4)
  %29861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29862 = load i32, ptr %29861, align 4, !tbaa !5
  %29863 = call ptr @s2n_strerror_debug(i32 noundef %29862, ptr noundef @.str.4)
  %29864 = call ptr @__errno_location() #12
  %29865 = load i32, ptr %29864, align 4, !tbaa !5
  %29866 = call ptr @strerror(i32 noundef %29865) #11
  %29867 = call ptr @__errno_location() #12
  %29868 = load i32, ptr %29867, align 4, !tbaa !5
  %29869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29856, ptr noundef @.str.2, i32 noundef %29857, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 1366, ptr noundef %29860, ptr noundef %29863, ptr noundef %29866, i32 noundef %29868) #11
  br label %29887

29870:                                            ; preds = %29848, %29841
  %29871 = load i32, ptr %730, align 4, !tbaa !5
  %29872 = call ptr @__errno_location() #12
  store i32 %29871, ptr %29872, align 4, !tbaa !5
  %29873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29874 = load i32, ptr @test_count, align 4, !tbaa !5
  %29875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29876 = load i32, ptr %29875, align 4, !tbaa !5
  %29877 = call ptr @s2n_strerror(i32 noundef %29876, ptr noundef @.str.4)
  %29878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29879 = load i32, ptr %29878, align 4, !tbaa !5
  %29880 = call ptr @s2n_strerror_debug(i32 noundef %29879, ptr noundef @.str.4)
  %29881 = call ptr @__errno_location() #12
  %29882 = load i32, ptr %29881, align 4, !tbaa !5
  %29883 = call ptr @strerror(i32 noundef %29882) #11
  %29884 = call ptr @__errno_location() #12
  %29885 = load i32, ptr %29884, align 4, !tbaa !5
  %29886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29873, ptr noundef @.str.5, i32 noundef %29874, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 1366, ptr noundef %29877, ptr noundef %29880, ptr noundef %29883, i32 noundef %29885) #11
  br label %29887

29887:                                            ; preds = %29870, %29853
  call void @llvm.lifetime.end.p0(i64 4, ptr %730) #11
  br label %29888

29888:                                            ; preds = %29887
  br label %29889

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

29890:                                            ; No predecessors!
  br label %29891

29891:                                            ; preds = %29890
  br label %29892

29892:                                            ; preds = %29891, %29833
  br label %29893

29893:                                            ; preds = %29892
  br label %29894

29894:                                            ; preds = %29893
  br label %29895

29895:                                            ; preds = %29894
  %29896 = load i32, ptr @test_count, align 4, !tbaa !5
  %29897 = add nsw i32 %29896, 1
  store i32 %29897, ptr @test_count, align 4, !tbaa !5
  %29898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29899 = load i32, ptr %29898, align 4, !tbaa !5
  %29900 = call ptr @s2n_strerror_debug(i32 noundef %29899, ptr noundef @.str.4)
  %29901 = icmp eq ptr %29900, null
  br i1 %29901, label %29902, label %29955

29902:                                            ; preds = %29895
  br label %29903

29903:                                            ; preds = %29902
  br label %29904

29904:                                            ; preds = %29903
  call void @llvm.lifetime.start.p0(i64 4, ptr %731) #11
  %29905 = call ptr @__errno_location() #12
  %29906 = load i32, ptr %29905, align 4, !tbaa !5
  store i32 %29906, ptr %731, align 4, !tbaa !5
  %29907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29908 = call i32 @s2n_print_stacktrace(ptr noundef %29907)
  %29909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29910 = trunc i8 %29909 to i1
  br i1 %29910, label %29911, label %29933

29911:                                            ; preds = %29904
  %29912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29913 = call i32 @fileno(ptr noundef %29912) #11
  %29914 = call i32 @isatty(i32 noundef %29913) #11
  %29915 = icmp ne i32 %29914, 0
  br i1 %29915, label %29916, label %29933

29916:                                            ; preds = %29911
  %29917 = load i32, ptr %731, align 4, !tbaa !5
  %29918 = call ptr @__errno_location() #12
  store i32 %29917, ptr %29918, align 4, !tbaa !5
  %29919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29920 = load i32, ptr @test_count, align 4, !tbaa !5
  %29921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29922 = load i32, ptr %29921, align 4, !tbaa !5
  %29923 = call ptr @s2n_strerror(i32 noundef %29922, ptr noundef @.str.4)
  %29924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29925 = load i32, ptr %29924, align 4, !tbaa !5
  %29926 = call ptr @s2n_strerror_debug(i32 noundef %29925, ptr noundef @.str.4)
  %29927 = call ptr @__errno_location() #12
  %29928 = load i32, ptr %29927, align 4, !tbaa !5
  %29929 = call ptr @strerror(i32 noundef %29928) #11
  %29930 = call ptr @__errno_location() #12
  %29931 = load i32, ptr %29930, align 4, !tbaa !5
  %29932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29919, ptr noundef @.str.2, i32 noundef %29920, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1366, ptr noundef %29923, ptr noundef %29926, ptr noundef %29929, i32 noundef %29931) #11
  br label %29950

29933:                                            ; preds = %29911, %29904
  %29934 = load i32, ptr %731, align 4, !tbaa !5
  %29935 = call ptr @__errno_location() #12
  store i32 %29934, ptr %29935, align 4, !tbaa !5
  %29936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29937 = load i32, ptr @test_count, align 4, !tbaa !5
  %29938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29939 = load i32, ptr %29938, align 4, !tbaa !5
  %29940 = call ptr @s2n_strerror(i32 noundef %29939, ptr noundef @.str.4)
  %29941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29942 = load i32, ptr %29941, align 4, !tbaa !5
  %29943 = call ptr @s2n_strerror_debug(i32 noundef %29942, ptr noundef @.str.4)
  %29944 = call ptr @__errno_location() #12
  %29945 = load i32, ptr %29944, align 4, !tbaa !5
  %29946 = call ptr @strerror(i32 noundef %29945) #11
  %29947 = call ptr @__errno_location() #12
  %29948 = load i32, ptr %29947, align 4, !tbaa !5
  %29949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29936, ptr noundef @.str.5, i32 noundef %29937, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1366, ptr noundef %29940, ptr noundef %29943, ptr noundef %29946, i32 noundef %29948) #11
  br label %29950

29950:                                            ; preds = %29933, %29916
  call void @llvm.lifetime.end.p0(i64 4, ptr %731) #11
  br label %29951

29951:                                            ; preds = %29950
  br label %29952

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

29953:                                            ; No predecessors!
  br label %29954

29954:                                            ; preds = %29953
  br label %29955

29955:                                            ; preds = %29954, %29895
  br label %29956

29956:                                            ; preds = %29955
  br label %29957

29957:                                            ; preds = %29956
  br label %29958

29958:                                            ; preds = %29957
  br label %29959

29959:                                            ; preds = %29958
  br label %29960

29960:                                            ; preds = %29959
  %29961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %29961, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %29962 = call ptr @__errno_location() #12
  store i32 0, ptr %29962, align 4, !tbaa !5
  br label %29963

29963:                                            ; preds = %29960
  br label %29964

29964:                                            ; preds = %29963
  br label %29965

29965:                                            ; preds = %29964
  br label %29966

29966:                                            ; preds = %29965
  br label %29967

29967:                                            ; preds = %29966
  %29968 = load i32, ptr @test_count, align 4, !tbaa !5
  %29969 = add nsw i32 %29968, 1
  store i32 %29969, ptr @test_count, align 4, !tbaa !5
  %29970 = load ptr, ptr %723, align 8, !tbaa !9
  %29971 = call i32 @s2n_connection_free(ptr noundef %29970)
  %29972 = icmp eq i32 %29971, -1
  br i1 %29972, label %29973, label %30026

29973:                                            ; preds = %29967
  br label %29974

29974:                                            ; preds = %29973
  br label %29975

29975:                                            ; preds = %29974
  call void @llvm.lifetime.start.p0(i64 4, ptr %732) #11
  %29976 = call ptr @__errno_location() #12
  %29977 = load i32, ptr %29976, align 4, !tbaa !5
  store i32 %29977, ptr %732, align 4, !tbaa !5
  %29978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29979 = call i32 @s2n_print_stacktrace(ptr noundef %29978)
  %29980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29981 = trunc i8 %29980 to i1
  br i1 %29981, label %29982, label %30004

29982:                                            ; preds = %29975
  %29983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29984 = call i32 @fileno(ptr noundef %29983) #11
  %29985 = call i32 @isatty(i32 noundef %29984) #11
  %29986 = icmp ne i32 %29985, 0
  br i1 %29986, label %29987, label %30004

29987:                                            ; preds = %29982
  %29988 = load i32, ptr %732, align 4, !tbaa !5
  %29989 = call ptr @__errno_location() #12
  store i32 %29988, ptr %29989, align 4, !tbaa !5
  %29990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29991 = load i32, ptr @test_count, align 4, !tbaa !5
  %29992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29993 = load i32, ptr %29992, align 4, !tbaa !5
  %29994 = call ptr @s2n_strerror(i32 noundef %29993, ptr noundef @.str.4)
  %29995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29996 = load i32, ptr %29995, align 4, !tbaa !5
  %29997 = call ptr @s2n_strerror_debug(i32 noundef %29996, ptr noundef @.str.4)
  %29998 = call ptr @__errno_location() #12
  %29999 = load i32, ptr %29998, align 4, !tbaa !5
  %30000 = call ptr @strerror(i32 noundef %29999) #11
  %30001 = call ptr @__errno_location() #12
  %30002 = load i32, ptr %30001, align 4, !tbaa !5
  %30003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29990, ptr noundef @.str.2, i32 noundef %29991, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1368, ptr noundef %29994, ptr noundef %29997, ptr noundef %30000, i32 noundef %30002) #11
  br label %30021

30004:                                            ; preds = %29982, %29975
  %30005 = load i32, ptr %732, align 4, !tbaa !5
  %30006 = call ptr @__errno_location() #12
  store i32 %30005, ptr %30006, align 4, !tbaa !5
  %30007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30008 = load i32, ptr @test_count, align 4, !tbaa !5
  %30009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30010 = load i32, ptr %30009, align 4, !tbaa !5
  %30011 = call ptr @s2n_strerror(i32 noundef %30010, ptr noundef @.str.4)
  %30012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30013 = load i32, ptr %30012, align 4, !tbaa !5
  %30014 = call ptr @s2n_strerror_debug(i32 noundef %30013, ptr noundef @.str.4)
  %30015 = call ptr @__errno_location() #12
  %30016 = load i32, ptr %30015, align 4, !tbaa !5
  %30017 = call ptr @strerror(i32 noundef %30016) #11
  %30018 = call ptr @__errno_location() #12
  %30019 = load i32, ptr %30018, align 4, !tbaa !5
  %30020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30007, ptr noundef @.str.5, i32 noundef %30008, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1368, ptr noundef %30011, ptr noundef %30014, ptr noundef %30017, i32 noundef %30019) #11
  br label %30021

30021:                                            ; preds = %30004, %29987
  call void @llvm.lifetime.end.p0(i64 4, ptr %732) #11
  br label %30022

30022:                                            ; preds = %30021
  br label %30023

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

30024:                                            ; No predecessors!
  br label %30025

30025:                                            ; preds = %30024
  br label %30026

30026:                                            ; preds = %30025, %29967
  br label %30027

30027:                                            ; preds = %30026
  br label %30028

30028:                                            ; preds = %30027
  br label %30029

30029:                                            ; preds = %30028
  %30030 = load i32, ptr @test_count, align 4, !tbaa !5
  %30031 = add nsw i32 %30030, 1
  store i32 %30031, ptr @test_count, align 4, !tbaa !5
  %30032 = call i32 @s2n_stuffer_free(ptr noundef %725)
  %30033 = icmp eq i32 %30032, -1
  br i1 %30033, label %30034, label %30087

30034:                                            ; preds = %30029
  br label %30035

30035:                                            ; preds = %30034
  br label %30036

30036:                                            ; preds = %30035
  call void @llvm.lifetime.start.p0(i64 4, ptr %733) #11
  %30037 = call ptr @__errno_location() #12
  %30038 = load i32, ptr %30037, align 4, !tbaa !5
  store i32 %30038, ptr %733, align 4, !tbaa !5
  %30039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30040 = call i32 @s2n_print_stacktrace(ptr noundef %30039)
  %30041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30042 = trunc i8 %30041 to i1
  br i1 %30042, label %30043, label %30065

30043:                                            ; preds = %30036
  %30044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30045 = call i32 @fileno(ptr noundef %30044) #11
  %30046 = call i32 @isatty(i32 noundef %30045) #11
  %30047 = icmp ne i32 %30046, 0
  br i1 %30047, label %30048, label %30065

30048:                                            ; preds = %30043
  %30049 = load i32, ptr %733, align 4, !tbaa !5
  %30050 = call ptr @__errno_location() #12
  store i32 %30049, ptr %30050, align 4, !tbaa !5
  %30051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30052 = load i32, ptr @test_count, align 4, !tbaa !5
  %30053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30054 = load i32, ptr %30053, align 4, !tbaa !5
  %30055 = call ptr @s2n_strerror(i32 noundef %30054, ptr noundef @.str.4)
  %30056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30057 = load i32, ptr %30056, align 4, !tbaa !5
  %30058 = call ptr @s2n_strerror_debug(i32 noundef %30057, ptr noundef @.str.4)
  %30059 = call ptr @__errno_location() #12
  %30060 = load i32, ptr %30059, align 4, !tbaa !5
  %30061 = call ptr @strerror(i32 noundef %30060) #11
  %30062 = call ptr @__errno_location() #12
  %30063 = load i32, ptr %30062, align 4, !tbaa !5
  %30064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30051, ptr noundef @.str.2, i32 noundef %30052, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1369, ptr noundef %30055, ptr noundef %30058, ptr noundef %30061, i32 noundef %30063) #11
  br label %30082

30065:                                            ; preds = %30043, %30036
  %30066 = load i32, ptr %733, align 4, !tbaa !5
  %30067 = call ptr @__errno_location() #12
  store i32 %30066, ptr %30067, align 4, !tbaa !5
  %30068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30069 = load i32, ptr @test_count, align 4, !tbaa !5
  %30070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30071 = load i32, ptr %30070, align 4, !tbaa !5
  %30072 = call ptr @s2n_strerror(i32 noundef %30071, ptr noundef @.str.4)
  %30073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30074 = load i32, ptr %30073, align 4, !tbaa !5
  %30075 = call ptr @s2n_strerror_debug(i32 noundef %30074, ptr noundef @.str.4)
  %30076 = call ptr @__errno_location() #12
  %30077 = load i32, ptr %30076, align 4, !tbaa !5
  %30078 = call ptr @strerror(i32 noundef %30077) #11
  %30079 = call ptr @__errno_location() #12
  %30080 = load i32, ptr %30079, align 4, !tbaa !5
  %30081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30068, ptr noundef @.str.5, i32 noundef %30069, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 1369, ptr noundef %30072, ptr noundef %30075, ptr noundef %30078, i32 noundef %30080) #11
  br label %30082

30082:                                            ; preds = %30065, %30048
  call void @llvm.lifetime.end.p0(i64 4, ptr %733) #11
  br label %30083

30083:                                            ; preds = %30082
  br label %30084

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

30085:                                            ; No predecessors!
  br label %30086

30086:                                            ; preds = %30085
  br label %30087

30087:                                            ; preds = %30086, %30029
  br label %30088

30088:                                            ; preds = %30087
  br label %30089

30089:                                            ; preds = %30088
  call void @llvm.lifetime.end.p0(i64 40, ptr %725) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %723) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %722) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %734) #11
  store i8 0, ptr %734, align 1, !tbaa !81
  br label %30090

30090:                                            ; preds = %30089
  %30091 = load i32, ptr @test_count, align 4, !tbaa !5
  %30092 = add nsw i32 %30091, 1
  store i32 %30092, ptr @test_count, align 4, !tbaa !5
  %30093 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 41, ptr noundef %734)
  %30094 = icmp eq i32 %30093, -1
  br i1 %30094, label %30095, label %30148

30095:                                            ; preds = %30090
  br label %30096

30096:                                            ; preds = %30095
  br label %30097

30097:                                            ; preds = %30096
  call void @llvm.lifetime.start.p0(i64 4, ptr %735) #11
  %30098 = call ptr @__errno_location() #12
  %30099 = load i32, ptr %30098, align 4, !tbaa !5
  store i32 %30099, ptr %735, align 4, !tbaa !5
  %30100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30101 = call i32 @s2n_print_stacktrace(ptr noundef %30100)
  %30102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30103 = trunc i8 %30102 to i1
  br i1 %30103, label %30104, label %30126

30104:                                            ; preds = %30097
  %30105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30106 = call i32 @fileno(ptr noundef %30105) #11
  %30107 = call i32 @isatty(i32 noundef %30106) #11
  %30108 = icmp ne i32 %30107, 0
  br i1 %30108, label %30109, label %30126

30109:                                            ; preds = %30104
  %30110 = load i32, ptr %735, align 4, !tbaa !5
  %30111 = call ptr @__errno_location() #12
  store i32 %30110, ptr %30111, align 4, !tbaa !5
  %30112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30113 = load i32, ptr @test_count, align 4, !tbaa !5
  %30114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30115 = load i32, ptr %30114, align 4, !tbaa !5
  %30116 = call ptr @s2n_strerror(i32 noundef %30115, ptr noundef @.str.4)
  %30117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30118 = load i32, ptr %30117, align 4, !tbaa !5
  %30119 = call ptr @s2n_strerror_debug(i32 noundef %30118, ptr noundef @.str.4)
  %30120 = call ptr @__errno_location() #12
  %30121 = load i32, ptr %30120, align 4, !tbaa !5
  %30122 = call ptr @strerror(i32 noundef %30121) #11
  %30123 = call ptr @__errno_location() #12
  %30124 = load i32, ptr %30123, align 4, !tbaa !5
  %30125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30112, ptr noundef @.str.2, i32 noundef %30113, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 1375, ptr noundef %30116, ptr noundef %30119, ptr noundef %30122, i32 noundef %30124) #11
  br label %30143

30126:                                            ; preds = %30104, %30097
  %30127 = load i32, ptr %735, align 4, !tbaa !5
  %30128 = call ptr @__errno_location() #12
  store i32 %30127, ptr %30128, align 4, !tbaa !5
  %30129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30130 = load i32, ptr @test_count, align 4, !tbaa !5
  %30131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30132 = load i32, ptr %30131, align 4, !tbaa !5
  %30133 = call ptr @s2n_strerror(i32 noundef %30132, ptr noundef @.str.4)
  %30134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30135 = load i32, ptr %30134, align 4, !tbaa !5
  %30136 = call ptr @s2n_strerror_debug(i32 noundef %30135, ptr noundef @.str.4)
  %30137 = call ptr @__errno_location() #12
  %30138 = load i32, ptr %30137, align 4, !tbaa !5
  %30139 = call ptr @strerror(i32 noundef %30138) #11
  %30140 = call ptr @__errno_location() #12
  %30141 = load i32, ptr %30140, align 4, !tbaa !5
  %30142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30129, ptr noundef @.str.5, i32 noundef %30130, ptr noundef @.str.189, ptr noundef @.str.1, i32 noundef 1375, ptr noundef %30133, ptr noundef %30136, ptr noundef %30139, i32 noundef %30141) #11
  br label %30143

30143:                                            ; preds = %30126, %30109
  call void @llvm.lifetime.end.p0(i64 4, ptr %735) #11
  br label %30144

30144:                                            ; preds = %30143
  br label %30145

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

30146:                                            ; No predecessors!
  br label %30147

30147:                                            ; preds = %30146
  br label %30148

30148:                                            ; preds = %30147, %30090
  br label %30149

30149:                                            ; preds = %30148
  br label %30150

30150:                                            ; preds = %30149
  call void @llvm.lifetime.start.p0(i64 40, ptr %736) #11
  call void @llvm.memset.p0.i64(ptr align 8 %736, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %737) #11
  store ptr null, ptr %737, align 8, !tbaa !9
  br label %30151

30151:                                            ; preds = %30150
  %30152 = load i32, ptr @test_count, align 4, !tbaa !5
  %30153 = add nsw i32 %30152, 1
  store i32 %30153, ptr @test_count, align 4, !tbaa !5
  %30154 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %30154, ptr %737, align 8, !tbaa !9
  %30155 = icmp eq ptr %30154, null
  br i1 %30155, label %30156, label %30209

30156:                                            ; preds = %30151
  br label %30157

30157:                                            ; preds = %30156
  br label %30158

30158:                                            ; preds = %30157
  call void @llvm.lifetime.start.p0(i64 4, ptr %738) #11
  %30159 = call ptr @__errno_location() #12
  %30160 = load i32, ptr %30159, align 4, !tbaa !5
  store i32 %30160, ptr %738, align 4, !tbaa !5
  %30161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30162 = call i32 @s2n_print_stacktrace(ptr noundef %30161)
  %30163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30164 = trunc i8 %30163 to i1
  br i1 %30164, label %30165, label %30187

30165:                                            ; preds = %30158
  %30166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30167 = call i32 @fileno(ptr noundef %30166) #11
  %30168 = call i32 @isatty(i32 noundef %30167) #11
  %30169 = icmp ne i32 %30168, 0
  br i1 %30169, label %30170, label %30187

30170:                                            ; preds = %30165
  %30171 = load i32, ptr %738, align 4, !tbaa !5
  %30172 = call ptr @__errno_location() #12
  store i32 %30171, ptr %30172, align 4, !tbaa !5
  %30173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30174 = load i32, ptr @test_count, align 4, !tbaa !5
  %30175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30176 = load i32, ptr %30175, align 4, !tbaa !5
  %30177 = call ptr @s2n_strerror(i32 noundef %30176, ptr noundef @.str.4)
  %30178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30179 = load i32, ptr %30178, align 4, !tbaa !5
  %30180 = call ptr @s2n_strerror_debug(i32 noundef %30179, ptr noundef @.str.4)
  %30181 = call ptr @__errno_location() #12
  %30182 = load i32, ptr %30181, align 4, !tbaa !5
  %30183 = call ptr @strerror(i32 noundef %30182) #11
  %30184 = call ptr @__errno_location() #12
  %30185 = load i32, ptr %30184, align 4, !tbaa !5
  %30186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30173, ptr noundef @.str.2, i32 noundef %30174, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1379, ptr noundef %30177, ptr noundef %30180, ptr noundef %30183, i32 noundef %30185) #11
  br label %30204

30187:                                            ; preds = %30165, %30158
  %30188 = load i32, ptr %738, align 4, !tbaa !5
  %30189 = call ptr @__errno_location() #12
  store i32 %30188, ptr %30189, align 4, !tbaa !5
  %30190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30191 = load i32, ptr @test_count, align 4, !tbaa !5
  %30192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30193 = load i32, ptr %30192, align 4, !tbaa !5
  %30194 = call ptr @s2n_strerror(i32 noundef %30193, ptr noundef @.str.4)
  %30195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30196 = load i32, ptr %30195, align 4, !tbaa !5
  %30197 = call ptr @s2n_strerror_debug(i32 noundef %30196, ptr noundef @.str.4)
  %30198 = call ptr @__errno_location() #12
  %30199 = load i32, ptr %30198, align 4, !tbaa !5
  %30200 = call ptr @strerror(i32 noundef %30199) #11
  %30201 = call ptr @__errno_location() #12
  %30202 = load i32, ptr %30201, align 4, !tbaa !5
  %30203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30190, ptr noundef @.str.5, i32 noundef %30191, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1379, ptr noundef %30194, ptr noundef %30197, ptr noundef %30200, i32 noundef %30202) #11
  br label %30204

30204:                                            ; preds = %30187, %30170
  call void @llvm.lifetime.end.p0(i64 4, ptr %738) #11
  br label %30205

30205:                                            ; preds = %30204
  br label %30206

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

30207:                                            ; No predecessors!
  br label %30208

30208:                                            ; preds = %30207
  br label %30209

30209:                                            ; preds = %30208, %30151
  br label %30210

30210:                                            ; preds = %30209
  br label %30211

30211:                                            ; preds = %30210
  %30212 = load ptr, ptr %737, align 8, !tbaa !9
  %30213 = getelementptr inbounds %struct.s2n_connection, ptr %30212, i32 0, i32 71
  %30214 = getelementptr inbounds %struct.s2n_client_hello, ptr %30213, i32 0, i32 1
  %30215 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %30214, i32 0, i32 2
  store i16 2, ptr %30215, align 8, !tbaa !104
  %30216 = load ptr, ptr %737, align 8, !tbaa !9
  %30217 = getelementptr inbounds %struct.s2n_connection, ptr %30216, i32 0, i32 71
  %30218 = getelementptr inbounds %struct.s2n_client_hello, ptr %30217, i32 0, i32 1
  %30219 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %30218, i32 0, i32 0
  %30220 = load i8, ptr %734, align 1, !tbaa !81
  %30221 = zext i8 %30220 to i64
  %30222 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %30219, i64 0, i64 %30221
  %30223 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %30222, i32 0, i32 2
  store i16 0, ptr %30223, align 2, !tbaa !106
  br label %30224

30224:                                            ; preds = %30211
  br label %30225

30225:                                            ; preds = %30224
  br label %30226

30226:                                            ; preds = %30225
  %30227 = load i32, ptr @test_count, align 4, !tbaa !5
  %30228 = add nsw i32 %30227, 1
  store i32 %30228, ptr @test_count, align 4, !tbaa !5
  %30229 = load ptr, ptr %737, align 8, !tbaa !9
  %30230 = call i32 @s2n_client_psk_recv(ptr noundef %30229, ptr noundef %736)
  %30231 = icmp eq i32 %30230, -1
  br i1 %30231, label %30285, label %30232

30232:                                            ; preds = %30226
  br label %30233

30233:                                            ; preds = %30232
  br label %30234

30234:                                            ; preds = %30233
  call void @llvm.lifetime.start.p0(i64 4, ptr %739) #11
  %30235 = call ptr @__errno_location() #12
  %30236 = load i32, ptr %30235, align 4, !tbaa !5
  store i32 %30236, ptr %739, align 4, !tbaa !5
  %30237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30238 = call i32 @s2n_print_stacktrace(ptr noundef %30237)
  %30239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30240 = trunc i8 %30239 to i1
  br i1 %30240, label %30241, label %30263

30241:                                            ; preds = %30234
  %30242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30243 = call i32 @fileno(ptr noundef %30242) #11
  %30244 = call i32 @isatty(i32 noundef %30243) #11
  %30245 = icmp ne i32 %30244, 0
  br i1 %30245, label %30246, label %30263

30246:                                            ; preds = %30241
  %30247 = load i32, ptr %739, align 4, !tbaa !5
  %30248 = call ptr @__errno_location() #12
  store i32 %30247, ptr %30248, align 4, !tbaa !5
  %30249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30250 = load i32, ptr @test_count, align 4, !tbaa !5
  %30251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30252 = load i32, ptr %30251, align 4, !tbaa !5
  %30253 = call ptr @s2n_strerror(i32 noundef %30252, ptr noundef @.str.4)
  %30254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30255 = load i32, ptr %30254, align 4, !tbaa !5
  %30256 = call ptr @s2n_strerror_debug(i32 noundef %30255, ptr noundef @.str.4)
  %30257 = call ptr @__errno_location() #12
  %30258 = load i32, ptr %30257, align 4, !tbaa !5
  %30259 = call ptr @strerror(i32 noundef %30258) #11
  %30260 = call ptr @__errno_location() #12
  %30261 = load i32, ptr %30260, align 4, !tbaa !5
  %30262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30249, ptr noundef @.str.2, i32 noundef %30250, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1383, ptr noundef %30253, ptr noundef %30256, ptr noundef %30259, i32 noundef %30261) #11
  br label %30280

30263:                                            ; preds = %30241, %30234
  %30264 = load i32, ptr %739, align 4, !tbaa !5
  %30265 = call ptr @__errno_location() #12
  store i32 %30264, ptr %30265, align 4, !tbaa !5
  %30266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30267 = load i32, ptr @test_count, align 4, !tbaa !5
  %30268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30269 = load i32, ptr %30268, align 4, !tbaa !5
  %30270 = call ptr @s2n_strerror(i32 noundef %30269, ptr noundef @.str.4)
  %30271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30272 = load i32, ptr %30271, align 4, !tbaa !5
  %30273 = call ptr @s2n_strerror_debug(i32 noundef %30272, ptr noundef @.str.4)
  %30274 = call ptr @__errno_location() #12
  %30275 = load i32, ptr %30274, align 4, !tbaa !5
  %30276 = call ptr @strerror(i32 noundef %30275) #11
  %30277 = call ptr @__errno_location() #12
  %30278 = load i32, ptr %30277, align 4, !tbaa !5
  %30279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30266, ptr noundef @.str.5, i32 noundef %30267, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1383, ptr noundef %30270, ptr noundef %30273, ptr noundef %30276, i32 noundef %30278) #11
  br label %30280

30280:                                            ; preds = %30263, %30246
  call void @llvm.lifetime.end.p0(i64 4, ptr %739) #11
  br label %30281

30281:                                            ; preds = %30280
  br label %30282

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

30283:                                            ; No predecessors!
  br label %30284

30284:                                            ; preds = %30283
  br label %30285

30285:                                            ; preds = %30284, %30226
  br label %30286

30286:                                            ; preds = %30285
  br label %30287

30287:                                            ; preds = %30286
  br label %30288

30288:                                            ; preds = %30287
  %30289 = load i32, ptr @test_count, align 4, !tbaa !5
  %30290 = add nsw i32 %30289, 1
  store i32 %30290, ptr @test_count, align 4, !tbaa !5
  %30291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30292 = load i32, ptr %30291, align 4, !tbaa !5
  %30293 = icmp eq i32 %30292, 335544394
  br i1 %30293, label %30347, label %30294

30294:                                            ; preds = %30288
  br label %30295

30295:                                            ; preds = %30294
  br label %30296

30296:                                            ; preds = %30295
  call void @llvm.lifetime.start.p0(i64 4, ptr %740) #11
  %30297 = call ptr @__errno_location() #12
  %30298 = load i32, ptr %30297, align 4, !tbaa !5
  store i32 %30298, ptr %740, align 4, !tbaa !5
  %30299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30300 = call i32 @s2n_print_stacktrace(ptr noundef %30299)
  %30301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30302 = trunc i8 %30301 to i1
  br i1 %30302, label %30303, label %30325

30303:                                            ; preds = %30296
  %30304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30305 = call i32 @fileno(ptr noundef %30304) #11
  %30306 = call i32 @isatty(i32 noundef %30305) #11
  %30307 = icmp ne i32 %30306, 0
  br i1 %30307, label %30308, label %30325

30308:                                            ; preds = %30303
  %30309 = load i32, ptr %740, align 4, !tbaa !5
  %30310 = call ptr @__errno_location() #12
  store i32 %30309, ptr %30310, align 4, !tbaa !5
  %30311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30312 = load i32, ptr @test_count, align 4, !tbaa !5
  %30313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30314 = load i32, ptr %30313, align 4, !tbaa !5
  %30315 = call ptr @s2n_strerror(i32 noundef %30314, ptr noundef @.str.4)
  %30316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30317 = load i32, ptr %30316, align 4, !tbaa !5
  %30318 = call ptr @s2n_strerror_debug(i32 noundef %30317, ptr noundef @.str.4)
  %30319 = call ptr @__errno_location() #12
  %30320 = load i32, ptr %30319, align 4, !tbaa !5
  %30321 = call ptr @strerror(i32 noundef %30320) #11
  %30322 = call ptr @__errno_location() #12
  %30323 = load i32, ptr %30322, align 4, !tbaa !5
  %30324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30311, ptr noundef @.str.2, i32 noundef %30312, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1383, ptr noundef %30315, ptr noundef %30318, ptr noundef %30321, i32 noundef %30323) #11
  br label %30342

30325:                                            ; preds = %30303, %30296
  %30326 = load i32, ptr %740, align 4, !tbaa !5
  %30327 = call ptr @__errno_location() #12
  store i32 %30326, ptr %30327, align 4, !tbaa !5
  %30328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30329 = load i32, ptr @test_count, align 4, !tbaa !5
  %30330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30331 = load i32, ptr %30330, align 4, !tbaa !5
  %30332 = call ptr @s2n_strerror(i32 noundef %30331, ptr noundef @.str.4)
  %30333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30334 = load i32, ptr %30333, align 4, !tbaa !5
  %30335 = call ptr @s2n_strerror_debug(i32 noundef %30334, ptr noundef @.str.4)
  %30336 = call ptr @__errno_location() #12
  %30337 = load i32, ptr %30336, align 4, !tbaa !5
  %30338 = call ptr @strerror(i32 noundef %30337) #11
  %30339 = call ptr @__errno_location() #12
  %30340 = load i32, ptr %30339, align 4, !tbaa !5
  %30341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30328, ptr noundef @.str.5, i32 noundef %30329, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1383, ptr noundef %30332, ptr noundef %30335, ptr noundef %30338, i32 noundef %30340) #11
  br label %30342

30342:                                            ; preds = %30325, %30308
  call void @llvm.lifetime.end.p0(i64 4, ptr %740) #11
  br label %30343

30343:                                            ; preds = %30342
  br label %30344

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

30345:                                            ; No predecessors!
  br label %30346

30346:                                            ; preds = %30345
  br label %30347

30347:                                            ; preds = %30346, %30288
  br label %30348

30348:                                            ; preds = %30347
  br label %30349

30349:                                            ; preds = %30348
  br label %30350

30350:                                            ; preds = %30349
  %30351 = load i32, ptr @test_count, align 4, !tbaa !5
  %30352 = add nsw i32 %30351, 1
  store i32 %30352, ptr @test_count, align 4, !tbaa !5
  %30353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30354 = load i32, ptr %30353, align 4, !tbaa !5
  %30355 = call ptr @s2n_strerror_debug(i32 noundef %30354, ptr noundef @.str.4)
  %30356 = icmp eq ptr %30355, null
  br i1 %30356, label %30357, label %30410

30357:                                            ; preds = %30350
  br label %30358

30358:                                            ; preds = %30357
  br label %30359

30359:                                            ; preds = %30358
  call void @llvm.lifetime.start.p0(i64 4, ptr %741) #11
  %30360 = call ptr @__errno_location() #12
  %30361 = load i32, ptr %30360, align 4, !tbaa !5
  store i32 %30361, ptr %741, align 4, !tbaa !5
  %30362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30363 = call i32 @s2n_print_stacktrace(ptr noundef %30362)
  %30364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30365 = trunc i8 %30364 to i1
  br i1 %30365, label %30366, label %30388

30366:                                            ; preds = %30359
  %30367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30368 = call i32 @fileno(ptr noundef %30367) #11
  %30369 = call i32 @isatty(i32 noundef %30368) #11
  %30370 = icmp ne i32 %30369, 0
  br i1 %30370, label %30371, label %30388

30371:                                            ; preds = %30366
  %30372 = load i32, ptr %741, align 4, !tbaa !5
  %30373 = call ptr @__errno_location() #12
  store i32 %30372, ptr %30373, align 4, !tbaa !5
  %30374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30375 = load i32, ptr @test_count, align 4, !tbaa !5
  %30376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30377 = load i32, ptr %30376, align 4, !tbaa !5
  %30378 = call ptr @s2n_strerror(i32 noundef %30377, ptr noundef @.str.4)
  %30379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30380 = load i32, ptr %30379, align 4, !tbaa !5
  %30381 = call ptr @s2n_strerror_debug(i32 noundef %30380, ptr noundef @.str.4)
  %30382 = call ptr @__errno_location() #12
  %30383 = load i32, ptr %30382, align 4, !tbaa !5
  %30384 = call ptr @strerror(i32 noundef %30383) #11
  %30385 = call ptr @__errno_location() #12
  %30386 = load i32, ptr %30385, align 4, !tbaa !5
  %30387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30374, ptr noundef @.str.2, i32 noundef %30375, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1383, ptr noundef %30378, ptr noundef %30381, ptr noundef %30384, i32 noundef %30386) #11
  br label %30405

30388:                                            ; preds = %30366, %30359
  %30389 = load i32, ptr %741, align 4, !tbaa !5
  %30390 = call ptr @__errno_location() #12
  store i32 %30389, ptr %30390, align 4, !tbaa !5
  %30391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30392 = load i32, ptr @test_count, align 4, !tbaa !5
  %30393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30394 = load i32, ptr %30393, align 4, !tbaa !5
  %30395 = call ptr @s2n_strerror(i32 noundef %30394, ptr noundef @.str.4)
  %30396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30397 = load i32, ptr %30396, align 4, !tbaa !5
  %30398 = call ptr @s2n_strerror_debug(i32 noundef %30397, ptr noundef @.str.4)
  %30399 = call ptr @__errno_location() #12
  %30400 = load i32, ptr %30399, align 4, !tbaa !5
  %30401 = call ptr @strerror(i32 noundef %30400) #11
  %30402 = call ptr @__errno_location() #12
  %30403 = load i32, ptr %30402, align 4, !tbaa !5
  %30404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30391, ptr noundef @.str.5, i32 noundef %30392, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1383, ptr noundef %30395, ptr noundef %30398, ptr noundef %30401, i32 noundef %30403) #11
  br label %30405

30405:                                            ; preds = %30388, %30371
  call void @llvm.lifetime.end.p0(i64 4, ptr %741) #11
  br label %30406

30406:                                            ; preds = %30405
  br label %30407

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

30408:                                            ; No predecessors!
  br label %30409

30409:                                            ; preds = %30408
  br label %30410

30410:                                            ; preds = %30409, %30350
  br label %30411

30411:                                            ; preds = %30410
  br label %30412

30412:                                            ; preds = %30411
  br label %30413

30413:                                            ; preds = %30412
  br label %30414

30414:                                            ; preds = %30413
  br label %30415

30415:                                            ; preds = %30414
  %30416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30416, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30417 = call ptr @__errno_location() #12
  store i32 0, ptr %30417, align 4, !tbaa !5
  br label %30418

30418:                                            ; preds = %30415
  br label %30419

30419:                                            ; preds = %30418
  br label %30420

30420:                                            ; preds = %30419
  br label %30421

30421:                                            ; preds = %30420
  %30422 = load ptr, ptr %737, align 8, !tbaa !9
  %30423 = getelementptr inbounds %struct.s2n_connection, ptr %30422, i32 0, i32 71
  %30424 = getelementptr inbounds %struct.s2n_client_hello, ptr %30423, i32 0, i32 1
  %30425 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %30424, i32 0, i32 2
  store i16 5, ptr %30425, align 8, !tbaa !104
  %30426 = load ptr, ptr %737, align 8, !tbaa !9
  %30427 = getelementptr inbounds %struct.s2n_connection, ptr %30426, i32 0, i32 71
  %30428 = getelementptr inbounds %struct.s2n_client_hello, ptr %30427, i32 0, i32 1
  %30429 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %30428, i32 0, i32 0
  %30430 = load i8, ptr %734, align 1, !tbaa !81
  %30431 = zext i8 %30430 to i64
  %30432 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %30429, i64 0, i64 %30431
  %30433 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %30432, i32 0, i32 2
  store i16 1, ptr %30433, align 2, !tbaa !106
  br label %30434

30434:                                            ; preds = %30421
  br label %30435

30435:                                            ; preds = %30434
  br label %30436

30436:                                            ; preds = %30435
  %30437 = load i32, ptr @test_count, align 4, !tbaa !5
  %30438 = add nsw i32 %30437, 1
  store i32 %30438, ptr @test_count, align 4, !tbaa !5
  %30439 = load ptr, ptr %737, align 8, !tbaa !9
  %30440 = call i32 @s2n_client_psk_recv(ptr noundef %30439, ptr noundef %736)
  %30441 = icmp eq i32 %30440, -1
  br i1 %30441, label %30495, label %30442

30442:                                            ; preds = %30436
  br label %30443

30443:                                            ; preds = %30442
  br label %30444

30444:                                            ; preds = %30443
  call void @llvm.lifetime.start.p0(i64 4, ptr %742) #11
  %30445 = call ptr @__errno_location() #12
  %30446 = load i32, ptr %30445, align 4, !tbaa !5
  store i32 %30446, ptr %742, align 4, !tbaa !5
  %30447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30448 = call i32 @s2n_print_stacktrace(ptr noundef %30447)
  %30449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30450 = trunc i8 %30449 to i1
  br i1 %30450, label %30451, label %30473

30451:                                            ; preds = %30444
  %30452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30453 = call i32 @fileno(ptr noundef %30452) #11
  %30454 = call i32 @isatty(i32 noundef %30453) #11
  %30455 = icmp ne i32 %30454, 0
  br i1 %30455, label %30456, label %30473

30456:                                            ; preds = %30451
  %30457 = load i32, ptr %742, align 4, !tbaa !5
  %30458 = call ptr @__errno_location() #12
  store i32 %30457, ptr %30458, align 4, !tbaa !5
  %30459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30460 = load i32, ptr @test_count, align 4, !tbaa !5
  %30461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30462 = load i32, ptr %30461, align 4, !tbaa !5
  %30463 = call ptr @s2n_strerror(i32 noundef %30462, ptr noundef @.str.4)
  %30464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30465 = load i32, ptr %30464, align 4, !tbaa !5
  %30466 = call ptr @s2n_strerror_debug(i32 noundef %30465, ptr noundef @.str.4)
  %30467 = call ptr @__errno_location() #12
  %30468 = load i32, ptr %30467, align 4, !tbaa !5
  %30469 = call ptr @strerror(i32 noundef %30468) #11
  %30470 = call ptr @__errno_location() #12
  %30471 = load i32, ptr %30470, align 4, !tbaa !5
  %30472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30459, ptr noundef @.str.2, i32 noundef %30460, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1387, ptr noundef %30463, ptr noundef %30466, ptr noundef %30469, i32 noundef %30471) #11
  br label %30490

30473:                                            ; preds = %30451, %30444
  %30474 = load i32, ptr %742, align 4, !tbaa !5
  %30475 = call ptr @__errno_location() #12
  store i32 %30474, ptr %30475, align 4, !tbaa !5
  %30476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30477 = load i32, ptr @test_count, align 4, !tbaa !5
  %30478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30479 = load i32, ptr %30478, align 4, !tbaa !5
  %30480 = call ptr @s2n_strerror(i32 noundef %30479, ptr noundef @.str.4)
  %30481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30482 = load i32, ptr %30481, align 4, !tbaa !5
  %30483 = call ptr @s2n_strerror_debug(i32 noundef %30482, ptr noundef @.str.4)
  %30484 = call ptr @__errno_location() #12
  %30485 = load i32, ptr %30484, align 4, !tbaa !5
  %30486 = call ptr @strerror(i32 noundef %30485) #11
  %30487 = call ptr @__errno_location() #12
  %30488 = load i32, ptr %30487, align 4, !tbaa !5
  %30489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30476, ptr noundef @.str.5, i32 noundef %30477, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 1387, ptr noundef %30480, ptr noundef %30483, ptr noundef %30486, i32 noundef %30488) #11
  br label %30490

30490:                                            ; preds = %30473, %30456
  call void @llvm.lifetime.end.p0(i64 4, ptr %742) #11
  br label %30491

30491:                                            ; preds = %30490
  br label %30492

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

30493:                                            ; No predecessors!
  br label %30494

30494:                                            ; preds = %30493
  br label %30495

30495:                                            ; preds = %30494, %30436
  br label %30496

30496:                                            ; preds = %30495
  br label %30497

30497:                                            ; preds = %30496
  br label %30498

30498:                                            ; preds = %30497
  %30499 = load i32, ptr @test_count, align 4, !tbaa !5
  %30500 = add nsw i32 %30499, 1
  store i32 %30500, ptr @test_count, align 4, !tbaa !5
  %30501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30502 = load i32, ptr %30501, align 4, !tbaa !5
  %30503 = icmp eq i32 %30502, 335544394
  br i1 %30503, label %30557, label %30504

30504:                                            ; preds = %30498
  br label %30505

30505:                                            ; preds = %30504
  br label %30506

30506:                                            ; preds = %30505
  call void @llvm.lifetime.start.p0(i64 4, ptr %743) #11
  %30507 = call ptr @__errno_location() #12
  %30508 = load i32, ptr %30507, align 4, !tbaa !5
  store i32 %30508, ptr %743, align 4, !tbaa !5
  %30509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30510 = call i32 @s2n_print_stacktrace(ptr noundef %30509)
  %30511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30512 = trunc i8 %30511 to i1
  br i1 %30512, label %30513, label %30535

30513:                                            ; preds = %30506
  %30514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30515 = call i32 @fileno(ptr noundef %30514) #11
  %30516 = call i32 @isatty(i32 noundef %30515) #11
  %30517 = icmp ne i32 %30516, 0
  br i1 %30517, label %30518, label %30535

30518:                                            ; preds = %30513
  %30519 = load i32, ptr %743, align 4, !tbaa !5
  %30520 = call ptr @__errno_location() #12
  store i32 %30519, ptr %30520, align 4, !tbaa !5
  %30521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30522 = load i32, ptr @test_count, align 4, !tbaa !5
  %30523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30524 = load i32, ptr %30523, align 4, !tbaa !5
  %30525 = call ptr @s2n_strerror(i32 noundef %30524, ptr noundef @.str.4)
  %30526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30527 = load i32, ptr %30526, align 4, !tbaa !5
  %30528 = call ptr @s2n_strerror_debug(i32 noundef %30527, ptr noundef @.str.4)
  %30529 = call ptr @__errno_location() #12
  %30530 = load i32, ptr %30529, align 4, !tbaa !5
  %30531 = call ptr @strerror(i32 noundef %30530) #11
  %30532 = call ptr @__errno_location() #12
  %30533 = load i32, ptr %30532, align 4, !tbaa !5
  %30534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30521, ptr noundef @.str.2, i32 noundef %30522, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1387, ptr noundef %30525, ptr noundef %30528, ptr noundef %30531, i32 noundef %30533) #11
  br label %30552

30535:                                            ; preds = %30513, %30506
  %30536 = load i32, ptr %743, align 4, !tbaa !5
  %30537 = call ptr @__errno_location() #12
  store i32 %30536, ptr %30537, align 4, !tbaa !5
  %30538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30539 = load i32, ptr @test_count, align 4, !tbaa !5
  %30540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30541 = load i32, ptr %30540, align 4, !tbaa !5
  %30542 = call ptr @s2n_strerror(i32 noundef %30541, ptr noundef @.str.4)
  %30543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30544 = load i32, ptr %30543, align 4, !tbaa !5
  %30545 = call ptr @s2n_strerror_debug(i32 noundef %30544, ptr noundef @.str.4)
  %30546 = call ptr @__errno_location() #12
  %30547 = load i32, ptr %30546, align 4, !tbaa !5
  %30548 = call ptr @strerror(i32 noundef %30547) #11
  %30549 = call ptr @__errno_location() #12
  %30550 = load i32, ptr %30549, align 4, !tbaa !5
  %30551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30538, ptr noundef @.str.5, i32 noundef %30539, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 1387, ptr noundef %30542, ptr noundef %30545, ptr noundef %30548, i32 noundef %30550) #11
  br label %30552

30552:                                            ; preds = %30535, %30518
  call void @llvm.lifetime.end.p0(i64 4, ptr %743) #11
  br label %30553

30553:                                            ; preds = %30552
  br label %30554

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

30555:                                            ; No predecessors!
  br label %30556

30556:                                            ; preds = %30555
  br label %30557

30557:                                            ; preds = %30556, %30498
  br label %30558

30558:                                            ; preds = %30557
  br label %30559

30559:                                            ; preds = %30558
  br label %30560

30560:                                            ; preds = %30559
  %30561 = load i32, ptr @test_count, align 4, !tbaa !5
  %30562 = add nsw i32 %30561, 1
  store i32 %30562, ptr @test_count, align 4, !tbaa !5
  %30563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30564 = load i32, ptr %30563, align 4, !tbaa !5
  %30565 = call ptr @s2n_strerror_debug(i32 noundef %30564, ptr noundef @.str.4)
  %30566 = icmp eq ptr %30565, null
  br i1 %30566, label %30567, label %30620

30567:                                            ; preds = %30560
  br label %30568

30568:                                            ; preds = %30567
  br label %30569

30569:                                            ; preds = %30568
  call void @llvm.lifetime.start.p0(i64 4, ptr %744) #11
  %30570 = call ptr @__errno_location() #12
  %30571 = load i32, ptr %30570, align 4, !tbaa !5
  store i32 %30571, ptr %744, align 4, !tbaa !5
  %30572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30573 = call i32 @s2n_print_stacktrace(ptr noundef %30572)
  %30574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30575 = trunc i8 %30574 to i1
  br i1 %30575, label %30576, label %30598

30576:                                            ; preds = %30569
  %30577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30578 = call i32 @fileno(ptr noundef %30577) #11
  %30579 = call i32 @isatty(i32 noundef %30578) #11
  %30580 = icmp ne i32 %30579, 0
  br i1 %30580, label %30581, label %30598

30581:                                            ; preds = %30576
  %30582 = load i32, ptr %744, align 4, !tbaa !5
  %30583 = call ptr @__errno_location() #12
  store i32 %30582, ptr %30583, align 4, !tbaa !5
  %30584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30585 = load i32, ptr @test_count, align 4, !tbaa !5
  %30586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30587 = load i32, ptr %30586, align 4, !tbaa !5
  %30588 = call ptr @s2n_strerror(i32 noundef %30587, ptr noundef @.str.4)
  %30589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30590 = load i32, ptr %30589, align 4, !tbaa !5
  %30591 = call ptr @s2n_strerror_debug(i32 noundef %30590, ptr noundef @.str.4)
  %30592 = call ptr @__errno_location() #12
  %30593 = load i32, ptr %30592, align 4, !tbaa !5
  %30594 = call ptr @strerror(i32 noundef %30593) #11
  %30595 = call ptr @__errno_location() #12
  %30596 = load i32, ptr %30595, align 4, !tbaa !5
  %30597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30584, ptr noundef @.str.2, i32 noundef %30585, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1387, ptr noundef %30588, ptr noundef %30591, ptr noundef %30594, i32 noundef %30596) #11
  br label %30615

30598:                                            ; preds = %30576, %30569
  %30599 = load i32, ptr %744, align 4, !tbaa !5
  %30600 = call ptr @__errno_location() #12
  store i32 %30599, ptr %30600, align 4, !tbaa !5
  %30601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30602 = load i32, ptr @test_count, align 4, !tbaa !5
  %30603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30604 = load i32, ptr %30603, align 4, !tbaa !5
  %30605 = call ptr @s2n_strerror(i32 noundef %30604, ptr noundef @.str.4)
  %30606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30607 = load i32, ptr %30606, align 4, !tbaa !5
  %30608 = call ptr @s2n_strerror_debug(i32 noundef %30607, ptr noundef @.str.4)
  %30609 = call ptr @__errno_location() #12
  %30610 = load i32, ptr %30609, align 4, !tbaa !5
  %30611 = call ptr @strerror(i32 noundef %30610) #11
  %30612 = call ptr @__errno_location() #12
  %30613 = load i32, ptr %30612, align 4, !tbaa !5
  %30614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30601, ptr noundef @.str.5, i32 noundef %30602, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 1387, ptr noundef %30605, ptr noundef %30608, ptr noundef %30611, i32 noundef %30613) #11
  br label %30615

30615:                                            ; preds = %30598, %30581
  call void @llvm.lifetime.end.p0(i64 4, ptr %744) #11
  br label %30616

30616:                                            ; preds = %30615
  br label %30617

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

30618:                                            ; No predecessors!
  br label %30619

30619:                                            ; preds = %30618
  br label %30620

30620:                                            ; preds = %30619, %30560
  br label %30621

30621:                                            ; preds = %30620
  br label %30622

30622:                                            ; preds = %30621
  br label %30623

30623:                                            ; preds = %30622
  br label %30624

30624:                                            ; preds = %30623
  br label %30625

30625:                                            ; preds = %30624
  %30626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30626, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30627 = call ptr @__errno_location() #12
  store i32 0, ptr %30627, align 4, !tbaa !5
  br label %30628

30628:                                            ; preds = %30625
  br label %30629

30629:                                            ; preds = %30628
  br label %30630

30630:                                            ; preds = %30629
  br label %30631

30631:                                            ; preds = %30630
  br label %30632

30632:                                            ; preds = %30631
  %30633 = load i32, ptr @test_count, align 4, !tbaa !5
  %30634 = add nsw i32 %30633, 1
  store i32 %30634, ptr @test_count, align 4, !tbaa !5
  %30635 = load ptr, ptr %737, align 8, !tbaa !9
  %30636 = call i32 @s2n_connection_free(ptr noundef %30635)
  %30637 = icmp eq i32 %30636, -1
  br i1 %30637, label %30638, label %30691

30638:                                            ; preds = %30632
  br label %30639

30639:                                            ; preds = %30638
  br label %30640

30640:                                            ; preds = %30639
  call void @llvm.lifetime.start.p0(i64 4, ptr %745) #11
  %30641 = call ptr @__errno_location() #12
  %30642 = load i32, ptr %30641, align 4, !tbaa !5
  store i32 %30642, ptr %745, align 4, !tbaa !5
  %30643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30644 = call i32 @s2n_print_stacktrace(ptr noundef %30643)
  %30645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30646 = trunc i8 %30645 to i1
  br i1 %30646, label %30647, label %30669

30647:                                            ; preds = %30640
  %30648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30649 = call i32 @fileno(ptr noundef %30648) #11
  %30650 = call i32 @isatty(i32 noundef %30649) #11
  %30651 = icmp ne i32 %30650, 0
  br i1 %30651, label %30652, label %30669

30652:                                            ; preds = %30647
  %30653 = load i32, ptr %745, align 4, !tbaa !5
  %30654 = call ptr @__errno_location() #12
  store i32 %30653, ptr %30654, align 4, !tbaa !5
  %30655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30656 = load i32, ptr @test_count, align 4, !tbaa !5
  %30657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30658 = load i32, ptr %30657, align 4, !tbaa !5
  %30659 = call ptr @s2n_strerror(i32 noundef %30658, ptr noundef @.str.4)
  %30660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30661 = load i32, ptr %30660, align 4, !tbaa !5
  %30662 = call ptr @s2n_strerror_debug(i32 noundef %30661, ptr noundef @.str.4)
  %30663 = call ptr @__errno_location() #12
  %30664 = load i32, ptr %30663, align 4, !tbaa !5
  %30665 = call ptr @strerror(i32 noundef %30664) #11
  %30666 = call ptr @__errno_location() #12
  %30667 = load i32, ptr %30666, align 4, !tbaa !5
  %30668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30655, ptr noundef @.str.2, i32 noundef %30656, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1389, ptr noundef %30659, ptr noundef %30662, ptr noundef %30665, i32 noundef %30667) #11
  br label %30686

30669:                                            ; preds = %30647, %30640
  %30670 = load i32, ptr %745, align 4, !tbaa !5
  %30671 = call ptr @__errno_location() #12
  store i32 %30670, ptr %30671, align 4, !tbaa !5
  %30672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30673 = load i32, ptr @test_count, align 4, !tbaa !5
  %30674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30675 = load i32, ptr %30674, align 4, !tbaa !5
  %30676 = call ptr @s2n_strerror(i32 noundef %30675, ptr noundef @.str.4)
  %30677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30678 = load i32, ptr %30677, align 4, !tbaa !5
  %30679 = call ptr @s2n_strerror_debug(i32 noundef %30678, ptr noundef @.str.4)
  %30680 = call ptr @__errno_location() #12
  %30681 = load i32, ptr %30680, align 4, !tbaa !5
  %30682 = call ptr @strerror(i32 noundef %30681) #11
  %30683 = call ptr @__errno_location() #12
  %30684 = load i32, ptr %30683, align 4, !tbaa !5
  %30685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30672, ptr noundef @.str.5, i32 noundef %30673, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 1389, ptr noundef %30676, ptr noundef %30679, ptr noundef %30682, i32 noundef %30684) #11
  br label %30686

30686:                                            ; preds = %30669, %30652
  call void @llvm.lifetime.end.p0(i64 4, ptr %745) #11
  br label %30687

30687:                                            ; preds = %30686
  br label %30688

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

30689:                                            ; No predecessors!
  br label %30690

30690:                                            ; preds = %30689
  br label %30691

30691:                                            ; preds = %30690, %30632
  br label %30692

30692:                                            ; preds = %30691
  br label %30693

30693:                                            ; preds = %30692
  call void @llvm.lifetime.end.p0(i64 8, ptr %737) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %736) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %734) #11
  call void @llvm.lifetime.start.p0(i64 7, ptr %746) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %746, ptr align 1 @__const.main.client_hello_prefix_data, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %747) #11
  store ptr null, ptr %747, align 8, !tbaa !9
  br label %30694

30694:                                            ; preds = %30693
  %30695 = load i32, ptr @test_count, align 4, !tbaa !5
  %30696 = add nsw i32 %30695, 1
  store i32 %30696, ptr @test_count, align 4, !tbaa !5
  %30697 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %30697, ptr %747, align 8, !tbaa !9
  %30698 = icmp eq ptr %30697, null
  br i1 %30698, label %30699, label %30752

30699:                                            ; preds = %30694
  br label %30700

30700:                                            ; preds = %30699
  br label %30701

30701:                                            ; preds = %30700
  call void @llvm.lifetime.start.p0(i64 4, ptr %748) #11
  %30702 = call ptr @__errno_location() #12
  %30703 = load i32, ptr %30702, align 4, !tbaa !5
  store i32 %30703, ptr %748, align 4, !tbaa !5
  %30704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30705 = call i32 @s2n_print_stacktrace(ptr noundef %30704)
  %30706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30707 = trunc i8 %30706 to i1
  br i1 %30707, label %30708, label %30730

30708:                                            ; preds = %30701
  %30709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30710 = call i32 @fileno(ptr noundef %30709) #11
  %30711 = call i32 @isatty(i32 noundef %30710) #11
  %30712 = icmp ne i32 %30711, 0
  br i1 %30712, label %30713, label %30730

30713:                                            ; preds = %30708
  %30714 = load i32, ptr %748, align 4, !tbaa !5
  %30715 = call ptr @__errno_location() #12
  store i32 %30714, ptr %30715, align 4, !tbaa !5
  %30716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30717 = load i32, ptr @test_count, align 4, !tbaa !5
  %30718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30719 = load i32, ptr %30718, align 4, !tbaa !5
  %30720 = call ptr @s2n_strerror(i32 noundef %30719, ptr noundef @.str.4)
  %30721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30722 = load i32, ptr %30721, align 4, !tbaa !5
  %30723 = call ptr @s2n_strerror_debug(i32 noundef %30722, ptr noundef @.str.4)
  %30724 = call ptr @__errno_location() #12
  %30725 = load i32, ptr %30724, align 4, !tbaa !5
  %30726 = call ptr @strerror(i32 noundef %30725) #11
  %30727 = call ptr @__errno_location() #12
  %30728 = load i32, ptr %30727, align 4, !tbaa !5
  %30729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30716, ptr noundef @.str.2, i32 noundef %30717, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 1401, ptr noundef %30720, ptr noundef %30723, ptr noundef %30726, i32 noundef %30728) #11
  br label %30747

30730:                                            ; preds = %30708, %30701
  %30731 = load i32, ptr %748, align 4, !tbaa !5
  %30732 = call ptr @__errno_location() #12
  store i32 %30731, ptr %30732, align 4, !tbaa !5
  %30733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30734 = load i32, ptr @test_count, align 4, !tbaa !5
  %30735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30736 = load i32, ptr %30735, align 4, !tbaa !5
  %30737 = call ptr @s2n_strerror(i32 noundef %30736, ptr noundef @.str.4)
  %30738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30739 = load i32, ptr %30738, align 4, !tbaa !5
  %30740 = call ptr @s2n_strerror_debug(i32 noundef %30739, ptr noundef @.str.4)
  %30741 = call ptr @__errno_location() #12
  %30742 = load i32, ptr %30741, align 4, !tbaa !5
  %30743 = call ptr @strerror(i32 noundef %30742) #11
  %30744 = call ptr @__errno_location() #12
  %30745 = load i32, ptr %30744, align 4, !tbaa !5
  %30746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30733, ptr noundef @.str.5, i32 noundef %30734, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 1401, ptr noundef %30737, ptr noundef %30740, ptr noundef %30743, i32 noundef %30745) #11
  br label %30747

30747:                                            ; preds = %30730, %30713
  call void @llvm.lifetime.end.p0(i64 4, ptr %748) #11
  br label %30748

30748:                                            ; preds = %30747
  br label %30749

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

30750:                                            ; No predecessors!
  br label %30751

30751:                                            ; preds = %30750
  br label %30752

30752:                                            ; preds = %30751, %30694
  br label %30753

30753:                                            ; preds = %30752
  br label %30754

30754:                                            ; preds = %30753
  call void @llvm.lifetime.start.p0(i64 8, ptr %749) #11
  %30755 = load ptr, ptr %747, align 8, !tbaa !9
  %30756 = getelementptr inbounds %struct.s2n_connection, ptr %30755, i32 0, i32 52
  %30757 = getelementptr inbounds %struct.s2n_handshake, ptr %30756, i32 0, i32 0
  store ptr %30757, ptr %749, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %750) #11
  store ptr null, ptr %750, align 8, !tbaa !9
  br label %30758

30758:                                            ; preds = %30754
  %30759 = load i32, ptr @test_count, align 4, !tbaa !5
  %30760 = add nsw i32 %30759, 1
  store i32 %30760, ptr @test_count, align 4, !tbaa !5
  %30761 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %30761, ptr %750, align 8, !tbaa !9
  %30762 = icmp eq ptr %30761, null
  br i1 %30762, label %30763, label %30816

30763:                                            ; preds = %30758
  br label %30764

30764:                                            ; preds = %30763
  br label %30765

30765:                                            ; preds = %30764
  call void @llvm.lifetime.start.p0(i64 4, ptr %751) #11
  %30766 = call ptr @__errno_location() #12
  %30767 = load i32, ptr %30766, align 4, !tbaa !5
  store i32 %30767, ptr %751, align 4, !tbaa !5
  %30768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30769 = call i32 @s2n_print_stacktrace(ptr noundef %30768)
  %30770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30771 = trunc i8 %30770 to i1
  br i1 %30771, label %30772, label %30794

30772:                                            ; preds = %30765
  %30773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30774 = call i32 @fileno(ptr noundef %30773) #11
  %30775 = call i32 @isatty(i32 noundef %30774) #11
  %30776 = icmp ne i32 %30775, 0
  br i1 %30776, label %30777, label %30794

30777:                                            ; preds = %30772
  %30778 = load i32, ptr %751, align 4, !tbaa !5
  %30779 = call ptr @__errno_location() #12
  store i32 %30778, ptr %30779, align 4, !tbaa !5
  %30780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30781 = load i32, ptr @test_count, align 4, !tbaa !5
  %30782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30783 = load i32, ptr %30782, align 4, !tbaa !5
  %30784 = call ptr @s2n_strerror(i32 noundef %30783, ptr noundef @.str.4)
  %30785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30786 = load i32, ptr %30785, align 4, !tbaa !5
  %30787 = call ptr @s2n_strerror_debug(i32 noundef %30786, ptr noundef @.str.4)
  %30788 = call ptr @__errno_location() #12
  %30789 = load i32, ptr %30788, align 4, !tbaa !5
  %30790 = call ptr @strerror(i32 noundef %30789) #11
  %30791 = call ptr @__errno_location() #12
  %30792 = load i32, ptr %30791, align 4, !tbaa !5
  %30793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30780, ptr noundef @.str.2, i32 noundef %30781, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 1405, ptr noundef %30784, ptr noundef %30787, ptr noundef %30790, i32 noundef %30792) #11
  br label %30811

30794:                                            ; preds = %30772, %30765
  %30795 = load i32, ptr %751, align 4, !tbaa !5
  %30796 = call ptr @__errno_location() #12
  store i32 %30795, ptr %30796, align 4, !tbaa !5
  %30797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30798 = load i32, ptr @test_count, align 4, !tbaa !5
  %30799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30800 = load i32, ptr %30799, align 4, !tbaa !5
  %30801 = call ptr @s2n_strerror(i32 noundef %30800, ptr noundef @.str.4)
  %30802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30803 = load i32, ptr %30802, align 4, !tbaa !5
  %30804 = call ptr @s2n_strerror_debug(i32 noundef %30803, ptr noundef @.str.4)
  %30805 = call ptr @__errno_location() #12
  %30806 = load i32, ptr %30805, align 4, !tbaa !5
  %30807 = call ptr @strerror(i32 noundef %30806) #11
  %30808 = call ptr @__errno_location() #12
  %30809 = load i32, ptr %30808, align 4, !tbaa !5
  %30810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30797, ptr noundef @.str.5, i32 noundef %30798, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 1405, ptr noundef %30801, ptr noundef %30804, ptr noundef %30807, i32 noundef %30809) #11
  br label %30811

30811:                                            ; preds = %30794, %30777
  call void @llvm.lifetime.end.p0(i64 4, ptr %751) #11
  br label %30812

30812:                                            ; preds = %30811
  br label %30813

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

30814:                                            ; No predecessors!
  br label %30815

30815:                                            ; preds = %30814
  br label %30816

30816:                                            ; preds = %30815, %30758
  br label %30817

30817:                                            ; preds = %30816
  br label %30818

30818:                                            ; preds = %30817
  br label %30819

30819:                                            ; preds = %30818
  %30820 = load i32, ptr @test_count, align 4, !tbaa !5
  %30821 = add nsw i32 %30820, 1
  store i32 %30821, ptr @test_count, align 4, !tbaa !5
  %30822 = load ptr, ptr %750, align 8, !tbaa !9
  %30823 = call i32 @s2n_connection_set_psk_type(ptr noundef %30822, i32 noundef 1)
  %30824 = getelementptr inbounds %struct.s2n_result, ptr %752, i32 0, i32 0
  store i32 %30823, ptr %30824, align 4
  %30825 = getelementptr inbounds %struct.s2n_result, ptr %752, i32 0, i32 0
  %30826 = load i32, ptr %30825, align 4
  %30827 = call zeroext i1 @s2n_result_is_ok(i32 %30826)
  br i1 %30827, label %30881, label %30828

30828:                                            ; preds = %30819
  br label %30829

30829:                                            ; preds = %30828
  br label %30830

30830:                                            ; preds = %30829
  call void @llvm.lifetime.start.p0(i64 4, ptr %753) #11
  %30831 = call ptr @__errno_location() #12
  %30832 = load i32, ptr %30831, align 4, !tbaa !5
  store i32 %30832, ptr %753, align 4, !tbaa !5
  %30833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30834 = call i32 @s2n_print_stacktrace(ptr noundef %30833)
  %30835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30836 = trunc i8 %30835 to i1
  br i1 %30836, label %30837, label %30859

30837:                                            ; preds = %30830
  %30838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30839 = call i32 @fileno(ptr noundef %30838) #11
  %30840 = call i32 @isatty(i32 noundef %30839) #11
  %30841 = icmp ne i32 %30840, 0
  br i1 %30841, label %30842, label %30859

30842:                                            ; preds = %30837
  %30843 = load i32, ptr %753, align 4, !tbaa !5
  %30844 = call ptr @__errno_location() #12
  store i32 %30843, ptr %30844, align 4, !tbaa !5
  %30845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30846 = load i32, ptr @test_count, align 4, !tbaa !5
  %30847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30848 = load i32, ptr %30847, align 4, !tbaa !5
  %30849 = call ptr @s2n_strerror(i32 noundef %30848, ptr noundef @.str.4)
  %30850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30851 = load i32, ptr %30850, align 4, !tbaa !5
  %30852 = call ptr @s2n_strerror_debug(i32 noundef %30851, ptr noundef @.str.4)
  %30853 = call ptr @__errno_location() #12
  %30854 = load i32, ptr %30853, align 4, !tbaa !5
  %30855 = call ptr @strerror(i32 noundef %30854) #11
  %30856 = call ptr @__errno_location() #12
  %30857 = load i32, ptr %30856, align 4, !tbaa !5
  %30858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30845, ptr noundef @.str.2, i32 noundef %30846, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 1406, ptr noundef %30849, ptr noundef %30852, ptr noundef %30855, i32 noundef %30857) #11
  br label %30876

30859:                                            ; preds = %30837, %30830
  %30860 = load i32, ptr %753, align 4, !tbaa !5
  %30861 = call ptr @__errno_location() #12
  store i32 %30860, ptr %30861, align 4, !tbaa !5
  %30862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30863 = load i32, ptr @test_count, align 4, !tbaa !5
  %30864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30865 = load i32, ptr %30864, align 4, !tbaa !5
  %30866 = call ptr @s2n_strerror(i32 noundef %30865, ptr noundef @.str.4)
  %30867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30868 = load i32, ptr %30867, align 4, !tbaa !5
  %30869 = call ptr @s2n_strerror_debug(i32 noundef %30868, ptr noundef @.str.4)
  %30870 = call ptr @__errno_location() #12
  %30871 = load i32, ptr %30870, align 4, !tbaa !5
  %30872 = call ptr @strerror(i32 noundef %30871) #11
  %30873 = call ptr @__errno_location() #12
  %30874 = load i32, ptr %30873, align 4, !tbaa !5
  %30875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30862, ptr noundef @.str.5, i32 noundef %30863, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 1406, ptr noundef %30866, ptr noundef %30869, ptr noundef %30872, i32 noundef %30874) #11
  br label %30876

30876:                                            ; preds = %30859, %30842
  call void @llvm.lifetime.end.p0(i64 4, ptr %753) #11
  br label %30877

30877:                                            ; preds = %30876
  br label %30878

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

30879:                                            ; No predecessors!
  br label %30880

30880:                                            ; preds = %30879
  br label %30881

30881:                                            ; preds = %30880, %30819
  br label %30882

30882:                                            ; preds = %30881
  br label %30883

30883:                                            ; preds = %30882
  call void @llvm.lifetime.start.p0(i64 8, ptr %754) #11
  %30884 = load ptr, ptr %750, align 8, !tbaa !9
  %30885 = getelementptr inbounds %struct.s2n_connection, ptr %30884, i32 0, i32 52
  %30886 = getelementptr inbounds %struct.s2n_handshake, ptr %30885, i32 0, i32 0
  store ptr %30886, ptr %754, align 8, !tbaa !9
  %30887 = load ptr, ptr %750, align 8, !tbaa !9
  %30888 = getelementptr inbounds %struct.s2n_connection, ptr %30887, i32 0, i32 71
  %30889 = getelementptr inbounds %struct.s2n_client_hello, ptr %30888, i32 0, i32 1
  %30890 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %30889, i32 0, i32 2
  store i16 1, ptr %30890, align 8, !tbaa !104
  %30891 = load ptr, ptr %750, align 8, !tbaa !9
  %30892 = getelementptr inbounds %struct.s2n_connection, ptr %30891, i32 0, i32 33
  %30893 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %30892, i32 0, i32 5
  store i32 2, ptr %30893, align 8, !tbaa !105
  %30894 = load i8, ptr %657, align 1, !tbaa !81
  %30895 = zext i8 %30894 to i32
  %30896 = srem i32 %30895, 8
  %30897 = shl i32 1, %30896
  %30898 = load ptr, ptr %750, align 8, !tbaa !9
  %30899 = getelementptr inbounds %struct.s2n_connection, ptr %30898, i32 0, i32 11
  %30900 = load i8, ptr %657, align 1, !tbaa !81
  %30901 = zext i8 %30900 to i32
  %30902 = ashr i32 %30901, 3
  %30903 = sext i32 %30902 to i64
  %30904 = getelementptr inbounds [22 x i8], ptr %30899, i64 0, i64 %30903
  %30905 = load i8, ptr %30904, align 1, !tbaa !81
  %30906 = sext i8 %30905 to i32
  %30907 = or i32 %30906, %30897
  %30908 = trunc i32 %30907 to i8
  store i8 %30908, ptr %30904, align 1, !tbaa !81
  %30909 = load i8, ptr %656, align 1, !tbaa !81
  %30910 = zext i8 %30909 to i32
  %30911 = srem i32 %30910, 8
  %30912 = shl i32 1, %30911
  %30913 = load ptr, ptr %750, align 8, !tbaa !9
  %30914 = getelementptr inbounds %struct.s2n_connection, ptr %30913, i32 0, i32 11
  %30915 = load i8, ptr %656, align 1, !tbaa !81
  %30916 = zext i8 %30915 to i32
  %30917 = ashr i32 %30916, 3
  %30918 = sext i32 %30917 to i64
  %30919 = getelementptr inbounds [22 x i8], ptr %30914, i64 0, i64 %30918
  %30920 = load i8, ptr %30919, align 1, !tbaa !81
  %30921 = sext i8 %30920 to i32
  %30922 = or i32 %30921, %30912
  %30923 = trunc i32 %30922 to i8
  store i8 %30923, ptr %30919, align 1, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 8, ptr %755) #11
  store ptr null, ptr %755, align 8, !tbaa !9
  br label %30924

30924:                                            ; preds = %30883
  %30925 = load i32, ptr @test_count, align 4, !tbaa !5
  %30926 = add nsw i32 %30925, 1
  store i32 %30926, ptr @test_count, align 4, !tbaa !5
  %30927 = load ptr, ptr %747, align 8, !tbaa !9
  %30928 = getelementptr inbounds %struct.s2n_connection, ptr %30927, i32 0, i32 33
  %30929 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %30928, i32 0, i32 1
  %30930 = call i32 @s2n_array_pushback(ptr noundef %30929, ptr noundef %755)
  %30931 = getelementptr inbounds %struct.s2n_result, ptr %756, i32 0, i32 0
  store i32 %30930, ptr %30931, align 4
  %30932 = getelementptr inbounds %struct.s2n_result, ptr %756, i32 0, i32 0
  %30933 = load i32, ptr %30932, align 4
  %30934 = call zeroext i1 @s2n_result_is_ok(i32 %30933)
  br i1 %30934, label %30988, label %30935

30935:                                            ; preds = %30924
  br label %30936

30936:                                            ; preds = %30935
  br label %30937

30937:                                            ; preds = %30936
  call void @llvm.lifetime.start.p0(i64 4, ptr %757) #11
  %30938 = call ptr @__errno_location() #12
  %30939 = load i32, ptr %30938, align 4, !tbaa !5
  store i32 %30939, ptr %757, align 4, !tbaa !5
  %30940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30941 = call i32 @s2n_print_stacktrace(ptr noundef %30940)
  %30942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30943 = trunc i8 %30942 to i1
  br i1 %30943, label %30944, label %30966

30944:                                            ; preds = %30937
  %30945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30946 = call i32 @fileno(ptr noundef %30945) #11
  %30947 = call i32 @isatty(i32 noundef %30946) #11
  %30948 = icmp ne i32 %30947, 0
  br i1 %30948, label %30949, label %30966

30949:                                            ; preds = %30944
  %30950 = load i32, ptr %757, align 4, !tbaa !5
  %30951 = call ptr @__errno_location() #12
  store i32 %30950, ptr %30951, align 4, !tbaa !5
  %30952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30953 = load i32, ptr @test_count, align 4, !tbaa !5
  %30954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30955 = load i32, ptr %30954, align 4, !tbaa !5
  %30956 = call ptr @s2n_strerror(i32 noundef %30955, ptr noundef @.str.4)
  %30957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30958 = load i32, ptr %30957, align 4, !tbaa !5
  %30959 = call ptr @s2n_strerror_debug(i32 noundef %30958, ptr noundef @.str.4)
  %30960 = call ptr @__errno_location() #12
  %30961 = load i32, ptr %30960, align 4, !tbaa !5
  %30962 = call ptr @strerror(i32 noundef %30961) #11
  %30963 = call ptr @__errno_location() #12
  %30964 = load i32, ptr %30963, align 4, !tbaa !5
  %30965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30952, ptr noundef @.str.2, i32 noundef %30953, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 1416, ptr noundef %30956, ptr noundef %30959, ptr noundef %30962, i32 noundef %30964) #11
  br label %30983

30966:                                            ; preds = %30944, %30937
  %30967 = load i32, ptr %757, align 4, !tbaa !5
  %30968 = call ptr @__errno_location() #12
  store i32 %30967, ptr %30968, align 4, !tbaa !5
  %30969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30970 = load i32, ptr @test_count, align 4, !tbaa !5
  %30971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30972 = load i32, ptr %30971, align 4, !tbaa !5
  %30973 = call ptr @s2n_strerror(i32 noundef %30972, ptr noundef @.str.4)
  %30974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30975 = load i32, ptr %30974, align 4, !tbaa !5
  %30976 = call ptr @s2n_strerror_debug(i32 noundef %30975, ptr noundef @.str.4)
  %30977 = call ptr @__errno_location() #12
  %30978 = load i32, ptr %30977, align 4, !tbaa !5
  %30979 = call ptr @strerror(i32 noundef %30978) #11
  %30980 = call ptr @__errno_location() #12
  %30981 = load i32, ptr %30980, align 4, !tbaa !5
  %30982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30969, ptr noundef @.str.5, i32 noundef %30970, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 1416, ptr noundef %30973, ptr noundef %30976, ptr noundef %30979, i32 noundef %30981) #11
  br label %30983

30983:                                            ; preds = %30966, %30949
  call void @llvm.lifetime.end.p0(i64 4, ptr %757) #11
  br label %30984

30984:                                            ; preds = %30983
  br label %30985

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

30986:                                            ; No predecessors!
  br label %30987

30987:                                            ; preds = %30986
  br label %30988

30988:                                            ; preds = %30987, %30924
  br label %30989

30989:                                            ; preds = %30988
  br label %30990

30990:                                            ; preds = %30989
  br label %30991

30991:                                            ; preds = %30990
  %30992 = load i32, ptr @test_count, align 4, !tbaa !5
  %30993 = add nsw i32 %30992, 1
  store i32 %30993, ptr @test_count, align 4, !tbaa !5
  %30994 = load ptr, ptr %755, align 8, !tbaa !9
  %30995 = call i32 @s2n_psk_init(ptr noundef %30994, i32 noundef 1)
  %30996 = getelementptr inbounds %struct.s2n_result, ptr %758, i32 0, i32 0
  store i32 %30995, ptr %30996, align 4
  %30997 = getelementptr inbounds %struct.s2n_result, ptr %758, i32 0, i32 0
  %30998 = load i32, ptr %30997, align 4
  %30999 = call zeroext i1 @s2n_result_is_ok(i32 %30998)
  br i1 %30999, label %31053, label %31000

31000:                                            ; preds = %30991
  br label %31001

31001:                                            ; preds = %31000
  br label %31002

31002:                                            ; preds = %31001
  call void @llvm.lifetime.start.p0(i64 4, ptr %759) #11
  %31003 = call ptr @__errno_location() #12
  %31004 = load i32, ptr %31003, align 4, !tbaa !5
  store i32 %31004, ptr %759, align 4, !tbaa !5
  %31005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31006 = call i32 @s2n_print_stacktrace(ptr noundef %31005)
  %31007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31008 = trunc i8 %31007 to i1
  br i1 %31008, label %31009, label %31031

31009:                                            ; preds = %31002
  %31010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31011 = call i32 @fileno(ptr noundef %31010) #11
  %31012 = call i32 @isatty(i32 noundef %31011) #11
  %31013 = icmp ne i32 %31012, 0
  br i1 %31013, label %31014, label %31031

31014:                                            ; preds = %31009
  %31015 = load i32, ptr %759, align 4, !tbaa !5
  %31016 = call ptr @__errno_location() #12
  store i32 %31015, ptr %31016, align 4, !tbaa !5
  %31017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31018 = load i32, ptr @test_count, align 4, !tbaa !5
  %31019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31020 = load i32, ptr %31019, align 4, !tbaa !5
  %31021 = call ptr @s2n_strerror(i32 noundef %31020, ptr noundef @.str.4)
  %31022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31023 = load i32, ptr %31022, align 4, !tbaa !5
  %31024 = call ptr @s2n_strerror_debug(i32 noundef %31023, ptr noundef @.str.4)
  %31025 = call ptr @__errno_location() #12
  %31026 = load i32, ptr %31025, align 4, !tbaa !5
  %31027 = call ptr @strerror(i32 noundef %31026) #11
  %31028 = call ptr @__errno_location() #12
  %31029 = load i32, ptr %31028, align 4, !tbaa !5
  %31030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31017, ptr noundef @.str.2, i32 noundef %31018, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1417, ptr noundef %31021, ptr noundef %31024, ptr noundef %31027, i32 noundef %31029) #11
  br label %31048

31031:                                            ; preds = %31009, %31002
  %31032 = load i32, ptr %759, align 4, !tbaa !5
  %31033 = call ptr @__errno_location() #12
  store i32 %31032, ptr %31033, align 4, !tbaa !5
  %31034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31035 = load i32, ptr @test_count, align 4, !tbaa !5
  %31036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31037 = load i32, ptr %31036, align 4, !tbaa !5
  %31038 = call ptr @s2n_strerror(i32 noundef %31037, ptr noundef @.str.4)
  %31039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31040 = load i32, ptr %31039, align 4, !tbaa !5
  %31041 = call ptr @s2n_strerror_debug(i32 noundef %31040, ptr noundef @.str.4)
  %31042 = call ptr @__errno_location() #12
  %31043 = load i32, ptr %31042, align 4, !tbaa !5
  %31044 = call ptr @strerror(i32 noundef %31043) #11
  %31045 = call ptr @__errno_location() #12
  %31046 = load i32, ptr %31045, align 4, !tbaa !5
  %31047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31034, ptr noundef @.str.5, i32 noundef %31035, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1417, ptr noundef %31038, ptr noundef %31041, ptr noundef %31044, i32 noundef %31046) #11
  br label %31048

31048:                                            ; preds = %31031, %31014
  call void @llvm.lifetime.end.p0(i64 4, ptr %759) #11
  br label %31049

31049:                                            ; preds = %31048
  br label %31050

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

31051:                                            ; No predecessors!
  br label %31052

31052:                                            ; preds = %31051
  br label %31053

31053:                                            ; preds = %31052, %30991
  br label %31054

31054:                                            ; preds = %31053
  br label %31055

31055:                                            ; preds = %31054
  br label %31056

31056:                                            ; preds = %31055
  %31057 = load i32, ptr @test_count, align 4, !tbaa !5
  %31058 = add nsw i32 %31057, 1
  store i32 %31058, ptr @test_count, align 4, !tbaa !5
  %31059 = load ptr, ptr %755, align 8, !tbaa !9
  %31060 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  %31061 = call i32 @s2n_psk_set_identity(ptr noundef %31059, ptr noundef %31060, i16 noundef zeroext 14)
  %31062 = icmp eq i32 %31061, -1
  br i1 %31062, label %31063, label %31116

31063:                                            ; preds = %31056
  br label %31064

31064:                                            ; preds = %31063
  br label %31065

31065:                                            ; preds = %31064
  call void @llvm.lifetime.start.p0(i64 4, ptr %760) #11
  %31066 = call ptr @__errno_location() #12
  %31067 = load i32, ptr %31066, align 4, !tbaa !5
  store i32 %31067, ptr %760, align 4, !tbaa !5
  %31068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31069 = call i32 @s2n_print_stacktrace(ptr noundef %31068)
  %31070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31071 = trunc i8 %31070 to i1
  br i1 %31071, label %31072, label %31094

31072:                                            ; preds = %31065
  %31073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31074 = call i32 @fileno(ptr noundef %31073) #11
  %31075 = call i32 @isatty(i32 noundef %31074) #11
  %31076 = icmp ne i32 %31075, 0
  br i1 %31076, label %31077, label %31094

31077:                                            ; preds = %31072
  %31078 = load i32, ptr %760, align 4, !tbaa !5
  %31079 = call ptr @__errno_location() #12
  store i32 %31078, ptr %31079, align 4, !tbaa !5
  %31080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31081 = load i32, ptr @test_count, align 4, !tbaa !5
  %31082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31083 = load i32, ptr %31082, align 4, !tbaa !5
  %31084 = call ptr @s2n_strerror(i32 noundef %31083, ptr noundef @.str.4)
  %31085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31086 = load i32, ptr %31085, align 4, !tbaa !5
  %31087 = call ptr @s2n_strerror_debug(i32 noundef %31086, ptr noundef @.str.4)
  %31088 = call ptr @__errno_location() #12
  %31089 = load i32, ptr %31088, align 4, !tbaa !5
  %31090 = call ptr @strerror(i32 noundef %31089) #11
  %31091 = call ptr @__errno_location() #12
  %31092 = load i32, ptr %31091, align 4, !tbaa !5
  %31093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31080, ptr noundef @.str.2, i32 noundef %31081, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1418, ptr noundef %31084, ptr noundef %31087, ptr noundef %31090, i32 noundef %31092) #11
  br label %31111

31094:                                            ; preds = %31072, %31065
  %31095 = load i32, ptr %760, align 4, !tbaa !5
  %31096 = call ptr @__errno_location() #12
  store i32 %31095, ptr %31096, align 4, !tbaa !5
  %31097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31098 = load i32, ptr @test_count, align 4, !tbaa !5
  %31099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31100 = load i32, ptr %31099, align 4, !tbaa !5
  %31101 = call ptr @s2n_strerror(i32 noundef %31100, ptr noundef @.str.4)
  %31102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31103 = load i32, ptr %31102, align 4, !tbaa !5
  %31104 = call ptr @s2n_strerror_debug(i32 noundef %31103, ptr noundef @.str.4)
  %31105 = call ptr @__errno_location() #12
  %31106 = load i32, ptr %31105, align 4, !tbaa !5
  %31107 = call ptr @strerror(i32 noundef %31106) #11
  %31108 = call ptr @__errno_location() #12
  %31109 = load i32, ptr %31108, align 4, !tbaa !5
  %31110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31097, ptr noundef @.str.5, i32 noundef %31098, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1418, ptr noundef %31101, ptr noundef %31104, ptr noundef %31107, i32 noundef %31109) #11
  br label %31111

31111:                                            ; preds = %31094, %31077
  call void @llvm.lifetime.end.p0(i64 4, ptr %760) #11
  br label %31112

31112:                                            ; preds = %31111
  br label %31113

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

31114:                                            ; No predecessors!
  br label %31115

31115:                                            ; preds = %31114
  br label %31116

31116:                                            ; preds = %31115, %31056
  br label %31117

31117:                                            ; preds = %31116
  br label %31118

31118:                                            ; preds = %31117
  br label %31119

31119:                                            ; preds = %31118
  %31120 = load i32, ptr @test_count, align 4, !tbaa !5
  %31121 = add nsw i32 %31120, 1
  store i32 %31121, ptr @test_count, align 4, !tbaa !5
  %31122 = load ptr, ptr %755, align 8, !tbaa !9
  %31123 = getelementptr inbounds [12 x i8], ptr %14, i64 0, i64 0
  %31124 = call i32 @s2n_psk_set_secret(ptr noundef %31122, ptr noundef %31123, i16 noundef zeroext 12)
  %31125 = icmp eq i32 %31124, -1
  br i1 %31125, label %31126, label %31179

31126:                                            ; preds = %31119
  br label %31127

31127:                                            ; preds = %31126
  br label %31128

31128:                                            ; preds = %31127
  call void @llvm.lifetime.start.p0(i64 4, ptr %761) #11
  %31129 = call ptr @__errno_location() #12
  %31130 = load i32, ptr %31129, align 4, !tbaa !5
  store i32 %31130, ptr %761, align 4, !tbaa !5
  %31131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31132 = call i32 @s2n_print_stacktrace(ptr noundef %31131)
  %31133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31134 = trunc i8 %31133 to i1
  br i1 %31134, label %31135, label %31157

31135:                                            ; preds = %31128
  %31136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31137 = call i32 @fileno(ptr noundef %31136) #11
  %31138 = call i32 @isatty(i32 noundef %31137) #11
  %31139 = icmp ne i32 %31138, 0
  br i1 %31139, label %31140, label %31157

31140:                                            ; preds = %31135
  %31141 = load i32, ptr %761, align 4, !tbaa !5
  %31142 = call ptr @__errno_location() #12
  store i32 %31141, ptr %31142, align 4, !tbaa !5
  %31143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31144 = load i32, ptr @test_count, align 4, !tbaa !5
  %31145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31146 = load i32, ptr %31145, align 4, !tbaa !5
  %31147 = call ptr @s2n_strerror(i32 noundef %31146, ptr noundef @.str.4)
  %31148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31149 = load i32, ptr %31148, align 4, !tbaa !5
  %31150 = call ptr @s2n_strerror_debug(i32 noundef %31149, ptr noundef @.str.4)
  %31151 = call ptr @__errno_location() #12
  %31152 = load i32, ptr %31151, align 4, !tbaa !5
  %31153 = call ptr @strerror(i32 noundef %31152) #11
  %31154 = call ptr @__errno_location() #12
  %31155 = load i32, ptr %31154, align 4, !tbaa !5
  %31156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31143, ptr noundef @.str.2, i32 noundef %31144, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1419, ptr noundef %31147, ptr noundef %31150, ptr noundef %31153, i32 noundef %31155) #11
  br label %31174

31157:                                            ; preds = %31135, %31128
  %31158 = load i32, ptr %761, align 4, !tbaa !5
  %31159 = call ptr @__errno_location() #12
  store i32 %31158, ptr %31159, align 4, !tbaa !5
  %31160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31161 = load i32, ptr @test_count, align 4, !tbaa !5
  %31162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31163 = load i32, ptr %31162, align 4, !tbaa !5
  %31164 = call ptr @s2n_strerror(i32 noundef %31163, ptr noundef @.str.4)
  %31165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31166 = load i32, ptr %31165, align 4, !tbaa !5
  %31167 = call ptr @s2n_strerror_debug(i32 noundef %31166, ptr noundef @.str.4)
  %31168 = call ptr @__errno_location() #12
  %31169 = load i32, ptr %31168, align 4, !tbaa !5
  %31170 = call ptr @strerror(i32 noundef %31169) #11
  %31171 = call ptr @__errno_location() #12
  %31172 = load i32, ptr %31171, align 4, !tbaa !5
  %31173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31160, ptr noundef @.str.5, i32 noundef %31161, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1419, ptr noundef %31164, ptr noundef %31167, ptr noundef %31170, i32 noundef %31172) #11
  br label %31174

31174:                                            ; preds = %31157, %31140
  call void @llvm.lifetime.end.p0(i64 4, ptr %761) #11
  br label %31175

31175:                                            ; preds = %31174
  br label %31176

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

31177:                                            ; No predecessors!
  br label %31178

31178:                                            ; preds = %31177
  br label %31179

31179:                                            ; preds = %31178, %31119
  br label %31180

31180:                                            ; preds = %31179
  br label %31181

31181:                                            ; preds = %31180
  br label %31182

31182:                                            ; preds = %31181
  %31183 = load i32, ptr @test_count, align 4, !tbaa !5
  %31184 = add nsw i32 %31183, 1
  store i32 %31184, ptr @test_count, align 4, !tbaa !5
  %31185 = load ptr, ptr %750, align 8, !tbaa !9
  %31186 = getelementptr inbounds %struct.s2n_connection, ptr %31185, i32 0, i32 33
  %31187 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %31186, i32 0, i32 1
  %31188 = call i32 @s2n_array_pushback(ptr noundef %31187, ptr noundef %755)
  %31189 = getelementptr inbounds %struct.s2n_result, ptr %762, i32 0, i32 0
  store i32 %31188, ptr %31189, align 4
  %31190 = getelementptr inbounds %struct.s2n_result, ptr %762, i32 0, i32 0
  %31191 = load i32, ptr %31190, align 4
  %31192 = call zeroext i1 @s2n_result_is_ok(i32 %31191)
  br i1 %31192, label %31246, label %31193

31193:                                            ; preds = %31182
  br label %31194

31194:                                            ; preds = %31193
  br label %31195

31195:                                            ; preds = %31194
  call void @llvm.lifetime.start.p0(i64 4, ptr %763) #11
  %31196 = call ptr @__errno_location() #12
  %31197 = load i32, ptr %31196, align 4, !tbaa !5
  store i32 %31197, ptr %763, align 4, !tbaa !5
  %31198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31199 = call i32 @s2n_print_stacktrace(ptr noundef %31198)
  %31200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31201 = trunc i8 %31200 to i1
  br i1 %31201, label %31202, label %31224

31202:                                            ; preds = %31195
  %31203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31204 = call i32 @fileno(ptr noundef %31203) #11
  %31205 = call i32 @isatty(i32 noundef %31204) #11
  %31206 = icmp ne i32 %31205, 0
  br i1 %31206, label %31207, label %31224

31207:                                            ; preds = %31202
  %31208 = load i32, ptr %763, align 4, !tbaa !5
  %31209 = call ptr @__errno_location() #12
  store i32 %31208, ptr %31209, align 4, !tbaa !5
  %31210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31211 = load i32, ptr @test_count, align 4, !tbaa !5
  %31212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31213 = load i32, ptr %31212, align 4, !tbaa !5
  %31214 = call ptr @s2n_strerror(i32 noundef %31213, ptr noundef @.str.4)
  %31215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31216 = load i32, ptr %31215, align 4, !tbaa !5
  %31217 = call ptr @s2n_strerror_debug(i32 noundef %31216, ptr noundef @.str.4)
  %31218 = call ptr @__errno_location() #12
  %31219 = load i32, ptr %31218, align 4, !tbaa !5
  %31220 = call ptr @strerror(i32 noundef %31219) #11
  %31221 = call ptr @__errno_location() #12
  %31222 = load i32, ptr %31221, align 4, !tbaa !5
  %31223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31210, ptr noundef @.str.2, i32 noundef %31211, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1420, ptr noundef %31214, ptr noundef %31217, ptr noundef %31220, i32 noundef %31222) #11
  br label %31241

31224:                                            ; preds = %31202, %31195
  %31225 = load i32, ptr %763, align 4, !tbaa !5
  %31226 = call ptr @__errno_location() #12
  store i32 %31225, ptr %31226, align 4, !tbaa !5
  %31227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31228 = load i32, ptr @test_count, align 4, !tbaa !5
  %31229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31230 = load i32, ptr %31229, align 4, !tbaa !5
  %31231 = call ptr @s2n_strerror(i32 noundef %31230, ptr noundef @.str.4)
  %31232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31233 = load i32, ptr %31232, align 4, !tbaa !5
  %31234 = call ptr @s2n_strerror_debug(i32 noundef %31233, ptr noundef @.str.4)
  %31235 = call ptr @__errno_location() #12
  %31236 = load i32, ptr %31235, align 4, !tbaa !5
  %31237 = call ptr @strerror(i32 noundef %31236) #11
  %31238 = call ptr @__errno_location() #12
  %31239 = load i32, ptr %31238, align 4, !tbaa !5
  %31240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31227, ptr noundef @.str.5, i32 noundef %31228, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1420, ptr noundef %31231, ptr noundef %31234, ptr noundef %31237, i32 noundef %31239) #11
  br label %31241

31241:                                            ; preds = %31224, %31207
  call void @llvm.lifetime.end.p0(i64 4, ptr %763) #11
  br label %31242

31242:                                            ; preds = %31241
  br label %31243

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

31244:                                            ; No predecessors!
  br label %31245

31245:                                            ; preds = %31244
  br label %31246

31246:                                            ; preds = %31245, %31182
  br label %31247

31247:                                            ; preds = %31246
  br label %31248

31248:                                            ; preds = %31247
  br label %31249

31249:                                            ; preds = %31248
  %31250 = load i32, ptr @test_count, align 4, !tbaa !5
  %31251 = add nsw i32 %31250, 1
  store i32 %31251, ptr @test_count, align 4, !tbaa !5
  %31252 = load ptr, ptr %755, align 8, !tbaa !9
  %31253 = call i32 @s2n_psk_init(ptr noundef %31252, i32 noundef 1)
  %31254 = getelementptr inbounds %struct.s2n_result, ptr %764, i32 0, i32 0
  store i32 %31253, ptr %31254, align 4
  %31255 = getelementptr inbounds %struct.s2n_result, ptr %764, i32 0, i32 0
  %31256 = load i32, ptr %31255, align 4
  %31257 = call zeroext i1 @s2n_result_is_ok(i32 %31256)
  br i1 %31257, label %31311, label %31258

31258:                                            ; preds = %31249
  br label %31259

31259:                                            ; preds = %31258
  br label %31260

31260:                                            ; preds = %31259
  call void @llvm.lifetime.start.p0(i64 4, ptr %765) #11
  %31261 = call ptr @__errno_location() #12
  %31262 = load i32, ptr %31261, align 4, !tbaa !5
  store i32 %31262, ptr %765, align 4, !tbaa !5
  %31263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31264 = call i32 @s2n_print_stacktrace(ptr noundef %31263)
  %31265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31266 = trunc i8 %31265 to i1
  br i1 %31266, label %31267, label %31289

31267:                                            ; preds = %31260
  %31268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31269 = call i32 @fileno(ptr noundef %31268) #11
  %31270 = call i32 @isatty(i32 noundef %31269) #11
  %31271 = icmp ne i32 %31270, 0
  br i1 %31271, label %31272, label %31289

31272:                                            ; preds = %31267
  %31273 = load i32, ptr %765, align 4, !tbaa !5
  %31274 = call ptr @__errno_location() #12
  store i32 %31273, ptr %31274, align 4, !tbaa !5
  %31275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31276 = load i32, ptr @test_count, align 4, !tbaa !5
  %31277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31278 = load i32, ptr %31277, align 4, !tbaa !5
  %31279 = call ptr @s2n_strerror(i32 noundef %31278, ptr noundef @.str.4)
  %31280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31281 = load i32, ptr %31280, align 4, !tbaa !5
  %31282 = call ptr @s2n_strerror_debug(i32 noundef %31281, ptr noundef @.str.4)
  %31283 = call ptr @__errno_location() #12
  %31284 = load i32, ptr %31283, align 4, !tbaa !5
  %31285 = call ptr @strerror(i32 noundef %31284) #11
  %31286 = call ptr @__errno_location() #12
  %31287 = load i32, ptr %31286, align 4, !tbaa !5
  %31288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31275, ptr noundef @.str.2, i32 noundef %31276, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1421, ptr noundef %31279, ptr noundef %31282, ptr noundef %31285, i32 noundef %31287) #11
  br label %31306

31289:                                            ; preds = %31267, %31260
  %31290 = load i32, ptr %765, align 4, !tbaa !5
  %31291 = call ptr @__errno_location() #12
  store i32 %31290, ptr %31291, align 4, !tbaa !5
  %31292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31293 = load i32, ptr @test_count, align 4, !tbaa !5
  %31294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31295 = load i32, ptr %31294, align 4, !tbaa !5
  %31296 = call ptr @s2n_strerror(i32 noundef %31295, ptr noundef @.str.4)
  %31297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31298 = load i32, ptr %31297, align 4, !tbaa !5
  %31299 = call ptr @s2n_strerror_debug(i32 noundef %31298, ptr noundef @.str.4)
  %31300 = call ptr @__errno_location() #12
  %31301 = load i32, ptr %31300, align 4, !tbaa !5
  %31302 = call ptr @strerror(i32 noundef %31301) #11
  %31303 = call ptr @__errno_location() #12
  %31304 = load i32, ptr %31303, align 4, !tbaa !5
  %31305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31292, ptr noundef @.str.5, i32 noundef %31293, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1421, ptr noundef %31296, ptr noundef %31299, ptr noundef %31302, i32 noundef %31304) #11
  br label %31306

31306:                                            ; preds = %31289, %31272
  call void @llvm.lifetime.end.p0(i64 4, ptr %765) #11
  br label %31307

31307:                                            ; preds = %31306
  br label %31308

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

31309:                                            ; No predecessors!
  br label %31310

31310:                                            ; preds = %31309
  br label %31311

31311:                                            ; preds = %31310, %31249
  br label %31312

31312:                                            ; preds = %31311
  br label %31313

31313:                                            ; preds = %31312
  br label %31314

31314:                                            ; preds = %31313
  %31315 = load i32, ptr @test_count, align 4, !tbaa !5
  %31316 = add nsw i32 %31315, 1
  store i32 %31316, ptr @test_count, align 4, !tbaa !5
  %31317 = load ptr, ptr %755, align 8, !tbaa !9
  %31318 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  %31319 = call i32 @s2n_psk_set_identity(ptr noundef %31317, ptr noundef %31318, i16 noundef zeroext 14)
  %31320 = icmp eq i32 %31319, -1
  br i1 %31320, label %31321, label %31374

31321:                                            ; preds = %31314
  br label %31322

31322:                                            ; preds = %31321
  br label %31323

31323:                                            ; preds = %31322
  call void @llvm.lifetime.start.p0(i64 4, ptr %766) #11
  %31324 = call ptr @__errno_location() #12
  %31325 = load i32, ptr %31324, align 4, !tbaa !5
  store i32 %31325, ptr %766, align 4, !tbaa !5
  %31326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31327 = call i32 @s2n_print_stacktrace(ptr noundef %31326)
  %31328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31329 = trunc i8 %31328 to i1
  br i1 %31329, label %31330, label %31352

31330:                                            ; preds = %31323
  %31331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31332 = call i32 @fileno(ptr noundef %31331) #11
  %31333 = call i32 @isatty(i32 noundef %31332) #11
  %31334 = icmp ne i32 %31333, 0
  br i1 %31334, label %31335, label %31352

31335:                                            ; preds = %31330
  %31336 = load i32, ptr %766, align 4, !tbaa !5
  %31337 = call ptr @__errno_location() #12
  store i32 %31336, ptr %31337, align 4, !tbaa !5
  %31338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31339 = load i32, ptr @test_count, align 4, !tbaa !5
  %31340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31341 = load i32, ptr %31340, align 4, !tbaa !5
  %31342 = call ptr @s2n_strerror(i32 noundef %31341, ptr noundef @.str.4)
  %31343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31344 = load i32, ptr %31343, align 4, !tbaa !5
  %31345 = call ptr @s2n_strerror_debug(i32 noundef %31344, ptr noundef @.str.4)
  %31346 = call ptr @__errno_location() #12
  %31347 = load i32, ptr %31346, align 4, !tbaa !5
  %31348 = call ptr @strerror(i32 noundef %31347) #11
  %31349 = call ptr @__errno_location() #12
  %31350 = load i32, ptr %31349, align 4, !tbaa !5
  %31351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31338, ptr noundef @.str.2, i32 noundef %31339, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1422, ptr noundef %31342, ptr noundef %31345, ptr noundef %31348, i32 noundef %31350) #11
  br label %31369

31352:                                            ; preds = %31330, %31323
  %31353 = load i32, ptr %766, align 4, !tbaa !5
  %31354 = call ptr @__errno_location() #12
  store i32 %31353, ptr %31354, align 4, !tbaa !5
  %31355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31356 = load i32, ptr @test_count, align 4, !tbaa !5
  %31357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31358 = load i32, ptr %31357, align 4, !tbaa !5
  %31359 = call ptr @s2n_strerror(i32 noundef %31358, ptr noundef @.str.4)
  %31360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31361 = load i32, ptr %31360, align 4, !tbaa !5
  %31362 = call ptr @s2n_strerror_debug(i32 noundef %31361, ptr noundef @.str.4)
  %31363 = call ptr @__errno_location() #12
  %31364 = load i32, ptr %31363, align 4, !tbaa !5
  %31365 = call ptr @strerror(i32 noundef %31364) #11
  %31366 = call ptr @__errno_location() #12
  %31367 = load i32, ptr %31366, align 4, !tbaa !5
  %31368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31355, ptr noundef @.str.5, i32 noundef %31356, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1422, ptr noundef %31359, ptr noundef %31362, ptr noundef %31365, i32 noundef %31367) #11
  br label %31369

31369:                                            ; preds = %31352, %31335
  call void @llvm.lifetime.end.p0(i64 4, ptr %766) #11
  br label %31370

31370:                                            ; preds = %31369
  br label %31371

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

31372:                                            ; No predecessors!
  br label %31373

31373:                                            ; preds = %31372
  br label %31374

31374:                                            ; preds = %31373, %31314
  br label %31375

31375:                                            ; preds = %31374
  br label %31376

31376:                                            ; preds = %31375
  br label %31377

31377:                                            ; preds = %31376
  %31378 = load i32, ptr @test_count, align 4, !tbaa !5
  %31379 = add nsw i32 %31378, 1
  store i32 %31379, ptr @test_count, align 4, !tbaa !5
  %31380 = load ptr, ptr %755, align 8, !tbaa !9
  %31381 = getelementptr inbounds [12 x i8], ptr %14, i64 0, i64 0
  %31382 = call i32 @s2n_psk_set_secret(ptr noundef %31380, ptr noundef %31381, i16 noundef zeroext 12)
  %31383 = icmp eq i32 %31382, -1
  br i1 %31383, label %31384, label %31437

31384:                                            ; preds = %31377
  br label %31385

31385:                                            ; preds = %31384
  br label %31386

31386:                                            ; preds = %31385
  call void @llvm.lifetime.start.p0(i64 4, ptr %767) #11
  %31387 = call ptr @__errno_location() #12
  %31388 = load i32, ptr %31387, align 4, !tbaa !5
  store i32 %31388, ptr %767, align 4, !tbaa !5
  %31389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31390 = call i32 @s2n_print_stacktrace(ptr noundef %31389)
  %31391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31392 = trunc i8 %31391 to i1
  br i1 %31392, label %31393, label %31415

31393:                                            ; preds = %31386
  %31394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31395 = call i32 @fileno(ptr noundef %31394) #11
  %31396 = call i32 @isatty(i32 noundef %31395) #11
  %31397 = icmp ne i32 %31396, 0
  br i1 %31397, label %31398, label %31415

31398:                                            ; preds = %31393
  %31399 = load i32, ptr %767, align 4, !tbaa !5
  %31400 = call ptr @__errno_location() #12
  store i32 %31399, ptr %31400, align 4, !tbaa !5
  %31401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31402 = load i32, ptr @test_count, align 4, !tbaa !5
  %31403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31404 = load i32, ptr %31403, align 4, !tbaa !5
  %31405 = call ptr @s2n_strerror(i32 noundef %31404, ptr noundef @.str.4)
  %31406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31407 = load i32, ptr %31406, align 4, !tbaa !5
  %31408 = call ptr @s2n_strerror_debug(i32 noundef %31407, ptr noundef @.str.4)
  %31409 = call ptr @__errno_location() #12
  %31410 = load i32, ptr %31409, align 4, !tbaa !5
  %31411 = call ptr @strerror(i32 noundef %31410) #11
  %31412 = call ptr @__errno_location() #12
  %31413 = load i32, ptr %31412, align 4, !tbaa !5
  %31414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31401, ptr noundef @.str.2, i32 noundef %31402, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1423, ptr noundef %31405, ptr noundef %31408, ptr noundef %31411, i32 noundef %31413) #11
  br label %31432

31415:                                            ; preds = %31393, %31386
  %31416 = load i32, ptr %767, align 4, !tbaa !5
  %31417 = call ptr @__errno_location() #12
  store i32 %31416, ptr %31417, align 4, !tbaa !5
  %31418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31419 = load i32, ptr @test_count, align 4, !tbaa !5
  %31420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31421 = load i32, ptr %31420, align 4, !tbaa !5
  %31422 = call ptr @s2n_strerror(i32 noundef %31421, ptr noundef @.str.4)
  %31423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31424 = load i32, ptr %31423, align 4, !tbaa !5
  %31425 = call ptr @s2n_strerror_debug(i32 noundef %31424, ptr noundef @.str.4)
  %31426 = call ptr @__errno_location() #12
  %31427 = load i32, ptr %31426, align 4, !tbaa !5
  %31428 = call ptr @strerror(i32 noundef %31427) #11
  %31429 = call ptr @__errno_location() #12
  %31430 = load i32, ptr %31429, align 4, !tbaa !5
  %31431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31418, ptr noundef @.str.5, i32 noundef %31419, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1423, ptr noundef %31422, ptr noundef %31425, ptr noundef %31428, i32 noundef %31430) #11
  br label %31432

31432:                                            ; preds = %31415, %31398
  call void @llvm.lifetime.end.p0(i64 4, ptr %767) #11
  br label %31433

31433:                                            ; preds = %31432
  br label %31434

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

31435:                                            ; No predecessors!
  br label %31436

31436:                                            ; preds = %31435
  br label %31437

31437:                                            ; preds = %31436, %31377
  br label %31438

31438:                                            ; preds = %31437
  br label %31439

31439:                                            ; preds = %31438
  call void @llvm.lifetime.start.p0(i64 8, ptr %768) #11
  store ptr null, ptr %768, align 8, !tbaa !9
  br label %31440

31440:                                            ; preds = %31439
  %31441 = load i32, ptr @test_count, align 4, !tbaa !5
  %31442 = add nsw i32 %31441, 1
  store i32 %31442, ptr @test_count, align 4, !tbaa !5
  %31443 = load ptr, ptr %750, align 8, !tbaa !9
  %31444 = getelementptr inbounds %struct.s2n_connection, ptr %31443, i32 0, i32 33
  %31445 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %31444, i32 0, i32 1
  %31446 = call i32 @s2n_array_pushback(ptr noundef %31445, ptr noundef %768)
  %31447 = getelementptr inbounds %struct.s2n_result, ptr %769, i32 0, i32 0
  store i32 %31446, ptr %31447, align 4
  %31448 = getelementptr inbounds %struct.s2n_result, ptr %769, i32 0, i32 0
  %31449 = load i32, ptr %31448, align 4
  %31450 = call zeroext i1 @s2n_result_is_ok(i32 %31449)
  br i1 %31450, label %31504, label %31451

31451:                                            ; preds = %31440
  br label %31452

31452:                                            ; preds = %31451
  br label %31453

31453:                                            ; preds = %31452
  call void @llvm.lifetime.start.p0(i64 4, ptr %770) #11
  %31454 = call ptr @__errno_location() #12
  %31455 = load i32, ptr %31454, align 4, !tbaa !5
  store i32 %31455, ptr %770, align 4, !tbaa !5
  %31456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31457 = call i32 @s2n_print_stacktrace(ptr noundef %31456)
  %31458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31459 = trunc i8 %31458 to i1
  br i1 %31459, label %31460, label %31482

31460:                                            ; preds = %31453
  %31461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31462 = call i32 @fileno(ptr noundef %31461) #11
  %31463 = call i32 @isatty(i32 noundef %31462) #11
  %31464 = icmp ne i32 %31463, 0
  br i1 %31464, label %31465, label %31482

31465:                                            ; preds = %31460
  %31466 = load i32, ptr %770, align 4, !tbaa !5
  %31467 = call ptr @__errno_location() #12
  store i32 %31466, ptr %31467, align 4, !tbaa !5
  %31468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31469 = load i32, ptr @test_count, align 4, !tbaa !5
  %31470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31471 = load i32, ptr %31470, align 4, !tbaa !5
  %31472 = call ptr @s2n_strerror(i32 noundef %31471, ptr noundef @.str.4)
  %31473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31474 = load i32, ptr %31473, align 4, !tbaa !5
  %31475 = call ptr @s2n_strerror_debug(i32 noundef %31474, ptr noundef @.str.4)
  %31476 = call ptr @__errno_location() #12
  %31477 = load i32, ptr %31476, align 4, !tbaa !5
  %31478 = call ptr @strerror(i32 noundef %31477) #11
  %31479 = call ptr @__errno_location() #12
  %31480 = load i32, ptr %31479, align 4, !tbaa !5
  %31481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31468, ptr noundef @.str.2, i32 noundef %31469, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 1426, ptr noundef %31472, ptr noundef %31475, ptr noundef %31478, i32 noundef %31480) #11
  br label %31499

31482:                                            ; preds = %31460, %31453
  %31483 = load i32, ptr %770, align 4, !tbaa !5
  %31484 = call ptr @__errno_location() #12
  store i32 %31483, ptr %31484, align 4, !tbaa !5
  %31485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31486 = load i32, ptr @test_count, align 4, !tbaa !5
  %31487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31488 = load i32, ptr %31487, align 4, !tbaa !5
  %31489 = call ptr @s2n_strerror(i32 noundef %31488, ptr noundef @.str.4)
  %31490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31491 = load i32, ptr %31490, align 4, !tbaa !5
  %31492 = call ptr @s2n_strerror_debug(i32 noundef %31491, ptr noundef @.str.4)
  %31493 = call ptr @__errno_location() #12
  %31494 = load i32, ptr %31493, align 4, !tbaa !5
  %31495 = call ptr @strerror(i32 noundef %31494) #11
  %31496 = call ptr @__errno_location() #12
  %31497 = load i32, ptr %31496, align 4, !tbaa !5
  %31498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31485, ptr noundef @.str.5, i32 noundef %31486, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 1426, ptr noundef %31489, ptr noundef %31492, ptr noundef %31495, i32 noundef %31497) #11
  br label %31499

31499:                                            ; preds = %31482, %31465
  call void @llvm.lifetime.end.p0(i64 4, ptr %770) #11
  br label %31500

31500:                                            ; preds = %31499
  br label %31501

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

31502:                                            ; No predecessors!
  br label %31503

31503:                                            ; preds = %31502
  br label %31504

31504:                                            ; preds = %31503, %31440
  br label %31505

31505:                                            ; preds = %31504
  br label %31506

31506:                                            ; preds = %31505
  br label %31507

31507:                                            ; preds = %31506
  %31508 = load i32, ptr @test_count, align 4, !tbaa !5
  %31509 = add nsw i32 %31508, 1
  store i32 %31509, ptr @test_count, align 4, !tbaa !5
  %31510 = load ptr, ptr %768, align 8, !tbaa !9
  %31511 = call i32 @s2n_psk_init(ptr noundef %31510, i32 noundef 1)
  %31512 = getelementptr inbounds %struct.s2n_result, ptr %771, i32 0, i32 0
  store i32 %31511, ptr %31512, align 4
  %31513 = getelementptr inbounds %struct.s2n_result, ptr %771, i32 0, i32 0
  %31514 = load i32, ptr %31513, align 4
  %31515 = call zeroext i1 @s2n_result_is_ok(i32 %31514)
  br i1 %31515, label %31569, label %31516

31516:                                            ; preds = %31507
  br label %31517

31517:                                            ; preds = %31516
  br label %31518

31518:                                            ; preds = %31517
  call void @llvm.lifetime.start.p0(i64 4, ptr %772) #11
  %31519 = call ptr @__errno_location() #12
  %31520 = load i32, ptr %31519, align 4, !tbaa !5
  store i32 %31520, ptr %772, align 4, !tbaa !5
  %31521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31522 = call i32 @s2n_print_stacktrace(ptr noundef %31521)
  %31523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31524 = trunc i8 %31523 to i1
  br i1 %31524, label %31525, label %31547

31525:                                            ; preds = %31518
  %31526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31527 = call i32 @fileno(ptr noundef %31526) #11
  %31528 = call i32 @isatty(i32 noundef %31527) #11
  %31529 = icmp ne i32 %31528, 0
  br i1 %31529, label %31530, label %31547

31530:                                            ; preds = %31525
  %31531 = load i32, ptr %772, align 4, !tbaa !5
  %31532 = call ptr @__errno_location() #12
  store i32 %31531, ptr %31532, align 4, !tbaa !5
  %31533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31534 = load i32, ptr @test_count, align 4, !tbaa !5
  %31535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31536 = load i32, ptr %31535, align 4, !tbaa !5
  %31537 = call ptr @s2n_strerror(i32 noundef %31536, ptr noundef @.str.4)
  %31538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31539 = load i32, ptr %31538, align 4, !tbaa !5
  %31540 = call ptr @s2n_strerror_debug(i32 noundef %31539, ptr noundef @.str.4)
  %31541 = call ptr @__errno_location() #12
  %31542 = load i32, ptr %31541, align 4, !tbaa !5
  %31543 = call ptr @strerror(i32 noundef %31542) #11
  %31544 = call ptr @__errno_location() #12
  %31545 = load i32, ptr %31544, align 4, !tbaa !5
  %31546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31533, ptr noundef @.str.2, i32 noundef %31534, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 1427, ptr noundef %31537, ptr noundef %31540, ptr noundef %31543, i32 noundef %31545) #11
  br label %31564

31547:                                            ; preds = %31525, %31518
  %31548 = load i32, ptr %772, align 4, !tbaa !5
  %31549 = call ptr @__errno_location() #12
  store i32 %31548, ptr %31549, align 4, !tbaa !5
  %31550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31551 = load i32, ptr @test_count, align 4, !tbaa !5
  %31552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31553 = load i32, ptr %31552, align 4, !tbaa !5
  %31554 = call ptr @s2n_strerror(i32 noundef %31553, ptr noundef @.str.4)
  %31555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31556 = load i32, ptr %31555, align 4, !tbaa !5
  %31557 = call ptr @s2n_strerror_debug(i32 noundef %31556, ptr noundef @.str.4)
  %31558 = call ptr @__errno_location() #12
  %31559 = load i32, ptr %31558, align 4, !tbaa !5
  %31560 = call ptr @strerror(i32 noundef %31559) #11
  %31561 = call ptr @__errno_location() #12
  %31562 = load i32, ptr %31561, align 4, !tbaa !5
  %31563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31550, ptr noundef @.str.5, i32 noundef %31551, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 1427, ptr noundef %31554, ptr noundef %31557, ptr noundef %31560, i32 noundef %31562) #11
  br label %31564

31564:                                            ; preds = %31547, %31530
  call void @llvm.lifetime.end.p0(i64 4, ptr %772) #11
  br label %31565

31565:                                            ; preds = %31564
  br label %31566

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

31567:                                            ; No predecessors!
  br label %31568

31568:                                            ; preds = %31567
  br label %31569

31569:                                            ; preds = %31568, %31507
  br label %31570

31570:                                            ; preds = %31569
  br label %31571

31571:                                            ; preds = %31570
  br label %31572

31572:                                            ; preds = %31571
  %31573 = load i32, ptr @test_count, align 4, !tbaa !5
  %31574 = add nsw i32 %31573, 1
  store i32 %31574, ptr @test_count, align 4, !tbaa !5
  %31575 = load ptr, ptr %768, align 8, !tbaa !9
  %31576 = getelementptr inbounds [17 x i8], ptr %12, i64 0, i64 0
  %31577 = call i32 @s2n_psk_set_identity(ptr noundef %31575, ptr noundef %31576, i16 noundef zeroext 17)
  %31578 = icmp eq i32 %31577, -1
  br i1 %31578, label %31579, label %31632

31579:                                            ; preds = %31572
  br label %31580

31580:                                            ; preds = %31579
  br label %31581

31581:                                            ; preds = %31580
  call void @llvm.lifetime.start.p0(i64 4, ptr %773) #11
  %31582 = call ptr @__errno_location() #12
  %31583 = load i32, ptr %31582, align 4, !tbaa !5
  store i32 %31583, ptr %773, align 4, !tbaa !5
  %31584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31585 = call i32 @s2n_print_stacktrace(ptr noundef %31584)
  %31586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31587 = trunc i8 %31586 to i1
  br i1 %31587, label %31588, label %31610

31588:                                            ; preds = %31581
  %31589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31590 = call i32 @fileno(ptr noundef %31589) #11
  %31591 = call i32 @isatty(i32 noundef %31590) #11
  %31592 = icmp ne i32 %31591, 0
  br i1 %31592, label %31593, label %31610

31593:                                            ; preds = %31588
  %31594 = load i32, ptr %773, align 4, !tbaa !5
  %31595 = call ptr @__errno_location() #12
  store i32 %31594, ptr %31595, align 4, !tbaa !5
  %31596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31597 = load i32, ptr @test_count, align 4, !tbaa !5
  %31598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31599 = load i32, ptr %31598, align 4, !tbaa !5
  %31600 = call ptr @s2n_strerror(i32 noundef %31599, ptr noundef @.str.4)
  %31601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31602 = load i32, ptr %31601, align 4, !tbaa !5
  %31603 = call ptr @s2n_strerror_debug(i32 noundef %31602, ptr noundef @.str.4)
  %31604 = call ptr @__errno_location() #12
  %31605 = load i32, ptr %31604, align 4, !tbaa !5
  %31606 = call ptr @strerror(i32 noundef %31605) #11
  %31607 = call ptr @__errno_location() #12
  %31608 = load i32, ptr %31607, align 4, !tbaa !5
  %31609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31596, ptr noundef @.str.2, i32 noundef %31597, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 1428, ptr noundef %31600, ptr noundef %31603, ptr noundef %31606, i32 noundef %31608) #11
  br label %31627

31610:                                            ; preds = %31588, %31581
  %31611 = load i32, ptr %773, align 4, !tbaa !5
  %31612 = call ptr @__errno_location() #12
  store i32 %31611, ptr %31612, align 4, !tbaa !5
  %31613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31614 = load i32, ptr @test_count, align 4, !tbaa !5
  %31615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31616 = load i32, ptr %31615, align 4, !tbaa !5
  %31617 = call ptr @s2n_strerror(i32 noundef %31616, ptr noundef @.str.4)
  %31618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31619 = load i32, ptr %31618, align 4, !tbaa !5
  %31620 = call ptr @s2n_strerror_debug(i32 noundef %31619, ptr noundef @.str.4)
  %31621 = call ptr @__errno_location() #12
  %31622 = load i32, ptr %31621, align 4, !tbaa !5
  %31623 = call ptr @strerror(i32 noundef %31622) #11
  %31624 = call ptr @__errno_location() #12
  %31625 = load i32, ptr %31624, align 4, !tbaa !5
  %31626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31613, ptr noundef @.str.5, i32 noundef %31614, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 1428, ptr noundef %31617, ptr noundef %31620, ptr noundef %31623, i32 noundef %31625) #11
  br label %31627

31627:                                            ; preds = %31610, %31593
  call void @llvm.lifetime.end.p0(i64 4, ptr %773) #11
  br label %31628

31628:                                            ; preds = %31627
  br label %31629

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

31630:                                            ; No predecessors!
  br label %31631

31631:                                            ; preds = %31630
  br label %31632

31632:                                            ; preds = %31631, %31572
  br label %31633

31633:                                            ; preds = %31632
  br label %31634

31634:                                            ; preds = %31633
  br label %31635

31635:                                            ; preds = %31634
  %31636 = load i32, ptr @test_count, align 4, !tbaa !5
  %31637 = add nsw i32 %31636, 1
  store i32 %31637, ptr @test_count, align 4, !tbaa !5
  %31638 = load ptr, ptr %749, align 8, !tbaa !9
  %31639 = getelementptr inbounds [7 x i8], ptr %746, i64 0, i64 0
  %31640 = call i32 @s2n_stuffer_write_bytes(ptr noundef %31638, ptr noundef %31639, i32 noundef 7)
  %31641 = icmp eq i32 %31640, -1
  br i1 %31641, label %31642, label %31695

31642:                                            ; preds = %31635
  br label %31643

31643:                                            ; preds = %31642
  br label %31644

31644:                                            ; preds = %31643
  call void @llvm.lifetime.start.p0(i64 4, ptr %774) #11
  %31645 = call ptr @__errno_location() #12
  %31646 = load i32, ptr %31645, align 4, !tbaa !5
  store i32 %31646, ptr %774, align 4, !tbaa !5
  %31647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31648 = call i32 @s2n_print_stacktrace(ptr noundef %31647)
  %31649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31650 = trunc i8 %31649 to i1
  br i1 %31650, label %31651, label %31673

31651:                                            ; preds = %31644
  %31652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31653 = call i32 @fileno(ptr noundef %31652) #11
  %31654 = call i32 @isatty(i32 noundef %31653) #11
  %31655 = icmp ne i32 %31654, 0
  br i1 %31655, label %31656, label %31673

31656:                                            ; preds = %31651
  %31657 = load i32, ptr %774, align 4, !tbaa !5
  %31658 = call ptr @__errno_location() #12
  store i32 %31657, ptr %31658, align 4, !tbaa !5
  %31659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31660 = load i32, ptr @test_count, align 4, !tbaa !5
  %31661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31662 = load i32, ptr %31661, align 4, !tbaa !5
  %31663 = call ptr @s2n_strerror(i32 noundef %31662, ptr noundef @.str.4)
  %31664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31665 = load i32, ptr %31664, align 4, !tbaa !5
  %31666 = call ptr @s2n_strerror_debug(i32 noundef %31665, ptr noundef @.str.4)
  %31667 = call ptr @__errno_location() #12
  %31668 = load i32, ptr %31667, align 4, !tbaa !5
  %31669 = call ptr @strerror(i32 noundef %31668) #11
  %31670 = call ptr @__errno_location() #12
  %31671 = load i32, ptr %31670, align 4, !tbaa !5
  %31672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31659, ptr noundef @.str.2, i32 noundef %31660, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 1432, ptr noundef %31663, ptr noundef %31666, ptr noundef %31669, i32 noundef %31671) #11
  br label %31690

31673:                                            ; preds = %31651, %31644
  %31674 = load i32, ptr %774, align 4, !tbaa !5
  %31675 = call ptr @__errno_location() #12
  store i32 %31674, ptr %31675, align 4, !tbaa !5
  %31676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31677 = load i32, ptr @test_count, align 4, !tbaa !5
  %31678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31679 = load i32, ptr %31678, align 4, !tbaa !5
  %31680 = call ptr @s2n_strerror(i32 noundef %31679, ptr noundef @.str.4)
  %31681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31682 = load i32, ptr %31681, align 4, !tbaa !5
  %31683 = call ptr @s2n_strerror_debug(i32 noundef %31682, ptr noundef @.str.4)
  %31684 = call ptr @__errno_location() #12
  %31685 = load i32, ptr %31684, align 4, !tbaa !5
  %31686 = call ptr @strerror(i32 noundef %31685) #11
  %31687 = call ptr @__errno_location() #12
  %31688 = load i32, ptr %31687, align 4, !tbaa !5
  %31689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31676, ptr noundef @.str.5, i32 noundef %31677, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 1432, ptr noundef %31680, ptr noundef %31683, ptr noundef %31686, i32 noundef %31688) #11
  br label %31690

31690:                                            ; preds = %31673, %31656
  call void @llvm.lifetime.end.p0(i64 4, ptr %774) #11
  br label %31691

31691:                                            ; preds = %31690
  br label %31692

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

31693:                                            ; No predecessors!
  br label %31694

31694:                                            ; preds = %31693
  br label %31695

31695:                                            ; preds = %31694, %31635
  br label %31696

31696:                                            ; preds = %31695
  br label %31697

31697:                                            ; preds = %31696
  br label %31698

31698:                                            ; preds = %31697
  %31699 = load i32, ptr @test_count, align 4, !tbaa !5
  %31700 = add nsw i32 %31699, 1
  store i32 %31700, ptr @test_count, align 4, !tbaa !5
  %31701 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_psk_extension, i32 0, i32 3), align 8, !tbaa !69
  %31702 = load ptr, ptr %747, align 8, !tbaa !9
  %31703 = load ptr, ptr %749, align 8, !tbaa !9
  %31704 = call i32 %31701(ptr noundef %31702, ptr noundef %31703)
  %31705 = icmp eq i32 %31704, -1
  br i1 %31705, label %31706, label %31759

31706:                                            ; preds = %31698
  br label %31707

31707:                                            ; preds = %31706
  br label %31708

31708:                                            ; preds = %31707
  call void @llvm.lifetime.start.p0(i64 4, ptr %775) #11
  %31709 = call ptr @__errno_location() #12
  %31710 = load i32, ptr %31709, align 4, !tbaa !5
  store i32 %31710, ptr %775, align 4, !tbaa !5
  %31711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31712 = call i32 @s2n_print_stacktrace(ptr noundef %31711)
  %31713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31714 = trunc i8 %31713 to i1
  br i1 %31714, label %31715, label %31737

31715:                                            ; preds = %31708
  %31716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31717 = call i32 @fileno(ptr noundef %31716) #11
  %31718 = call i32 @isatty(i32 noundef %31717) #11
  %31719 = icmp ne i32 %31718, 0
  br i1 %31719, label %31720, label %31737

31720:                                            ; preds = %31715
  %31721 = load i32, ptr %775, align 4, !tbaa !5
  %31722 = call ptr @__errno_location() #12
  store i32 %31721, ptr %31722, align 4, !tbaa !5
  %31723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31724 = load i32, ptr @test_count, align 4, !tbaa !5
  %31725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31726 = load i32, ptr %31725, align 4, !tbaa !5
  %31727 = call ptr @s2n_strerror(i32 noundef %31726, ptr noundef @.str.4)
  %31728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31729 = load i32, ptr %31728, align 4, !tbaa !5
  %31730 = call ptr @s2n_strerror_debug(i32 noundef %31729, ptr noundef @.str.4)
  %31731 = call ptr @__errno_location() #12
  %31732 = load i32, ptr %31731, align 4, !tbaa !5
  %31733 = call ptr @strerror(i32 noundef %31732) #11
  %31734 = call ptr @__errno_location() #12
  %31735 = load i32, ptr %31734, align 4, !tbaa !5
  %31736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31723, ptr noundef @.str.2, i32 noundef %31724, ptr noundef @.str.202, ptr noundef @.str.1, i32 noundef 1434, ptr noundef %31727, ptr noundef %31730, ptr noundef %31733, i32 noundef %31735) #11
  br label %31754

31737:                                            ; preds = %31715, %31708
  %31738 = load i32, ptr %775, align 4, !tbaa !5
  %31739 = call ptr @__errno_location() #12
  store i32 %31738, ptr %31739, align 4, !tbaa !5
  %31740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31741 = load i32, ptr @test_count, align 4, !tbaa !5
  %31742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31743 = load i32, ptr %31742, align 4, !tbaa !5
  %31744 = call ptr @s2n_strerror(i32 noundef %31743, ptr noundef @.str.4)
  %31745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31746 = load i32, ptr %31745, align 4, !tbaa !5
  %31747 = call ptr @s2n_strerror_debug(i32 noundef %31746, ptr noundef @.str.4)
  %31748 = call ptr @__errno_location() #12
  %31749 = load i32, ptr %31748, align 4, !tbaa !5
  %31750 = call ptr @strerror(i32 noundef %31749) #11
  %31751 = call ptr @__errno_location() #12
  %31752 = load i32, ptr %31751, align 4, !tbaa !5
  %31753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31740, ptr noundef @.str.5, i32 noundef %31741, ptr noundef @.str.202, ptr noundef @.str.1, i32 noundef 1434, ptr noundef %31744, ptr noundef %31747, ptr noundef %31750, i32 noundef %31752) #11
  br label %31754

31754:                                            ; preds = %31737, %31720
  call void @llvm.lifetime.end.p0(i64 4, ptr %775) #11
  br label %31755

31755:                                            ; preds = %31754
  br label %31756

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

31757:                                            ; No predecessors!
  br label %31758

31758:                                            ; preds = %31757
  br label %31759

31759:                                            ; preds = %31758, %31698
  br label %31760

31760:                                            ; preds = %31759
  br label %31761

31761:                                            ; preds = %31760
  br label %31762

31762:                                            ; preds = %31761
  %31763 = load i32, ptr @test_count, align 4, !tbaa !5
  %31764 = add nsw i32 %31763, 1
  store i32 %31764, ptr @test_count, align 4, !tbaa !5
  %31765 = load ptr, ptr %747, align 8, !tbaa !9
  %31766 = call i32 @s2n_finish_psk_extension(ptr noundef %31765)
  %31767 = getelementptr inbounds %struct.s2n_result, ptr %776, i32 0, i32 0
  store i32 %31766, ptr %31767, align 4
  %31768 = getelementptr inbounds %struct.s2n_result, ptr %776, i32 0, i32 0
  %31769 = load i32, ptr %31768, align 4
  %31770 = call zeroext i1 @s2n_result_is_ok(i32 %31769)
  br i1 %31770, label %31824, label %31771

31771:                                            ; preds = %31762
  br label %31772

31772:                                            ; preds = %31771
  br label %31773

31773:                                            ; preds = %31772
  call void @llvm.lifetime.start.p0(i64 4, ptr %777) #11
  %31774 = call ptr @__errno_location() #12
  %31775 = load i32, ptr %31774, align 4, !tbaa !5
  store i32 %31775, ptr %777, align 4, !tbaa !5
  %31776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31777 = call i32 @s2n_print_stacktrace(ptr noundef %31776)
  %31778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31779 = trunc i8 %31778 to i1
  br i1 %31779, label %31780, label %31802

31780:                                            ; preds = %31773
  %31781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31782 = call i32 @fileno(ptr noundef %31781) #11
  %31783 = call i32 @isatty(i32 noundef %31782) #11
  %31784 = icmp ne i32 %31783, 0
  br i1 %31784, label %31785, label %31802

31785:                                            ; preds = %31780
  %31786 = load i32, ptr %777, align 4, !tbaa !5
  %31787 = call ptr @__errno_location() #12
  store i32 %31786, ptr %31787, align 4, !tbaa !5
  %31788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31789 = load i32, ptr @test_count, align 4, !tbaa !5
  %31790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31791 = load i32, ptr %31790, align 4, !tbaa !5
  %31792 = call ptr @s2n_strerror(i32 noundef %31791, ptr noundef @.str.4)
  %31793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31794 = load i32, ptr %31793, align 4, !tbaa !5
  %31795 = call ptr @s2n_strerror_debug(i32 noundef %31794, ptr noundef @.str.4)
  %31796 = call ptr @__errno_location() #12
  %31797 = load i32, ptr %31796, align 4, !tbaa !5
  %31798 = call ptr @strerror(i32 noundef %31797) #11
  %31799 = call ptr @__errno_location() #12
  %31800 = load i32, ptr %31799, align 4, !tbaa !5
  %31801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31788, ptr noundef @.str.2, i32 noundef %31789, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1435, ptr noundef %31792, ptr noundef %31795, ptr noundef %31798, i32 noundef %31800) #11
  br label %31819

31802:                                            ; preds = %31780, %31773
  %31803 = load i32, ptr %777, align 4, !tbaa !5
  %31804 = call ptr @__errno_location() #12
  store i32 %31803, ptr %31804, align 4, !tbaa !5
  %31805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31806 = load i32, ptr @test_count, align 4, !tbaa !5
  %31807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31808 = load i32, ptr %31807, align 4, !tbaa !5
  %31809 = call ptr @s2n_strerror(i32 noundef %31808, ptr noundef @.str.4)
  %31810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31811 = load i32, ptr %31810, align 4, !tbaa !5
  %31812 = call ptr @s2n_strerror_debug(i32 noundef %31811, ptr noundef @.str.4)
  %31813 = call ptr @__errno_location() #12
  %31814 = load i32, ptr %31813, align 4, !tbaa !5
  %31815 = call ptr @strerror(i32 noundef %31814) #11
  %31816 = call ptr @__errno_location() #12
  %31817 = load i32, ptr %31816, align 4, !tbaa !5
  %31818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31805, ptr noundef @.str.5, i32 noundef %31806, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 1435, ptr noundef %31809, ptr noundef %31812, ptr noundef %31815, i32 noundef %31817) #11
  br label %31819

31819:                                            ; preds = %31802, %31785
  call void @llvm.lifetime.end.p0(i64 4, ptr %777) #11
  br label %31820

31820:                                            ; preds = %31819
  br label %31821

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

31822:                                            ; No predecessors!
  br label %31823

31823:                                            ; preds = %31822
  br label %31824

31824:                                            ; preds = %31823, %31762
  br label %31825

31825:                                            ; preds = %31824
  br label %31826

31826:                                            ; preds = %31825
  br label %31827

31827:                                            ; preds = %31826
  %31828 = load i32, ptr @test_count, align 4, !tbaa !5
  %31829 = add nsw i32 %31828, 1
  store i32 %31829, ptr @test_count, align 4, !tbaa !5
  %31830 = load ptr, ptr %749, align 8, !tbaa !9
  %31831 = load ptr, ptr %754, align 8, !tbaa !9
  %31832 = load ptr, ptr %749, align 8, !tbaa !9
  %31833 = getelementptr inbounds %struct.s2n_stuffer, ptr %31832, i32 0, i32 2
  %31834 = load i32, ptr %31833, align 4, !tbaa !70
  %31835 = load ptr, ptr %749, align 8, !tbaa !9
  %31836 = getelementptr inbounds %struct.s2n_stuffer, ptr %31835, i32 0, i32 1
  %31837 = load i32, ptr %31836, align 8, !tbaa !71
  %31838 = sub i32 %31834, %31837
  %31839 = call i32 @s2n_stuffer_copy(ptr noundef %31830, ptr noundef %31831, i32 noundef %31838)
  %31840 = icmp eq i32 %31839, -1
  br i1 %31840, label %31841, label %31894

31841:                                            ; preds = %31827
  br label %31842

31842:                                            ; preds = %31841
  br label %31843

31843:                                            ; preds = %31842
  call void @llvm.lifetime.start.p0(i64 4, ptr %778) #11
  %31844 = call ptr @__errno_location() #12
  %31845 = load i32, ptr %31844, align 4, !tbaa !5
  store i32 %31845, ptr %778, align 4, !tbaa !5
  %31846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31847 = call i32 @s2n_print_stacktrace(ptr noundef %31846)
  %31848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31849 = trunc i8 %31848 to i1
  br i1 %31849, label %31850, label %31872

31850:                                            ; preds = %31843
  %31851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31852 = call i32 @fileno(ptr noundef %31851) #11
  %31853 = call i32 @isatty(i32 noundef %31852) #11
  %31854 = icmp ne i32 %31853, 0
  br i1 %31854, label %31855, label %31872

31855:                                            ; preds = %31850
  %31856 = load i32, ptr %778, align 4, !tbaa !5
  %31857 = call ptr @__errno_location() #12
  store i32 %31856, ptr %31857, align 4, !tbaa !5
  %31858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31859 = load i32, ptr @test_count, align 4, !tbaa !5
  %31860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31861 = load i32, ptr %31860, align 4, !tbaa !5
  %31862 = call ptr @s2n_strerror(i32 noundef %31861, ptr noundef @.str.4)
  %31863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31864 = load i32, ptr %31863, align 4, !tbaa !5
  %31865 = call ptr @s2n_strerror_debug(i32 noundef %31864, ptr noundef @.str.4)
  %31866 = call ptr @__errno_location() #12
  %31867 = load i32, ptr %31866, align 4, !tbaa !5
  %31868 = call ptr @strerror(i32 noundef %31867) #11
  %31869 = call ptr @__errno_location() #12
  %31870 = load i32, ptr %31869, align 4, !tbaa !5
  %31871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31858, ptr noundef @.str.2, i32 noundef %31859, ptr noundef @.str.204, ptr noundef @.str.1, i32 noundef 1439, ptr noundef %31862, ptr noundef %31865, ptr noundef %31868, i32 noundef %31870) #11
  br label %31889

31872:                                            ; preds = %31850, %31843
  %31873 = load i32, ptr %778, align 4, !tbaa !5
  %31874 = call ptr @__errno_location() #12
  store i32 %31873, ptr %31874, align 4, !tbaa !5
  %31875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31876 = load i32, ptr @test_count, align 4, !tbaa !5
  %31877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31878 = load i32, ptr %31877, align 4, !tbaa !5
  %31879 = call ptr @s2n_strerror(i32 noundef %31878, ptr noundef @.str.4)
  %31880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31881 = load i32, ptr %31880, align 4, !tbaa !5
  %31882 = call ptr @s2n_strerror_debug(i32 noundef %31881, ptr noundef @.str.4)
  %31883 = call ptr @__errno_location() #12
  %31884 = load i32, ptr %31883, align 4, !tbaa !5
  %31885 = call ptr @strerror(i32 noundef %31884) #11
  %31886 = call ptr @__errno_location() #12
  %31887 = load i32, ptr %31886, align 4, !tbaa !5
  %31888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31875, ptr noundef @.str.5, i32 noundef %31876, ptr noundef @.str.204, ptr noundef @.str.1, i32 noundef 1439, ptr noundef %31879, ptr noundef %31882, ptr noundef %31885, i32 noundef %31887) #11
  br label %31889

31889:                                            ; preds = %31872, %31855
  call void @llvm.lifetime.end.p0(i64 4, ptr %778) #11
  br label %31890

31890:                                            ; preds = %31889
  br label %31891

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

31892:                                            ; No predecessors!
  br label %31893

31893:                                            ; preds = %31892
  br label %31894

31894:                                            ; preds = %31893, %31827
  br label %31895

31895:                                            ; preds = %31894
  br label %31896

31896:                                            ; preds = %31895
  br label %31897

31897:                                            ; preds = %31896
  %31898 = load i32, ptr @test_count, align 4, !tbaa !5
  %31899 = add nsw i32 %31898, 1
  store i32 %31899, ptr @test_count, align 4, !tbaa !5
  %31900 = load ptr, ptr %754, align 8, !tbaa !9
  %31901 = call i32 @s2n_stuffer_skip_read(ptr noundef %31900, i32 noundef 7)
  %31902 = icmp eq i32 %31901, -1
  br i1 %31902, label %31903, label %31956

31903:                                            ; preds = %31897
  br label %31904

31904:                                            ; preds = %31903
  br label %31905

31905:                                            ; preds = %31904
  call void @llvm.lifetime.start.p0(i64 4, ptr %779) #11
  %31906 = call ptr @__errno_location() #12
  %31907 = load i32, ptr %31906, align 4, !tbaa !5
  store i32 %31907, ptr %779, align 4, !tbaa !5
  %31908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31909 = call i32 @s2n_print_stacktrace(ptr noundef %31908)
  %31910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31911 = trunc i8 %31910 to i1
  br i1 %31911, label %31912, label %31934

31912:                                            ; preds = %31905
  %31913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31914 = call i32 @fileno(ptr noundef %31913) #11
  %31915 = call i32 @isatty(i32 noundef %31914) #11
  %31916 = icmp ne i32 %31915, 0
  br i1 %31916, label %31917, label %31934

31917:                                            ; preds = %31912
  %31918 = load i32, ptr %779, align 4, !tbaa !5
  %31919 = call ptr @__errno_location() #12
  store i32 %31918, ptr %31919, align 4, !tbaa !5
  %31920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31921 = load i32, ptr @test_count, align 4, !tbaa !5
  %31922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31923 = load i32, ptr %31922, align 4, !tbaa !5
  %31924 = call ptr @s2n_strerror(i32 noundef %31923, ptr noundef @.str.4)
  %31925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31926 = load i32, ptr %31925, align 4, !tbaa !5
  %31927 = call ptr @s2n_strerror_debug(i32 noundef %31926, ptr noundef @.str.4)
  %31928 = call ptr @__errno_location() #12
  %31929 = load i32, ptr %31928, align 4, !tbaa !5
  %31930 = call ptr @strerror(i32 noundef %31929) #11
  %31931 = call ptr @__errno_location() #12
  %31932 = load i32, ptr %31931, align 4, !tbaa !5
  %31933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31920, ptr noundef @.str.2, i32 noundef %31921, ptr noundef @.str.205, ptr noundef @.str.1, i32 noundef 1440, ptr noundef %31924, ptr noundef %31927, ptr noundef %31930, i32 noundef %31932) #11
  br label %31951

31934:                                            ; preds = %31912, %31905
  %31935 = load i32, ptr %779, align 4, !tbaa !5
  %31936 = call ptr @__errno_location() #12
  store i32 %31935, ptr %31936, align 4, !tbaa !5
  %31937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31938 = load i32, ptr @test_count, align 4, !tbaa !5
  %31939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31940 = load i32, ptr %31939, align 4, !tbaa !5
  %31941 = call ptr @s2n_strerror(i32 noundef %31940, ptr noundef @.str.4)
  %31942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31943 = load i32, ptr %31942, align 4, !tbaa !5
  %31944 = call ptr @s2n_strerror_debug(i32 noundef %31943, ptr noundef @.str.4)
  %31945 = call ptr @__errno_location() #12
  %31946 = load i32, ptr %31945, align 4, !tbaa !5
  %31947 = call ptr @strerror(i32 noundef %31946) #11
  %31948 = call ptr @__errno_location() #12
  %31949 = load i32, ptr %31948, align 4, !tbaa !5
  %31950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31937, ptr noundef @.str.5, i32 noundef %31938, ptr noundef @.str.205, ptr noundef @.str.1, i32 noundef 1440, ptr noundef %31941, ptr noundef %31944, ptr noundef %31947, i32 noundef %31949) #11
  br label %31951

31951:                                            ; preds = %31934, %31917
  call void @llvm.lifetime.end.p0(i64 4, ptr %779) #11
  br label %31952

31952:                                            ; preds = %31951
  br label %31953

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

31954:                                            ; No predecessors!
  br label %31955

31955:                                            ; preds = %31954
  br label %31956

31956:                                            ; preds = %31955, %31897
  br label %31957

31957:                                            ; preds = %31956
  br label %31958

31958:                                            ; preds = %31957
  br label %31959

31959:                                            ; preds = %31958
  %31960 = load i32, ptr @test_count, align 4, !tbaa !5
  %31961 = add nsw i32 %31960, 1
  store i32 %31961, ptr @test_count, align 4, !tbaa !5
  %31962 = load ptr, ptr %750, align 8, !tbaa !9
  %31963 = load ptr, ptr %754, align 8, !tbaa !9
  %31964 = call i32 @s2n_client_psk_recv(ptr noundef %31962, ptr noundef %31963)
  %31965 = icmp eq i32 %31964, -1
  br i1 %31965, label %31966, label %32019

31966:                                            ; preds = %31959
  br label %31967

31967:                                            ; preds = %31966
  br label %31968

31968:                                            ; preds = %31967
  call void @llvm.lifetime.start.p0(i64 4, ptr %780) #11
  %31969 = call ptr @__errno_location() #12
  %31970 = load i32, ptr %31969, align 4, !tbaa !5
  store i32 %31970, ptr %780, align 4, !tbaa !5
  %31971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31972 = call i32 @s2n_print_stacktrace(ptr noundef %31971)
  %31973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31974 = trunc i8 %31973 to i1
  br i1 %31974, label %31975, label %31997

31975:                                            ; preds = %31968
  %31976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31977 = call i32 @fileno(ptr noundef %31976) #11
  %31978 = call i32 @isatty(i32 noundef %31977) #11
  %31979 = icmp ne i32 %31978, 0
  br i1 %31979, label %31980, label %31997

31980:                                            ; preds = %31975
  %31981 = load i32, ptr %780, align 4, !tbaa !5
  %31982 = call ptr @__errno_location() #12
  store i32 %31981, ptr %31982, align 4, !tbaa !5
  %31983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31984 = load i32, ptr @test_count, align 4, !tbaa !5
  %31985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31986 = load i32, ptr %31985, align 4, !tbaa !5
  %31987 = call ptr @s2n_strerror(i32 noundef %31986, ptr noundef @.str.4)
  %31988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31989 = load i32, ptr %31988, align 4, !tbaa !5
  %31990 = call ptr @s2n_strerror_debug(i32 noundef %31989, ptr noundef @.str.4)
  %31991 = call ptr @__errno_location() #12
  %31992 = load i32, ptr %31991, align 4, !tbaa !5
  %31993 = call ptr @strerror(i32 noundef %31992) #11
  %31994 = call ptr @__errno_location() #12
  %31995 = load i32, ptr %31994, align 4, !tbaa !5
  %31996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31983, ptr noundef @.str.2, i32 noundef %31984, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1442, ptr noundef %31987, ptr noundef %31990, ptr noundef %31993, i32 noundef %31995) #11
  br label %32014

31997:                                            ; preds = %31975, %31968
  %31998 = load i32, ptr %780, align 4, !tbaa !5
  %31999 = call ptr @__errno_location() #12
  store i32 %31998, ptr %31999, align 4, !tbaa !5
  %32000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32001 = load i32, ptr @test_count, align 4, !tbaa !5
  %32002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32003 = load i32, ptr %32002, align 4, !tbaa !5
  %32004 = call ptr @s2n_strerror(i32 noundef %32003, ptr noundef @.str.4)
  %32005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32006 = load i32, ptr %32005, align 4, !tbaa !5
  %32007 = call ptr @s2n_strerror_debug(i32 noundef %32006, ptr noundef @.str.4)
  %32008 = call ptr @__errno_location() #12
  %32009 = load i32, ptr %32008, align 4, !tbaa !5
  %32010 = call ptr @strerror(i32 noundef %32009) #11
  %32011 = call ptr @__errno_location() #12
  %32012 = load i32, ptr %32011, align 4, !tbaa !5
  %32013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32000, ptr noundef @.str.5, i32 noundef %32001, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1442, ptr noundef %32004, ptr noundef %32007, ptr noundef %32010, i32 noundef %32012) #11
  br label %32014

32014:                                            ; preds = %31997, %31980
  call void @llvm.lifetime.end.p0(i64 4, ptr %780) #11
  br label %32015

32015:                                            ; preds = %32014
  br label %32016

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

32017:                                            ; No predecessors!
  br label %32018

32018:                                            ; preds = %32017
  br label %32019

32019:                                            ; preds = %32018, %31959
  br label %32020

32020:                                            ; preds = %32019
  br label %32021

32021:                                            ; preds = %32020
  br label %32022

32022:                                            ; preds = %32021
  %32023 = load i32, ptr @test_count, align 4, !tbaa !5
  %32024 = add nsw i32 %32023, 1
  store i32 %32024, ptr @test_count, align 4, !tbaa !5
  %32025 = load ptr, ptr %750, align 8, !tbaa !9
  %32026 = getelementptr inbounds %struct.s2n_connection, ptr %32025, i32 0, i32 33
  %32027 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %32026, i32 0, i32 3
  %32028 = load i16, ptr %32027, align 2, !tbaa !99
  %32029 = zext i16 %32028 to i32
  %32030 = icmp eq i32 %32029, 0
  br i1 %32030, label %32084, label %32031

32031:                                            ; preds = %32022
  br label %32032

32032:                                            ; preds = %32031
  br label %32033

32033:                                            ; preds = %32032
  call void @llvm.lifetime.start.p0(i64 4, ptr %781) #11
  %32034 = call ptr @__errno_location() #12
  %32035 = load i32, ptr %32034, align 4, !tbaa !5
  store i32 %32035, ptr %781, align 4, !tbaa !5
  %32036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32037 = call i32 @s2n_print_stacktrace(ptr noundef %32036)
  %32038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32039 = trunc i8 %32038 to i1
  br i1 %32039, label %32040, label %32062

32040:                                            ; preds = %32033
  %32041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32042 = call i32 @fileno(ptr noundef %32041) #11
  %32043 = call i32 @isatty(i32 noundef %32042) #11
  %32044 = icmp ne i32 %32043, 0
  br i1 %32044, label %32045, label %32062

32045:                                            ; preds = %32040
  %32046 = load i32, ptr %781, align 4, !tbaa !5
  %32047 = call ptr @__errno_location() #12
  store i32 %32046, ptr %32047, align 4, !tbaa !5
  %32048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32049 = load i32, ptr @test_count, align 4, !tbaa !5
  %32050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32051 = load i32, ptr %32050, align 4, !tbaa !5
  %32052 = call ptr @s2n_strerror(i32 noundef %32051, ptr noundef @.str.4)
  %32053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32054 = load i32, ptr %32053, align 4, !tbaa !5
  %32055 = call ptr @s2n_strerror_debug(i32 noundef %32054, ptr noundef @.str.4)
  %32056 = call ptr @__errno_location() #12
  %32057 = load i32, ptr %32056, align 4, !tbaa !5
  %32058 = call ptr @strerror(i32 noundef %32057) #11
  %32059 = call ptr @__errno_location() #12
  %32060 = load i32, ptr %32059, align 4, !tbaa !5
  %32061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32048, ptr noundef @.str.2, i32 noundef %32049, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1443, ptr noundef %32052, ptr noundef %32055, ptr noundef %32058, i32 noundef %32060) #11
  br label %32079

32062:                                            ; preds = %32040, %32033
  %32063 = load i32, ptr %781, align 4, !tbaa !5
  %32064 = call ptr @__errno_location() #12
  store i32 %32063, ptr %32064, align 4, !tbaa !5
  %32065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32066 = load i32, ptr @test_count, align 4, !tbaa !5
  %32067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32068 = load i32, ptr %32067, align 4, !tbaa !5
  %32069 = call ptr @s2n_strerror(i32 noundef %32068, ptr noundef @.str.4)
  %32070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32071 = load i32, ptr %32070, align 4, !tbaa !5
  %32072 = call ptr @s2n_strerror_debug(i32 noundef %32071, ptr noundef @.str.4)
  %32073 = call ptr @__errno_location() #12
  %32074 = load i32, ptr %32073, align 4, !tbaa !5
  %32075 = call ptr @strerror(i32 noundef %32074) #11
  %32076 = call ptr @__errno_location() #12
  %32077 = load i32, ptr %32076, align 4, !tbaa !5
  %32078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32065, ptr noundef @.str.5, i32 noundef %32066, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1443, ptr noundef %32069, ptr noundef %32072, ptr noundef %32075, i32 noundef %32077) #11
  br label %32079

32079:                                            ; preds = %32062, %32045
  call void @llvm.lifetime.end.p0(i64 4, ptr %781) #11
  br label %32080

32080:                                            ; preds = %32079
  br label %32081

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

32082:                                            ; No predecessors!
  br label %32083

32083:                                            ; preds = %32082
  br label %32084

32084:                                            ; preds = %32083, %32022
  br label %32085

32085:                                            ; preds = %32084
  br label %32086

32086:                                            ; preds = %32085
  br label %32087

32087:                                            ; preds = %32086
  %32088 = load i32, ptr @test_count, align 4, !tbaa !5
  %32089 = add nsw i32 %32088, 1
  store i32 %32089, ptr @test_count, align 4, !tbaa !5
  %32090 = load ptr, ptr %750, align 8, !tbaa !9
  %32091 = getelementptr inbounds %struct.s2n_connection, ptr %32090, i32 0, i32 33
  %32092 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %32091, i32 0, i32 4
  %32093 = load ptr, ptr %32092, align 8, !tbaa !100
  %32094 = load ptr, ptr %755, align 8, !tbaa !9
  %32095 = icmp eq ptr %32093, %32094
  br i1 %32095, label %32149, label %32096

32096:                                            ; preds = %32087
  br label %32097

32097:                                            ; preds = %32096
  br label %32098

32098:                                            ; preds = %32097
  call void @llvm.lifetime.start.p0(i64 4, ptr %782) #11
  %32099 = call ptr @__errno_location() #12
  %32100 = load i32, ptr %32099, align 4, !tbaa !5
  store i32 %32100, ptr %782, align 4, !tbaa !5
  %32101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32102 = call i32 @s2n_print_stacktrace(ptr noundef %32101)
  %32103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32104 = trunc i8 %32103 to i1
  br i1 %32104, label %32105, label %32127

32105:                                            ; preds = %32098
  %32106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32107 = call i32 @fileno(ptr noundef %32106) #11
  %32108 = call i32 @isatty(i32 noundef %32107) #11
  %32109 = icmp ne i32 %32108, 0
  br i1 %32109, label %32110, label %32127

32110:                                            ; preds = %32105
  %32111 = load i32, ptr %782, align 4, !tbaa !5
  %32112 = call ptr @__errno_location() #12
  store i32 %32111, ptr %32112, align 4, !tbaa !5
  %32113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32114 = load i32, ptr @test_count, align 4, !tbaa !5
  %32115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32116 = load i32, ptr %32115, align 4, !tbaa !5
  %32117 = call ptr @s2n_strerror(i32 noundef %32116, ptr noundef @.str.4)
  %32118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32119 = load i32, ptr %32118, align 4, !tbaa !5
  %32120 = call ptr @s2n_strerror_debug(i32 noundef %32119, ptr noundef @.str.4)
  %32121 = call ptr @__errno_location() #12
  %32122 = load i32, ptr %32121, align 4, !tbaa !5
  %32123 = call ptr @strerror(i32 noundef %32122) #11
  %32124 = call ptr @__errno_location() #12
  %32125 = load i32, ptr %32124, align 4, !tbaa !5
  %32126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32113, ptr noundef @.str.2, i32 noundef %32114, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 1444, ptr noundef %32117, ptr noundef %32120, ptr noundef %32123, i32 noundef %32125) #11
  br label %32144

32127:                                            ; preds = %32105, %32098
  %32128 = load i32, ptr %782, align 4, !tbaa !5
  %32129 = call ptr @__errno_location() #12
  store i32 %32128, ptr %32129, align 4, !tbaa !5
  %32130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32131 = load i32, ptr @test_count, align 4, !tbaa !5
  %32132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32133 = load i32, ptr %32132, align 4, !tbaa !5
  %32134 = call ptr @s2n_strerror(i32 noundef %32133, ptr noundef @.str.4)
  %32135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32136 = load i32, ptr %32135, align 4, !tbaa !5
  %32137 = call ptr @s2n_strerror_debug(i32 noundef %32136, ptr noundef @.str.4)
  %32138 = call ptr @__errno_location() #12
  %32139 = load i32, ptr %32138, align 4, !tbaa !5
  %32140 = call ptr @strerror(i32 noundef %32139) #11
  %32141 = call ptr @__errno_location() #12
  %32142 = load i32, ptr %32141, align 4, !tbaa !5
  %32143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32130, ptr noundef @.str.5, i32 noundef %32131, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 1444, ptr noundef %32134, ptr noundef %32137, ptr noundef %32140, i32 noundef %32142) #11
  br label %32144

32144:                                            ; preds = %32127, %32110
  call void @llvm.lifetime.end.p0(i64 4, ptr %782) #11
  br label %32145

32145:                                            ; preds = %32144
  br label %32146

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

32147:                                            ; No predecessors!
  br label %32148

32148:                                            ; preds = %32147
  br label %32149

32149:                                            ; preds = %32148, %32087
  br label %32150

32150:                                            ; preds = %32149
  br label %32151

32151:                                            ; preds = %32150
  br label %32152

32152:                                            ; preds = %32151
  %32153 = load i32, ptr @test_count, align 4, !tbaa !5
  %32154 = add nsw i32 %32153, 1
  store i32 %32154, ptr @test_count, align 4, !tbaa !5
  %32155 = load ptr, ptr %750, align 8, !tbaa !9
  %32156 = call i32 @s2n_connection_free(ptr noundef %32155)
  %32157 = icmp eq i32 %32156, -1
  br i1 %32157, label %32158, label %32211

32158:                                            ; preds = %32152
  br label %32159

32159:                                            ; preds = %32158
  br label %32160

32160:                                            ; preds = %32159
  call void @llvm.lifetime.start.p0(i64 4, ptr %783) #11
  %32161 = call ptr @__errno_location() #12
  %32162 = load i32, ptr %32161, align 4, !tbaa !5
  store i32 %32162, ptr %783, align 4, !tbaa !5
  %32163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32164 = call i32 @s2n_print_stacktrace(ptr noundef %32163)
  %32165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32166 = trunc i8 %32165 to i1
  br i1 %32166, label %32167, label %32189

32167:                                            ; preds = %32160
  %32168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32169 = call i32 @fileno(ptr noundef %32168) #11
  %32170 = call i32 @isatty(i32 noundef %32169) #11
  %32171 = icmp ne i32 %32170, 0
  br i1 %32171, label %32172, label %32189

32172:                                            ; preds = %32167
  %32173 = load i32, ptr %783, align 4, !tbaa !5
  %32174 = call ptr @__errno_location() #12
  store i32 %32173, ptr %32174, align 4, !tbaa !5
  %32175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32176 = load i32, ptr @test_count, align 4, !tbaa !5
  %32177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32178 = load i32, ptr %32177, align 4, !tbaa !5
  %32179 = call ptr @s2n_strerror(i32 noundef %32178, ptr noundef @.str.4)
  %32180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32181 = load i32, ptr %32180, align 4, !tbaa !5
  %32182 = call ptr @s2n_strerror_debug(i32 noundef %32181, ptr noundef @.str.4)
  %32183 = call ptr @__errno_location() #12
  %32184 = load i32, ptr %32183, align 4, !tbaa !5
  %32185 = call ptr @strerror(i32 noundef %32184) #11
  %32186 = call ptr @__errno_location() #12
  %32187 = load i32, ptr %32186, align 4, !tbaa !5
  %32188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32175, ptr noundef @.str.2, i32 noundef %32176, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1446, ptr noundef %32179, ptr noundef %32182, ptr noundef %32185, i32 noundef %32187) #11
  br label %32206

32189:                                            ; preds = %32167, %32160
  %32190 = load i32, ptr %783, align 4, !tbaa !5
  %32191 = call ptr @__errno_location() #12
  store i32 %32190, ptr %32191, align 4, !tbaa !5
  %32192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32193 = load i32, ptr @test_count, align 4, !tbaa !5
  %32194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32195 = load i32, ptr %32194, align 4, !tbaa !5
  %32196 = call ptr @s2n_strerror(i32 noundef %32195, ptr noundef @.str.4)
  %32197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32198 = load i32, ptr %32197, align 4, !tbaa !5
  %32199 = call ptr @s2n_strerror_debug(i32 noundef %32198, ptr noundef @.str.4)
  %32200 = call ptr @__errno_location() #12
  %32201 = load i32, ptr %32200, align 4, !tbaa !5
  %32202 = call ptr @strerror(i32 noundef %32201) #11
  %32203 = call ptr @__errno_location() #12
  %32204 = load i32, ptr %32203, align 4, !tbaa !5
  %32205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32192, ptr noundef @.str.5, i32 noundef %32193, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1446, ptr noundef %32196, ptr noundef %32199, ptr noundef %32202, i32 noundef %32204) #11
  br label %32206

32206:                                            ; preds = %32189, %32172
  call void @llvm.lifetime.end.p0(i64 4, ptr %783) #11
  br label %32207

32207:                                            ; preds = %32206
  br label %32208

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

32209:                                            ; No predecessors!
  br label %32210

32210:                                            ; preds = %32209
  br label %32211

32211:                                            ; preds = %32210, %32152
  br label %32212

32212:                                            ; preds = %32211
  br label %32213

32213:                                            ; preds = %32212
  br label %32214

32214:                                            ; preds = %32213
  %32215 = load i32, ptr @test_count, align 4, !tbaa !5
  %32216 = add nsw i32 %32215, 1
  store i32 %32216, ptr @test_count, align 4, !tbaa !5
  %32217 = load ptr, ptr %747, align 8, !tbaa !9
  %32218 = call i32 @s2n_connection_free(ptr noundef %32217)
  %32219 = icmp eq i32 %32218, -1
  br i1 %32219, label %32220, label %32273

32220:                                            ; preds = %32214
  br label %32221

32221:                                            ; preds = %32220
  br label %32222

32222:                                            ; preds = %32221
  call void @llvm.lifetime.start.p0(i64 4, ptr %784) #11
  %32223 = call ptr @__errno_location() #12
  %32224 = load i32, ptr %32223, align 4, !tbaa !5
  store i32 %32224, ptr %784, align 4, !tbaa !5
  %32225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32226 = call i32 @s2n_print_stacktrace(ptr noundef %32225)
  %32227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32228 = trunc i8 %32227 to i1
  br i1 %32228, label %32229, label %32251

32229:                                            ; preds = %32222
  %32230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32231 = call i32 @fileno(ptr noundef %32230) #11
  %32232 = call i32 @isatty(i32 noundef %32231) #11
  %32233 = icmp ne i32 %32232, 0
  br i1 %32233, label %32234, label %32251

32234:                                            ; preds = %32229
  %32235 = load i32, ptr %784, align 4, !tbaa !5
  %32236 = call ptr @__errno_location() #12
  store i32 %32235, ptr %32236, align 4, !tbaa !5
  %32237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32238 = load i32, ptr @test_count, align 4, !tbaa !5
  %32239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32240 = load i32, ptr %32239, align 4, !tbaa !5
  %32241 = call ptr @s2n_strerror(i32 noundef %32240, ptr noundef @.str.4)
  %32242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32243 = load i32, ptr %32242, align 4, !tbaa !5
  %32244 = call ptr @s2n_strerror_debug(i32 noundef %32243, ptr noundef @.str.4)
  %32245 = call ptr @__errno_location() #12
  %32246 = load i32, ptr %32245, align 4, !tbaa !5
  %32247 = call ptr @strerror(i32 noundef %32246) #11
  %32248 = call ptr @__errno_location() #12
  %32249 = load i32, ptr %32248, align 4, !tbaa !5
  %32250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32237, ptr noundef @.str.2, i32 noundef %32238, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1447, ptr noundef %32241, ptr noundef %32244, ptr noundef %32247, i32 noundef %32249) #11
  br label %32268

32251:                                            ; preds = %32229, %32222
  %32252 = load i32, ptr %784, align 4, !tbaa !5
  %32253 = call ptr @__errno_location() #12
  store i32 %32252, ptr %32253, align 4, !tbaa !5
  %32254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32255 = load i32, ptr @test_count, align 4, !tbaa !5
  %32256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32257 = load i32, ptr %32256, align 4, !tbaa !5
  %32258 = call ptr @s2n_strerror(i32 noundef %32257, ptr noundef @.str.4)
  %32259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32260 = load i32, ptr %32259, align 4, !tbaa !5
  %32261 = call ptr @s2n_strerror_debug(i32 noundef %32260, ptr noundef @.str.4)
  %32262 = call ptr @__errno_location() #12
  %32263 = load i32, ptr %32262, align 4, !tbaa !5
  %32264 = call ptr @strerror(i32 noundef %32263) #11
  %32265 = call ptr @__errno_location() #12
  %32266 = load i32, ptr %32265, align 4, !tbaa !5
  %32267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32254, ptr noundef @.str.5, i32 noundef %32255, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1447, ptr noundef %32258, ptr noundef %32261, ptr noundef %32264, i32 noundef %32266) #11
  br label %32268

32268:                                            ; preds = %32251, %32234
  call void @llvm.lifetime.end.p0(i64 4, ptr %784) #11
  br label %32269

32269:                                            ; preds = %32268
  br label %32270

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

32271:                                            ; No predecessors!
  br label %32272

32272:                                            ; preds = %32271
  br label %32273

32273:                                            ; preds = %32272, %32214
  br label %32274

32274:                                            ; preds = %32273
  br label %32275

32275:                                            ; preds = %32274
  call void @llvm.lifetime.end.p0(i64 8, ptr %768) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %755) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %754) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %750) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %749) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %747) #11
  call void @llvm.lifetime.end.p0(i64 7, ptr %746) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %657) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %656) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %655) #11
  %32276 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %32276, label %32277, label %34457

32277:                                            ; preds = %32275
  call void @llvm.lifetime.start.p0(i64 8, ptr %785) #11
  store ptr null, ptr %785, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %786) #11
  store ptr null, ptr %786, align 8, !tbaa !9
  br label %32278

32278:                                            ; preds = %32277
  %32279 = load i32, ptr @test_count, align 4, !tbaa !5
  %32280 = add nsw i32 %32279, 1
  store i32 %32280, ptr @test_count, align 4, !tbaa !5
  %32281 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %32281, ptr %785, align 8, !tbaa !9
  %32282 = icmp eq ptr %32281, null
  br i1 %32282, label %32283, label %32336

32283:                                            ; preds = %32278
  br label %32284

32284:                                            ; preds = %32283
  br label %32285

32285:                                            ; preds = %32284
  call void @llvm.lifetime.start.p0(i64 4, ptr %787) #11
  %32286 = call ptr @__errno_location() #12
  %32287 = load i32, ptr %32286, align 4, !tbaa !5
  store i32 %32287, ptr %787, align 4, !tbaa !5
  %32288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32289 = call i32 @s2n_print_stacktrace(ptr noundef %32288)
  %32290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32291 = trunc i8 %32290 to i1
  br i1 %32291, label %32292, label %32314

32292:                                            ; preds = %32285
  %32293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32294 = call i32 @fileno(ptr noundef %32293) #11
  %32295 = call i32 @isatty(i32 noundef %32294) #11
  %32296 = icmp ne i32 %32295, 0
  br i1 %32296, label %32297, label %32314

32297:                                            ; preds = %32292
  %32298 = load i32, ptr %787, align 4, !tbaa !5
  %32299 = call ptr @__errno_location() #12
  store i32 %32298, ptr %32299, align 4, !tbaa !5
  %32300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32301 = load i32, ptr @test_count, align 4, !tbaa !5
  %32302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32303 = load i32, ptr %32302, align 4, !tbaa !5
  %32304 = call ptr @s2n_strerror(i32 noundef %32303, ptr noundef @.str.4)
  %32305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32306 = load i32, ptr %32305, align 4, !tbaa !5
  %32307 = call ptr @s2n_strerror_debug(i32 noundef %32306, ptr noundef @.str.4)
  %32308 = call ptr @__errno_location() #12
  %32309 = load i32, ptr %32308, align 4, !tbaa !5
  %32310 = call ptr @strerror(i32 noundef %32309) #11
  %32311 = call ptr @__errno_location() #12
  %32312 = load i32, ptr %32311, align 4, !tbaa !5
  %32313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32300, ptr noundef @.str.2, i32 noundef %32301, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 1455, ptr noundef %32304, ptr noundef %32307, ptr noundef %32310, i32 noundef %32312) #11
  br label %32331

32314:                                            ; preds = %32292, %32285
  %32315 = load i32, ptr %787, align 4, !tbaa !5
  %32316 = call ptr @__errno_location() #12
  store i32 %32315, ptr %32316, align 4, !tbaa !5
  %32317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32318 = load i32, ptr @test_count, align 4, !tbaa !5
  %32319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32320 = load i32, ptr %32319, align 4, !tbaa !5
  %32321 = call ptr @s2n_strerror(i32 noundef %32320, ptr noundef @.str.4)
  %32322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32323 = load i32, ptr %32322, align 4, !tbaa !5
  %32324 = call ptr @s2n_strerror_debug(i32 noundef %32323, ptr noundef @.str.4)
  %32325 = call ptr @__errno_location() #12
  %32326 = load i32, ptr %32325, align 4, !tbaa !5
  %32327 = call ptr @strerror(i32 noundef %32326) #11
  %32328 = call ptr @__errno_location() #12
  %32329 = load i32, ptr %32328, align 4, !tbaa !5
  %32330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32317, ptr noundef @.str.5, i32 noundef %32318, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 1455, ptr noundef %32321, ptr noundef %32324, ptr noundef %32327, i32 noundef %32329) #11
  br label %32331

32331:                                            ; preds = %32314, %32297
  call void @llvm.lifetime.end.p0(i64 4, ptr %787) #11
  br label %32332

32332:                                            ; preds = %32331
  br label %32333

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

32334:                                            ; No predecessors!
  br label %32335

32335:                                            ; preds = %32334
  br label %32336

32336:                                            ; preds = %32335, %32278
  br label %32337

32337:                                            ; preds = %32336
  br label %32338

32338:                                            ; preds = %32337
  br label %32339

32339:                                            ; preds = %32338
  %32340 = load i32, ptr @test_count, align 4, !tbaa !5
  %32341 = add nsw i32 %32340, 1
  store i32 %32341, ptr @test_count, align 4, !tbaa !5
  %32342 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %32342, ptr %786, align 8, !tbaa !9
  %32343 = icmp eq ptr %32342, null
  br i1 %32343, label %32344, label %32397

32344:                                            ; preds = %32339
  br label %32345

32345:                                            ; preds = %32344
  br label %32346

32346:                                            ; preds = %32345
  call void @llvm.lifetime.start.p0(i64 4, ptr %788) #11
  %32347 = call ptr @__errno_location() #12
  %32348 = load i32, ptr %32347, align 4, !tbaa !5
  store i32 %32348, ptr %788, align 4, !tbaa !5
  %32349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32350 = call i32 @s2n_print_stacktrace(ptr noundef %32349)
  %32351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32352 = trunc i8 %32351 to i1
  br i1 %32352, label %32353, label %32375

32353:                                            ; preds = %32346
  %32354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32355 = call i32 @fileno(ptr noundef %32354) #11
  %32356 = call i32 @isatty(i32 noundef %32355) #11
  %32357 = icmp ne i32 %32356, 0
  br i1 %32357, label %32358, label %32375

32358:                                            ; preds = %32353
  %32359 = load i32, ptr %788, align 4, !tbaa !5
  %32360 = call ptr @__errno_location() #12
  store i32 %32359, ptr %32360, align 4, !tbaa !5
  %32361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32362 = load i32, ptr @test_count, align 4, !tbaa !5
  %32363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32364 = load i32, ptr %32363, align 4, !tbaa !5
  %32365 = call ptr @s2n_strerror(i32 noundef %32364, ptr noundef @.str.4)
  %32366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32367 = load i32, ptr %32366, align 4, !tbaa !5
  %32368 = call ptr @s2n_strerror_debug(i32 noundef %32367, ptr noundef @.str.4)
  %32369 = call ptr @__errno_location() #12
  %32370 = load i32, ptr %32369, align 4, !tbaa !5
  %32371 = call ptr @strerror(i32 noundef %32370) #11
  %32372 = call ptr @__errno_location() #12
  %32373 = load i32, ptr %32372, align 4, !tbaa !5
  %32374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32361, ptr noundef @.str.2, i32 noundef %32362, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 1456, ptr noundef %32365, ptr noundef %32368, ptr noundef %32371, i32 noundef %32373) #11
  br label %32392

32375:                                            ; preds = %32353, %32346
  %32376 = load i32, ptr %788, align 4, !tbaa !5
  %32377 = call ptr @__errno_location() #12
  store i32 %32376, ptr %32377, align 4, !tbaa !5
  %32378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32379 = load i32, ptr @test_count, align 4, !tbaa !5
  %32380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32381 = load i32, ptr %32380, align 4, !tbaa !5
  %32382 = call ptr @s2n_strerror(i32 noundef %32381, ptr noundef @.str.4)
  %32383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32384 = load i32, ptr %32383, align 4, !tbaa !5
  %32385 = call ptr @s2n_strerror_debug(i32 noundef %32384, ptr noundef @.str.4)
  %32386 = call ptr @__errno_location() #12
  %32387 = load i32, ptr %32386, align 4, !tbaa !5
  %32388 = call ptr @strerror(i32 noundef %32387) #11
  %32389 = call ptr @__errno_location() #12
  %32390 = load i32, ptr %32389, align 4, !tbaa !5
  %32391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32378, ptr noundef @.str.5, i32 noundef %32379, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 1456, ptr noundef %32382, ptr noundef %32385, ptr noundef %32388, i32 noundef %32390) #11
  br label %32392

32392:                                            ; preds = %32375, %32358
  call void @llvm.lifetime.end.p0(i64 4, ptr %788) #11
  br label %32393

32393:                                            ; preds = %32392
  br label %32394

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

32395:                                            ; No predecessors!
  br label %32396

32396:                                            ; preds = %32395
  br label %32397

32397:                                            ; preds = %32396, %32339
  br label %32398

32398:                                            ; preds = %32397
  br label %32399

32399:                                            ; preds = %32398
  br label %32400

32400:                                            ; preds = %32399
  %32401 = load i32, ptr @test_count, align 4, !tbaa !5
  %32402 = add nsw i32 %32401, 1
  store i32 %32402, ptr @test_count, align 4, !tbaa !5
  %32403 = load ptr, ptr %786, align 8, !tbaa !9
  %32404 = call i32 @s2n_connection_set_psk_type(ptr noundef %32403, i32 noundef 1)
  %32405 = getelementptr inbounds %struct.s2n_result, ptr %789, i32 0, i32 0
  store i32 %32404, ptr %32405, align 4
  %32406 = getelementptr inbounds %struct.s2n_result, ptr %789, i32 0, i32 0
  %32407 = load i32, ptr %32406, align 4
  %32408 = call zeroext i1 @s2n_result_is_ok(i32 %32407)
  br i1 %32408, label %32462, label %32409

32409:                                            ; preds = %32400
  br label %32410

32410:                                            ; preds = %32409
  br label %32411

32411:                                            ; preds = %32410
  call void @llvm.lifetime.start.p0(i64 4, ptr %790) #11
  %32412 = call ptr @__errno_location() #12
  %32413 = load i32, ptr %32412, align 4, !tbaa !5
  store i32 %32413, ptr %790, align 4, !tbaa !5
  %32414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32415 = call i32 @s2n_print_stacktrace(ptr noundef %32414)
  %32416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32417 = trunc i8 %32416 to i1
  br i1 %32417, label %32418, label %32440

32418:                                            ; preds = %32411
  %32419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32420 = call i32 @fileno(ptr noundef %32419) #11
  %32421 = call i32 @isatty(i32 noundef %32420) #11
  %32422 = icmp ne i32 %32421, 0
  br i1 %32422, label %32423, label %32440

32423:                                            ; preds = %32418
  %32424 = load i32, ptr %790, align 4, !tbaa !5
  %32425 = call ptr @__errno_location() #12
  store i32 %32424, ptr %32425, align 4, !tbaa !5
  %32426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32427 = load i32, ptr @test_count, align 4, !tbaa !5
  %32428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32429 = load i32, ptr %32428, align 4, !tbaa !5
  %32430 = call ptr @s2n_strerror(i32 noundef %32429, ptr noundef @.str.4)
  %32431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32432 = load i32, ptr %32431, align 4, !tbaa !5
  %32433 = call ptr @s2n_strerror_debug(i32 noundef %32432, ptr noundef @.str.4)
  %32434 = call ptr @__errno_location() #12
  %32435 = load i32, ptr %32434, align 4, !tbaa !5
  %32436 = call ptr @strerror(i32 noundef %32435) #11
  %32437 = call ptr @__errno_location() #12
  %32438 = load i32, ptr %32437, align 4, !tbaa !5
  %32439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32426, ptr noundef @.str.2, i32 noundef %32427, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 1457, ptr noundef %32430, ptr noundef %32433, ptr noundef %32436, i32 noundef %32438) #11
  br label %32457

32440:                                            ; preds = %32418, %32411
  %32441 = load i32, ptr %790, align 4, !tbaa !5
  %32442 = call ptr @__errno_location() #12
  store i32 %32441, ptr %32442, align 4, !tbaa !5
  %32443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32444 = load i32, ptr @test_count, align 4, !tbaa !5
  %32445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32446 = load i32, ptr %32445, align 4, !tbaa !5
  %32447 = call ptr @s2n_strerror(i32 noundef %32446, ptr noundef @.str.4)
  %32448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32449 = load i32, ptr %32448, align 4, !tbaa !5
  %32450 = call ptr @s2n_strerror_debug(i32 noundef %32449, ptr noundef @.str.4)
  %32451 = call ptr @__errno_location() #12
  %32452 = load i32, ptr %32451, align 4, !tbaa !5
  %32453 = call ptr @strerror(i32 noundef %32452) #11
  %32454 = call ptr @__errno_location() #12
  %32455 = load i32, ptr %32454, align 4, !tbaa !5
  %32456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32443, ptr noundef @.str.5, i32 noundef %32444, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 1457, ptr noundef %32447, ptr noundef %32450, ptr noundef %32453, i32 noundef %32455) #11
  br label %32457

32457:                                            ; preds = %32440, %32423
  call void @llvm.lifetime.end.p0(i64 4, ptr %790) #11
  br label %32458

32458:                                            ; preds = %32457
  br label %32459

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

32460:                                            ; No predecessors!
  br label %32461

32461:                                            ; preds = %32460
  br label %32462

32462:                                            ; preds = %32461, %32400
  br label %32463

32463:                                            ; preds = %32462
  br label %32464

32464:                                            ; preds = %32463
  br label %32465

32465:                                            ; preds = %32464
  %32466 = load i32, ptr @test_count, align 4, !tbaa !5
  %32467 = add nsw i32 %32466, 1
  store i32 %32467, ptr @test_count, align 4, !tbaa !5
  %32468 = load ptr, ptr %785, align 8, !tbaa !9
  %32469 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %32468, ptr noundef @.str.62)
  %32470 = icmp eq i32 %32469, -1
  br i1 %32470, label %32471, label %32524

32471:                                            ; preds = %32465
  br label %32472

32472:                                            ; preds = %32471
  br label %32473

32473:                                            ; preds = %32472
  call void @llvm.lifetime.start.p0(i64 4, ptr %791) #11
  %32474 = call ptr @__errno_location() #12
  %32475 = load i32, ptr %32474, align 4, !tbaa !5
  store i32 %32475, ptr %791, align 4, !tbaa !5
  %32476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32477 = call i32 @s2n_print_stacktrace(ptr noundef %32476)
  %32478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32479 = trunc i8 %32478 to i1
  br i1 %32479, label %32480, label %32502

32480:                                            ; preds = %32473
  %32481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32482 = call i32 @fileno(ptr noundef %32481) #11
  %32483 = call i32 @isatty(i32 noundef %32482) #11
  %32484 = icmp ne i32 %32483, 0
  br i1 %32484, label %32485, label %32502

32485:                                            ; preds = %32480
  %32486 = load i32, ptr %791, align 4, !tbaa !5
  %32487 = call ptr @__errno_location() #12
  store i32 %32486, ptr %32487, align 4, !tbaa !5
  %32488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32489 = load i32, ptr @test_count, align 4, !tbaa !5
  %32490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32491 = load i32, ptr %32490, align 4, !tbaa !5
  %32492 = call ptr @s2n_strerror(i32 noundef %32491, ptr noundef @.str.4)
  %32493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32494 = load i32, ptr %32493, align 4, !tbaa !5
  %32495 = call ptr @s2n_strerror_debug(i32 noundef %32494, ptr noundef @.str.4)
  %32496 = call ptr @__errno_location() #12
  %32497 = load i32, ptr %32496, align 4, !tbaa !5
  %32498 = call ptr @strerror(i32 noundef %32497) #11
  %32499 = call ptr @__errno_location() #12
  %32500 = load i32, ptr %32499, align 4, !tbaa !5
  %32501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32488, ptr noundef @.str.2, i32 noundef %32489, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1458, ptr noundef %32492, ptr noundef %32495, ptr noundef %32498, i32 noundef %32500) #11
  br label %32519

32502:                                            ; preds = %32480, %32473
  %32503 = load i32, ptr %791, align 4, !tbaa !5
  %32504 = call ptr @__errno_location() #12
  store i32 %32503, ptr %32504, align 4, !tbaa !5
  %32505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32506 = load i32, ptr @test_count, align 4, !tbaa !5
  %32507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32508 = load i32, ptr %32507, align 4, !tbaa !5
  %32509 = call ptr @s2n_strerror(i32 noundef %32508, ptr noundef @.str.4)
  %32510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32511 = load i32, ptr %32510, align 4, !tbaa !5
  %32512 = call ptr @s2n_strerror_debug(i32 noundef %32511, ptr noundef @.str.4)
  %32513 = call ptr @__errno_location() #12
  %32514 = load i32, ptr %32513, align 4, !tbaa !5
  %32515 = call ptr @strerror(i32 noundef %32514) #11
  %32516 = call ptr @__errno_location() #12
  %32517 = load i32, ptr %32516, align 4, !tbaa !5
  %32518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32505, ptr noundef @.str.5, i32 noundef %32506, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1458, ptr noundef %32509, ptr noundef %32512, ptr noundef %32515, i32 noundef %32517) #11
  br label %32519

32519:                                            ; preds = %32502, %32485
  call void @llvm.lifetime.end.p0(i64 4, ptr %791) #11
  br label %32520

32520:                                            ; preds = %32519
  br label %32521

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

32522:                                            ; No predecessors!
  br label %32523

32523:                                            ; preds = %32522
  br label %32524

32524:                                            ; preds = %32523, %32465
  br label %32525

32525:                                            ; preds = %32524
  br label %32526

32526:                                            ; preds = %32525
  br label %32527

32527:                                            ; preds = %32526
  %32528 = load i32, ptr @test_count, align 4, !tbaa !5
  %32529 = add nsw i32 %32528, 1
  store i32 %32529, ptr @test_count, align 4, !tbaa !5
  %32530 = load ptr, ptr %786, align 8, !tbaa !9
  %32531 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %32530, ptr noundef @.str.62)
  %32532 = icmp eq i32 %32531, -1
  br i1 %32532, label %32533, label %32586

32533:                                            ; preds = %32527
  br label %32534

32534:                                            ; preds = %32533
  br label %32535

32535:                                            ; preds = %32534
  call void @llvm.lifetime.start.p0(i64 4, ptr %792) #11
  %32536 = call ptr @__errno_location() #12
  %32537 = load i32, ptr %32536, align 4, !tbaa !5
  store i32 %32537, ptr %792, align 4, !tbaa !5
  %32538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32539 = call i32 @s2n_print_stacktrace(ptr noundef %32538)
  %32540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32541 = trunc i8 %32540 to i1
  br i1 %32541, label %32542, label %32564

32542:                                            ; preds = %32535
  %32543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32544 = call i32 @fileno(ptr noundef %32543) #11
  %32545 = call i32 @isatty(i32 noundef %32544) #11
  %32546 = icmp ne i32 %32545, 0
  br i1 %32546, label %32547, label %32564

32547:                                            ; preds = %32542
  %32548 = load i32, ptr %792, align 4, !tbaa !5
  %32549 = call ptr @__errno_location() #12
  store i32 %32548, ptr %32549, align 4, !tbaa !5
  %32550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32551 = load i32, ptr @test_count, align 4, !tbaa !5
  %32552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32553 = load i32, ptr %32552, align 4, !tbaa !5
  %32554 = call ptr @s2n_strerror(i32 noundef %32553, ptr noundef @.str.4)
  %32555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32556 = load i32, ptr %32555, align 4, !tbaa !5
  %32557 = call ptr @s2n_strerror_debug(i32 noundef %32556, ptr noundef @.str.4)
  %32558 = call ptr @__errno_location() #12
  %32559 = load i32, ptr %32558, align 4, !tbaa !5
  %32560 = call ptr @strerror(i32 noundef %32559) #11
  %32561 = call ptr @__errno_location() #12
  %32562 = load i32, ptr %32561, align 4, !tbaa !5
  %32563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32550, ptr noundef @.str.2, i32 noundef %32551, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 1459, ptr noundef %32554, ptr noundef %32557, ptr noundef %32560, i32 noundef %32562) #11
  br label %32581

32564:                                            ; preds = %32542, %32535
  %32565 = load i32, ptr %792, align 4, !tbaa !5
  %32566 = call ptr @__errno_location() #12
  store i32 %32565, ptr %32566, align 4, !tbaa !5
  %32567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32568 = load i32, ptr @test_count, align 4, !tbaa !5
  %32569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32570 = load i32, ptr %32569, align 4, !tbaa !5
  %32571 = call ptr @s2n_strerror(i32 noundef %32570, ptr noundef @.str.4)
  %32572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32573 = load i32, ptr %32572, align 4, !tbaa !5
  %32574 = call ptr @s2n_strerror_debug(i32 noundef %32573, ptr noundef @.str.4)
  %32575 = call ptr @__errno_location() #12
  %32576 = load i32, ptr %32575, align 4, !tbaa !5
  %32577 = call ptr @strerror(i32 noundef %32576) #11
  %32578 = call ptr @__errno_location() #12
  %32579 = load i32, ptr %32578, align 4, !tbaa !5
  %32580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32567, ptr noundef @.str.5, i32 noundef %32568, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 1459, ptr noundef %32571, ptr noundef %32574, ptr noundef %32577, i32 noundef %32579) #11
  br label %32581

32581:                                            ; preds = %32564, %32547
  call void @llvm.lifetime.end.p0(i64 4, ptr %792) #11
  br label %32582

32582:                                            ; preds = %32581
  br label %32583

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

32584:                                            ; No predecessors!
  br label %32585

32585:                                            ; preds = %32584
  br label %32586

32586:                                            ; preds = %32585, %32527
  br label %32587

32587:                                            ; preds = %32586
  br label %32588

32588:                                            ; preds = %32587
  call void @llvm.lifetime.start.p0(i64 8, ptr %793) #11
  call void @llvm.memset.p0.i64(ptr align 4 %793, i8 0, i64 8, i1 false)
  br label %32589

32589:                                            ; preds = %32588
  %32590 = load i32, ptr @test_count, align 4, !tbaa !5
  %32591 = add nsw i32 %32590, 1
  store i32 %32591, ptr @test_count, align 4, !tbaa !5
  %32592 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %793)
  %32593 = icmp eq i32 %32592, -1
  br i1 %32593, label %32594, label %32647

32594:                                            ; preds = %32589
  br label %32595

32595:                                            ; preds = %32594
  br label %32596

32596:                                            ; preds = %32595
  call void @llvm.lifetime.start.p0(i64 4, ptr %794) #11
  %32597 = call ptr @__errno_location() #12
  %32598 = load i32, ptr %32597, align 4, !tbaa !5
  store i32 %32598, ptr %794, align 4, !tbaa !5
  %32599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32600 = call i32 @s2n_print_stacktrace(ptr noundef %32599)
  %32601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32602 = trunc i8 %32601 to i1
  br i1 %32602, label %32603, label %32625

32603:                                            ; preds = %32596
  %32604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32605 = call i32 @fileno(ptr noundef %32604) #11
  %32606 = call i32 @isatty(i32 noundef %32605) #11
  %32607 = icmp ne i32 %32606, 0
  br i1 %32607, label %32608, label %32625

32608:                                            ; preds = %32603
  %32609 = load i32, ptr %794, align 4, !tbaa !5
  %32610 = call ptr @__errno_location() #12
  store i32 %32609, ptr %32610, align 4, !tbaa !5
  %32611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32612 = load i32, ptr @test_count, align 4, !tbaa !5
  %32613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32614 = load i32, ptr %32613, align 4, !tbaa !5
  %32615 = call ptr @s2n_strerror(i32 noundef %32614, ptr noundef @.str.4)
  %32616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32617 = load i32, ptr %32616, align 4, !tbaa !5
  %32618 = call ptr @s2n_strerror_debug(i32 noundef %32617, ptr noundef @.str.4)
  %32619 = call ptr @__errno_location() #12
  %32620 = load i32, ptr %32619, align 4, !tbaa !5
  %32621 = call ptr @strerror(i32 noundef %32620) #11
  %32622 = call ptr @__errno_location() #12
  %32623 = load i32, ptr %32622, align 4, !tbaa !5
  %32624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32611, ptr noundef @.str.2, i32 noundef %32612, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 1463, ptr noundef %32615, ptr noundef %32618, ptr noundef %32621, i32 noundef %32623) #11
  br label %32642

32625:                                            ; preds = %32603, %32596
  %32626 = load i32, ptr %794, align 4, !tbaa !5
  %32627 = call ptr @__errno_location() #12
  store i32 %32626, ptr %32627, align 4, !tbaa !5
  %32628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32629 = load i32, ptr @test_count, align 4, !tbaa !5
  %32630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32631 = load i32, ptr %32630, align 4, !tbaa !5
  %32632 = call ptr @s2n_strerror(i32 noundef %32631, ptr noundef @.str.4)
  %32633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32634 = load i32, ptr %32633, align 4, !tbaa !5
  %32635 = call ptr @s2n_strerror_debug(i32 noundef %32634, ptr noundef @.str.4)
  %32636 = call ptr @__errno_location() #12
  %32637 = load i32, ptr %32636, align 4, !tbaa !5
  %32638 = call ptr @strerror(i32 noundef %32637) #11
  %32639 = call ptr @__errno_location() #12
  %32640 = load i32, ptr %32639, align 4, !tbaa !5
  %32641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32628, ptr noundef @.str.5, i32 noundef %32629, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 1463, ptr noundef %32632, ptr noundef %32635, ptr noundef %32638, i32 noundef %32640) #11
  br label %32642

32642:                                            ; preds = %32625, %32608
  call void @llvm.lifetime.end.p0(i64 4, ptr %794) #11
  br label %32643

32643:                                            ; preds = %32642
  br label %32644

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

32645:                                            ; No predecessors!
  br label %32646

32646:                                            ; preds = %32645
  br label %32647

32647:                                            ; preds = %32646, %32589
  br label %32648

32648:                                            ; preds = %32647
  br label %32649

32649:                                            ; preds = %32648
  br label %32650

32650:                                            ; preds = %32649
  %32651 = load i32, ptr @test_count, align 4, !tbaa !5
  %32652 = add nsw i32 %32651, 1
  store i32 %32652, ptr @test_count, align 4, !tbaa !5
  %32653 = load ptr, ptr %785, align 8, !tbaa !9
  %32654 = call i32 @s2n_connection_set_io_pair(ptr noundef %32653, ptr noundef %793)
  %32655 = icmp eq i32 %32654, -1
  br i1 %32655, label %32656, label %32709

32656:                                            ; preds = %32650
  br label %32657

32657:                                            ; preds = %32656
  br label %32658

32658:                                            ; preds = %32657
  call void @llvm.lifetime.start.p0(i64 4, ptr %795) #11
  %32659 = call ptr @__errno_location() #12
  %32660 = load i32, ptr %32659, align 4, !tbaa !5
  store i32 %32660, ptr %795, align 4, !tbaa !5
  %32661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32662 = call i32 @s2n_print_stacktrace(ptr noundef %32661)
  %32663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32664 = trunc i8 %32663 to i1
  br i1 %32664, label %32665, label %32687

32665:                                            ; preds = %32658
  %32666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32667 = call i32 @fileno(ptr noundef %32666) #11
  %32668 = call i32 @isatty(i32 noundef %32667) #11
  %32669 = icmp ne i32 %32668, 0
  br i1 %32669, label %32670, label %32687

32670:                                            ; preds = %32665
  %32671 = load i32, ptr %795, align 4, !tbaa !5
  %32672 = call ptr @__errno_location() #12
  store i32 %32671, ptr %32672, align 4, !tbaa !5
  %32673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32674 = load i32, ptr @test_count, align 4, !tbaa !5
  %32675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32676 = load i32, ptr %32675, align 4, !tbaa !5
  %32677 = call ptr @s2n_strerror(i32 noundef %32676, ptr noundef @.str.4)
  %32678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32679 = load i32, ptr %32678, align 4, !tbaa !5
  %32680 = call ptr @s2n_strerror_debug(i32 noundef %32679, ptr noundef @.str.4)
  %32681 = call ptr @__errno_location() #12
  %32682 = load i32, ptr %32681, align 4, !tbaa !5
  %32683 = call ptr @strerror(i32 noundef %32682) #11
  %32684 = call ptr @__errno_location() #12
  %32685 = load i32, ptr %32684, align 4, !tbaa !5
  %32686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32673, ptr noundef @.str.2, i32 noundef %32674, ptr noundef @.str.213, ptr noundef @.str.1, i32 noundef 1464, ptr noundef %32677, ptr noundef %32680, ptr noundef %32683, i32 noundef %32685) #11
  br label %32704

32687:                                            ; preds = %32665, %32658
  %32688 = load i32, ptr %795, align 4, !tbaa !5
  %32689 = call ptr @__errno_location() #12
  store i32 %32688, ptr %32689, align 4, !tbaa !5
  %32690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32691 = load i32, ptr @test_count, align 4, !tbaa !5
  %32692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32693 = load i32, ptr %32692, align 4, !tbaa !5
  %32694 = call ptr @s2n_strerror(i32 noundef %32693, ptr noundef @.str.4)
  %32695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32696 = load i32, ptr %32695, align 4, !tbaa !5
  %32697 = call ptr @s2n_strerror_debug(i32 noundef %32696, ptr noundef @.str.4)
  %32698 = call ptr @__errno_location() #12
  %32699 = load i32, ptr %32698, align 4, !tbaa !5
  %32700 = call ptr @strerror(i32 noundef %32699) #11
  %32701 = call ptr @__errno_location() #12
  %32702 = load i32, ptr %32701, align 4, !tbaa !5
  %32703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32690, ptr noundef @.str.5, i32 noundef %32691, ptr noundef @.str.213, ptr noundef @.str.1, i32 noundef 1464, ptr noundef %32694, ptr noundef %32697, ptr noundef %32700, i32 noundef %32702) #11
  br label %32704

32704:                                            ; preds = %32687, %32670
  call void @llvm.lifetime.end.p0(i64 4, ptr %795) #11
  br label %32705

32705:                                            ; preds = %32704
  br label %32706

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

32707:                                            ; No predecessors!
  br label %32708

32708:                                            ; preds = %32707
  br label %32709

32709:                                            ; preds = %32708, %32650
  br label %32710

32710:                                            ; preds = %32709
  br label %32711

32711:                                            ; preds = %32710
  br label %32712

32712:                                            ; preds = %32711
  %32713 = load i32, ptr @test_count, align 4, !tbaa !5
  %32714 = add nsw i32 %32713, 1
  store i32 %32714, ptr @test_count, align 4, !tbaa !5
  %32715 = load ptr, ptr %786, align 8, !tbaa !9
  %32716 = call i32 @s2n_connection_set_io_pair(ptr noundef %32715, ptr noundef %793)
  %32717 = icmp eq i32 %32716, -1
  br i1 %32717, label %32718, label %32771

32718:                                            ; preds = %32712
  br label %32719

32719:                                            ; preds = %32718
  br label %32720

32720:                                            ; preds = %32719
  call void @llvm.lifetime.start.p0(i64 4, ptr %796) #11
  %32721 = call ptr @__errno_location() #12
  %32722 = load i32, ptr %32721, align 4, !tbaa !5
  store i32 %32722, ptr %796, align 4, !tbaa !5
  %32723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32724 = call i32 @s2n_print_stacktrace(ptr noundef %32723)
  %32725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32726 = trunc i8 %32725 to i1
  br i1 %32726, label %32727, label %32749

32727:                                            ; preds = %32720
  %32728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32729 = call i32 @fileno(ptr noundef %32728) #11
  %32730 = call i32 @isatty(i32 noundef %32729) #11
  %32731 = icmp ne i32 %32730, 0
  br i1 %32731, label %32732, label %32749

32732:                                            ; preds = %32727
  %32733 = load i32, ptr %796, align 4, !tbaa !5
  %32734 = call ptr @__errno_location() #12
  store i32 %32733, ptr %32734, align 4, !tbaa !5
  %32735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32736 = load i32, ptr @test_count, align 4, !tbaa !5
  %32737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32738 = load i32, ptr %32737, align 4, !tbaa !5
  %32739 = call ptr @s2n_strerror(i32 noundef %32738, ptr noundef @.str.4)
  %32740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32741 = load i32, ptr %32740, align 4, !tbaa !5
  %32742 = call ptr @s2n_strerror_debug(i32 noundef %32741, ptr noundef @.str.4)
  %32743 = call ptr @__errno_location() #12
  %32744 = load i32, ptr %32743, align 4, !tbaa !5
  %32745 = call ptr @strerror(i32 noundef %32744) #11
  %32746 = call ptr @__errno_location() #12
  %32747 = load i32, ptr %32746, align 4, !tbaa !5
  %32748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32735, ptr noundef @.str.2, i32 noundef %32736, ptr noundef @.str.214, ptr noundef @.str.1, i32 noundef 1465, ptr noundef %32739, ptr noundef %32742, ptr noundef %32745, i32 noundef %32747) #11
  br label %32766

32749:                                            ; preds = %32727, %32720
  %32750 = load i32, ptr %796, align 4, !tbaa !5
  %32751 = call ptr @__errno_location() #12
  store i32 %32750, ptr %32751, align 4, !tbaa !5
  %32752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32753 = load i32, ptr @test_count, align 4, !tbaa !5
  %32754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32755 = load i32, ptr %32754, align 4, !tbaa !5
  %32756 = call ptr @s2n_strerror(i32 noundef %32755, ptr noundef @.str.4)
  %32757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32758 = load i32, ptr %32757, align 4, !tbaa !5
  %32759 = call ptr @s2n_strerror_debug(i32 noundef %32758, ptr noundef @.str.4)
  %32760 = call ptr @__errno_location() #12
  %32761 = load i32, ptr %32760, align 4, !tbaa !5
  %32762 = call ptr @strerror(i32 noundef %32761) #11
  %32763 = call ptr @__errno_location() #12
  %32764 = load i32, ptr %32763, align 4, !tbaa !5
  %32765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32752, ptr noundef @.str.5, i32 noundef %32753, ptr noundef @.str.214, ptr noundef @.str.1, i32 noundef 1465, ptr noundef %32756, ptr noundef %32759, ptr noundef %32762, i32 noundef %32764) #11
  br label %32766

32766:                                            ; preds = %32749, %32732
  call void @llvm.lifetime.end.p0(i64 4, ptr %796) #11
  br label %32767

32767:                                            ; preds = %32766
  br label %32768

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

32769:                                            ; No predecessors!
  br label %32770

32770:                                            ; preds = %32769
  br label %32771

32771:                                            ; preds = %32770, %32712
  br label %32772

32772:                                            ; preds = %32771
  br label %32773

32773:                                            ; preds = %32772
  call void @llvm.lifetime.start.p0(i64 18, ptr %797) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %797, ptr align 16 @__const.main.other_client_data, i64 18, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %798) #11
  store ptr null, ptr %798, align 8, !tbaa !9
  br label %32774

32774:                                            ; preds = %32773
  %32775 = load i32, ptr @test_count, align 4, !tbaa !5
  %32776 = add nsw i32 %32775, 1
  store i32 %32776, ptr @test_count, align 4, !tbaa !5
  %32777 = load ptr, ptr %785, align 8, !tbaa !9
  %32778 = getelementptr inbounds %struct.s2n_connection, ptr %32777, i32 0, i32 33
  %32779 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %32778, i32 0, i32 1
  %32780 = call i32 @s2n_array_pushback(ptr noundef %32779, ptr noundef %798)
  %32781 = getelementptr inbounds %struct.s2n_result, ptr %799, i32 0, i32 0
  store i32 %32780, ptr %32781, align 4
  %32782 = getelementptr inbounds %struct.s2n_result, ptr %799, i32 0, i32 0
  %32783 = load i32, ptr %32782, align 4
  %32784 = call zeroext i1 @s2n_result_is_ok(i32 %32783)
  br i1 %32784, label %32838, label %32785

32785:                                            ; preds = %32774
  br label %32786

32786:                                            ; preds = %32785
  br label %32787

32787:                                            ; preds = %32786
  call void @llvm.lifetime.start.p0(i64 4, ptr %800) #11
  %32788 = call ptr @__errno_location() #12
  %32789 = load i32, ptr %32788, align 4, !tbaa !5
  store i32 %32789, ptr %800, align 4, !tbaa !5
  %32790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32791 = call i32 @s2n_print_stacktrace(ptr noundef %32790)
  %32792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32793 = trunc i8 %32792 to i1
  br i1 %32793, label %32794, label %32816

32794:                                            ; preds = %32787
  %32795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32796 = call i32 @fileno(ptr noundef %32795) #11
  %32797 = call i32 @isatty(i32 noundef %32796) #11
  %32798 = icmp ne i32 %32797, 0
  br i1 %32798, label %32799, label %32816

32799:                                            ; preds = %32794
  %32800 = load i32, ptr %800, align 4, !tbaa !5
  %32801 = call ptr @__errno_location() #12
  store i32 %32800, ptr %32801, align 4, !tbaa !5
  %32802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32803 = load i32, ptr @test_count, align 4, !tbaa !5
  %32804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32805 = load i32, ptr %32804, align 4, !tbaa !5
  %32806 = call ptr @s2n_strerror(i32 noundef %32805, ptr noundef @.str.4)
  %32807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32808 = load i32, ptr %32807, align 4, !tbaa !5
  %32809 = call ptr @s2n_strerror_debug(i32 noundef %32808, ptr noundef @.str.4)
  %32810 = call ptr @__errno_location() #12
  %32811 = load i32, ptr %32810, align 4, !tbaa !5
  %32812 = call ptr @strerror(i32 noundef %32811) #11
  %32813 = call ptr @__errno_location() #12
  %32814 = load i32, ptr %32813, align 4, !tbaa !5
  %32815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32802, ptr noundef @.str.2, i32 noundef %32803, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1470, ptr noundef %32806, ptr noundef %32809, ptr noundef %32812, i32 noundef %32814) #11
  br label %32833

32816:                                            ; preds = %32794, %32787
  %32817 = load i32, ptr %800, align 4, !tbaa !5
  %32818 = call ptr @__errno_location() #12
  store i32 %32817, ptr %32818, align 4, !tbaa !5
  %32819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32820 = load i32, ptr @test_count, align 4, !tbaa !5
  %32821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32822 = load i32, ptr %32821, align 4, !tbaa !5
  %32823 = call ptr @s2n_strerror(i32 noundef %32822, ptr noundef @.str.4)
  %32824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32825 = load i32, ptr %32824, align 4, !tbaa !5
  %32826 = call ptr @s2n_strerror_debug(i32 noundef %32825, ptr noundef @.str.4)
  %32827 = call ptr @__errno_location() #12
  %32828 = load i32, ptr %32827, align 4, !tbaa !5
  %32829 = call ptr @strerror(i32 noundef %32828) #11
  %32830 = call ptr @__errno_location() #12
  %32831 = load i32, ptr %32830, align 4, !tbaa !5
  %32832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32819, ptr noundef @.str.5, i32 noundef %32820, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1470, ptr noundef %32823, ptr noundef %32826, ptr noundef %32829, i32 noundef %32831) #11
  br label %32833

32833:                                            ; preds = %32816, %32799
  call void @llvm.lifetime.end.p0(i64 4, ptr %800) #11
  br label %32834

32834:                                            ; preds = %32833
  br label %32835

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

32836:                                            ; No predecessors!
  br label %32837

32837:                                            ; preds = %32836
  br label %32838

32838:                                            ; preds = %32837, %32774
  br label %32839

32839:                                            ; preds = %32838
  br label %32840

32840:                                            ; preds = %32839
  br label %32841

32841:                                            ; preds = %32840
  %32842 = load i32, ptr @test_count, align 4, !tbaa !5
  %32843 = add nsw i32 %32842, 1
  store i32 %32843, ptr @test_count, align 4, !tbaa !5
  %32844 = load ptr, ptr %798, align 8, !tbaa !9
  %32845 = call i32 @s2n_psk_init(ptr noundef %32844, i32 noundef 1)
  %32846 = getelementptr inbounds %struct.s2n_result, ptr %801, i32 0, i32 0
  store i32 %32845, ptr %32846, align 4
  %32847 = getelementptr inbounds %struct.s2n_result, ptr %801, i32 0, i32 0
  %32848 = load i32, ptr %32847, align 4
  %32849 = call zeroext i1 @s2n_result_is_ok(i32 %32848)
  br i1 %32849, label %32903, label %32850

32850:                                            ; preds = %32841
  br label %32851

32851:                                            ; preds = %32850
  br label %32852

32852:                                            ; preds = %32851
  call void @llvm.lifetime.start.p0(i64 4, ptr %802) #11
  %32853 = call ptr @__errno_location() #12
  %32854 = load i32, ptr %32853, align 4, !tbaa !5
  store i32 %32854, ptr %802, align 4, !tbaa !5
  %32855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32856 = call i32 @s2n_print_stacktrace(ptr noundef %32855)
  %32857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32858 = trunc i8 %32857 to i1
  br i1 %32858, label %32859, label %32881

32859:                                            ; preds = %32852
  %32860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32861 = call i32 @fileno(ptr noundef %32860) #11
  %32862 = call i32 @isatty(i32 noundef %32861) #11
  %32863 = icmp ne i32 %32862, 0
  br i1 %32863, label %32864, label %32881

32864:                                            ; preds = %32859
  %32865 = load i32, ptr %802, align 4, !tbaa !5
  %32866 = call ptr @__errno_location() #12
  store i32 %32865, ptr %32866, align 4, !tbaa !5
  %32867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32868 = load i32, ptr @test_count, align 4, !tbaa !5
  %32869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32870 = load i32, ptr %32869, align 4, !tbaa !5
  %32871 = call ptr @s2n_strerror(i32 noundef %32870, ptr noundef @.str.4)
  %32872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32873 = load i32, ptr %32872, align 4, !tbaa !5
  %32874 = call ptr @s2n_strerror_debug(i32 noundef %32873, ptr noundef @.str.4)
  %32875 = call ptr @__errno_location() #12
  %32876 = load i32, ptr %32875, align 4, !tbaa !5
  %32877 = call ptr @strerror(i32 noundef %32876) #11
  %32878 = call ptr @__errno_location() #12
  %32879 = load i32, ptr %32878, align 4, !tbaa !5
  %32880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32867, ptr noundef @.str.2, i32 noundef %32868, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1471, ptr noundef %32871, ptr noundef %32874, ptr noundef %32877, i32 noundef %32879) #11
  br label %32898

32881:                                            ; preds = %32859, %32852
  %32882 = load i32, ptr %802, align 4, !tbaa !5
  %32883 = call ptr @__errno_location() #12
  store i32 %32882, ptr %32883, align 4, !tbaa !5
  %32884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32885 = load i32, ptr @test_count, align 4, !tbaa !5
  %32886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32887 = load i32, ptr %32886, align 4, !tbaa !5
  %32888 = call ptr @s2n_strerror(i32 noundef %32887, ptr noundef @.str.4)
  %32889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32890 = load i32, ptr %32889, align 4, !tbaa !5
  %32891 = call ptr @s2n_strerror_debug(i32 noundef %32890, ptr noundef @.str.4)
  %32892 = call ptr @__errno_location() #12
  %32893 = load i32, ptr %32892, align 4, !tbaa !5
  %32894 = call ptr @strerror(i32 noundef %32893) #11
  %32895 = call ptr @__errno_location() #12
  %32896 = load i32, ptr %32895, align 4, !tbaa !5
  %32897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32884, ptr noundef @.str.5, i32 noundef %32885, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1471, ptr noundef %32888, ptr noundef %32891, ptr noundef %32894, i32 noundef %32896) #11
  br label %32898

32898:                                            ; preds = %32881, %32864
  call void @llvm.lifetime.end.p0(i64 4, ptr %802) #11
  br label %32899

32899:                                            ; preds = %32898
  br label %32900

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

32901:                                            ; No predecessors!
  br label %32902

32902:                                            ; preds = %32901
  br label %32903

32903:                                            ; preds = %32902, %32841
  br label %32904

32904:                                            ; preds = %32903
  br label %32905

32905:                                            ; preds = %32904
  br label %32906

32906:                                            ; preds = %32905
  %32907 = load i32, ptr @test_count, align 4, !tbaa !5
  %32908 = add nsw i32 %32907, 1
  store i32 %32908, ptr @test_count, align 4, !tbaa !5
  %32909 = load ptr, ptr %798, align 8, !tbaa !9
  %32910 = getelementptr inbounds [18 x i8], ptr %797, i64 0, i64 0
  %32911 = call i32 @s2n_psk_set_identity(ptr noundef %32909, ptr noundef %32910, i16 noundef zeroext 18)
  %32912 = icmp eq i32 %32911, -1
  br i1 %32912, label %32913, label %32966

32913:                                            ; preds = %32906
  br label %32914

32914:                                            ; preds = %32913
  br label %32915

32915:                                            ; preds = %32914
  call void @llvm.lifetime.start.p0(i64 4, ptr %803) #11
  %32916 = call ptr @__errno_location() #12
  %32917 = load i32, ptr %32916, align 4, !tbaa !5
  store i32 %32917, ptr %803, align 4, !tbaa !5
  %32918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32919 = call i32 @s2n_print_stacktrace(ptr noundef %32918)
  %32920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32921 = trunc i8 %32920 to i1
  br i1 %32921, label %32922, label %32944

32922:                                            ; preds = %32915
  %32923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32924 = call i32 @fileno(ptr noundef %32923) #11
  %32925 = call i32 @isatty(i32 noundef %32924) #11
  %32926 = icmp ne i32 %32925, 0
  br i1 %32926, label %32927, label %32944

32927:                                            ; preds = %32922
  %32928 = load i32, ptr %803, align 4, !tbaa !5
  %32929 = call ptr @__errno_location() #12
  store i32 %32928, ptr %32929, align 4, !tbaa !5
  %32930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32931 = load i32, ptr @test_count, align 4, !tbaa !5
  %32932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32933 = load i32, ptr %32932, align 4, !tbaa !5
  %32934 = call ptr @s2n_strerror(i32 noundef %32933, ptr noundef @.str.4)
  %32935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32936 = load i32, ptr %32935, align 4, !tbaa !5
  %32937 = call ptr @s2n_strerror_debug(i32 noundef %32936, ptr noundef @.str.4)
  %32938 = call ptr @__errno_location() #12
  %32939 = load i32, ptr %32938, align 4, !tbaa !5
  %32940 = call ptr @strerror(i32 noundef %32939) #11
  %32941 = call ptr @__errno_location() #12
  %32942 = load i32, ptr %32941, align 4, !tbaa !5
  %32943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32930, ptr noundef @.str.2, i32 noundef %32931, ptr noundef @.str.217, ptr noundef @.str.1, i32 noundef 1472, ptr noundef %32934, ptr noundef %32937, ptr noundef %32940, i32 noundef %32942) #11
  br label %32961

32944:                                            ; preds = %32922, %32915
  %32945 = load i32, ptr %803, align 4, !tbaa !5
  %32946 = call ptr @__errno_location() #12
  store i32 %32945, ptr %32946, align 4, !tbaa !5
  %32947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32948 = load i32, ptr @test_count, align 4, !tbaa !5
  %32949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32950 = load i32, ptr %32949, align 4, !tbaa !5
  %32951 = call ptr @s2n_strerror(i32 noundef %32950, ptr noundef @.str.4)
  %32952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32953 = load i32, ptr %32952, align 4, !tbaa !5
  %32954 = call ptr @s2n_strerror_debug(i32 noundef %32953, ptr noundef @.str.4)
  %32955 = call ptr @__errno_location() #12
  %32956 = load i32, ptr %32955, align 4, !tbaa !5
  %32957 = call ptr @strerror(i32 noundef %32956) #11
  %32958 = call ptr @__errno_location() #12
  %32959 = load i32, ptr %32958, align 4, !tbaa !5
  %32960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32947, ptr noundef @.str.5, i32 noundef %32948, ptr noundef @.str.217, ptr noundef @.str.1, i32 noundef 1472, ptr noundef %32951, ptr noundef %32954, ptr noundef %32957, i32 noundef %32959) #11
  br label %32961

32961:                                            ; preds = %32944, %32927
  call void @llvm.lifetime.end.p0(i64 4, ptr %803) #11
  br label %32962

32962:                                            ; preds = %32961
  br label %32963

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

32964:                                            ; No predecessors!
  br label %32965

32965:                                            ; preds = %32964
  br label %32966

32966:                                            ; preds = %32965, %32906
  br label %32967

32967:                                            ; preds = %32966
  br label %32968

32968:                                            ; preds = %32967
  br label %32969

32969:                                            ; preds = %32968
  %32970 = load i32, ptr @test_count, align 4, !tbaa !5
  %32971 = add nsw i32 %32970, 1
  store i32 %32971, ptr @test_count, align 4, !tbaa !5
  %32972 = load ptr, ptr %798, align 8, !tbaa !9
  %32973 = getelementptr inbounds [18 x i8], ptr %797, i64 0, i64 0
  %32974 = call i32 @s2n_psk_set_secret(ptr noundef %32972, ptr noundef %32973, i16 noundef zeroext 18)
  %32975 = icmp eq i32 %32974, -1
  br i1 %32975, label %32976, label %33029

32976:                                            ; preds = %32969
  br label %32977

32977:                                            ; preds = %32976
  br label %32978

32978:                                            ; preds = %32977
  call void @llvm.lifetime.start.p0(i64 4, ptr %804) #11
  %32979 = call ptr @__errno_location() #12
  %32980 = load i32, ptr %32979, align 4, !tbaa !5
  store i32 %32980, ptr %804, align 4, !tbaa !5
  %32981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32982 = call i32 @s2n_print_stacktrace(ptr noundef %32981)
  %32983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32984 = trunc i8 %32983 to i1
  br i1 %32984, label %32985, label %33007

32985:                                            ; preds = %32978
  %32986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32987 = call i32 @fileno(ptr noundef %32986) #11
  %32988 = call i32 @isatty(i32 noundef %32987) #11
  %32989 = icmp ne i32 %32988, 0
  br i1 %32989, label %32990, label %33007

32990:                                            ; preds = %32985
  %32991 = load i32, ptr %804, align 4, !tbaa !5
  %32992 = call ptr @__errno_location() #12
  store i32 %32991, ptr %32992, align 4, !tbaa !5
  %32993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32994 = load i32, ptr @test_count, align 4, !tbaa !5
  %32995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32996 = load i32, ptr %32995, align 4, !tbaa !5
  %32997 = call ptr @s2n_strerror(i32 noundef %32996, ptr noundef @.str.4)
  %32998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32999 = load i32, ptr %32998, align 4, !tbaa !5
  %33000 = call ptr @s2n_strerror_debug(i32 noundef %32999, ptr noundef @.str.4)
  %33001 = call ptr @__errno_location() #12
  %33002 = load i32, ptr %33001, align 4, !tbaa !5
  %33003 = call ptr @strerror(i32 noundef %33002) #11
  %33004 = call ptr @__errno_location() #12
  %33005 = load i32, ptr %33004, align 4, !tbaa !5
  %33006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32993, ptr noundef @.str.2, i32 noundef %32994, ptr noundef @.str.218, ptr noundef @.str.1, i32 noundef 1473, ptr noundef %32997, ptr noundef %33000, ptr noundef %33003, i32 noundef %33005) #11
  br label %33024

33007:                                            ; preds = %32985, %32978
  %33008 = load i32, ptr %804, align 4, !tbaa !5
  %33009 = call ptr @__errno_location() #12
  store i32 %33008, ptr %33009, align 4, !tbaa !5
  %33010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33011 = load i32, ptr @test_count, align 4, !tbaa !5
  %33012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33013 = load i32, ptr %33012, align 4, !tbaa !5
  %33014 = call ptr @s2n_strerror(i32 noundef %33013, ptr noundef @.str.4)
  %33015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33016 = load i32, ptr %33015, align 4, !tbaa !5
  %33017 = call ptr @s2n_strerror_debug(i32 noundef %33016, ptr noundef @.str.4)
  %33018 = call ptr @__errno_location() #12
  %33019 = load i32, ptr %33018, align 4, !tbaa !5
  %33020 = call ptr @strerror(i32 noundef %33019) #11
  %33021 = call ptr @__errno_location() #12
  %33022 = load i32, ptr %33021, align 4, !tbaa !5
  %33023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33010, ptr noundef @.str.5, i32 noundef %33011, ptr noundef @.str.218, ptr noundef @.str.1, i32 noundef 1473, ptr noundef %33014, ptr noundef %33017, ptr noundef %33020, i32 noundef %33022) #11
  br label %33024

33024:                                            ; preds = %33007, %32990
  call void @llvm.lifetime.end.p0(i64 4, ptr %804) #11
  br label %33025

33025:                                            ; preds = %33024
  br label %33026

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

33027:                                            ; No predecessors!
  br label %33028

33028:                                            ; preds = %33027
  br label %33029

33029:                                            ; preds = %33028, %32969
  br label %33030

33030:                                            ; preds = %33029
  br label %33031

33031:                                            ; preds = %33030
  call void @llvm.lifetime.start.p0(i64 18, ptr %805) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %805, ptr align 16 @__const.main.other_server_data, i64 18, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %806) #11
  store ptr null, ptr %806, align 8, !tbaa !9
  br label %33032

33032:                                            ; preds = %33031
  %33033 = load i32, ptr @test_count, align 4, !tbaa !5
  %33034 = add nsw i32 %33033, 1
  store i32 %33034, ptr @test_count, align 4, !tbaa !5
  %33035 = load ptr, ptr %786, align 8, !tbaa !9
  %33036 = getelementptr inbounds %struct.s2n_connection, ptr %33035, i32 0, i32 33
  %33037 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %33036, i32 0, i32 1
  %33038 = call i32 @s2n_array_pushback(ptr noundef %33037, ptr noundef %806)
  %33039 = getelementptr inbounds %struct.s2n_result, ptr %807, i32 0, i32 0
  store i32 %33038, ptr %33039, align 4
  %33040 = getelementptr inbounds %struct.s2n_result, ptr %807, i32 0, i32 0
  %33041 = load i32, ptr %33040, align 4
  %33042 = call zeroext i1 @s2n_result_is_ok(i32 %33041)
  br i1 %33042, label %33096, label %33043

33043:                                            ; preds = %33032
  br label %33044

33044:                                            ; preds = %33043
  br label %33045

33045:                                            ; preds = %33044
  call void @llvm.lifetime.start.p0(i64 4, ptr %808) #11
  %33046 = call ptr @__errno_location() #12
  %33047 = load i32, ptr %33046, align 4, !tbaa !5
  store i32 %33047, ptr %808, align 4, !tbaa !5
  %33048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33049 = call i32 @s2n_print_stacktrace(ptr noundef %33048)
  %33050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33051 = trunc i8 %33050 to i1
  br i1 %33051, label %33052, label %33074

33052:                                            ; preds = %33045
  %33053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33054 = call i32 @fileno(ptr noundef %33053) #11
  %33055 = call i32 @isatty(i32 noundef %33054) #11
  %33056 = icmp ne i32 %33055, 0
  br i1 %33056, label %33057, label %33074

33057:                                            ; preds = %33052
  %33058 = load i32, ptr %808, align 4, !tbaa !5
  %33059 = call ptr @__errno_location() #12
  store i32 %33058, ptr %33059, align 4, !tbaa !5
  %33060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33061 = load i32, ptr @test_count, align 4, !tbaa !5
  %33062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33063 = load i32, ptr %33062, align 4, !tbaa !5
  %33064 = call ptr @s2n_strerror(i32 noundef %33063, ptr noundef @.str.4)
  %33065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33066 = load i32, ptr %33065, align 4, !tbaa !5
  %33067 = call ptr @s2n_strerror_debug(i32 noundef %33066, ptr noundef @.str.4)
  %33068 = call ptr @__errno_location() #12
  %33069 = load i32, ptr %33068, align 4, !tbaa !5
  %33070 = call ptr @strerror(i32 noundef %33069) #11
  %33071 = call ptr @__errno_location() #12
  %33072 = load i32, ptr %33071, align 4, !tbaa !5
  %33073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33060, ptr noundef @.str.2, i32 noundef %33061, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 1478, ptr noundef %33064, ptr noundef %33067, ptr noundef %33070, i32 noundef %33072) #11
  br label %33091

33074:                                            ; preds = %33052, %33045
  %33075 = load i32, ptr %808, align 4, !tbaa !5
  %33076 = call ptr @__errno_location() #12
  store i32 %33075, ptr %33076, align 4, !tbaa !5
  %33077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33078 = load i32, ptr @test_count, align 4, !tbaa !5
  %33079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33080 = load i32, ptr %33079, align 4, !tbaa !5
  %33081 = call ptr @s2n_strerror(i32 noundef %33080, ptr noundef @.str.4)
  %33082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33083 = load i32, ptr %33082, align 4, !tbaa !5
  %33084 = call ptr @s2n_strerror_debug(i32 noundef %33083, ptr noundef @.str.4)
  %33085 = call ptr @__errno_location() #12
  %33086 = load i32, ptr %33085, align 4, !tbaa !5
  %33087 = call ptr @strerror(i32 noundef %33086) #11
  %33088 = call ptr @__errno_location() #12
  %33089 = load i32, ptr %33088, align 4, !tbaa !5
  %33090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33077, ptr noundef @.str.5, i32 noundef %33078, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 1478, ptr noundef %33081, ptr noundef %33084, ptr noundef %33087, i32 noundef %33089) #11
  br label %33091

33091:                                            ; preds = %33074, %33057
  call void @llvm.lifetime.end.p0(i64 4, ptr %808) #11
  br label %33092

33092:                                            ; preds = %33091
  br label %33093

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

33094:                                            ; No predecessors!
  br label %33095

33095:                                            ; preds = %33094
  br label %33096

33096:                                            ; preds = %33095, %33032
  br label %33097

33097:                                            ; preds = %33096
  br label %33098

33098:                                            ; preds = %33097
  br label %33099

33099:                                            ; preds = %33098
  %33100 = load i32, ptr @test_count, align 4, !tbaa !5
  %33101 = add nsw i32 %33100, 1
  store i32 %33101, ptr @test_count, align 4, !tbaa !5
  %33102 = load ptr, ptr %806, align 8, !tbaa !9
  %33103 = call i32 @s2n_psk_init(ptr noundef %33102, i32 noundef 1)
  %33104 = getelementptr inbounds %struct.s2n_result, ptr %809, i32 0, i32 0
  store i32 %33103, ptr %33104, align 4
  %33105 = getelementptr inbounds %struct.s2n_result, ptr %809, i32 0, i32 0
  %33106 = load i32, ptr %33105, align 4
  %33107 = call zeroext i1 @s2n_result_is_ok(i32 %33106)
  br i1 %33107, label %33161, label %33108

33108:                                            ; preds = %33099
  br label %33109

33109:                                            ; preds = %33108
  br label %33110

33110:                                            ; preds = %33109
  call void @llvm.lifetime.start.p0(i64 4, ptr %810) #11
  %33111 = call ptr @__errno_location() #12
  %33112 = load i32, ptr %33111, align 4, !tbaa !5
  store i32 %33112, ptr %810, align 4, !tbaa !5
  %33113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33114 = call i32 @s2n_print_stacktrace(ptr noundef %33113)
  %33115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33116 = trunc i8 %33115 to i1
  br i1 %33116, label %33117, label %33139

33117:                                            ; preds = %33110
  %33118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33119 = call i32 @fileno(ptr noundef %33118) #11
  %33120 = call i32 @isatty(i32 noundef %33119) #11
  %33121 = icmp ne i32 %33120, 0
  br i1 %33121, label %33122, label %33139

33122:                                            ; preds = %33117
  %33123 = load i32, ptr %810, align 4, !tbaa !5
  %33124 = call ptr @__errno_location() #12
  store i32 %33123, ptr %33124, align 4, !tbaa !5
  %33125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33126 = load i32, ptr @test_count, align 4, !tbaa !5
  %33127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33128 = load i32, ptr %33127, align 4, !tbaa !5
  %33129 = call ptr @s2n_strerror(i32 noundef %33128, ptr noundef @.str.4)
  %33130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33131 = load i32, ptr %33130, align 4, !tbaa !5
  %33132 = call ptr @s2n_strerror_debug(i32 noundef %33131, ptr noundef @.str.4)
  %33133 = call ptr @__errno_location() #12
  %33134 = load i32, ptr %33133, align 4, !tbaa !5
  %33135 = call ptr @strerror(i32 noundef %33134) #11
  %33136 = call ptr @__errno_location() #12
  %33137 = load i32, ptr %33136, align 4, !tbaa !5
  %33138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33125, ptr noundef @.str.2, i32 noundef %33126, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 1479, ptr noundef %33129, ptr noundef %33132, ptr noundef %33135, i32 noundef %33137) #11
  br label %33156

33139:                                            ; preds = %33117, %33110
  %33140 = load i32, ptr %810, align 4, !tbaa !5
  %33141 = call ptr @__errno_location() #12
  store i32 %33140, ptr %33141, align 4, !tbaa !5
  %33142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33143 = load i32, ptr @test_count, align 4, !tbaa !5
  %33144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33145 = load i32, ptr %33144, align 4, !tbaa !5
  %33146 = call ptr @s2n_strerror(i32 noundef %33145, ptr noundef @.str.4)
  %33147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33148 = load i32, ptr %33147, align 4, !tbaa !5
  %33149 = call ptr @s2n_strerror_debug(i32 noundef %33148, ptr noundef @.str.4)
  %33150 = call ptr @__errno_location() #12
  %33151 = load i32, ptr %33150, align 4, !tbaa !5
  %33152 = call ptr @strerror(i32 noundef %33151) #11
  %33153 = call ptr @__errno_location() #12
  %33154 = load i32, ptr %33153, align 4, !tbaa !5
  %33155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33142, ptr noundef @.str.5, i32 noundef %33143, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 1479, ptr noundef %33146, ptr noundef %33149, ptr noundef %33152, i32 noundef %33154) #11
  br label %33156

33156:                                            ; preds = %33139, %33122
  call void @llvm.lifetime.end.p0(i64 4, ptr %810) #11
  br label %33157

33157:                                            ; preds = %33156
  br label %33158

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

33159:                                            ; No predecessors!
  br label %33160

33160:                                            ; preds = %33159
  br label %33161

33161:                                            ; preds = %33160, %33099
  br label %33162

33162:                                            ; preds = %33161
  br label %33163

33163:                                            ; preds = %33162
  br label %33164

33164:                                            ; preds = %33163
  %33165 = load i32, ptr @test_count, align 4, !tbaa !5
  %33166 = add nsw i32 %33165, 1
  store i32 %33166, ptr @test_count, align 4, !tbaa !5
  %33167 = load ptr, ptr %806, align 8, !tbaa !9
  %33168 = getelementptr inbounds [18 x i8], ptr %805, i64 0, i64 0
  %33169 = call i32 @s2n_psk_set_identity(ptr noundef %33167, ptr noundef %33168, i16 noundef zeroext 18)
  %33170 = icmp eq i32 %33169, -1
  br i1 %33170, label %33171, label %33224

33171:                                            ; preds = %33164
  br label %33172

33172:                                            ; preds = %33171
  br label %33173

33173:                                            ; preds = %33172
  call void @llvm.lifetime.start.p0(i64 4, ptr %811) #11
  %33174 = call ptr @__errno_location() #12
  %33175 = load i32, ptr %33174, align 4, !tbaa !5
  store i32 %33175, ptr %811, align 4, !tbaa !5
  %33176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33177 = call i32 @s2n_print_stacktrace(ptr noundef %33176)
  %33178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33179 = trunc i8 %33178 to i1
  br i1 %33179, label %33180, label %33202

33180:                                            ; preds = %33173
  %33181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33182 = call i32 @fileno(ptr noundef %33181) #11
  %33183 = call i32 @isatty(i32 noundef %33182) #11
  %33184 = icmp ne i32 %33183, 0
  br i1 %33184, label %33185, label %33202

33185:                                            ; preds = %33180
  %33186 = load i32, ptr %811, align 4, !tbaa !5
  %33187 = call ptr @__errno_location() #12
  store i32 %33186, ptr %33187, align 4, !tbaa !5
  %33188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33189 = load i32, ptr @test_count, align 4, !tbaa !5
  %33190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33191 = load i32, ptr %33190, align 4, !tbaa !5
  %33192 = call ptr @s2n_strerror(i32 noundef %33191, ptr noundef @.str.4)
  %33193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33194 = load i32, ptr %33193, align 4, !tbaa !5
  %33195 = call ptr @s2n_strerror_debug(i32 noundef %33194, ptr noundef @.str.4)
  %33196 = call ptr @__errno_location() #12
  %33197 = load i32, ptr %33196, align 4, !tbaa !5
  %33198 = call ptr @strerror(i32 noundef %33197) #11
  %33199 = call ptr @__errno_location() #12
  %33200 = load i32, ptr %33199, align 4, !tbaa !5
  %33201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33188, ptr noundef @.str.2, i32 noundef %33189, ptr noundef @.str.219, ptr noundef @.str.1, i32 noundef 1480, ptr noundef %33192, ptr noundef %33195, ptr noundef %33198, i32 noundef %33200) #11
  br label %33219

33202:                                            ; preds = %33180, %33173
  %33203 = load i32, ptr %811, align 4, !tbaa !5
  %33204 = call ptr @__errno_location() #12
  store i32 %33203, ptr %33204, align 4, !tbaa !5
  %33205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33206 = load i32, ptr @test_count, align 4, !tbaa !5
  %33207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33208 = load i32, ptr %33207, align 4, !tbaa !5
  %33209 = call ptr @s2n_strerror(i32 noundef %33208, ptr noundef @.str.4)
  %33210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33211 = load i32, ptr %33210, align 4, !tbaa !5
  %33212 = call ptr @s2n_strerror_debug(i32 noundef %33211, ptr noundef @.str.4)
  %33213 = call ptr @__errno_location() #12
  %33214 = load i32, ptr %33213, align 4, !tbaa !5
  %33215 = call ptr @strerror(i32 noundef %33214) #11
  %33216 = call ptr @__errno_location() #12
  %33217 = load i32, ptr %33216, align 4, !tbaa !5
  %33218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33205, ptr noundef @.str.5, i32 noundef %33206, ptr noundef @.str.219, ptr noundef @.str.1, i32 noundef 1480, ptr noundef %33209, ptr noundef %33212, ptr noundef %33215, i32 noundef %33217) #11
  br label %33219

33219:                                            ; preds = %33202, %33185
  call void @llvm.lifetime.end.p0(i64 4, ptr %811) #11
  br label %33220

33220:                                            ; preds = %33219
  br label %33221

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

33222:                                            ; No predecessors!
  br label %33223

33223:                                            ; preds = %33222
  br label %33224

33224:                                            ; preds = %33223, %33164
  br label %33225

33225:                                            ; preds = %33224
  br label %33226

33226:                                            ; preds = %33225
  br label %33227

33227:                                            ; preds = %33226
  %33228 = load i32, ptr @test_count, align 4, !tbaa !5
  %33229 = add nsw i32 %33228, 1
  store i32 %33229, ptr @test_count, align 4, !tbaa !5
  %33230 = load ptr, ptr %806, align 8, !tbaa !9
  %33231 = getelementptr inbounds [18 x i8], ptr %805, i64 0, i64 0
  %33232 = call i32 @s2n_psk_set_secret(ptr noundef %33230, ptr noundef %33231, i16 noundef zeroext 18)
  %33233 = icmp eq i32 %33232, -1
  br i1 %33233, label %33234, label %33287

33234:                                            ; preds = %33227
  br label %33235

33235:                                            ; preds = %33234
  br label %33236

33236:                                            ; preds = %33235
  call void @llvm.lifetime.start.p0(i64 4, ptr %812) #11
  %33237 = call ptr @__errno_location() #12
  %33238 = load i32, ptr %33237, align 4, !tbaa !5
  store i32 %33238, ptr %812, align 4, !tbaa !5
  %33239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33240 = call i32 @s2n_print_stacktrace(ptr noundef %33239)
  %33241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33242 = trunc i8 %33241 to i1
  br i1 %33242, label %33243, label %33265

33243:                                            ; preds = %33236
  %33244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33245 = call i32 @fileno(ptr noundef %33244) #11
  %33246 = call i32 @isatty(i32 noundef %33245) #11
  %33247 = icmp ne i32 %33246, 0
  br i1 %33247, label %33248, label %33265

33248:                                            ; preds = %33243
  %33249 = load i32, ptr %812, align 4, !tbaa !5
  %33250 = call ptr @__errno_location() #12
  store i32 %33249, ptr %33250, align 4, !tbaa !5
  %33251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33252 = load i32, ptr @test_count, align 4, !tbaa !5
  %33253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33254 = load i32, ptr %33253, align 4, !tbaa !5
  %33255 = call ptr @s2n_strerror(i32 noundef %33254, ptr noundef @.str.4)
  %33256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33257 = load i32, ptr %33256, align 4, !tbaa !5
  %33258 = call ptr @s2n_strerror_debug(i32 noundef %33257, ptr noundef @.str.4)
  %33259 = call ptr @__errno_location() #12
  %33260 = load i32, ptr %33259, align 4, !tbaa !5
  %33261 = call ptr @strerror(i32 noundef %33260) #11
  %33262 = call ptr @__errno_location() #12
  %33263 = load i32, ptr %33262, align 4, !tbaa !5
  %33264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33251, ptr noundef @.str.2, i32 noundef %33252, ptr noundef @.str.220, ptr noundef @.str.1, i32 noundef 1481, ptr noundef %33255, ptr noundef %33258, ptr noundef %33261, i32 noundef %33263) #11
  br label %33282

33265:                                            ; preds = %33243, %33236
  %33266 = load i32, ptr %812, align 4, !tbaa !5
  %33267 = call ptr @__errno_location() #12
  store i32 %33266, ptr %33267, align 4, !tbaa !5
  %33268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33269 = load i32, ptr @test_count, align 4, !tbaa !5
  %33270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33271 = load i32, ptr %33270, align 4, !tbaa !5
  %33272 = call ptr @s2n_strerror(i32 noundef %33271, ptr noundef @.str.4)
  %33273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33274 = load i32, ptr %33273, align 4, !tbaa !5
  %33275 = call ptr @s2n_strerror_debug(i32 noundef %33274, ptr noundef @.str.4)
  %33276 = call ptr @__errno_location() #12
  %33277 = load i32, ptr %33276, align 4, !tbaa !5
  %33278 = call ptr @strerror(i32 noundef %33277) #11
  %33279 = call ptr @__errno_location() #12
  %33280 = load i32, ptr %33279, align 4, !tbaa !5
  %33281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33268, ptr noundef @.str.5, i32 noundef %33269, ptr noundef @.str.220, ptr noundef @.str.1, i32 noundef 1481, ptr noundef %33272, ptr noundef %33275, ptr noundef %33278, i32 noundef %33280) #11
  br label %33282

33282:                                            ; preds = %33265, %33248
  call void @llvm.lifetime.end.p0(i64 4, ptr %812) #11
  br label %33283

33283:                                            ; preds = %33282
  br label %33284

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

33285:                                            ; No predecessors!
  br label %33286

33286:                                            ; preds = %33285
  br label %33287

33287:                                            ; preds = %33286, %33227
  br label %33288

33288:                                            ; preds = %33287
  br label %33289

33289:                                            ; preds = %33288
  call void @llvm.lifetime.start.p0(i64 8, ptr %813) #11
  store ptr null, ptr %813, align 8, !tbaa !9
  br label %33290

33290:                                            ; preds = %33289
  %33291 = load i32, ptr @test_count, align 4, !tbaa !5
  %33292 = add nsw i32 %33291, 1
  store i32 %33292, ptr @test_count, align 4, !tbaa !5
  %33293 = load ptr, ptr %785, align 8, !tbaa !9
  %33294 = getelementptr inbounds %struct.s2n_connection, ptr %33293, i32 0, i32 33
  %33295 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %33294, i32 0, i32 1
  %33296 = call i32 @s2n_array_pushback(ptr noundef %33295, ptr noundef %813)
  %33297 = getelementptr inbounds %struct.s2n_result, ptr %814, i32 0, i32 0
  store i32 %33296, ptr %33297, align 4
  %33298 = getelementptr inbounds %struct.s2n_result, ptr %814, i32 0, i32 0
  %33299 = load i32, ptr %33298, align 4
  %33300 = call zeroext i1 @s2n_result_is_ok(i32 %33299)
  br i1 %33300, label %33354, label %33301

33301:                                            ; preds = %33290
  br label %33302

33302:                                            ; preds = %33301
  br label %33303

33303:                                            ; preds = %33302
  call void @llvm.lifetime.start.p0(i64 4, ptr %815) #11
  %33304 = call ptr @__errno_location() #12
  %33305 = load i32, ptr %33304, align 4, !tbaa !5
  store i32 %33305, ptr %815, align 4, !tbaa !5
  %33306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33307 = call i32 @s2n_print_stacktrace(ptr noundef %33306)
  %33308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33309 = trunc i8 %33308 to i1
  br i1 %33309, label %33310, label %33332

33310:                                            ; preds = %33303
  %33311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33312 = call i32 @fileno(ptr noundef %33311) #11
  %33313 = call i32 @isatty(i32 noundef %33312) #11
  %33314 = icmp ne i32 %33313, 0
  br i1 %33314, label %33315, label %33332

33315:                                            ; preds = %33310
  %33316 = load i32, ptr %815, align 4, !tbaa !5
  %33317 = call ptr @__errno_location() #12
  store i32 %33316, ptr %33317, align 4, !tbaa !5
  %33318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33319 = load i32, ptr @test_count, align 4, !tbaa !5
  %33320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33321 = load i32, ptr %33320, align 4, !tbaa !5
  %33322 = call ptr @s2n_strerror(i32 noundef %33321, ptr noundef @.str.4)
  %33323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33324 = load i32, ptr %33323, align 4, !tbaa !5
  %33325 = call ptr @s2n_strerror_debug(i32 noundef %33324, ptr noundef @.str.4)
  %33326 = call ptr @__errno_location() #12
  %33327 = load i32, ptr %33326, align 4, !tbaa !5
  %33328 = call ptr @strerror(i32 noundef %33327) #11
  %33329 = call ptr @__errno_location() #12
  %33330 = load i32, ptr %33329, align 4, !tbaa !5
  %33331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33318, ptr noundef @.str.2, i32 noundef %33319, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 1485, ptr noundef %33322, ptr noundef %33325, ptr noundef %33328, i32 noundef %33330) #11
  br label %33349

33332:                                            ; preds = %33310, %33303
  %33333 = load i32, ptr %815, align 4, !tbaa !5
  %33334 = call ptr @__errno_location() #12
  store i32 %33333, ptr %33334, align 4, !tbaa !5
  %33335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33336 = load i32, ptr @test_count, align 4, !tbaa !5
  %33337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33338 = load i32, ptr %33337, align 4, !tbaa !5
  %33339 = call ptr @s2n_strerror(i32 noundef %33338, ptr noundef @.str.4)
  %33340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33341 = load i32, ptr %33340, align 4, !tbaa !5
  %33342 = call ptr @s2n_strerror_debug(i32 noundef %33341, ptr noundef @.str.4)
  %33343 = call ptr @__errno_location() #12
  %33344 = load i32, ptr %33343, align 4, !tbaa !5
  %33345 = call ptr @strerror(i32 noundef %33344) #11
  %33346 = call ptr @__errno_location() #12
  %33347 = load i32, ptr %33346, align 4, !tbaa !5
  %33348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33335, ptr noundef @.str.5, i32 noundef %33336, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 1485, ptr noundef %33339, ptr noundef %33342, ptr noundef %33345, i32 noundef %33347) #11
  br label %33349

33349:                                            ; preds = %33332, %33315
  call void @llvm.lifetime.end.p0(i64 4, ptr %815) #11
  br label %33350

33350:                                            ; preds = %33349
  br label %33351

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

33352:                                            ; No predecessors!
  br label %33353

33353:                                            ; preds = %33352
  br label %33354

33354:                                            ; preds = %33353, %33290
  br label %33355

33355:                                            ; preds = %33354
  br label %33356

33356:                                            ; preds = %33355
  br label %33357

33357:                                            ; preds = %33356
  %33358 = load i32, ptr @test_count, align 4, !tbaa !5
  %33359 = add nsw i32 %33358, 1
  store i32 %33359, ptr @test_count, align 4, !tbaa !5
  %33360 = load ptr, ptr %813, align 8, !tbaa !9
  %33361 = call i32 @s2n_psk_init(ptr noundef %33360, i32 noundef 1)
  %33362 = getelementptr inbounds %struct.s2n_result, ptr %816, i32 0, i32 0
  store i32 %33361, ptr %33362, align 4
  %33363 = getelementptr inbounds %struct.s2n_result, ptr %816, i32 0, i32 0
  %33364 = load i32, ptr %33363, align 4
  %33365 = call zeroext i1 @s2n_result_is_ok(i32 %33364)
  br i1 %33365, label %33419, label %33366

33366:                                            ; preds = %33357
  br label %33367

33367:                                            ; preds = %33366
  br label %33368

33368:                                            ; preds = %33367
  call void @llvm.lifetime.start.p0(i64 4, ptr %817) #11
  %33369 = call ptr @__errno_location() #12
  %33370 = load i32, ptr %33369, align 4, !tbaa !5
  store i32 %33370, ptr %817, align 4, !tbaa !5
  %33371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33372 = call i32 @s2n_print_stacktrace(ptr noundef %33371)
  %33373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33374 = trunc i8 %33373 to i1
  br i1 %33374, label %33375, label %33397

33375:                                            ; preds = %33368
  %33376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33377 = call i32 @fileno(ptr noundef %33376) #11
  %33378 = call i32 @isatty(i32 noundef %33377) #11
  %33379 = icmp ne i32 %33378, 0
  br i1 %33379, label %33380, label %33397

33380:                                            ; preds = %33375
  %33381 = load i32, ptr %817, align 4, !tbaa !5
  %33382 = call ptr @__errno_location() #12
  store i32 %33381, ptr %33382, align 4, !tbaa !5
  %33383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33384 = load i32, ptr @test_count, align 4, !tbaa !5
  %33385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33386 = load i32, ptr %33385, align 4, !tbaa !5
  %33387 = call ptr @s2n_strerror(i32 noundef %33386, ptr noundef @.str.4)
  %33388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33389 = load i32, ptr %33388, align 4, !tbaa !5
  %33390 = call ptr @s2n_strerror_debug(i32 noundef %33389, ptr noundef @.str.4)
  %33391 = call ptr @__errno_location() #12
  %33392 = load i32, ptr %33391, align 4, !tbaa !5
  %33393 = call ptr @strerror(i32 noundef %33392) #11
  %33394 = call ptr @__errno_location() #12
  %33395 = load i32, ptr %33394, align 4, !tbaa !5
  %33396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33383, ptr noundef @.str.2, i32 noundef %33384, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1486, ptr noundef %33387, ptr noundef %33390, ptr noundef %33393, i32 noundef %33395) #11
  br label %33414

33397:                                            ; preds = %33375, %33368
  %33398 = load i32, ptr %817, align 4, !tbaa !5
  %33399 = call ptr @__errno_location() #12
  store i32 %33398, ptr %33399, align 4, !tbaa !5
  %33400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33401 = load i32, ptr @test_count, align 4, !tbaa !5
  %33402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33403 = load i32, ptr %33402, align 4, !tbaa !5
  %33404 = call ptr @s2n_strerror(i32 noundef %33403, ptr noundef @.str.4)
  %33405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33406 = load i32, ptr %33405, align 4, !tbaa !5
  %33407 = call ptr @s2n_strerror_debug(i32 noundef %33406, ptr noundef @.str.4)
  %33408 = call ptr @__errno_location() #12
  %33409 = load i32, ptr %33408, align 4, !tbaa !5
  %33410 = call ptr @strerror(i32 noundef %33409) #11
  %33411 = call ptr @__errno_location() #12
  %33412 = load i32, ptr %33411, align 4, !tbaa !5
  %33413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33400, ptr noundef @.str.5, i32 noundef %33401, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1486, ptr noundef %33404, ptr noundef %33407, ptr noundef %33410, i32 noundef %33412) #11
  br label %33414

33414:                                            ; preds = %33397, %33380
  call void @llvm.lifetime.end.p0(i64 4, ptr %817) #11
  br label %33415

33415:                                            ; preds = %33414
  br label %33416

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

33417:                                            ; No predecessors!
  br label %33418

33418:                                            ; preds = %33417
  br label %33419

33419:                                            ; preds = %33418, %33357
  br label %33420

33420:                                            ; preds = %33419
  br label %33421

33421:                                            ; preds = %33420
  br label %33422

33422:                                            ; preds = %33421
  %33423 = load i32, ptr @test_count, align 4, !tbaa !5
  %33424 = add nsw i32 %33423, 1
  store i32 %33424, ptr @test_count, align 4, !tbaa !5
  %33425 = load ptr, ptr %813, align 8, !tbaa !9
  %33426 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  %33427 = call i32 @s2n_psk_set_identity(ptr noundef %33425, ptr noundef %33426, i16 noundef zeroext 14)
  %33428 = icmp eq i32 %33427, -1
  br i1 %33428, label %33429, label %33482

33429:                                            ; preds = %33422
  br label %33430

33430:                                            ; preds = %33429
  br label %33431

33431:                                            ; preds = %33430
  call void @llvm.lifetime.start.p0(i64 4, ptr %818) #11
  %33432 = call ptr @__errno_location() #12
  %33433 = load i32, ptr %33432, align 4, !tbaa !5
  store i32 %33433, ptr %818, align 4, !tbaa !5
  %33434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33435 = call i32 @s2n_print_stacktrace(ptr noundef %33434)
  %33436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33437 = trunc i8 %33436 to i1
  br i1 %33437, label %33438, label %33460

33438:                                            ; preds = %33431
  %33439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33440 = call i32 @fileno(ptr noundef %33439) #11
  %33441 = call i32 @isatty(i32 noundef %33440) #11
  %33442 = icmp ne i32 %33441, 0
  br i1 %33442, label %33443, label %33460

33443:                                            ; preds = %33438
  %33444 = load i32, ptr %818, align 4, !tbaa !5
  %33445 = call ptr @__errno_location() #12
  store i32 %33444, ptr %33445, align 4, !tbaa !5
  %33446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33447 = load i32, ptr @test_count, align 4, !tbaa !5
  %33448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33449 = load i32, ptr %33448, align 4, !tbaa !5
  %33450 = call ptr @s2n_strerror(i32 noundef %33449, ptr noundef @.str.4)
  %33451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33452 = load i32, ptr %33451, align 4, !tbaa !5
  %33453 = call ptr @s2n_strerror_debug(i32 noundef %33452, ptr noundef @.str.4)
  %33454 = call ptr @__errno_location() #12
  %33455 = load i32, ptr %33454, align 4, !tbaa !5
  %33456 = call ptr @strerror(i32 noundef %33455) #11
  %33457 = call ptr @__errno_location() #12
  %33458 = load i32, ptr %33457, align 4, !tbaa !5
  %33459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33446, ptr noundef @.str.2, i32 noundef %33447, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1487, ptr noundef %33450, ptr noundef %33453, ptr noundef %33456, i32 noundef %33458) #11
  br label %33477

33460:                                            ; preds = %33438, %33431
  %33461 = load i32, ptr %818, align 4, !tbaa !5
  %33462 = call ptr @__errno_location() #12
  store i32 %33461, ptr %33462, align 4, !tbaa !5
  %33463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33464 = load i32, ptr @test_count, align 4, !tbaa !5
  %33465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33466 = load i32, ptr %33465, align 4, !tbaa !5
  %33467 = call ptr @s2n_strerror(i32 noundef %33466, ptr noundef @.str.4)
  %33468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33469 = load i32, ptr %33468, align 4, !tbaa !5
  %33470 = call ptr @s2n_strerror_debug(i32 noundef %33469, ptr noundef @.str.4)
  %33471 = call ptr @__errno_location() #12
  %33472 = load i32, ptr %33471, align 4, !tbaa !5
  %33473 = call ptr @strerror(i32 noundef %33472) #11
  %33474 = call ptr @__errno_location() #12
  %33475 = load i32, ptr %33474, align 4, !tbaa !5
  %33476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33463, ptr noundef @.str.5, i32 noundef %33464, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1487, ptr noundef %33467, ptr noundef %33470, ptr noundef %33473, i32 noundef %33475) #11
  br label %33477

33477:                                            ; preds = %33460, %33443
  call void @llvm.lifetime.end.p0(i64 4, ptr %818) #11
  br label %33478

33478:                                            ; preds = %33477
  br label %33479

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

33480:                                            ; No predecessors!
  br label %33481

33481:                                            ; preds = %33480
  br label %33482

33482:                                            ; preds = %33481, %33422
  br label %33483

33483:                                            ; preds = %33482
  br label %33484

33484:                                            ; preds = %33483
  br label %33485

33485:                                            ; preds = %33484
  %33486 = load i32, ptr @test_count, align 4, !tbaa !5
  %33487 = add nsw i32 %33486, 1
  store i32 %33487, ptr @test_count, align 4, !tbaa !5
  %33488 = load ptr, ptr %813, align 8, !tbaa !9
  %33489 = getelementptr inbounds [12 x i8], ptr %14, i64 0, i64 0
  %33490 = call i32 @s2n_psk_set_secret(ptr noundef %33488, ptr noundef %33489, i16 noundef zeroext 12)
  %33491 = icmp eq i32 %33490, -1
  br i1 %33491, label %33492, label %33545

33492:                                            ; preds = %33485
  br label %33493

33493:                                            ; preds = %33492
  br label %33494

33494:                                            ; preds = %33493
  call void @llvm.lifetime.start.p0(i64 4, ptr %819) #11
  %33495 = call ptr @__errno_location() #12
  %33496 = load i32, ptr %33495, align 4, !tbaa !5
  store i32 %33496, ptr %819, align 4, !tbaa !5
  %33497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33498 = call i32 @s2n_print_stacktrace(ptr noundef %33497)
  %33499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33500 = trunc i8 %33499 to i1
  br i1 %33500, label %33501, label %33523

33501:                                            ; preds = %33494
  %33502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33503 = call i32 @fileno(ptr noundef %33502) #11
  %33504 = call i32 @isatty(i32 noundef %33503) #11
  %33505 = icmp ne i32 %33504, 0
  br i1 %33505, label %33506, label %33523

33506:                                            ; preds = %33501
  %33507 = load i32, ptr %819, align 4, !tbaa !5
  %33508 = call ptr @__errno_location() #12
  store i32 %33507, ptr %33508, align 4, !tbaa !5
  %33509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33510 = load i32, ptr @test_count, align 4, !tbaa !5
  %33511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33512 = load i32, ptr %33511, align 4, !tbaa !5
  %33513 = call ptr @s2n_strerror(i32 noundef %33512, ptr noundef @.str.4)
  %33514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33515 = load i32, ptr %33514, align 4, !tbaa !5
  %33516 = call ptr @s2n_strerror_debug(i32 noundef %33515, ptr noundef @.str.4)
  %33517 = call ptr @__errno_location() #12
  %33518 = load i32, ptr %33517, align 4, !tbaa !5
  %33519 = call ptr @strerror(i32 noundef %33518) #11
  %33520 = call ptr @__errno_location() #12
  %33521 = load i32, ptr %33520, align 4, !tbaa !5
  %33522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33509, ptr noundef @.str.2, i32 noundef %33510, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1488, ptr noundef %33513, ptr noundef %33516, ptr noundef %33519, i32 noundef %33521) #11
  br label %33540

33523:                                            ; preds = %33501, %33494
  %33524 = load i32, ptr %819, align 4, !tbaa !5
  %33525 = call ptr @__errno_location() #12
  store i32 %33524, ptr %33525, align 4, !tbaa !5
  %33526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33527 = load i32, ptr @test_count, align 4, !tbaa !5
  %33528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33529 = load i32, ptr %33528, align 4, !tbaa !5
  %33530 = call ptr @s2n_strerror(i32 noundef %33529, ptr noundef @.str.4)
  %33531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33532 = load i32, ptr %33531, align 4, !tbaa !5
  %33533 = call ptr @s2n_strerror_debug(i32 noundef %33532, ptr noundef @.str.4)
  %33534 = call ptr @__errno_location() #12
  %33535 = load i32, ptr %33534, align 4, !tbaa !5
  %33536 = call ptr @strerror(i32 noundef %33535) #11
  %33537 = call ptr @__errno_location() #12
  %33538 = load i32, ptr %33537, align 4, !tbaa !5
  %33539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33526, ptr noundef @.str.5, i32 noundef %33527, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1488, ptr noundef %33530, ptr noundef %33533, ptr noundef %33536, i32 noundef %33538) #11
  br label %33540

33540:                                            ; preds = %33523, %33506
  call void @llvm.lifetime.end.p0(i64 4, ptr %819) #11
  br label %33541

33541:                                            ; preds = %33540
  br label %33542

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

33543:                                            ; No predecessors!
  br label %33544

33544:                                            ; preds = %33543
  br label %33545

33545:                                            ; preds = %33544, %33485
  br label %33546

33546:                                            ; preds = %33545
  br label %33547

33547:                                            ; preds = %33546
  br label %33548

33548:                                            ; preds = %33547
  %33549 = load i32, ptr @test_count, align 4, !tbaa !5
  %33550 = add nsw i32 %33549, 1
  store i32 %33550, ptr @test_count, align 4, !tbaa !5
  %33551 = load ptr, ptr %786, align 8, !tbaa !9
  %33552 = getelementptr inbounds %struct.s2n_connection, ptr %33551, i32 0, i32 33
  %33553 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %33552, i32 0, i32 1
  %33554 = call i32 @s2n_array_pushback(ptr noundef %33553, ptr noundef %813)
  %33555 = getelementptr inbounds %struct.s2n_result, ptr %820, i32 0, i32 0
  store i32 %33554, ptr %33555, align 4
  %33556 = getelementptr inbounds %struct.s2n_result, ptr %820, i32 0, i32 0
  %33557 = load i32, ptr %33556, align 4
  %33558 = call zeroext i1 @s2n_result_is_ok(i32 %33557)
  br i1 %33558, label %33612, label %33559

33559:                                            ; preds = %33548
  br label %33560

33560:                                            ; preds = %33559
  br label %33561

33561:                                            ; preds = %33560
  call void @llvm.lifetime.start.p0(i64 4, ptr %821) #11
  %33562 = call ptr @__errno_location() #12
  %33563 = load i32, ptr %33562, align 4, !tbaa !5
  store i32 %33563, ptr %821, align 4, !tbaa !5
  %33564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33565 = call i32 @s2n_print_stacktrace(ptr noundef %33564)
  %33566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33567 = trunc i8 %33566 to i1
  br i1 %33567, label %33568, label %33590

33568:                                            ; preds = %33561
  %33569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33570 = call i32 @fileno(ptr noundef %33569) #11
  %33571 = call i32 @isatty(i32 noundef %33570) #11
  %33572 = icmp ne i32 %33571, 0
  br i1 %33572, label %33573, label %33590

33573:                                            ; preds = %33568
  %33574 = load i32, ptr %821, align 4, !tbaa !5
  %33575 = call ptr @__errno_location() #12
  store i32 %33574, ptr %33575, align 4, !tbaa !5
  %33576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33577 = load i32, ptr @test_count, align 4, !tbaa !5
  %33578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33579 = load i32, ptr %33578, align 4, !tbaa !5
  %33580 = call ptr @s2n_strerror(i32 noundef %33579, ptr noundef @.str.4)
  %33581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33582 = load i32, ptr %33581, align 4, !tbaa !5
  %33583 = call ptr @s2n_strerror_debug(i32 noundef %33582, ptr noundef @.str.4)
  %33584 = call ptr @__errno_location() #12
  %33585 = load i32, ptr %33584, align 4, !tbaa !5
  %33586 = call ptr @strerror(i32 noundef %33585) #11
  %33587 = call ptr @__errno_location() #12
  %33588 = load i32, ptr %33587, align 4, !tbaa !5
  %33589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33576, ptr noundef @.str.2, i32 noundef %33577, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1491, ptr noundef %33580, ptr noundef %33583, ptr noundef %33586, i32 noundef %33588) #11
  br label %33607

33590:                                            ; preds = %33568, %33561
  %33591 = load i32, ptr %821, align 4, !tbaa !5
  %33592 = call ptr @__errno_location() #12
  store i32 %33591, ptr %33592, align 4, !tbaa !5
  %33593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33594 = load i32, ptr @test_count, align 4, !tbaa !5
  %33595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33596 = load i32, ptr %33595, align 4, !tbaa !5
  %33597 = call ptr @s2n_strerror(i32 noundef %33596, ptr noundef @.str.4)
  %33598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33599 = load i32, ptr %33598, align 4, !tbaa !5
  %33600 = call ptr @s2n_strerror_debug(i32 noundef %33599, ptr noundef @.str.4)
  %33601 = call ptr @__errno_location() #12
  %33602 = load i32, ptr %33601, align 4, !tbaa !5
  %33603 = call ptr @strerror(i32 noundef %33602) #11
  %33604 = call ptr @__errno_location() #12
  %33605 = load i32, ptr %33604, align 4, !tbaa !5
  %33606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33593, ptr noundef @.str.5, i32 noundef %33594, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 1491, ptr noundef %33597, ptr noundef %33600, ptr noundef %33603, i32 noundef %33605) #11
  br label %33607

33607:                                            ; preds = %33590, %33573
  call void @llvm.lifetime.end.p0(i64 4, ptr %821) #11
  br label %33608

33608:                                            ; preds = %33607
  br label %33609

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

33610:                                            ; No predecessors!
  br label %33611

33611:                                            ; preds = %33610
  br label %33612

33612:                                            ; preds = %33611, %33548
  br label %33613

33613:                                            ; preds = %33612
  br label %33614

33614:                                            ; preds = %33613
  br label %33615

33615:                                            ; preds = %33614
  %33616 = load i32, ptr @test_count, align 4, !tbaa !5
  %33617 = add nsw i32 %33616, 1
  store i32 %33617, ptr @test_count, align 4, !tbaa !5
  %33618 = load ptr, ptr %813, align 8, !tbaa !9
  %33619 = call i32 @s2n_psk_init(ptr noundef %33618, i32 noundef 1)
  %33620 = getelementptr inbounds %struct.s2n_result, ptr %822, i32 0, i32 0
  store i32 %33619, ptr %33620, align 4
  %33621 = getelementptr inbounds %struct.s2n_result, ptr %822, i32 0, i32 0
  %33622 = load i32, ptr %33621, align 4
  %33623 = call zeroext i1 @s2n_result_is_ok(i32 %33622)
  br i1 %33623, label %33677, label %33624

33624:                                            ; preds = %33615
  br label %33625

33625:                                            ; preds = %33624
  br label %33626

33626:                                            ; preds = %33625
  call void @llvm.lifetime.start.p0(i64 4, ptr %823) #11
  %33627 = call ptr @__errno_location() #12
  %33628 = load i32, ptr %33627, align 4, !tbaa !5
  store i32 %33628, ptr %823, align 4, !tbaa !5
  %33629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33630 = call i32 @s2n_print_stacktrace(ptr noundef %33629)
  %33631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33632 = trunc i8 %33631 to i1
  br i1 %33632, label %33633, label %33655

33633:                                            ; preds = %33626
  %33634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33635 = call i32 @fileno(ptr noundef %33634) #11
  %33636 = call i32 @isatty(i32 noundef %33635) #11
  %33637 = icmp ne i32 %33636, 0
  br i1 %33637, label %33638, label %33655

33638:                                            ; preds = %33633
  %33639 = load i32, ptr %823, align 4, !tbaa !5
  %33640 = call ptr @__errno_location() #12
  store i32 %33639, ptr %33640, align 4, !tbaa !5
  %33641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33642 = load i32, ptr @test_count, align 4, !tbaa !5
  %33643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33644 = load i32, ptr %33643, align 4, !tbaa !5
  %33645 = call ptr @s2n_strerror(i32 noundef %33644, ptr noundef @.str.4)
  %33646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33647 = load i32, ptr %33646, align 4, !tbaa !5
  %33648 = call ptr @s2n_strerror_debug(i32 noundef %33647, ptr noundef @.str.4)
  %33649 = call ptr @__errno_location() #12
  %33650 = load i32, ptr %33649, align 4, !tbaa !5
  %33651 = call ptr @strerror(i32 noundef %33650) #11
  %33652 = call ptr @__errno_location() #12
  %33653 = load i32, ptr %33652, align 4, !tbaa !5
  %33654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33641, ptr noundef @.str.2, i32 noundef %33642, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1492, ptr noundef %33645, ptr noundef %33648, ptr noundef %33651, i32 noundef %33653) #11
  br label %33672

33655:                                            ; preds = %33633, %33626
  %33656 = load i32, ptr %823, align 4, !tbaa !5
  %33657 = call ptr @__errno_location() #12
  store i32 %33656, ptr %33657, align 4, !tbaa !5
  %33658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33659 = load i32, ptr @test_count, align 4, !tbaa !5
  %33660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33661 = load i32, ptr %33660, align 4, !tbaa !5
  %33662 = call ptr @s2n_strerror(i32 noundef %33661, ptr noundef @.str.4)
  %33663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33664 = load i32, ptr %33663, align 4, !tbaa !5
  %33665 = call ptr @s2n_strerror_debug(i32 noundef %33664, ptr noundef @.str.4)
  %33666 = call ptr @__errno_location() #12
  %33667 = load i32, ptr %33666, align 4, !tbaa !5
  %33668 = call ptr @strerror(i32 noundef %33667) #11
  %33669 = call ptr @__errno_location() #12
  %33670 = load i32, ptr %33669, align 4, !tbaa !5
  %33671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33658, ptr noundef @.str.5, i32 noundef %33659, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 1492, ptr noundef %33662, ptr noundef %33665, ptr noundef %33668, i32 noundef %33670) #11
  br label %33672

33672:                                            ; preds = %33655, %33638
  call void @llvm.lifetime.end.p0(i64 4, ptr %823) #11
  br label %33673

33673:                                            ; preds = %33672
  br label %33674

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

33675:                                            ; No predecessors!
  br label %33676

33676:                                            ; preds = %33675
  br label %33677

33677:                                            ; preds = %33676, %33615
  br label %33678

33678:                                            ; preds = %33677
  br label %33679

33679:                                            ; preds = %33678
  br label %33680

33680:                                            ; preds = %33679
  %33681 = load i32, ptr @test_count, align 4, !tbaa !5
  %33682 = add nsw i32 %33681, 1
  store i32 %33682, ptr @test_count, align 4, !tbaa !5
  %33683 = load ptr, ptr %813, align 8, !tbaa !9
  %33684 = getelementptr inbounds [14 x i8], ptr %11, i64 0, i64 0
  %33685 = call i32 @s2n_psk_set_identity(ptr noundef %33683, ptr noundef %33684, i16 noundef zeroext 14)
  %33686 = icmp eq i32 %33685, -1
  br i1 %33686, label %33687, label %33740

33687:                                            ; preds = %33680
  br label %33688

33688:                                            ; preds = %33687
  br label %33689

33689:                                            ; preds = %33688
  call void @llvm.lifetime.start.p0(i64 4, ptr %824) #11
  %33690 = call ptr @__errno_location() #12
  %33691 = load i32, ptr %33690, align 4, !tbaa !5
  store i32 %33691, ptr %824, align 4, !tbaa !5
  %33692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33693 = call i32 @s2n_print_stacktrace(ptr noundef %33692)
  %33694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33695 = trunc i8 %33694 to i1
  br i1 %33695, label %33696, label %33718

33696:                                            ; preds = %33689
  %33697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33698 = call i32 @fileno(ptr noundef %33697) #11
  %33699 = call i32 @isatty(i32 noundef %33698) #11
  %33700 = icmp ne i32 %33699, 0
  br i1 %33700, label %33701, label %33718

33701:                                            ; preds = %33696
  %33702 = load i32, ptr %824, align 4, !tbaa !5
  %33703 = call ptr @__errno_location() #12
  store i32 %33702, ptr %33703, align 4, !tbaa !5
  %33704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33705 = load i32, ptr @test_count, align 4, !tbaa !5
  %33706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33707 = load i32, ptr %33706, align 4, !tbaa !5
  %33708 = call ptr @s2n_strerror(i32 noundef %33707, ptr noundef @.str.4)
  %33709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33710 = load i32, ptr %33709, align 4, !tbaa !5
  %33711 = call ptr @s2n_strerror_debug(i32 noundef %33710, ptr noundef @.str.4)
  %33712 = call ptr @__errno_location() #12
  %33713 = load i32, ptr %33712, align 4, !tbaa !5
  %33714 = call ptr @strerror(i32 noundef %33713) #11
  %33715 = call ptr @__errno_location() #12
  %33716 = load i32, ptr %33715, align 4, !tbaa !5
  %33717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33704, ptr noundef @.str.2, i32 noundef %33705, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1493, ptr noundef %33708, ptr noundef %33711, ptr noundef %33714, i32 noundef %33716) #11
  br label %33735

33718:                                            ; preds = %33696, %33689
  %33719 = load i32, ptr %824, align 4, !tbaa !5
  %33720 = call ptr @__errno_location() #12
  store i32 %33719, ptr %33720, align 4, !tbaa !5
  %33721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33722 = load i32, ptr @test_count, align 4, !tbaa !5
  %33723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33724 = load i32, ptr %33723, align 4, !tbaa !5
  %33725 = call ptr @s2n_strerror(i32 noundef %33724, ptr noundef @.str.4)
  %33726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33727 = load i32, ptr %33726, align 4, !tbaa !5
  %33728 = call ptr @s2n_strerror_debug(i32 noundef %33727, ptr noundef @.str.4)
  %33729 = call ptr @__errno_location() #12
  %33730 = load i32, ptr %33729, align 4, !tbaa !5
  %33731 = call ptr @strerror(i32 noundef %33730) #11
  %33732 = call ptr @__errno_location() #12
  %33733 = load i32, ptr %33732, align 4, !tbaa !5
  %33734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33721, ptr noundef @.str.5, i32 noundef %33722, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 1493, ptr noundef %33725, ptr noundef %33728, ptr noundef %33731, i32 noundef %33733) #11
  br label %33735

33735:                                            ; preds = %33718, %33701
  call void @llvm.lifetime.end.p0(i64 4, ptr %824) #11
  br label %33736

33736:                                            ; preds = %33735
  br label %33737

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

33738:                                            ; No predecessors!
  br label %33739

33739:                                            ; preds = %33738
  br label %33740

33740:                                            ; preds = %33739, %33680
  br label %33741

33741:                                            ; preds = %33740
  br label %33742

33742:                                            ; preds = %33741
  br label %33743

33743:                                            ; preds = %33742
  %33744 = load i32, ptr @test_count, align 4, !tbaa !5
  %33745 = add nsw i32 %33744, 1
  store i32 %33745, ptr @test_count, align 4, !tbaa !5
  %33746 = load ptr, ptr %813, align 8, !tbaa !9
  %33747 = getelementptr inbounds [12 x i8], ptr %14, i64 0, i64 0
  %33748 = call i32 @s2n_psk_set_secret(ptr noundef %33746, ptr noundef %33747, i16 noundef zeroext 12)
  %33749 = icmp eq i32 %33748, -1
  br i1 %33749, label %33750, label %33803

33750:                                            ; preds = %33743
  br label %33751

33751:                                            ; preds = %33750
  br label %33752

33752:                                            ; preds = %33751
  call void @llvm.lifetime.start.p0(i64 4, ptr %825) #11
  %33753 = call ptr @__errno_location() #12
  %33754 = load i32, ptr %33753, align 4, !tbaa !5
  store i32 %33754, ptr %825, align 4, !tbaa !5
  %33755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33756 = call i32 @s2n_print_stacktrace(ptr noundef %33755)
  %33757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33758 = trunc i8 %33757 to i1
  br i1 %33758, label %33759, label %33781

33759:                                            ; preds = %33752
  %33760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33761 = call i32 @fileno(ptr noundef %33760) #11
  %33762 = call i32 @isatty(i32 noundef %33761) #11
  %33763 = icmp ne i32 %33762, 0
  br i1 %33763, label %33764, label %33781

33764:                                            ; preds = %33759
  %33765 = load i32, ptr %825, align 4, !tbaa !5
  %33766 = call ptr @__errno_location() #12
  store i32 %33765, ptr %33766, align 4, !tbaa !5
  %33767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33768 = load i32, ptr @test_count, align 4, !tbaa !5
  %33769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33770 = load i32, ptr %33769, align 4, !tbaa !5
  %33771 = call ptr @s2n_strerror(i32 noundef %33770, ptr noundef @.str.4)
  %33772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33773 = load i32, ptr %33772, align 4, !tbaa !5
  %33774 = call ptr @s2n_strerror_debug(i32 noundef %33773, ptr noundef @.str.4)
  %33775 = call ptr @__errno_location() #12
  %33776 = load i32, ptr %33775, align 4, !tbaa !5
  %33777 = call ptr @strerror(i32 noundef %33776) #11
  %33778 = call ptr @__errno_location() #12
  %33779 = load i32, ptr %33778, align 4, !tbaa !5
  %33780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33767, ptr noundef @.str.2, i32 noundef %33768, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1494, ptr noundef %33771, ptr noundef %33774, ptr noundef %33777, i32 noundef %33779) #11
  br label %33798

33781:                                            ; preds = %33759, %33752
  %33782 = load i32, ptr %825, align 4, !tbaa !5
  %33783 = call ptr @__errno_location() #12
  store i32 %33782, ptr %33783, align 4, !tbaa !5
  %33784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33785 = load i32, ptr @test_count, align 4, !tbaa !5
  %33786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33787 = load i32, ptr %33786, align 4, !tbaa !5
  %33788 = call ptr @s2n_strerror(i32 noundef %33787, ptr noundef @.str.4)
  %33789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33790 = load i32, ptr %33789, align 4, !tbaa !5
  %33791 = call ptr @s2n_strerror_debug(i32 noundef %33790, ptr noundef @.str.4)
  %33792 = call ptr @__errno_location() #12
  %33793 = load i32, ptr %33792, align 4, !tbaa !5
  %33794 = call ptr @strerror(i32 noundef %33793) #11
  %33795 = call ptr @__errno_location() #12
  %33796 = load i32, ptr %33795, align 4, !tbaa !5
  %33797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33784, ptr noundef @.str.5, i32 noundef %33785, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 1494, ptr noundef %33788, ptr noundef %33791, ptr noundef %33794, i32 noundef %33796) #11
  br label %33798

33798:                                            ; preds = %33781, %33764
  call void @llvm.lifetime.end.p0(i64 4, ptr %825) #11
  br label %33799

33799:                                            ; preds = %33798
  br label %33800

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

33801:                                            ; No predecessors!
  br label %33802

33802:                                            ; preds = %33801
  br label %33803

33803:                                            ; preds = %33802, %33743
  br label %33804

33804:                                            ; preds = %33803
  br label %33805

33805:                                            ; preds = %33804
  br label %33806

33806:                                            ; preds = %33805
  %33807 = load i32, ptr @test_count, align 4, !tbaa !5
  %33808 = add nsw i32 %33807, 1
  store i32 %33808, ptr @test_count, align 4, !tbaa !5
  %33809 = load ptr, ptr %785, align 8, !tbaa !9
  %33810 = call i32 @s2n_client_hello_send(ptr noundef %33809)
  %33811 = icmp eq i32 %33810, -1
  br i1 %33811, label %33812, label %33865

33812:                                            ; preds = %33806
  br label %33813

33813:                                            ; preds = %33812
  br label %33814

33814:                                            ; preds = %33813
  call void @llvm.lifetime.start.p0(i64 4, ptr %826) #11
  %33815 = call ptr @__errno_location() #12
  %33816 = load i32, ptr %33815, align 4, !tbaa !5
  store i32 %33816, ptr %826, align 4, !tbaa !5
  %33817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33818 = call i32 @s2n_print_stacktrace(ptr noundef %33817)
  %33819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33820 = trunc i8 %33819 to i1
  br i1 %33820, label %33821, label %33843

33821:                                            ; preds = %33814
  %33822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33823 = call i32 @fileno(ptr noundef %33822) #11
  %33824 = call i32 @isatty(i32 noundef %33823) #11
  %33825 = icmp ne i32 %33824, 0
  br i1 %33825, label %33826, label %33843

33826:                                            ; preds = %33821
  %33827 = load i32, ptr %826, align 4, !tbaa !5
  %33828 = call ptr @__errno_location() #12
  store i32 %33827, ptr %33828, align 4, !tbaa !5
  %33829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33830 = load i32, ptr @test_count, align 4, !tbaa !5
  %33831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33832 = load i32, ptr %33831, align 4, !tbaa !5
  %33833 = call ptr @s2n_strerror(i32 noundef %33832, ptr noundef @.str.4)
  %33834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33835 = load i32, ptr %33834, align 4, !tbaa !5
  %33836 = call ptr @s2n_strerror_debug(i32 noundef %33835, ptr noundef @.str.4)
  %33837 = call ptr @__errno_location() #12
  %33838 = load i32, ptr %33837, align 4, !tbaa !5
  %33839 = call ptr @strerror(i32 noundef %33838) #11
  %33840 = call ptr @__errno_location() #12
  %33841 = load i32, ptr %33840, align 4, !tbaa !5
  %33842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33829, ptr noundef @.str.2, i32 noundef %33830, ptr noundef @.str.221, ptr noundef @.str.1, i32 noundef 1496, ptr noundef %33833, ptr noundef %33836, ptr noundef %33839, i32 noundef %33841) #11
  br label %33860

33843:                                            ; preds = %33821, %33814
  %33844 = load i32, ptr %826, align 4, !tbaa !5
  %33845 = call ptr @__errno_location() #12
  store i32 %33844, ptr %33845, align 4, !tbaa !5
  %33846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33847 = load i32, ptr @test_count, align 4, !tbaa !5
  %33848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33849 = load i32, ptr %33848, align 4, !tbaa !5
  %33850 = call ptr @s2n_strerror(i32 noundef %33849, ptr noundef @.str.4)
  %33851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33852 = load i32, ptr %33851, align 4, !tbaa !5
  %33853 = call ptr @s2n_strerror_debug(i32 noundef %33852, ptr noundef @.str.4)
  %33854 = call ptr @__errno_location() #12
  %33855 = load i32, ptr %33854, align 4, !tbaa !5
  %33856 = call ptr @strerror(i32 noundef %33855) #11
  %33857 = call ptr @__errno_location() #12
  %33858 = load i32, ptr %33857, align 4, !tbaa !5
  %33859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33846, ptr noundef @.str.5, i32 noundef %33847, ptr noundef @.str.221, ptr noundef @.str.1, i32 noundef 1496, ptr noundef %33850, ptr noundef %33853, ptr noundef %33856, i32 noundef %33858) #11
  br label %33860

33860:                                            ; preds = %33843, %33826
  call void @llvm.lifetime.end.p0(i64 4, ptr %826) #11
  br label %33861

33861:                                            ; preds = %33860
  br label %33862

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

33863:                                            ; No predecessors!
  br label %33864

33864:                                            ; preds = %33863
  br label %33865

33865:                                            ; preds = %33864, %33806
  br label %33866

33866:                                            ; preds = %33865
  br label %33867

33867:                                            ; preds = %33866
  br label %33868

33868:                                            ; preds = %33867
  %33869 = load i32, ptr @test_count, align 4, !tbaa !5
  %33870 = add nsw i32 %33869, 1
  store i32 %33870, ptr @test_count, align 4, !tbaa !5
  %33871 = load ptr, ptr %785, align 8, !tbaa !9
  %33872 = getelementptr inbounds %struct.s2n_connection, ptr %33871, i32 0, i32 52
  %33873 = getelementptr inbounds %struct.s2n_handshake, ptr %33872, i32 0, i32 0
  %33874 = load ptr, ptr %786, align 8, !tbaa !9
  %33875 = getelementptr inbounds %struct.s2n_connection, ptr %33874, i32 0, i32 52
  %33876 = getelementptr inbounds %struct.s2n_handshake, ptr %33875, i32 0, i32 0
  %33877 = load ptr, ptr %785, align 8, !tbaa !9
  %33878 = getelementptr inbounds %struct.s2n_connection, ptr %33877, i32 0, i32 52
  %33879 = getelementptr inbounds %struct.s2n_handshake, ptr %33878, i32 0, i32 0
  %33880 = getelementptr inbounds %struct.s2n_stuffer, ptr %33879, i32 0, i32 2
  %33881 = load i32, ptr %33880, align 4, !tbaa !108
  %33882 = load ptr, ptr %785, align 8, !tbaa !9
  %33883 = getelementptr inbounds %struct.s2n_connection, ptr %33882, i32 0, i32 52
  %33884 = getelementptr inbounds %struct.s2n_handshake, ptr %33883, i32 0, i32 0
  %33885 = getelementptr inbounds %struct.s2n_stuffer, ptr %33884, i32 0, i32 1
  %33886 = load i32, ptr %33885, align 8, !tbaa !109
  %33887 = sub i32 %33881, %33886
  %33888 = call i32 @s2n_stuffer_copy(ptr noundef %33873, ptr noundef %33876, i32 noundef %33887)
  %33889 = icmp eq i32 %33888, -1
  br i1 %33889, label %33890, label %33943

33890:                                            ; preds = %33868
  br label %33891

33891:                                            ; preds = %33890
  br label %33892

33892:                                            ; preds = %33891
  call void @llvm.lifetime.start.p0(i64 4, ptr %827) #11
  %33893 = call ptr @__errno_location() #12
  %33894 = load i32, ptr %33893, align 4, !tbaa !5
  store i32 %33894, ptr %827, align 4, !tbaa !5
  %33895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33896 = call i32 @s2n_print_stacktrace(ptr noundef %33895)
  %33897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33898 = trunc i8 %33897 to i1
  br i1 %33898, label %33899, label %33921

33899:                                            ; preds = %33892
  %33900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33901 = call i32 @fileno(ptr noundef %33900) #11
  %33902 = call i32 @isatty(i32 noundef %33901) #11
  %33903 = icmp ne i32 %33902, 0
  br i1 %33903, label %33904, label %33921

33904:                                            ; preds = %33899
  %33905 = load i32, ptr %827, align 4, !tbaa !5
  %33906 = call ptr @__errno_location() #12
  store i32 %33905, ptr %33906, align 4, !tbaa !5
  %33907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33908 = load i32, ptr @test_count, align 4, !tbaa !5
  %33909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33910 = load i32, ptr %33909, align 4, !tbaa !5
  %33911 = call ptr @s2n_strerror(i32 noundef %33910, ptr noundef @.str.4)
  %33912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33913 = load i32, ptr %33912, align 4, !tbaa !5
  %33914 = call ptr @s2n_strerror_debug(i32 noundef %33913, ptr noundef @.str.4)
  %33915 = call ptr @__errno_location() #12
  %33916 = load i32, ptr %33915, align 4, !tbaa !5
  %33917 = call ptr @strerror(i32 noundef %33916) #11
  %33918 = call ptr @__errno_location() #12
  %33919 = load i32, ptr %33918, align 4, !tbaa !5
  %33920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33907, ptr noundef @.str.2, i32 noundef %33908, ptr noundef @.str.222, ptr noundef @.str.1, i32 noundef 1498, ptr noundef %33911, ptr noundef %33914, ptr noundef %33917, i32 noundef %33919) #11
  br label %33938

33921:                                            ; preds = %33899, %33892
  %33922 = load i32, ptr %827, align 4, !tbaa !5
  %33923 = call ptr @__errno_location() #12
  store i32 %33922, ptr %33923, align 4, !tbaa !5
  %33924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33925 = load i32, ptr @test_count, align 4, !tbaa !5
  %33926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33927 = load i32, ptr %33926, align 4, !tbaa !5
  %33928 = call ptr @s2n_strerror(i32 noundef %33927, ptr noundef @.str.4)
  %33929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33930 = load i32, ptr %33929, align 4, !tbaa !5
  %33931 = call ptr @s2n_strerror_debug(i32 noundef %33930, ptr noundef @.str.4)
  %33932 = call ptr @__errno_location() #12
  %33933 = load i32, ptr %33932, align 4, !tbaa !5
  %33934 = call ptr @strerror(i32 noundef %33933) #11
  %33935 = call ptr @__errno_location() #12
  %33936 = load i32, ptr %33935, align 4, !tbaa !5
  %33937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33924, ptr noundef @.str.5, i32 noundef %33925, ptr noundef @.str.222, ptr noundef @.str.1, i32 noundef 1498, ptr noundef %33928, ptr noundef %33931, ptr noundef %33934, i32 noundef %33936) #11
  br label %33938

33938:                                            ; preds = %33921, %33904
  call void @llvm.lifetime.end.p0(i64 4, ptr %827) #11
  br label %33939

33939:                                            ; preds = %33938
  br label %33940

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

33941:                                            ; No predecessors!
  br label %33942

33942:                                            ; preds = %33941
  br label %33943

33943:                                            ; preds = %33942, %33868
  br label %33944

33944:                                            ; preds = %33943
  br label %33945

33945:                                            ; preds = %33944
  br label %33946

33946:                                            ; preds = %33945
  %33947 = load i32, ptr @test_count, align 4, !tbaa !5
  %33948 = add nsw i32 %33947, 1
  store i32 %33948, ptr @test_count, align 4, !tbaa !5
  %33949 = load ptr, ptr %786, align 8, !tbaa !9
  %33950 = call i32 @s2n_client_hello_recv(ptr noundef %33949)
  %33951 = icmp eq i32 %33950, -1
  br i1 %33951, label %33952, label %34005

33952:                                            ; preds = %33946
  br label %33953

33953:                                            ; preds = %33952
  br label %33954

33954:                                            ; preds = %33953
  call void @llvm.lifetime.start.p0(i64 4, ptr %828) #11
  %33955 = call ptr @__errno_location() #12
  %33956 = load i32, ptr %33955, align 4, !tbaa !5
  store i32 %33956, ptr %828, align 4, !tbaa !5
  %33957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33958 = call i32 @s2n_print_stacktrace(ptr noundef %33957)
  %33959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %33960 = trunc i8 %33959 to i1
  br i1 %33960, label %33961, label %33983

33961:                                            ; preds = %33954
  %33962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33963 = call i32 @fileno(ptr noundef %33962) #11
  %33964 = call i32 @isatty(i32 noundef %33963) #11
  %33965 = icmp ne i32 %33964, 0
  br i1 %33965, label %33966, label %33983

33966:                                            ; preds = %33961
  %33967 = load i32, ptr %828, align 4, !tbaa !5
  %33968 = call ptr @__errno_location() #12
  store i32 %33967, ptr %33968, align 4, !tbaa !5
  %33969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33970 = load i32, ptr @test_count, align 4, !tbaa !5
  %33971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33972 = load i32, ptr %33971, align 4, !tbaa !5
  %33973 = call ptr @s2n_strerror(i32 noundef %33972, ptr noundef @.str.4)
  %33974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33975 = load i32, ptr %33974, align 4, !tbaa !5
  %33976 = call ptr @s2n_strerror_debug(i32 noundef %33975, ptr noundef @.str.4)
  %33977 = call ptr @__errno_location() #12
  %33978 = load i32, ptr %33977, align 4, !tbaa !5
  %33979 = call ptr @strerror(i32 noundef %33978) #11
  %33980 = call ptr @__errno_location() #12
  %33981 = load i32, ptr %33980, align 4, !tbaa !5
  %33982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33969, ptr noundef @.str.2, i32 noundef %33970, ptr noundef @.str.223, ptr noundef @.str.1, i32 noundef 1499, ptr noundef %33973, ptr noundef %33976, ptr noundef %33979, i32 noundef %33981) #11
  br label %34000

33983:                                            ; preds = %33961, %33954
  %33984 = load i32, ptr %828, align 4, !tbaa !5
  %33985 = call ptr @__errno_location() #12
  store i32 %33984, ptr %33985, align 4, !tbaa !5
  %33986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %33987 = load i32, ptr @test_count, align 4, !tbaa !5
  %33988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33989 = load i32, ptr %33988, align 4, !tbaa !5
  %33990 = call ptr @s2n_strerror(i32 noundef %33989, ptr noundef @.str.4)
  %33991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %33992 = load i32, ptr %33991, align 4, !tbaa !5
  %33993 = call ptr @s2n_strerror_debug(i32 noundef %33992, ptr noundef @.str.4)
  %33994 = call ptr @__errno_location() #12
  %33995 = load i32, ptr %33994, align 4, !tbaa !5
  %33996 = call ptr @strerror(i32 noundef %33995) #11
  %33997 = call ptr @__errno_location() #12
  %33998 = load i32, ptr %33997, align 4, !tbaa !5
  %33999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33986, ptr noundef @.str.5, i32 noundef %33987, ptr noundef @.str.223, ptr noundef @.str.1, i32 noundef 1499, ptr noundef %33990, ptr noundef %33993, ptr noundef %33996, i32 noundef %33998) #11
  br label %34000

34000:                                            ; preds = %33983, %33966
  call void @llvm.lifetime.end.p0(i64 4, ptr %828) #11
  br label %34001

34001:                                            ; preds = %34000
  br label %34002

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

34003:                                            ; No predecessors!
  br label %34004

34004:                                            ; preds = %34003
  br label %34005

34005:                                            ; preds = %34004, %33946
  br label %34006

34006:                                            ; preds = %34005
  br label %34007

34007:                                            ; preds = %34006
  br label %34008

34008:                                            ; preds = %34007
  %34009 = load i32, ptr @test_count, align 4, !tbaa !5
  %34010 = add nsw i32 %34009, 1
  store i32 %34010, ptr @test_count, align 4, !tbaa !5
  %34011 = load ptr, ptr %786, align 8, !tbaa !9
  %34012 = getelementptr inbounds %struct.s2n_connection, ptr %34011, i32 0, i32 33
  %34013 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %34012, i32 0, i32 3
  %34014 = load i16, ptr %34013, align 2, !tbaa !99
  %34015 = zext i16 %34014 to i32
  %34016 = icmp eq i32 %34015, 1
  br i1 %34016, label %34070, label %34017

34017:                                            ; preds = %34008
  br label %34018

34018:                                            ; preds = %34017
  br label %34019

34019:                                            ; preds = %34018
  call void @llvm.lifetime.start.p0(i64 4, ptr %829) #11
  %34020 = call ptr @__errno_location() #12
  %34021 = load i32, ptr %34020, align 4, !tbaa !5
  store i32 %34021, ptr %829, align 4, !tbaa !5
  %34022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34023 = call i32 @s2n_print_stacktrace(ptr noundef %34022)
  %34024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34025 = trunc i8 %34024 to i1
  br i1 %34025, label %34026, label %34048

34026:                                            ; preds = %34019
  %34027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34028 = call i32 @fileno(ptr noundef %34027) #11
  %34029 = call i32 @isatty(i32 noundef %34028) #11
  %34030 = icmp ne i32 %34029, 0
  br i1 %34030, label %34031, label %34048

34031:                                            ; preds = %34026
  %34032 = load i32, ptr %829, align 4, !tbaa !5
  %34033 = call ptr @__errno_location() #12
  store i32 %34032, ptr %34033, align 4, !tbaa !5
  %34034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34035 = load i32, ptr @test_count, align 4, !tbaa !5
  %34036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34037 = load i32, ptr %34036, align 4, !tbaa !5
  %34038 = call ptr @s2n_strerror(i32 noundef %34037, ptr noundef @.str.4)
  %34039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34040 = load i32, ptr %34039, align 4, !tbaa !5
  %34041 = call ptr @s2n_strerror_debug(i32 noundef %34040, ptr noundef @.str.4)
  %34042 = call ptr @__errno_location() #12
  %34043 = load i32, ptr %34042, align 4, !tbaa !5
  %34044 = call ptr @strerror(i32 noundef %34043) #11
  %34045 = call ptr @__errno_location() #12
  %34046 = load i32, ptr %34045, align 4, !tbaa !5
  %34047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34034, ptr noundef @.str.2, i32 noundef %34035, ptr noundef @.str.224, ptr noundef @.str.1, i32 noundef 1502, ptr noundef %34038, ptr noundef %34041, ptr noundef %34044, i32 noundef %34046) #11
  br label %34065

34048:                                            ; preds = %34026, %34019
  %34049 = load i32, ptr %829, align 4, !tbaa !5
  %34050 = call ptr @__errno_location() #12
  store i32 %34049, ptr %34050, align 4, !tbaa !5
  %34051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34052 = load i32, ptr @test_count, align 4, !tbaa !5
  %34053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34054 = load i32, ptr %34053, align 4, !tbaa !5
  %34055 = call ptr @s2n_strerror(i32 noundef %34054, ptr noundef @.str.4)
  %34056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34057 = load i32, ptr %34056, align 4, !tbaa !5
  %34058 = call ptr @s2n_strerror_debug(i32 noundef %34057, ptr noundef @.str.4)
  %34059 = call ptr @__errno_location() #12
  %34060 = load i32, ptr %34059, align 4, !tbaa !5
  %34061 = call ptr @strerror(i32 noundef %34060) #11
  %34062 = call ptr @__errno_location() #12
  %34063 = load i32, ptr %34062, align 4, !tbaa !5
  %34064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34051, ptr noundef @.str.5, i32 noundef %34052, ptr noundef @.str.224, ptr noundef @.str.1, i32 noundef 1502, ptr noundef %34055, ptr noundef %34058, ptr noundef %34061, i32 noundef %34063) #11
  br label %34065

34065:                                            ; preds = %34048, %34031
  call void @llvm.lifetime.end.p0(i64 4, ptr %829) #11
  br label %34066

34066:                                            ; preds = %34065
  br label %34067

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

34068:                                            ; No predecessors!
  br label %34069

34069:                                            ; preds = %34068
  br label %34070

34070:                                            ; preds = %34069, %34008
  br label %34071

34071:                                            ; preds = %34070
  br label %34072

34072:                                            ; preds = %34071
  br label %34073

34073:                                            ; preds = %34072
  %34074 = load i32, ptr @test_count, align 4, !tbaa !5
  %34075 = add nsw i32 %34074, 1
  store i32 %34075, ptr @test_count, align 4, !tbaa !5
  %34076 = load ptr, ptr %786, align 8, !tbaa !9
  %34077 = getelementptr inbounds %struct.s2n_connection, ptr %34076, i32 0, i32 33
  %34078 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %34077, i32 0, i32 4
  %34079 = load ptr, ptr %34078, align 8, !tbaa !100
  %34080 = load ptr, ptr %813, align 8, !tbaa !9
  %34081 = icmp eq ptr %34079, %34080
  br i1 %34081, label %34135, label %34082

34082:                                            ; preds = %34073
  br label %34083

34083:                                            ; preds = %34082
  br label %34084

34084:                                            ; preds = %34083
  call void @llvm.lifetime.start.p0(i64 4, ptr %830) #11
  %34085 = call ptr @__errno_location() #12
  %34086 = load i32, ptr %34085, align 4, !tbaa !5
  store i32 %34086, ptr %830, align 4, !tbaa !5
  %34087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34088 = call i32 @s2n_print_stacktrace(ptr noundef %34087)
  %34089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34090 = trunc i8 %34089 to i1
  br i1 %34090, label %34091, label %34113

34091:                                            ; preds = %34084
  %34092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34093 = call i32 @fileno(ptr noundef %34092) #11
  %34094 = call i32 @isatty(i32 noundef %34093) #11
  %34095 = icmp ne i32 %34094, 0
  br i1 %34095, label %34096, label %34113

34096:                                            ; preds = %34091
  %34097 = load i32, ptr %830, align 4, !tbaa !5
  %34098 = call ptr @__errno_location() #12
  store i32 %34097, ptr %34098, align 4, !tbaa !5
  %34099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34100 = load i32, ptr @test_count, align 4, !tbaa !5
  %34101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34102 = load i32, ptr %34101, align 4, !tbaa !5
  %34103 = call ptr @s2n_strerror(i32 noundef %34102, ptr noundef @.str.4)
  %34104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34105 = load i32, ptr %34104, align 4, !tbaa !5
  %34106 = call ptr @s2n_strerror_debug(i32 noundef %34105, ptr noundef @.str.4)
  %34107 = call ptr @__errno_location() #12
  %34108 = load i32, ptr %34107, align 4, !tbaa !5
  %34109 = call ptr @strerror(i32 noundef %34108) #11
  %34110 = call ptr @__errno_location() #12
  %34111 = load i32, ptr %34110, align 4, !tbaa !5
  %34112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34099, ptr noundef @.str.2, i32 noundef %34100, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 1503, ptr noundef %34103, ptr noundef %34106, ptr noundef %34109, i32 noundef %34111) #11
  br label %34130

34113:                                            ; preds = %34091, %34084
  %34114 = load i32, ptr %830, align 4, !tbaa !5
  %34115 = call ptr @__errno_location() #12
  store i32 %34114, ptr %34115, align 4, !tbaa !5
  %34116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34117 = load i32, ptr @test_count, align 4, !tbaa !5
  %34118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34119 = load i32, ptr %34118, align 4, !tbaa !5
  %34120 = call ptr @s2n_strerror(i32 noundef %34119, ptr noundef @.str.4)
  %34121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34122 = load i32, ptr %34121, align 4, !tbaa !5
  %34123 = call ptr @s2n_strerror_debug(i32 noundef %34122, ptr noundef @.str.4)
  %34124 = call ptr @__errno_location() #12
  %34125 = load i32, ptr %34124, align 4, !tbaa !5
  %34126 = call ptr @strerror(i32 noundef %34125) #11
  %34127 = call ptr @__errno_location() #12
  %34128 = load i32, ptr %34127, align 4, !tbaa !5
  %34129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34116, ptr noundef @.str.5, i32 noundef %34117, ptr noundef @.str.208, ptr noundef @.str.1, i32 noundef 1503, ptr noundef %34120, ptr noundef %34123, ptr noundef %34126, i32 noundef %34128) #11
  br label %34130

34130:                                            ; preds = %34113, %34096
  call void @llvm.lifetime.end.p0(i64 4, ptr %830) #11
  br label %34131

34131:                                            ; preds = %34130
  br label %34132

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

34133:                                            ; No predecessors!
  br label %34134

34134:                                            ; preds = %34133
  br label %34135

34135:                                            ; preds = %34134, %34073
  br label %34136

34136:                                            ; preds = %34135
  br label %34137

34137:                                            ; preds = %34136
  br label %34138

34138:                                            ; preds = %34137
  %34139 = load i32, ptr @test_count, align 4, !tbaa !5
  %34140 = add nsw i32 %34139, 1
  store i32 %34140, ptr @test_count, align 4, !tbaa !5
  %34141 = load ptr, ptr %813, align 8, !tbaa !9
  %34142 = getelementptr inbounds %struct.s2n_psk, ptr %34141, i32 0, i32 2
  %34143 = getelementptr inbounds %struct.s2n_blob, ptr %34142, i32 0, i32 1
  %34144 = load i32, ptr %34143, align 8, !tbaa !110
  %34145 = zext i32 %34144 to i64
  %34146 = icmp eq i64 %34145, 12
  br i1 %34146, label %34200, label %34147

34147:                                            ; preds = %34138
  br label %34148

34148:                                            ; preds = %34147
  br label %34149

34149:                                            ; preds = %34148
  call void @llvm.lifetime.start.p0(i64 4, ptr %831) #11
  %34150 = call ptr @__errno_location() #12
  %34151 = load i32, ptr %34150, align 4, !tbaa !5
  store i32 %34151, ptr %831, align 4, !tbaa !5
  %34152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34153 = call i32 @s2n_print_stacktrace(ptr noundef %34152)
  %34154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34155 = trunc i8 %34154 to i1
  br i1 %34155, label %34156, label %34178

34156:                                            ; preds = %34149
  %34157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34158 = call i32 @fileno(ptr noundef %34157) #11
  %34159 = call i32 @isatty(i32 noundef %34158) #11
  %34160 = icmp ne i32 %34159, 0
  br i1 %34160, label %34161, label %34178

34161:                                            ; preds = %34156
  %34162 = load i32, ptr %831, align 4, !tbaa !5
  %34163 = call ptr @__errno_location() #12
  store i32 %34162, ptr %34163, align 4, !tbaa !5
  %34164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34165 = load i32, ptr @test_count, align 4, !tbaa !5
  %34166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34167 = load i32, ptr %34166, align 4, !tbaa !5
  %34168 = call ptr @s2n_strerror(i32 noundef %34167, ptr noundef @.str.4)
  %34169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34170 = load i32, ptr %34169, align 4, !tbaa !5
  %34171 = call ptr @s2n_strerror_debug(i32 noundef %34170, ptr noundef @.str.4)
  %34172 = call ptr @__errno_location() #12
  %34173 = load i32, ptr %34172, align 4, !tbaa !5
  %34174 = call ptr @strerror(i32 noundef %34173) #11
  %34175 = call ptr @__errno_location() #12
  %34176 = load i32, ptr %34175, align 4, !tbaa !5
  %34177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34164, ptr noundef @.str.2, i32 noundef %34165, ptr noundef @.str.225, ptr noundef @.str.1, i32 noundef 1504, ptr noundef %34168, ptr noundef %34171, ptr noundef %34174, i32 noundef %34176) #11
  br label %34195

34178:                                            ; preds = %34156, %34149
  %34179 = load i32, ptr %831, align 4, !tbaa !5
  %34180 = call ptr @__errno_location() #12
  store i32 %34179, ptr %34180, align 4, !tbaa !5
  %34181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34182 = load i32, ptr @test_count, align 4, !tbaa !5
  %34183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34184 = load i32, ptr %34183, align 4, !tbaa !5
  %34185 = call ptr @s2n_strerror(i32 noundef %34184, ptr noundef @.str.4)
  %34186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34187 = load i32, ptr %34186, align 4, !tbaa !5
  %34188 = call ptr @s2n_strerror_debug(i32 noundef %34187, ptr noundef @.str.4)
  %34189 = call ptr @__errno_location() #12
  %34190 = load i32, ptr %34189, align 4, !tbaa !5
  %34191 = call ptr @strerror(i32 noundef %34190) #11
  %34192 = call ptr @__errno_location() #12
  %34193 = load i32, ptr %34192, align 4, !tbaa !5
  %34194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34181, ptr noundef @.str.5, i32 noundef %34182, ptr noundef @.str.225, ptr noundef @.str.1, i32 noundef 1504, ptr noundef %34185, ptr noundef %34188, ptr noundef %34191, i32 noundef %34193) #11
  br label %34195

34195:                                            ; preds = %34178, %34161
  call void @llvm.lifetime.end.p0(i64 4, ptr %831) #11
  br label %34196

34196:                                            ; preds = %34195
  br label %34197

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

34198:                                            ; No predecessors!
  br label %34199

34199:                                            ; preds = %34198
  br label %34200

34200:                                            ; preds = %34199, %34138
  br label %34201

34201:                                            ; preds = %34200
  br label %34202

34202:                                            ; preds = %34201
  br label %34203

34203:                                            ; preds = %34202
  br label %34204

34204:                                            ; preds = %34203
  %34205 = load i32, ptr @test_count, align 4, !tbaa !5
  %34206 = add nsw i32 %34205, 1
  store i32 %34206, ptr @test_count, align 4, !tbaa !5
  %34207 = load ptr, ptr %813, align 8, !tbaa !9
  %34208 = getelementptr inbounds %struct.s2n_psk, ptr %34207, i32 0, i32 2
  %34209 = getelementptr inbounds %struct.s2n_blob, ptr %34208, i32 0, i32 0
  %34210 = load ptr, ptr %34209, align 8, !tbaa !111
  %34211 = getelementptr inbounds [12 x i8], ptr %14, i64 0, i64 0
  %34212 = call i32 @memcmp(ptr noundef %34210, ptr noundef %34211, i64 noundef 12) #14
  %34213 = icmp eq i32 %34212, 0
  br i1 %34213, label %34267, label %34214

34214:                                            ; preds = %34204
  br label %34215

34215:                                            ; preds = %34214
  br label %34216

34216:                                            ; preds = %34215
  call void @llvm.lifetime.start.p0(i64 4, ptr %832) #11
  %34217 = call ptr @__errno_location() #12
  %34218 = load i32, ptr %34217, align 4, !tbaa !5
  store i32 %34218, ptr %832, align 4, !tbaa !5
  %34219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34220 = call i32 @s2n_print_stacktrace(ptr noundef %34219)
  %34221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34222 = trunc i8 %34221 to i1
  br i1 %34222, label %34223, label %34245

34223:                                            ; preds = %34216
  %34224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34225 = call i32 @fileno(ptr noundef %34224) #11
  %34226 = call i32 @isatty(i32 noundef %34225) #11
  %34227 = icmp ne i32 %34226, 0
  br i1 %34227, label %34228, label %34245

34228:                                            ; preds = %34223
  %34229 = load i32, ptr %832, align 4, !tbaa !5
  %34230 = call ptr @__errno_location() #12
  store i32 %34229, ptr %34230, align 4, !tbaa !5
  %34231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34232 = load i32, ptr @test_count, align 4, !tbaa !5
  %34233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34234 = load i32, ptr %34233, align 4, !tbaa !5
  %34235 = call ptr @s2n_strerror(i32 noundef %34234, ptr noundef @.str.4)
  %34236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34237 = load i32, ptr %34236, align 4, !tbaa !5
  %34238 = call ptr @s2n_strerror_debug(i32 noundef %34237, ptr noundef @.str.4)
  %34239 = call ptr @__errno_location() #12
  %34240 = load i32, ptr %34239, align 4, !tbaa !5
  %34241 = call ptr @strerror(i32 noundef %34240) #11
  %34242 = call ptr @__errno_location() #12
  %34243 = load i32, ptr %34242, align 4, !tbaa !5
  %34244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34231, ptr noundef @.str.2, i32 noundef %34232, ptr noundef @.str.226, ptr noundef @.str.1, i32 noundef 1505, ptr noundef %34235, ptr noundef %34238, ptr noundef %34241, i32 noundef %34243) #11
  br label %34262

34245:                                            ; preds = %34223, %34216
  %34246 = load i32, ptr %832, align 4, !tbaa !5
  %34247 = call ptr @__errno_location() #12
  store i32 %34246, ptr %34247, align 4, !tbaa !5
  %34248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34249 = load i32, ptr @test_count, align 4, !tbaa !5
  %34250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34251 = load i32, ptr %34250, align 4, !tbaa !5
  %34252 = call ptr @s2n_strerror(i32 noundef %34251, ptr noundef @.str.4)
  %34253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34254 = load i32, ptr %34253, align 4, !tbaa !5
  %34255 = call ptr @s2n_strerror_debug(i32 noundef %34254, ptr noundef @.str.4)
  %34256 = call ptr @__errno_location() #12
  %34257 = load i32, ptr %34256, align 4, !tbaa !5
  %34258 = call ptr @strerror(i32 noundef %34257) #11
  %34259 = call ptr @__errno_location() #12
  %34260 = load i32, ptr %34259, align 4, !tbaa !5
  %34261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34248, ptr noundef @.str.5, i32 noundef %34249, ptr noundef @.str.226, ptr noundef @.str.1, i32 noundef 1505, ptr noundef %34252, ptr noundef %34255, ptr noundef %34258, i32 noundef %34260) #11
  br label %34262

34262:                                            ; preds = %34245, %34228
  call void @llvm.lifetime.end.p0(i64 4, ptr %832) #11
  br label %34263

34263:                                            ; preds = %34262
  br label %34264

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

34265:                                            ; No predecessors!
  br label %34266

34266:                                            ; preds = %34265
  br label %34267

34267:                                            ; preds = %34266, %34204
  br label %34268

34268:                                            ; preds = %34267
  br label %34269

34269:                                            ; preds = %34268
  br label %34270

34270:                                            ; preds = %34269
  br label %34271

34271:                                            ; preds = %34270
  br label %34272

34272:                                            ; preds = %34271
  %34273 = load i32, ptr @test_count, align 4, !tbaa !5
  %34274 = add nsw i32 %34273, 1
  store i32 %34274, ptr @test_count, align 4, !tbaa !5
  %34275 = load ptr, ptr %786, align 8, !tbaa !9
  %34276 = call i32 @s2n_connection_free(ptr noundef %34275)
  %34277 = icmp eq i32 %34276, -1
  br i1 %34277, label %34278, label %34331

34278:                                            ; preds = %34272
  br label %34279

34279:                                            ; preds = %34278
  br label %34280

34280:                                            ; preds = %34279
  call void @llvm.lifetime.start.p0(i64 4, ptr %833) #11
  %34281 = call ptr @__errno_location() #12
  %34282 = load i32, ptr %34281, align 4, !tbaa !5
  store i32 %34282, ptr %833, align 4, !tbaa !5
  %34283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34284 = call i32 @s2n_print_stacktrace(ptr noundef %34283)
  %34285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34286 = trunc i8 %34285 to i1
  br i1 %34286, label %34287, label %34309

34287:                                            ; preds = %34280
  %34288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34289 = call i32 @fileno(ptr noundef %34288) #11
  %34290 = call i32 @isatty(i32 noundef %34289) #11
  %34291 = icmp ne i32 %34290, 0
  br i1 %34291, label %34292, label %34309

34292:                                            ; preds = %34287
  %34293 = load i32, ptr %833, align 4, !tbaa !5
  %34294 = call ptr @__errno_location() #12
  store i32 %34293, ptr %34294, align 4, !tbaa !5
  %34295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34296 = load i32, ptr @test_count, align 4, !tbaa !5
  %34297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34298 = load i32, ptr %34297, align 4, !tbaa !5
  %34299 = call ptr @s2n_strerror(i32 noundef %34298, ptr noundef @.str.4)
  %34300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34301 = load i32, ptr %34300, align 4, !tbaa !5
  %34302 = call ptr @s2n_strerror_debug(i32 noundef %34301, ptr noundef @.str.4)
  %34303 = call ptr @__errno_location() #12
  %34304 = load i32, ptr %34303, align 4, !tbaa !5
  %34305 = call ptr @strerror(i32 noundef %34304) #11
  %34306 = call ptr @__errno_location() #12
  %34307 = load i32, ptr %34306, align 4, !tbaa !5
  %34308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34295, ptr noundef @.str.2, i32 noundef %34296, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1507, ptr noundef %34299, ptr noundef %34302, ptr noundef %34305, i32 noundef %34307) #11
  br label %34326

34309:                                            ; preds = %34287, %34280
  %34310 = load i32, ptr %833, align 4, !tbaa !5
  %34311 = call ptr @__errno_location() #12
  store i32 %34310, ptr %34311, align 4, !tbaa !5
  %34312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34313 = load i32, ptr @test_count, align 4, !tbaa !5
  %34314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34315 = load i32, ptr %34314, align 4, !tbaa !5
  %34316 = call ptr @s2n_strerror(i32 noundef %34315, ptr noundef @.str.4)
  %34317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34318 = load i32, ptr %34317, align 4, !tbaa !5
  %34319 = call ptr @s2n_strerror_debug(i32 noundef %34318, ptr noundef @.str.4)
  %34320 = call ptr @__errno_location() #12
  %34321 = load i32, ptr %34320, align 4, !tbaa !5
  %34322 = call ptr @strerror(i32 noundef %34321) #11
  %34323 = call ptr @__errno_location() #12
  %34324 = load i32, ptr %34323, align 4, !tbaa !5
  %34325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34312, ptr noundef @.str.5, i32 noundef %34313, ptr noundef @.str.209, ptr noundef @.str.1, i32 noundef 1507, ptr noundef %34316, ptr noundef %34319, ptr noundef %34322, i32 noundef %34324) #11
  br label %34326

34326:                                            ; preds = %34309, %34292
  call void @llvm.lifetime.end.p0(i64 4, ptr %833) #11
  br label %34327

34327:                                            ; preds = %34326
  br label %34328

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

34329:                                            ; No predecessors!
  br label %34330

34330:                                            ; preds = %34329
  br label %34331

34331:                                            ; preds = %34330, %34272
  br label %34332

34332:                                            ; preds = %34331
  br label %34333

34333:                                            ; preds = %34332
  br label %34334

34334:                                            ; preds = %34333
  %34335 = load i32, ptr @test_count, align 4, !tbaa !5
  %34336 = add nsw i32 %34335, 1
  store i32 %34336, ptr @test_count, align 4, !tbaa !5
  %34337 = load ptr, ptr %785, align 8, !tbaa !9
  %34338 = call i32 @s2n_connection_free(ptr noundef %34337)
  %34339 = icmp eq i32 %34338, -1
  br i1 %34339, label %34340, label %34393

34340:                                            ; preds = %34334
  br label %34341

34341:                                            ; preds = %34340
  br label %34342

34342:                                            ; preds = %34341
  call void @llvm.lifetime.start.p0(i64 4, ptr %834) #11
  %34343 = call ptr @__errno_location() #12
  %34344 = load i32, ptr %34343, align 4, !tbaa !5
  store i32 %34344, ptr %834, align 4, !tbaa !5
  %34345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34346 = call i32 @s2n_print_stacktrace(ptr noundef %34345)
  %34347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34348 = trunc i8 %34347 to i1
  br i1 %34348, label %34349, label %34371

34349:                                            ; preds = %34342
  %34350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34351 = call i32 @fileno(ptr noundef %34350) #11
  %34352 = call i32 @isatty(i32 noundef %34351) #11
  %34353 = icmp ne i32 %34352, 0
  br i1 %34353, label %34354, label %34371

34354:                                            ; preds = %34349
  %34355 = load i32, ptr %834, align 4, !tbaa !5
  %34356 = call ptr @__errno_location() #12
  store i32 %34355, ptr %34356, align 4, !tbaa !5
  %34357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34358 = load i32, ptr @test_count, align 4, !tbaa !5
  %34359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34360 = load i32, ptr %34359, align 4, !tbaa !5
  %34361 = call ptr @s2n_strerror(i32 noundef %34360, ptr noundef @.str.4)
  %34362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34363 = load i32, ptr %34362, align 4, !tbaa !5
  %34364 = call ptr @s2n_strerror_debug(i32 noundef %34363, ptr noundef @.str.4)
  %34365 = call ptr @__errno_location() #12
  %34366 = load i32, ptr %34365, align 4, !tbaa !5
  %34367 = call ptr @strerror(i32 noundef %34366) #11
  %34368 = call ptr @__errno_location() #12
  %34369 = load i32, ptr %34368, align 4, !tbaa !5
  %34370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34357, ptr noundef @.str.2, i32 noundef %34358, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1508, ptr noundef %34361, ptr noundef %34364, ptr noundef %34367, i32 noundef %34369) #11
  br label %34388

34371:                                            ; preds = %34349, %34342
  %34372 = load i32, ptr %834, align 4, !tbaa !5
  %34373 = call ptr @__errno_location() #12
  store i32 %34372, ptr %34373, align 4, !tbaa !5
  %34374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34375 = load i32, ptr @test_count, align 4, !tbaa !5
  %34376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34377 = load i32, ptr %34376, align 4, !tbaa !5
  %34378 = call ptr @s2n_strerror(i32 noundef %34377, ptr noundef @.str.4)
  %34379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34380 = load i32, ptr %34379, align 4, !tbaa !5
  %34381 = call ptr @s2n_strerror_debug(i32 noundef %34380, ptr noundef @.str.4)
  %34382 = call ptr @__errno_location() #12
  %34383 = load i32, ptr %34382, align 4, !tbaa !5
  %34384 = call ptr @strerror(i32 noundef %34383) #11
  %34385 = call ptr @__errno_location() #12
  %34386 = load i32, ptr %34385, align 4, !tbaa !5
  %34387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34374, ptr noundef @.str.5, i32 noundef %34375, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1508, ptr noundef %34378, ptr noundef %34381, ptr noundef %34384, i32 noundef %34386) #11
  br label %34388

34388:                                            ; preds = %34371, %34354
  call void @llvm.lifetime.end.p0(i64 4, ptr %834) #11
  br label %34389

34389:                                            ; preds = %34388
  br label %34390

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

34391:                                            ; No predecessors!
  br label %34392

34392:                                            ; preds = %34391
  br label %34393

34393:                                            ; preds = %34392, %34334
  br label %34394

34394:                                            ; preds = %34393
  br label %34395

34395:                                            ; preds = %34394
  br label %34396

34396:                                            ; preds = %34395
  %34397 = load i32, ptr @test_count, align 4, !tbaa !5
  %34398 = add nsw i32 %34397, 1
  store i32 %34398, ptr @test_count, align 4, !tbaa !5
  %34399 = call i32 @s2n_io_pair_close(ptr noundef %793)
  %34400 = icmp eq i32 %34399, -1
  br i1 %34400, label %34401, label %34454

34401:                                            ; preds = %34396
  br label %34402

34402:                                            ; preds = %34401
  br label %34403

34403:                                            ; preds = %34402
  call void @llvm.lifetime.start.p0(i64 4, ptr %835) #11
  %34404 = call ptr @__errno_location() #12
  %34405 = load i32, ptr %34404, align 4, !tbaa !5
  store i32 %34405, ptr %835, align 4, !tbaa !5
  %34406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34407 = call i32 @s2n_print_stacktrace(ptr noundef %34406)
  %34408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34409 = trunc i8 %34408 to i1
  br i1 %34409, label %34410, label %34432

34410:                                            ; preds = %34403
  %34411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34412 = call i32 @fileno(ptr noundef %34411) #11
  %34413 = call i32 @isatty(i32 noundef %34412) #11
  %34414 = icmp ne i32 %34413, 0
  br i1 %34414, label %34415, label %34432

34415:                                            ; preds = %34410
  %34416 = load i32, ptr %835, align 4, !tbaa !5
  %34417 = call ptr @__errno_location() #12
  store i32 %34416, ptr %34417, align 4, !tbaa !5
  %34418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34419 = load i32, ptr @test_count, align 4, !tbaa !5
  %34420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34421 = load i32, ptr %34420, align 4, !tbaa !5
  %34422 = call ptr @s2n_strerror(i32 noundef %34421, ptr noundef @.str.4)
  %34423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34424 = load i32, ptr %34423, align 4, !tbaa !5
  %34425 = call ptr @s2n_strerror_debug(i32 noundef %34424, ptr noundef @.str.4)
  %34426 = call ptr @__errno_location() #12
  %34427 = load i32, ptr %34426, align 4, !tbaa !5
  %34428 = call ptr @strerror(i32 noundef %34427) #11
  %34429 = call ptr @__errno_location() #12
  %34430 = load i32, ptr %34429, align 4, !tbaa !5
  %34431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34418, ptr noundef @.str.2, i32 noundef %34419, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 1509, ptr noundef %34422, ptr noundef %34425, ptr noundef %34428, i32 noundef %34430) #11
  br label %34449

34432:                                            ; preds = %34410, %34403
  %34433 = load i32, ptr %835, align 4, !tbaa !5
  %34434 = call ptr @__errno_location() #12
  store i32 %34433, ptr %34434, align 4, !tbaa !5
  %34435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34436 = load i32, ptr @test_count, align 4, !tbaa !5
  %34437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34438 = load i32, ptr %34437, align 4, !tbaa !5
  %34439 = call ptr @s2n_strerror(i32 noundef %34438, ptr noundef @.str.4)
  %34440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34441 = load i32, ptr %34440, align 4, !tbaa !5
  %34442 = call ptr @s2n_strerror_debug(i32 noundef %34441, ptr noundef @.str.4)
  %34443 = call ptr @__errno_location() #12
  %34444 = load i32, ptr %34443, align 4, !tbaa !5
  %34445 = call ptr @strerror(i32 noundef %34444) #11
  %34446 = call ptr @__errno_location() #12
  %34447 = load i32, ptr %34446, align 4, !tbaa !5
  %34448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34435, ptr noundef @.str.5, i32 noundef %34436, ptr noundef @.str.227, ptr noundef @.str.1, i32 noundef 1509, ptr noundef %34439, ptr noundef %34442, ptr noundef %34445, i32 noundef %34447) #11
  br label %34449

34449:                                            ; preds = %34432, %34415
  call void @llvm.lifetime.end.p0(i64 4, ptr %835) #11
  br label %34450

34450:                                            ; preds = %34449
  br label %34451

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

34452:                                            ; No predecessors!
  br label %34453

34453:                                            ; preds = %34452
  br label %34454

34454:                                            ; preds = %34453, %34396
  br label %34455

34455:                                            ; preds = %34454
  br label %34456

34456:                                            ; preds = %34455
  call void @llvm.lifetime.end.p0(i64 8, ptr %813) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %806) #11
  call void @llvm.lifetime.end.p0(i64 18, ptr %805) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %798) #11
  call void @llvm.lifetime.end.p0(i64 18, ptr %797) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %793) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %786) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %785) #11
  br label %34457

34457:                                            ; preds = %34456, %32275
  %34458 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %34458, label %34459, label %37136

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

34460:                                            ; preds = %34459
  %34461 = load i32, ptr @test_count, align 4, !tbaa !5
  %34462 = add nsw i32 %34461, 1
  store i32 %34462, ptr @test_count, align 4, !tbaa !5
  %34463 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %836, ptr noundef @.str.58, ptr noundef @.str.59)
  %34464 = icmp eq i32 %34463, -1
  br i1 %34464, label %34465, label %34518

34465:                                            ; preds = %34460
  br label %34466

34466:                                            ; preds = %34465
  br label %34467

34467:                                            ; preds = %34466
  call void @llvm.lifetime.start.p0(i64 4, ptr %837) #11
  %34468 = call ptr @__errno_location() #12
  %34469 = load i32, ptr %34468, align 4, !tbaa !5
  store i32 %34469, ptr %837, align 4, !tbaa !5
  %34470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34471 = call i32 @s2n_print_stacktrace(ptr noundef %34470)
  %34472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34473 = trunc i8 %34472 to i1
  br i1 %34473, label %34474, label %34496

34474:                                            ; preds = %34467
  %34475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34476 = call i32 @fileno(ptr noundef %34475) #11
  %34477 = call i32 @isatty(i32 noundef %34476) #11
  %34478 = icmp ne i32 %34477, 0
  br i1 %34478, label %34479, label %34496

34479:                                            ; preds = %34474
  %34480 = load i32, ptr %837, align 4, !tbaa !5
  %34481 = call ptr @__errno_location() #12
  store i32 %34480, ptr %34481, align 4, !tbaa !5
  %34482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34483 = load i32, ptr @test_count, align 4, !tbaa !5
  %34484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34485 = load i32, ptr %34484, align 4, !tbaa !5
  %34486 = call ptr @s2n_strerror(i32 noundef %34485, ptr noundef @.str.4)
  %34487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34488 = load i32, ptr %34487, align 4, !tbaa !5
  %34489 = call ptr @s2n_strerror_debug(i32 noundef %34488, ptr noundef @.str.4)
  %34490 = call ptr @__errno_location() #12
  %34491 = load i32, ptr %34490, align 4, !tbaa !5
  %34492 = call ptr @strerror(i32 noundef %34491) #11
  %34493 = call ptr @__errno_location() #12
  %34494 = load i32, ptr %34493, align 4, !tbaa !5
  %34495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34482, ptr noundef @.str.2, i32 noundef %34483, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 1527, ptr noundef %34486, ptr noundef %34489, ptr noundef %34492, i32 noundef %34494) #11
  br label %34513

34496:                                            ; preds = %34474, %34467
  %34497 = load i32, ptr %837, align 4, !tbaa !5
  %34498 = call ptr @__errno_location() #12
  store i32 %34497, ptr %34498, align 4, !tbaa !5
  %34499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34500 = load i32, ptr @test_count, align 4, !tbaa !5
  %34501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34502 = load i32, ptr %34501, align 4, !tbaa !5
  %34503 = call ptr @s2n_strerror(i32 noundef %34502, ptr noundef @.str.4)
  %34504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34505 = load i32, ptr %34504, align 4, !tbaa !5
  %34506 = call ptr @s2n_strerror_debug(i32 noundef %34505, ptr noundef @.str.4)
  %34507 = call ptr @__errno_location() #12
  %34508 = load i32, ptr %34507, align 4, !tbaa !5
  %34509 = call ptr @strerror(i32 noundef %34508) #11
  %34510 = call ptr @__errno_location() #12
  %34511 = load i32, ptr %34510, align 4, !tbaa !5
  %34512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34499, ptr noundef @.str.5, i32 noundef %34500, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 1527, ptr noundef %34503, ptr noundef %34506, ptr noundef %34509, i32 noundef %34511) #11
  br label %34513

34513:                                            ; preds = %34496, %34479
  call void @llvm.lifetime.end.p0(i64 4, ptr %837) #11
  br label %34514

34514:                                            ; preds = %34513
  br label %34515

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

34516:                                            ; No predecessors!
  br label %34517

34517:                                            ; preds = %34516
  br label %34518

34518:                                            ; preds = %34517, %34460
  br label %34519

34519:                                            ; preds = %34518
  br label %34520

34520:                                            ; preds = %34519
  call void @llvm.lifetime.start.p0(i64 8, ptr %838) #11
  %34521 = call ptr @s2n_config_new()
  store ptr %34521, ptr %838, align 8, !tbaa !9
  br label %34522

34522:                                            ; preds = %34520
  %34523 = load i32, ptr @test_count, align 4, !tbaa !5
  %34524 = add nsw i32 %34523, 1
  store i32 %34524, ptr @test_count, align 4, !tbaa !5
  %34525 = load ptr, ptr %838, align 8, !tbaa !9
  %34526 = load ptr, ptr %836, align 8, !tbaa !9
  %34527 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %34525, ptr noundef %34526)
  %34528 = icmp eq i32 %34527, -1
  br i1 %34528, label %34529, label %34582

34529:                                            ; preds = %34522
  br label %34530

34530:                                            ; preds = %34529
  br label %34531

34531:                                            ; preds = %34530
  call void @llvm.lifetime.start.p0(i64 4, ptr %839) #11
  %34532 = call ptr @__errno_location() #12
  %34533 = load i32, ptr %34532, align 4, !tbaa !5
  store i32 %34533, ptr %839, align 4, !tbaa !5
  %34534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34535 = call i32 @s2n_print_stacktrace(ptr noundef %34534)
  %34536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34537 = trunc i8 %34536 to i1
  br i1 %34537, label %34538, label %34560

34538:                                            ; preds = %34531
  %34539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34540 = call i32 @fileno(ptr noundef %34539) #11
  %34541 = call i32 @isatty(i32 noundef %34540) #11
  %34542 = icmp ne i32 %34541, 0
  br i1 %34542, label %34543, label %34560

34543:                                            ; preds = %34538
  %34544 = load i32, ptr %839, align 4, !tbaa !5
  %34545 = call ptr @__errno_location() #12
  store i32 %34544, ptr %34545, align 4, !tbaa !5
  %34546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34547 = load i32, ptr @test_count, align 4, !tbaa !5
  %34548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34549 = load i32, ptr %34548, align 4, !tbaa !5
  %34550 = call ptr @s2n_strerror(i32 noundef %34549, ptr noundef @.str.4)
  %34551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34552 = load i32, ptr %34551, align 4, !tbaa !5
  %34553 = call ptr @s2n_strerror_debug(i32 noundef %34552, ptr noundef @.str.4)
  %34554 = call ptr @__errno_location() #12
  %34555 = load i32, ptr %34554, align 4, !tbaa !5
  %34556 = call ptr @strerror(i32 noundef %34555) #11
  %34557 = call ptr @__errno_location() #12
  %34558 = load i32, ptr %34557, align 4, !tbaa !5
  %34559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34546, ptr noundef @.str.2, i32 noundef %34547, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 1531, ptr noundef %34550, ptr noundef %34553, ptr noundef %34556, i32 noundef %34558) #11
  br label %34577

34560:                                            ; preds = %34538, %34531
  %34561 = load i32, ptr %839, align 4, !tbaa !5
  %34562 = call ptr @__errno_location() #12
  store i32 %34561, ptr %34562, align 4, !tbaa !5
  %34563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34564 = load i32, ptr @test_count, align 4, !tbaa !5
  %34565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34566 = load i32, ptr %34565, align 4, !tbaa !5
  %34567 = call ptr @s2n_strerror(i32 noundef %34566, ptr noundef @.str.4)
  %34568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34569 = load i32, ptr %34568, align 4, !tbaa !5
  %34570 = call ptr @s2n_strerror_debug(i32 noundef %34569, ptr noundef @.str.4)
  %34571 = call ptr @__errno_location() #12
  %34572 = load i32, ptr %34571, align 4, !tbaa !5
  %34573 = call ptr @strerror(i32 noundef %34572) #11
  %34574 = call ptr @__errno_location() #12
  %34575 = load i32, ptr %34574, align 4, !tbaa !5
  %34576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34563, ptr noundef @.str.5, i32 noundef %34564, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 1531, ptr noundef %34567, ptr noundef %34570, ptr noundef %34573, i32 noundef %34575) #11
  br label %34577

34577:                                            ; preds = %34560, %34543
  call void @llvm.lifetime.end.p0(i64 4, ptr %839) #11
  br label %34578

34578:                                            ; preds = %34577
  br label %34579

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

34580:                                            ; No predecessors!
  br label %34581

34581:                                            ; preds = %34580
  br label %34582

34582:                                            ; preds = %34581, %34522
  br label %34583

34583:                                            ; preds = %34582
  br label %34584

34584:                                            ; preds = %34583
  br label %34585

34585:                                            ; preds = %34584
  %34586 = load i32, ptr @test_count, align 4, !tbaa !5
  %34587 = add nsw i32 %34586, 1
  store i32 %34587, ptr @test_count, align 4, !tbaa !5
  %34588 = load ptr, ptr %838, align 8, !tbaa !9
  %34589 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %34588, ptr noundef @.str.62)
  %34590 = icmp eq i32 %34589, -1
  br i1 %34590, label %34591, label %34644

34591:                                            ; preds = %34585
  br label %34592

34592:                                            ; preds = %34591
  br label %34593

34593:                                            ; preds = %34592
  call void @llvm.lifetime.start.p0(i64 4, ptr %840) #11
  %34594 = call ptr @__errno_location() #12
  %34595 = load i32, ptr %34594, align 4, !tbaa !5
  store i32 %34595, ptr %840, align 4, !tbaa !5
  %34596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34597 = call i32 @s2n_print_stacktrace(ptr noundef %34596)
  %34598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34599 = trunc i8 %34598 to i1
  br i1 %34599, label %34600, label %34622

34600:                                            ; preds = %34593
  %34601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34602 = call i32 @fileno(ptr noundef %34601) #11
  %34603 = call i32 @isatty(i32 noundef %34602) #11
  %34604 = icmp ne i32 %34603, 0
  br i1 %34604, label %34605, label %34622

34605:                                            ; preds = %34600
  %34606 = load i32, ptr %840, align 4, !tbaa !5
  %34607 = call ptr @__errno_location() #12
  store i32 %34606, ptr %34607, align 4, !tbaa !5
  %34608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34609 = load i32, ptr @test_count, align 4, !tbaa !5
  %34610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34611 = load i32, ptr %34610, align 4, !tbaa !5
  %34612 = call ptr @s2n_strerror(i32 noundef %34611, ptr noundef @.str.4)
  %34613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34614 = load i32, ptr %34613, align 4, !tbaa !5
  %34615 = call ptr @s2n_strerror_debug(i32 noundef %34614, ptr noundef @.str.4)
  %34616 = call ptr @__errno_location() #12
  %34617 = load i32, ptr %34616, align 4, !tbaa !5
  %34618 = call ptr @strerror(i32 noundef %34617) #11
  %34619 = call ptr @__errno_location() #12
  %34620 = load i32, ptr %34619, align 4, !tbaa !5
  %34621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34608, ptr noundef @.str.2, i32 noundef %34609, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 1532, ptr noundef %34612, ptr noundef %34615, ptr noundef %34618, i32 noundef %34620) #11
  br label %34639

34622:                                            ; preds = %34600, %34593
  %34623 = load i32, ptr %840, align 4, !tbaa !5
  %34624 = call ptr @__errno_location() #12
  store i32 %34623, ptr %34624, align 4, !tbaa !5
  %34625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34626 = load i32, ptr @test_count, align 4, !tbaa !5
  %34627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34628 = load i32, ptr %34627, align 4, !tbaa !5
  %34629 = call ptr @s2n_strerror(i32 noundef %34628, ptr noundef @.str.4)
  %34630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34631 = load i32, ptr %34630, align 4, !tbaa !5
  %34632 = call ptr @s2n_strerror_debug(i32 noundef %34631, ptr noundef @.str.4)
  %34633 = call ptr @__errno_location() #12
  %34634 = load i32, ptr %34633, align 4, !tbaa !5
  %34635 = call ptr @strerror(i32 noundef %34634) #11
  %34636 = call ptr @__errno_location() #12
  %34637 = load i32, ptr %34636, align 4, !tbaa !5
  %34638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34625, ptr noundef @.str.5, i32 noundef %34626, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 1532, ptr noundef %34629, ptr noundef %34632, ptr noundef %34635, i32 noundef %34637) #11
  br label %34639

34639:                                            ; preds = %34622, %34605
  call void @llvm.lifetime.end.p0(i64 4, ptr %840) #11
  br label %34640

34640:                                            ; preds = %34639
  br label %34641

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

34642:                                            ; No predecessors!
  br label %34643

34643:                                            ; preds = %34642
  br label %34644

34644:                                            ; preds = %34643, %34585
  br label %34645

34645:                                            ; preds = %34644
  br label %34646

34646:                                            ; preds = %34645
  br label %34647

34647:                                            ; preds = %34646
  %34648 = load i32, ptr @test_count, align 4, !tbaa !5
  %34649 = add nsw i32 %34648, 1
  store i32 %34649, ptr @test_count, align 4, !tbaa !5
  %34650 = load ptr, ptr %838, align 8, !tbaa !9
  %34651 = call i32 @s2n_config_disable_x509_verification(ptr noundef %34650)
  %34652 = icmp eq i32 %34651, -1
  br i1 %34652, label %34653, label %34706

34653:                                            ; preds = %34647
  br label %34654

34654:                                            ; preds = %34653
  br label %34655

34655:                                            ; preds = %34654
  call void @llvm.lifetime.start.p0(i64 4, ptr %841) #11
  %34656 = call ptr @__errno_location() #12
  %34657 = load i32, ptr %34656, align 4, !tbaa !5
  store i32 %34657, ptr %841, align 4, !tbaa !5
  %34658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34659 = call i32 @s2n_print_stacktrace(ptr noundef %34658)
  %34660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34661 = trunc i8 %34660 to i1
  br i1 %34661, label %34662, label %34684

34662:                                            ; preds = %34655
  %34663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34664 = call i32 @fileno(ptr noundef %34663) #11
  %34665 = call i32 @isatty(i32 noundef %34664) #11
  %34666 = icmp ne i32 %34665, 0
  br i1 %34666, label %34667, label %34684

34667:                                            ; preds = %34662
  %34668 = load i32, ptr %841, align 4, !tbaa !5
  %34669 = call ptr @__errno_location() #12
  store i32 %34668, ptr %34669, align 4, !tbaa !5
  %34670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34671 = load i32, ptr @test_count, align 4, !tbaa !5
  %34672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34673 = load i32, ptr %34672, align 4, !tbaa !5
  %34674 = call ptr @s2n_strerror(i32 noundef %34673, ptr noundef @.str.4)
  %34675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34676 = load i32, ptr %34675, align 4, !tbaa !5
  %34677 = call ptr @s2n_strerror_debug(i32 noundef %34676, ptr noundef @.str.4)
  %34678 = call ptr @__errno_location() #12
  %34679 = load i32, ptr %34678, align 4, !tbaa !5
  %34680 = call ptr @strerror(i32 noundef %34679) #11
  %34681 = call ptr @__errno_location() #12
  %34682 = load i32, ptr %34681, align 4, !tbaa !5
  %34683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34670, ptr noundef @.str.2, i32 noundef %34671, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 1533, ptr noundef %34674, ptr noundef %34677, ptr noundef %34680, i32 noundef %34682) #11
  br label %34701

34684:                                            ; preds = %34662, %34655
  %34685 = load i32, ptr %841, align 4, !tbaa !5
  %34686 = call ptr @__errno_location() #12
  store i32 %34685, ptr %34686, align 4, !tbaa !5
  %34687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34688 = load i32, ptr @test_count, align 4, !tbaa !5
  %34689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34690 = load i32, ptr %34689, align 4, !tbaa !5
  %34691 = call ptr @s2n_strerror(i32 noundef %34690, ptr noundef @.str.4)
  %34692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34693 = load i32, ptr %34692, align 4, !tbaa !5
  %34694 = call ptr @s2n_strerror_debug(i32 noundef %34693, ptr noundef @.str.4)
  %34695 = call ptr @__errno_location() #12
  %34696 = load i32, ptr %34695, align 4, !tbaa !5
  %34697 = call ptr @strerror(i32 noundef %34696) #11
  %34698 = call ptr @__errno_location() #12
  %34699 = load i32, ptr %34698, align 4, !tbaa !5
  %34700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34687, ptr noundef @.str.5, i32 noundef %34688, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 1533, ptr noundef %34691, ptr noundef %34694, ptr noundef %34697, i32 noundef %34699) #11
  br label %34701

34701:                                            ; preds = %34684, %34667
  call void @llvm.lifetime.end.p0(i64 4, ptr %841) #11
  br label %34702

34702:                                            ; preds = %34701
  br label %34703

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

34704:                                            ; No predecessors!
  br label %34705

34705:                                            ; preds = %34704
  br label %34706

34706:                                            ; preds = %34705, %34647
  br label %34707

34707:                                            ; preds = %34706
  br label %34708

34708:                                            ; preds = %34707
  br label %34709

34709:                                            ; preds = %34708
  %34710 = load i32, ptr @test_count, align 4, !tbaa !5
  %34711 = add nsw i32 %34710, 1
  store i32 %34711, ptr @test_count, align 4, !tbaa !5
  %34712 = load ptr, ptr %838, align 8, !tbaa !9
  %34713 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %34712)
  %34714 = getelementptr inbounds %struct.s2n_result, ptr %842, i32 0, i32 0
  store i32 %34713, ptr %34714, align 4
  %34715 = getelementptr inbounds %struct.s2n_result, ptr %842, i32 0, i32 0
  %34716 = load i32, ptr %34715, align 4
  %34717 = call zeroext i1 @s2n_result_is_ok(i32 %34716)
  br i1 %34717, label %34771, label %34718

34718:                                            ; preds = %34709
  br label %34719

34719:                                            ; preds = %34718
  br label %34720

34720:                                            ; preds = %34719
  call void @llvm.lifetime.start.p0(i64 4, ptr %843) #11
  %34721 = call ptr @__errno_location() #12
  %34722 = load i32, ptr %34721, align 4, !tbaa !5
  store i32 %34722, ptr %843, align 4, !tbaa !5
  %34723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34724 = call i32 @s2n_print_stacktrace(ptr noundef %34723)
  %34725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34726 = trunc i8 %34725 to i1
  br i1 %34726, label %34727, label %34749

34727:                                            ; preds = %34720
  %34728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34729 = call i32 @fileno(ptr noundef %34728) #11
  %34730 = call i32 @isatty(i32 noundef %34729) #11
  %34731 = icmp ne i32 %34730, 0
  br i1 %34731, label %34732, label %34749

34732:                                            ; preds = %34727
  %34733 = load i32, ptr %843, align 4, !tbaa !5
  %34734 = call ptr @__errno_location() #12
  store i32 %34733, ptr %34734, align 4, !tbaa !5
  %34735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34736 = load i32, ptr @test_count, align 4, !tbaa !5
  %34737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34738 = load i32, ptr %34737, align 4, !tbaa !5
  %34739 = call ptr @s2n_strerror(i32 noundef %34738, ptr noundef @.str.4)
  %34740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34741 = load i32, ptr %34740, align 4, !tbaa !5
  %34742 = call ptr @s2n_strerror_debug(i32 noundef %34741, ptr noundef @.str.4)
  %34743 = call ptr @__errno_location() #12
  %34744 = load i32, ptr %34743, align 4, !tbaa !5
  %34745 = call ptr @strerror(i32 noundef %34744) #11
  %34746 = call ptr @__errno_location() #12
  %34747 = load i32, ptr %34746, align 4, !tbaa !5
  %34748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34735, ptr noundef @.str.2, i32 noundef %34736, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 1534, ptr noundef %34739, ptr noundef %34742, ptr noundef %34745, i32 noundef %34747) #11
  br label %34766

34749:                                            ; preds = %34727, %34720
  %34750 = load i32, ptr %843, align 4, !tbaa !5
  %34751 = call ptr @__errno_location() #12
  store i32 %34750, ptr %34751, align 4, !tbaa !5
  %34752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34753 = load i32, ptr @test_count, align 4, !tbaa !5
  %34754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34755 = load i32, ptr %34754, align 4, !tbaa !5
  %34756 = call ptr @s2n_strerror(i32 noundef %34755, ptr noundef @.str.4)
  %34757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34758 = load i32, ptr %34757, align 4, !tbaa !5
  %34759 = call ptr @s2n_strerror_debug(i32 noundef %34758, ptr noundef @.str.4)
  %34760 = call ptr @__errno_location() #12
  %34761 = load i32, ptr %34760, align 4, !tbaa !5
  %34762 = call ptr @strerror(i32 noundef %34761) #11
  %34763 = call ptr @__errno_location() #12
  %34764 = load i32, ptr %34763, align 4, !tbaa !5
  %34765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34752, ptr noundef @.str.5, i32 noundef %34753, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 1534, ptr noundef %34756, ptr noundef %34759, ptr noundef %34762, i32 noundef %34764) #11
  br label %34766

34766:                                            ; preds = %34749, %34732
  call void @llvm.lifetime.end.p0(i64 4, ptr %843) #11
  br label %34767

34767:                                            ; preds = %34766
  br label %34768

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

34769:                                            ; No predecessors!
  br label %34770

34770:                                            ; preds = %34769
  br label %34771

34771:                                            ; preds = %34770, %34709
  br label %34772

34772:                                            ; preds = %34771
  br label %34773

34773:                                            ; preds = %34772
  call void @llvm.lifetime.start.p0(i64 8, ptr %844) #11
  %34774 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %34774, ptr %844, align 8, !tbaa !9
  br label %34775

34775:                                            ; preds = %34773
  %34776 = load i32, ptr @test_count, align 4, !tbaa !5
  %34777 = add nsw i32 %34776, 1
  store i32 %34777, ptr @test_count, align 4, !tbaa !5
  %34778 = load ptr, ptr %844, align 8, !tbaa !9
  %34779 = icmp eq ptr %34778, null
  br i1 %34779, label %34780, label %34833

34780:                                            ; preds = %34775
  br label %34781

34781:                                            ; preds = %34780
  br label %34782

34782:                                            ; preds = %34781
  call void @llvm.lifetime.start.p0(i64 4, ptr %845) #11
  %34783 = call ptr @__errno_location() #12
  %34784 = load i32, ptr %34783, align 4, !tbaa !5
  store i32 %34784, ptr %845, align 4, !tbaa !5
  %34785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34786 = call i32 @s2n_print_stacktrace(ptr noundef %34785)
  %34787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34788 = trunc i8 %34787 to i1
  br i1 %34788, label %34789, label %34811

34789:                                            ; preds = %34782
  %34790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34791 = call i32 @fileno(ptr noundef %34790) #11
  %34792 = call i32 @isatty(i32 noundef %34791) #11
  %34793 = icmp ne i32 %34792, 0
  br i1 %34793, label %34794, label %34811

34794:                                            ; preds = %34789
  %34795 = load i32, ptr %845, align 4, !tbaa !5
  %34796 = call ptr @__errno_location() #12
  store i32 %34795, ptr %34796, align 4, !tbaa !5
  %34797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34798 = load i32, ptr @test_count, align 4, !tbaa !5
  %34799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34800 = load i32, ptr %34799, align 4, !tbaa !5
  %34801 = call ptr @s2n_strerror(i32 noundef %34800, ptr noundef @.str.4)
  %34802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34803 = load i32, ptr %34802, align 4, !tbaa !5
  %34804 = call ptr @s2n_strerror_debug(i32 noundef %34803, ptr noundef @.str.4)
  %34805 = call ptr @__errno_location() #12
  %34806 = load i32, ptr %34805, align 4, !tbaa !5
  %34807 = call ptr @strerror(i32 noundef %34806) #11
  %34808 = call ptr @__errno_location() #12
  %34809 = load i32, ptr %34808, align 4, !tbaa !5
  %34810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34797, ptr noundef @.str.2, i32 noundef %34798, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 1538, ptr noundef %34801, ptr noundef %34804, ptr noundef %34807, i32 noundef %34809) #11
  br label %34828

34811:                                            ; preds = %34789, %34782
  %34812 = load i32, ptr %845, align 4, !tbaa !5
  %34813 = call ptr @__errno_location() #12
  store i32 %34812, ptr %34813, align 4, !tbaa !5
  %34814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34815 = load i32, ptr @test_count, align 4, !tbaa !5
  %34816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34817 = load i32, ptr %34816, align 4, !tbaa !5
  %34818 = call ptr @s2n_strerror(i32 noundef %34817, ptr noundef @.str.4)
  %34819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34820 = load i32, ptr %34819, align 4, !tbaa !5
  %34821 = call ptr @s2n_strerror_debug(i32 noundef %34820, ptr noundef @.str.4)
  %34822 = call ptr @__errno_location() #12
  %34823 = load i32, ptr %34822, align 4, !tbaa !5
  %34824 = call ptr @strerror(i32 noundef %34823) #11
  %34825 = call ptr @__errno_location() #12
  %34826 = load i32, ptr %34825, align 4, !tbaa !5
  %34827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34814, ptr noundef @.str.5, i32 noundef %34815, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 1538, ptr noundef %34818, ptr noundef %34821, ptr noundef %34824, i32 noundef %34826) #11
  br label %34828

34828:                                            ; preds = %34811, %34794
  call void @llvm.lifetime.end.p0(i64 4, ptr %845) #11
  br label %34829

34829:                                            ; preds = %34828
  br label %34830

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

34831:                                            ; No predecessors!
  br label %34832

34832:                                            ; preds = %34831
  br label %34833

34833:                                            ; preds = %34832, %34775
  br label %34834

34834:                                            ; preds = %34833
  br label %34835

34835:                                            ; preds = %34834
  br label %34836

34836:                                            ; preds = %34835
  %34837 = load i32, ptr @test_count, align 4, !tbaa !5
  %34838 = add nsw i32 %34837, 1
  store i32 %34838, ptr @test_count, align 4, !tbaa !5
  %34839 = load ptr, ptr %844, align 8, !tbaa !9
  %34840 = load ptr, ptr %838, align 8, !tbaa !9
  %34841 = call i32 @s2n_connection_set_config(ptr noundef %34839, ptr noundef %34840)
  %34842 = icmp eq i32 %34841, -1
  br i1 %34842, label %34843, label %34896

34843:                                            ; preds = %34836
  br label %34844

34844:                                            ; preds = %34843
  br label %34845

34845:                                            ; preds = %34844
  call void @llvm.lifetime.start.p0(i64 4, ptr %846) #11
  %34846 = call ptr @__errno_location() #12
  %34847 = load i32, ptr %34846, align 4, !tbaa !5
  store i32 %34847, ptr %846, align 4, !tbaa !5
  %34848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34849 = call i32 @s2n_print_stacktrace(ptr noundef %34848)
  %34850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34851 = trunc i8 %34850 to i1
  br i1 %34851, label %34852, label %34874

34852:                                            ; preds = %34845
  %34853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34854 = call i32 @fileno(ptr noundef %34853) #11
  %34855 = call i32 @isatty(i32 noundef %34854) #11
  %34856 = icmp ne i32 %34855, 0
  br i1 %34856, label %34857, label %34874

34857:                                            ; preds = %34852
  %34858 = load i32, ptr %846, align 4, !tbaa !5
  %34859 = call ptr @__errno_location() #12
  store i32 %34858, ptr %34859, align 4, !tbaa !5
  %34860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34861 = load i32, ptr @test_count, align 4, !tbaa !5
  %34862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34863 = load i32, ptr %34862, align 4, !tbaa !5
  %34864 = call ptr @s2n_strerror(i32 noundef %34863, ptr noundef @.str.4)
  %34865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34866 = load i32, ptr %34865, align 4, !tbaa !5
  %34867 = call ptr @s2n_strerror_debug(i32 noundef %34866, ptr noundef @.str.4)
  %34868 = call ptr @__errno_location() #12
  %34869 = load i32, ptr %34868, align 4, !tbaa !5
  %34870 = call ptr @strerror(i32 noundef %34869) #11
  %34871 = call ptr @__errno_location() #12
  %34872 = load i32, ptr %34871, align 4, !tbaa !5
  %34873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34860, ptr noundef @.str.2, i32 noundef %34861, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 1539, ptr noundef %34864, ptr noundef %34867, ptr noundef %34870, i32 noundef %34872) #11
  br label %34891

34874:                                            ; preds = %34852, %34845
  %34875 = load i32, ptr %846, align 4, !tbaa !5
  %34876 = call ptr @__errno_location() #12
  store i32 %34875, ptr %34876, align 4, !tbaa !5
  %34877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34878 = load i32, ptr @test_count, align 4, !tbaa !5
  %34879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34880 = load i32, ptr %34879, align 4, !tbaa !5
  %34881 = call ptr @s2n_strerror(i32 noundef %34880, ptr noundef @.str.4)
  %34882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34883 = load i32, ptr %34882, align 4, !tbaa !5
  %34884 = call ptr @s2n_strerror_debug(i32 noundef %34883, ptr noundef @.str.4)
  %34885 = call ptr @__errno_location() #12
  %34886 = load i32, ptr %34885, align 4, !tbaa !5
  %34887 = call ptr @strerror(i32 noundef %34886) #11
  %34888 = call ptr @__errno_location() #12
  %34889 = load i32, ptr %34888, align 4, !tbaa !5
  %34890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34877, ptr noundef @.str.5, i32 noundef %34878, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 1539, ptr noundef %34881, ptr noundef %34884, ptr noundef %34887, i32 noundef %34889) #11
  br label %34891

34891:                                            ; preds = %34874, %34857
  call void @llvm.lifetime.end.p0(i64 4, ptr %846) #11
  br label %34892

34892:                                            ; preds = %34891
  br label %34893

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

34894:                                            ; No predecessors!
  br label %34895

34895:                                            ; preds = %34894
  br label %34896

34896:                                            ; preds = %34895, %34836
  br label %34897

34897:                                            ; preds = %34896
  br label %34898

34898:                                            ; preds = %34897
  call void @llvm.lifetime.start.p0(i64 8, ptr %847) #11
  %34899 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %34899, ptr %847, align 8, !tbaa !9
  br label %34900

34900:                                            ; preds = %34898
  %34901 = load i32, ptr @test_count, align 4, !tbaa !5
  %34902 = add nsw i32 %34901, 1
  store i32 %34902, ptr @test_count, align 4, !tbaa !5
  %34903 = load ptr, ptr %847, align 8, !tbaa !9
  %34904 = icmp eq ptr %34903, null
  br i1 %34904, label %34905, label %34958

34905:                                            ; preds = %34900
  br label %34906

34906:                                            ; preds = %34905
  br label %34907

34907:                                            ; preds = %34906
  call void @llvm.lifetime.start.p0(i64 4, ptr %848) #11
  %34908 = call ptr @__errno_location() #12
  %34909 = load i32, ptr %34908, align 4, !tbaa !5
  store i32 %34909, ptr %848, align 4, !tbaa !5
  %34910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34911 = call i32 @s2n_print_stacktrace(ptr noundef %34910)
  %34912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34913 = trunc i8 %34912 to i1
  br i1 %34913, label %34914, label %34936

34914:                                            ; preds = %34907
  %34915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34916 = call i32 @fileno(ptr noundef %34915) #11
  %34917 = call i32 @isatty(i32 noundef %34916) #11
  %34918 = icmp ne i32 %34917, 0
  br i1 %34918, label %34919, label %34936

34919:                                            ; preds = %34914
  %34920 = load i32, ptr %848, align 4, !tbaa !5
  %34921 = call ptr @__errno_location() #12
  store i32 %34920, ptr %34921, align 4, !tbaa !5
  %34922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34923 = load i32, ptr @test_count, align 4, !tbaa !5
  %34924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34925 = load i32, ptr %34924, align 4, !tbaa !5
  %34926 = call ptr @s2n_strerror(i32 noundef %34925, ptr noundef @.str.4)
  %34927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34928 = load i32, ptr %34927, align 4, !tbaa !5
  %34929 = call ptr @s2n_strerror_debug(i32 noundef %34928, ptr noundef @.str.4)
  %34930 = call ptr @__errno_location() #12
  %34931 = load i32, ptr %34930, align 4, !tbaa !5
  %34932 = call ptr @strerror(i32 noundef %34931) #11
  %34933 = call ptr @__errno_location() #12
  %34934 = load i32, ptr %34933, align 4, !tbaa !5
  %34935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34922, ptr noundef @.str.2, i32 noundef %34923, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1543, ptr noundef %34926, ptr noundef %34929, ptr noundef %34932, i32 noundef %34934) #11
  br label %34953

34936:                                            ; preds = %34914, %34907
  %34937 = load i32, ptr %848, align 4, !tbaa !5
  %34938 = call ptr @__errno_location() #12
  store i32 %34937, ptr %34938, align 4, !tbaa !5
  %34939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34940 = load i32, ptr @test_count, align 4, !tbaa !5
  %34941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34942 = load i32, ptr %34941, align 4, !tbaa !5
  %34943 = call ptr @s2n_strerror(i32 noundef %34942, ptr noundef @.str.4)
  %34944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34945 = load i32, ptr %34944, align 4, !tbaa !5
  %34946 = call ptr @s2n_strerror_debug(i32 noundef %34945, ptr noundef @.str.4)
  %34947 = call ptr @__errno_location() #12
  %34948 = load i32, ptr %34947, align 4, !tbaa !5
  %34949 = call ptr @strerror(i32 noundef %34948) #11
  %34950 = call ptr @__errno_location() #12
  %34951 = load i32, ptr %34950, align 4, !tbaa !5
  %34952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34939, ptr noundef @.str.5, i32 noundef %34940, ptr noundef @.str.228, ptr noundef @.str.1, i32 noundef 1543, ptr noundef %34943, ptr noundef %34946, ptr noundef %34949, i32 noundef %34951) #11
  br label %34953

34953:                                            ; preds = %34936, %34919
  call void @llvm.lifetime.end.p0(i64 4, ptr %848) #11
  br label %34954

34954:                                            ; preds = %34953
  br label %34955

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

34956:                                            ; No predecessors!
  br label %34957

34957:                                            ; preds = %34956
  br label %34958

34958:                                            ; preds = %34957, %34900
  br label %34959

34959:                                            ; preds = %34958
  br label %34960

34960:                                            ; preds = %34959
  br label %34961

34961:                                            ; preds = %34960
  %34962 = load i32, ptr @test_count, align 4, !tbaa !5
  %34963 = add nsw i32 %34962, 1
  store i32 %34963, ptr @test_count, align 4, !tbaa !5
  %34964 = load ptr, ptr %847, align 8, !tbaa !9
  %34965 = load ptr, ptr %838, align 8, !tbaa !9
  %34966 = call i32 @s2n_connection_set_config(ptr noundef %34964, ptr noundef %34965)
  %34967 = icmp eq i32 %34966, -1
  br i1 %34967, label %34968, label %35021

34968:                                            ; preds = %34961
  br label %34969

34969:                                            ; preds = %34968
  br label %34970

34970:                                            ; preds = %34969
  call void @llvm.lifetime.start.p0(i64 4, ptr %849) #11
  %34971 = call ptr @__errno_location() #12
  %34972 = load i32, ptr %34971, align 4, !tbaa !5
  store i32 %34972, ptr %849, align 4, !tbaa !5
  %34973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34974 = call i32 @s2n_print_stacktrace(ptr noundef %34973)
  %34975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %34976 = trunc i8 %34975 to i1
  br i1 %34976, label %34977, label %34999

34977:                                            ; preds = %34970
  %34978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34979 = call i32 @fileno(ptr noundef %34978) #11
  %34980 = call i32 @isatty(i32 noundef %34979) #11
  %34981 = icmp ne i32 %34980, 0
  br i1 %34981, label %34982, label %34999

34982:                                            ; preds = %34977
  %34983 = load i32, ptr %849, align 4, !tbaa !5
  %34984 = call ptr @__errno_location() #12
  store i32 %34983, ptr %34984, align 4, !tbaa !5
  %34985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34986 = load i32, ptr @test_count, align 4, !tbaa !5
  %34987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34988 = load i32, ptr %34987, align 4, !tbaa !5
  %34989 = call ptr @s2n_strerror(i32 noundef %34988, ptr noundef @.str.4)
  %34990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %34991 = load i32, ptr %34990, align 4, !tbaa !5
  %34992 = call ptr @s2n_strerror_debug(i32 noundef %34991, ptr noundef @.str.4)
  %34993 = call ptr @__errno_location() #12
  %34994 = load i32, ptr %34993, align 4, !tbaa !5
  %34995 = call ptr @strerror(i32 noundef %34994) #11
  %34996 = call ptr @__errno_location() #12
  %34997 = load i32, ptr %34996, align 4, !tbaa !5
  %34998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %34985, ptr noundef @.str.2, i32 noundef %34986, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 1544, ptr noundef %34989, ptr noundef %34992, ptr noundef %34995, i32 noundef %34997) #11
  br label %35016

34999:                                            ; preds = %34977, %34970
  %35000 = load i32, ptr %849, align 4, !tbaa !5
  %35001 = call ptr @__errno_location() #12
  store i32 %35000, ptr %35001, align 4, !tbaa !5
  %35002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35003 = load i32, ptr @test_count, align 4, !tbaa !5
  %35004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35005 = load i32, ptr %35004, align 4, !tbaa !5
  %35006 = call ptr @s2n_strerror(i32 noundef %35005, ptr noundef @.str.4)
  %35007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35008 = load i32, ptr %35007, align 4, !tbaa !5
  %35009 = call ptr @s2n_strerror_debug(i32 noundef %35008, ptr noundef @.str.4)
  %35010 = call ptr @__errno_location() #12
  %35011 = load i32, ptr %35010, align 4, !tbaa !5
  %35012 = call ptr @strerror(i32 noundef %35011) #11
  %35013 = call ptr @__errno_location() #12
  %35014 = load i32, ptr %35013, align 4, !tbaa !5
  %35015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35002, ptr noundef @.str.5, i32 noundef %35003, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 1544, ptr noundef %35006, ptr noundef %35009, ptr noundef %35012, i32 noundef %35014) #11
  br label %35016

35016:                                            ; preds = %34999, %34982
  call void @llvm.lifetime.end.p0(i64 4, ptr %849) #11
  br label %35017

35017:                                            ; preds = %35016
  br label %35018

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

35019:                                            ; No predecessors!
  br label %35020

35020:                                            ; preds = %35019
  br label %35021

35021:                                            ; preds = %35020, %34961
  br label %35022

35022:                                            ; preds = %35021
  br label %35023

35023:                                            ; preds = %35022
  call void @llvm.lifetime.start.p0(i64 40, ptr %850) #11
  call void @llvm.memset.p0.i64(ptr align 8 %850, i8 0, i64 40, i1 false)
  br label %35024

35024:                                            ; preds = %35023
  %35025 = load i32, ptr @test_count, align 4, !tbaa !5
  %35026 = add nsw i32 %35025, 1
  store i32 %35026, ptr @test_count, align 4, !tbaa !5
  %35027 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %850, i32 noundef 0)
  %35028 = icmp eq i32 %35027, -1
  br i1 %35028, label %35029, label %35082

35029:                                            ; preds = %35024
  br label %35030

35030:                                            ; preds = %35029
  br label %35031

35031:                                            ; preds = %35030
  call void @llvm.lifetime.start.p0(i64 4, ptr %851) #11
  %35032 = call ptr @__errno_location() #12
  %35033 = load i32, ptr %35032, align 4, !tbaa !5
  store i32 %35033, ptr %851, align 4, !tbaa !5
  %35034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35035 = call i32 @s2n_print_stacktrace(ptr noundef %35034)
  %35036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35037 = trunc i8 %35036 to i1
  br i1 %35037, label %35038, label %35060

35038:                                            ; preds = %35031
  %35039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35040 = call i32 @fileno(ptr noundef %35039) #11
  %35041 = call i32 @isatty(i32 noundef %35040) #11
  %35042 = icmp ne i32 %35041, 0
  br i1 %35042, label %35043, label %35060

35043:                                            ; preds = %35038
  %35044 = load i32, ptr %851, align 4, !tbaa !5
  %35045 = call ptr @__errno_location() #12
  store i32 %35044, ptr %35045, align 4, !tbaa !5
  %35046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35047 = load i32, ptr @test_count, align 4, !tbaa !5
  %35048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35049 = load i32, ptr %35048, align 4, !tbaa !5
  %35050 = call ptr @s2n_strerror(i32 noundef %35049, ptr noundef @.str.4)
  %35051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35052 = load i32, ptr %35051, align 4, !tbaa !5
  %35053 = call ptr @s2n_strerror_debug(i32 noundef %35052, ptr noundef @.str.4)
  %35054 = call ptr @__errno_location() #12
  %35055 = load i32, ptr %35054, align 4, !tbaa !5
  %35056 = call ptr @strerror(i32 noundef %35055) #11
  %35057 = call ptr @__errno_location() #12
  %35058 = load i32, ptr %35057, align 4, !tbaa !5
  %35059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35046, ptr noundef @.str.2, i32 noundef %35047, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 1547, ptr noundef %35050, ptr noundef %35053, ptr noundef %35056, i32 noundef %35058) #11
  br label %35077

35060:                                            ; preds = %35038, %35031
  %35061 = load i32, ptr %851, align 4, !tbaa !5
  %35062 = call ptr @__errno_location() #12
  store i32 %35061, ptr %35062, align 4, !tbaa !5
  %35063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35064 = load i32, ptr @test_count, align 4, !tbaa !5
  %35065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35066 = load i32, ptr %35065, align 4, !tbaa !5
  %35067 = call ptr @s2n_strerror(i32 noundef %35066, ptr noundef @.str.4)
  %35068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35069 = load i32, ptr %35068, align 4, !tbaa !5
  %35070 = call ptr @s2n_strerror_debug(i32 noundef %35069, ptr noundef @.str.4)
  %35071 = call ptr @__errno_location() #12
  %35072 = load i32, ptr %35071, align 4, !tbaa !5
  %35073 = call ptr @strerror(i32 noundef %35072) #11
  %35074 = call ptr @__errno_location() #12
  %35075 = load i32, ptr %35074, align 4, !tbaa !5
  %35076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35063, ptr noundef @.str.5, i32 noundef %35064, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 1547, ptr noundef %35067, ptr noundef %35070, ptr noundef %35073, i32 noundef %35075) #11
  br label %35077

35077:                                            ; preds = %35060, %35043
  call void @llvm.lifetime.end.p0(i64 4, ptr %851) #11
  br label %35078

35078:                                            ; preds = %35077
  br label %35079

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

35080:                                            ; No predecessors!
  br label %35081

35081:                                            ; preds = %35080
  br label %35082

35082:                                            ; preds = %35081, %35024
  br label %35083

35083:                                            ; preds = %35082
  br label %35084

35084:                                            ; preds = %35083
  br label %35085

35085:                                            ; preds = %35084
  %35086 = load i32, ptr @test_count, align 4, !tbaa !5
  %35087 = add nsw i32 %35086, 1
  store i32 %35087, ptr @test_count, align 4, !tbaa !5
  %35088 = load ptr, ptr %847, align 8, !tbaa !9
  %35089 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %850, ptr noundef %850, ptr noundef %35088)
  %35090 = icmp eq i32 %35089, -1
  br i1 %35090, label %35091, label %35144

35091:                                            ; preds = %35085
  br label %35092

35092:                                            ; preds = %35091
  br label %35093

35093:                                            ; preds = %35092
  call void @llvm.lifetime.start.p0(i64 4, ptr %852) #11
  %35094 = call ptr @__errno_location() #12
  %35095 = load i32, ptr %35094, align 4, !tbaa !5
  store i32 %35095, ptr %852, align 4, !tbaa !5
  %35096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35097 = call i32 @s2n_print_stacktrace(ptr noundef %35096)
  %35098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35099 = trunc i8 %35098 to i1
  br i1 %35099, label %35100, label %35122

35100:                                            ; preds = %35093
  %35101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35102 = call i32 @fileno(ptr noundef %35101) #11
  %35103 = call i32 @isatty(i32 noundef %35102) #11
  %35104 = icmp ne i32 %35103, 0
  br i1 %35104, label %35105, label %35122

35105:                                            ; preds = %35100
  %35106 = load i32, ptr %852, align 4, !tbaa !5
  %35107 = call ptr @__errno_location() #12
  store i32 %35106, ptr %35107, align 4, !tbaa !5
  %35108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35109 = load i32, ptr @test_count, align 4, !tbaa !5
  %35110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35111 = load i32, ptr %35110, align 4, !tbaa !5
  %35112 = call ptr @s2n_strerror(i32 noundef %35111, ptr noundef @.str.4)
  %35113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35114 = load i32, ptr %35113, align 4, !tbaa !5
  %35115 = call ptr @s2n_strerror_debug(i32 noundef %35114, ptr noundef @.str.4)
  %35116 = call ptr @__errno_location() #12
  %35117 = load i32, ptr %35116, align 4, !tbaa !5
  %35118 = call ptr @strerror(i32 noundef %35117) #11
  %35119 = call ptr @__errno_location() #12
  %35120 = load i32, ptr %35119, align 4, !tbaa !5
  %35121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35108, ptr noundef @.str.2, i32 noundef %35109, ptr noundef @.str.230, ptr noundef @.str.1, i32 noundef 1548, ptr noundef %35112, ptr noundef %35115, ptr noundef %35118, i32 noundef %35120) #11
  br label %35139

35122:                                            ; preds = %35100, %35093
  %35123 = load i32, ptr %852, align 4, !tbaa !5
  %35124 = call ptr @__errno_location() #12
  store i32 %35123, ptr %35124, align 4, !tbaa !5
  %35125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35126 = load i32, ptr @test_count, align 4, !tbaa !5
  %35127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35128 = load i32, ptr %35127, align 4, !tbaa !5
  %35129 = call ptr @s2n_strerror(i32 noundef %35128, ptr noundef @.str.4)
  %35130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35131 = load i32, ptr %35130, align 4, !tbaa !5
  %35132 = call ptr @s2n_strerror_debug(i32 noundef %35131, ptr noundef @.str.4)
  %35133 = call ptr @__errno_location() #12
  %35134 = load i32, ptr %35133, align 4, !tbaa !5
  %35135 = call ptr @strerror(i32 noundef %35134) #11
  %35136 = call ptr @__errno_location() #12
  %35137 = load i32, ptr %35136, align 4, !tbaa !5
  %35138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35125, ptr noundef @.str.5, i32 noundef %35126, ptr noundef @.str.230, ptr noundef @.str.1, i32 noundef 1548, ptr noundef %35129, ptr noundef %35132, ptr noundef %35135, i32 noundef %35137) #11
  br label %35139

35139:                                            ; preds = %35122, %35105
  call void @llvm.lifetime.end.p0(i64 4, ptr %852) #11
  br label %35140

35140:                                            ; preds = %35139
  br label %35141

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

35142:                                            ; No predecessors!
  br label %35143

35143:                                            ; preds = %35142
  br label %35144

35144:                                            ; preds = %35143, %35085
  br label %35145

35145:                                            ; preds = %35144
  br label %35146

35146:                                            ; preds = %35145
  br label %35147

35147:                                            ; preds = %35146
  %35148 = load i32, ptr @test_count, align 4, !tbaa !5
  %35149 = add nsw i32 %35148, 1
  store i32 %35149, ptr @test_count, align 4, !tbaa !5
  %35150 = load ptr, ptr %844, align 8, !tbaa !9
  %35151 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %850, ptr noundef %850, ptr noundef %35150)
  %35152 = icmp eq i32 %35151, -1
  br i1 %35152, label %35153, label %35206

35153:                                            ; preds = %35147
  br label %35154

35154:                                            ; preds = %35153
  br label %35155

35155:                                            ; preds = %35154
  call void @llvm.lifetime.start.p0(i64 4, ptr %853) #11
  %35156 = call ptr @__errno_location() #12
  %35157 = load i32, ptr %35156, align 4, !tbaa !5
  store i32 %35157, ptr %853, align 4, !tbaa !5
  %35158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35159 = call i32 @s2n_print_stacktrace(ptr noundef %35158)
  %35160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35161 = trunc i8 %35160 to i1
  br i1 %35161, label %35162, label %35184

35162:                                            ; preds = %35155
  %35163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35164 = call i32 @fileno(ptr noundef %35163) #11
  %35165 = call i32 @isatty(i32 noundef %35164) #11
  %35166 = icmp ne i32 %35165, 0
  br i1 %35166, label %35167, label %35184

35167:                                            ; preds = %35162
  %35168 = load i32, ptr %853, align 4, !tbaa !5
  %35169 = call ptr @__errno_location() #12
  store i32 %35168, ptr %35169, align 4, !tbaa !5
  %35170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35171 = load i32, ptr @test_count, align 4, !tbaa !5
  %35172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35173 = load i32, ptr %35172, align 4, !tbaa !5
  %35174 = call ptr @s2n_strerror(i32 noundef %35173, ptr noundef @.str.4)
  %35175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35176 = load i32, ptr %35175, align 4, !tbaa !5
  %35177 = call ptr @s2n_strerror_debug(i32 noundef %35176, ptr noundef @.str.4)
  %35178 = call ptr @__errno_location() #12
  %35179 = load i32, ptr %35178, align 4, !tbaa !5
  %35180 = call ptr @strerror(i32 noundef %35179) #11
  %35181 = call ptr @__errno_location() #12
  %35182 = load i32, ptr %35181, align 4, !tbaa !5
  %35183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35170, ptr noundef @.str.2, i32 noundef %35171, ptr noundef @.str.231, ptr noundef @.str.1, i32 noundef 1549, ptr noundef %35174, ptr noundef %35177, ptr noundef %35180, i32 noundef %35182) #11
  br label %35201

35184:                                            ; preds = %35162, %35155
  %35185 = load i32, ptr %853, align 4, !tbaa !5
  %35186 = call ptr @__errno_location() #12
  store i32 %35185, ptr %35186, align 4, !tbaa !5
  %35187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35188 = load i32, ptr @test_count, align 4, !tbaa !5
  %35189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35190 = load i32, ptr %35189, align 4, !tbaa !5
  %35191 = call ptr @s2n_strerror(i32 noundef %35190, ptr noundef @.str.4)
  %35192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35193 = load i32, ptr %35192, align 4, !tbaa !5
  %35194 = call ptr @s2n_strerror_debug(i32 noundef %35193, ptr noundef @.str.4)
  %35195 = call ptr @__errno_location() #12
  %35196 = load i32, ptr %35195, align 4, !tbaa !5
  %35197 = call ptr @strerror(i32 noundef %35196) #11
  %35198 = call ptr @__errno_location() #12
  %35199 = load i32, ptr %35198, align 4, !tbaa !5
  %35200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35187, ptr noundef @.str.5, i32 noundef %35188, ptr noundef @.str.231, ptr noundef @.str.1, i32 noundef 1549, ptr noundef %35191, ptr noundef %35194, ptr noundef %35197, i32 noundef %35199) #11
  br label %35201

35201:                                            ; preds = %35184, %35167
  call void @llvm.lifetime.end.p0(i64 4, ptr %853) #11
  br label %35202

35202:                                            ; preds = %35201
  br label %35203

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

35204:                                            ; No predecessors!
  br label %35205

35205:                                            ; preds = %35204
  br label %35206

35206:                                            ; preds = %35205, %35147
  br label %35207

35207:                                            ; preds = %35206
  br label %35208

35208:                                            ; preds = %35207
  %35209 = load ptr, ptr %847, align 8, !tbaa !9
  %35210 = getelementptr inbounds %struct.s2n_connection, ptr %35209, i32 0, i32 2
  store ptr @security_policy_test_tls13_retry, ptr %35210, align 8, !tbaa !83
  %35211 = load ptr, ptr %847, align 8, !tbaa !9
  %35212 = getelementptr inbounds %struct.s2n_connection, ptr %35211, i32 0, i32 27
  %35213 = load ptr, ptr %35212, align 8, !tbaa !46
  %35214 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %35213, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %35214, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr %854) #11
  call void @llvm.memset.p0.i64(ptr align 8 %854, i8 0, i64 40, i1 false)
  br label %35215

35215:                                            ; preds = %35208
  %35216 = load i32, ptr @test_count, align 4, !tbaa !5
  %35217 = add nsw i32 %35216, 1
  store i32 %35217, ptr @test_count, align 4, !tbaa !5
  %35218 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %854, i32 noundef 0)
  %35219 = icmp eq i32 %35218, -1
  br i1 %35219, label %35220, label %35273

35220:                                            ; preds = %35215
  br label %35221

35221:                                            ; preds = %35220
  br label %35222

35222:                                            ; preds = %35221
  call void @llvm.lifetime.start.p0(i64 4, ptr %855) #11
  %35223 = call ptr @__errno_location() #12
  %35224 = load i32, ptr %35223, align 4, !tbaa !5
  store i32 %35224, ptr %855, align 4, !tbaa !5
  %35225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35226 = call i32 @s2n_print_stacktrace(ptr noundef %35225)
  %35227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35228 = trunc i8 %35227 to i1
  br i1 %35228, label %35229, label %35251

35229:                                            ; preds = %35222
  %35230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35231 = call i32 @fileno(ptr noundef %35230) #11
  %35232 = call i32 @isatty(i32 noundef %35231) #11
  %35233 = icmp ne i32 %35232, 0
  br i1 %35233, label %35234, label %35251

35234:                                            ; preds = %35229
  %35235 = load i32, ptr %855, align 4, !tbaa !5
  %35236 = call ptr @__errno_location() #12
  store i32 %35235, ptr %35236, align 4, !tbaa !5
  %35237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35238 = load i32, ptr @test_count, align 4, !tbaa !5
  %35239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35240 = load i32, ptr %35239, align 4, !tbaa !5
  %35241 = call ptr @s2n_strerror(i32 noundef %35240, ptr noundef @.str.4)
  %35242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35243 = load i32, ptr %35242, align 4, !tbaa !5
  %35244 = call ptr @s2n_strerror_debug(i32 noundef %35243, ptr noundef @.str.4)
  %35245 = call ptr @__errno_location() #12
  %35246 = load i32, ptr %35245, align 4, !tbaa !5
  %35247 = call ptr @strerror(i32 noundef %35246) #11
  %35248 = call ptr @__errno_location() #12
  %35249 = load i32, ptr %35248, align 4, !tbaa !5
  %35250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35237, ptr noundef @.str.2, i32 noundef %35238, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 1558, ptr noundef %35241, ptr noundef %35244, ptr noundef %35247, i32 noundef %35249) #11
  br label %35268

35251:                                            ; preds = %35229, %35222
  %35252 = load i32, ptr %855, align 4, !tbaa !5
  %35253 = call ptr @__errno_location() #12
  store i32 %35252, ptr %35253, align 4, !tbaa !5
  %35254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35255 = load i32, ptr @test_count, align 4, !tbaa !5
  %35256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35257 = load i32, ptr %35256, align 4, !tbaa !5
  %35258 = call ptr @s2n_strerror(i32 noundef %35257, ptr noundef @.str.4)
  %35259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35260 = load i32, ptr %35259, align 4, !tbaa !5
  %35261 = call ptr @s2n_strerror_debug(i32 noundef %35260, ptr noundef @.str.4)
  %35262 = call ptr @__errno_location() #12
  %35263 = load i32, ptr %35262, align 4, !tbaa !5
  %35264 = call ptr @strerror(i32 noundef %35263) #11
  %35265 = call ptr @__errno_location() #12
  %35266 = load i32, ptr %35265, align 4, !tbaa !5
  %35267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35254, ptr noundef @.str.5, i32 noundef %35255, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 1558, ptr noundef %35258, ptr noundef %35261, ptr noundef %35264, i32 noundef %35266) #11
  br label %35268

35268:                                            ; preds = %35251, %35234
  call void @llvm.lifetime.end.p0(i64 4, ptr %855) #11
  br label %35269

35269:                                            ; preds = %35268
  br label %35270

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

35271:                                            ; No predecessors!
  br label %35272

35272:                                            ; preds = %35271
  br label %35273

35273:                                            ; preds = %35272, %35215
  br label %35274

35274:                                            ; preds = %35273
  br label %35275

35275:                                            ; preds = %35274
  br label %35276

35276:                                            ; preds = %35275
  %35277 = load i32, ptr @test_count, align 4, !tbaa !5
  %35278 = add nsw i32 %35277, 1
  store i32 %35278, ptr @test_count, align 4, !tbaa !5
  %35279 = load ptr, ptr %847, align 8, !tbaa !9
  %35280 = call i32 @s2n_setup_encrypted_ticket(ptr noundef %35279, ptr noundef %854)
  %35281 = getelementptr inbounds %struct.s2n_result, ptr %856, i32 0, i32 0
  store i32 %35280, ptr %35281, align 4
  %35282 = getelementptr inbounds %struct.s2n_result, ptr %856, i32 0, i32 0
  %35283 = load i32, ptr %35282, align 4
  %35284 = call zeroext i1 @s2n_result_is_ok(i32 %35283)
  br i1 %35284, label %35338, label %35285

35285:                                            ; preds = %35276
  br label %35286

35286:                                            ; preds = %35285
  br label %35287

35287:                                            ; preds = %35286
  call void @llvm.lifetime.start.p0(i64 4, ptr %857) #11
  %35288 = call ptr @__errno_location() #12
  %35289 = load i32, ptr %35288, align 4, !tbaa !5
  store i32 %35289, ptr %857, align 4, !tbaa !5
  %35290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35291 = call i32 @s2n_print_stacktrace(ptr noundef %35290)
  %35292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35293 = trunc i8 %35292 to i1
  br i1 %35293, label %35294, label %35316

35294:                                            ; preds = %35287
  %35295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35296 = call i32 @fileno(ptr noundef %35295) #11
  %35297 = call i32 @isatty(i32 noundef %35296) #11
  %35298 = icmp ne i32 %35297, 0
  br i1 %35298, label %35299, label %35316

35299:                                            ; preds = %35294
  %35300 = load i32, ptr %857, align 4, !tbaa !5
  %35301 = call ptr @__errno_location() #12
  store i32 %35300, ptr %35301, align 4, !tbaa !5
  %35302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35303 = load i32, ptr @test_count, align 4, !tbaa !5
  %35304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35305 = load i32, ptr %35304, align 4, !tbaa !5
  %35306 = call ptr @s2n_strerror(i32 noundef %35305, ptr noundef @.str.4)
  %35307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35308 = load i32, ptr %35307, align 4, !tbaa !5
  %35309 = call ptr @s2n_strerror_debug(i32 noundef %35308, ptr noundef @.str.4)
  %35310 = call ptr @__errno_location() #12
  %35311 = load i32, ptr %35310, align 4, !tbaa !5
  %35312 = call ptr @strerror(i32 noundef %35311) #11
  %35313 = call ptr @__errno_location() #12
  %35314 = load i32, ptr %35313, align 4, !tbaa !5
  %35315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35302, ptr noundef @.str.2, i32 noundef %35303, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1559, ptr noundef %35306, ptr noundef %35309, ptr noundef %35312, i32 noundef %35314) #11
  br label %35333

35316:                                            ; preds = %35294, %35287
  %35317 = load i32, ptr %857, align 4, !tbaa !5
  %35318 = call ptr @__errno_location() #12
  store i32 %35317, ptr %35318, align 4, !tbaa !5
  %35319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35320 = load i32, ptr @test_count, align 4, !tbaa !5
  %35321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35322 = load i32, ptr %35321, align 4, !tbaa !5
  %35323 = call ptr @s2n_strerror(i32 noundef %35322, ptr noundef @.str.4)
  %35324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35325 = load i32, ptr %35324, align 4, !tbaa !5
  %35326 = call ptr @s2n_strerror_debug(i32 noundef %35325, ptr noundef @.str.4)
  %35327 = call ptr @__errno_location() #12
  %35328 = load i32, ptr %35327, align 4, !tbaa !5
  %35329 = call ptr @strerror(i32 noundef %35328) #11
  %35330 = call ptr @__errno_location() #12
  %35331 = load i32, ptr %35330, align 4, !tbaa !5
  %35332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35319, ptr noundef @.str.5, i32 noundef %35320, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1559, ptr noundef %35323, ptr noundef %35326, ptr noundef %35329, i32 noundef %35331) #11
  br label %35333

35333:                                            ; preds = %35316, %35299
  call void @llvm.lifetime.end.p0(i64 4, ptr %857) #11
  br label %35334

35334:                                            ; preds = %35333
  br label %35335

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

35336:                                            ; No predecessors!
  br label %35337

35337:                                            ; preds = %35336
  br label %35338

35338:                                            ; preds = %35337, %35276
  br label %35339

35339:                                            ; preds = %35338
  br label %35340

35340:                                            ; preds = %35339
  call void @llvm.lifetime.start.p0(i64 56, ptr %858) #11
  call void @llvm.memset.p0.i64(ptr align 8 %858, i8 0, i64 56, i1 false)
  %35341 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %858, i32 0, i32 0
  %35342 = load ptr, ptr %847, align 8, !tbaa !9
  store ptr %35342, ptr %35341, align 8, !tbaa !93
  %35343 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %858, i32 0, i32 1
  %35344 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %858, i32 0, i32 2
  br label %35345

35345:                                            ; preds = %35340
  %35346 = load i32, ptr @test_count, align 4, !tbaa !5
  %35347 = add nsw i32 %35346, 1
  store i32 %35347, ptr @test_count, align 4, !tbaa !5
  %35348 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %858, i32 0, i32 1
  %35349 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %35348, i32 noundef 0)
  %35350 = icmp eq i32 %35349, -1
  br i1 %35350, label %35351, label %35404

35351:                                            ; preds = %35345
  br label %35352

35352:                                            ; preds = %35351
  br label %35353

35353:                                            ; preds = %35352
  call void @llvm.lifetime.start.p0(i64 4, ptr %859) #11
  %35354 = call ptr @__errno_location() #12
  %35355 = load i32, ptr %35354, align 4, !tbaa !5
  store i32 %35355, ptr %859, align 4, !tbaa !5
  %35356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35357 = call i32 @s2n_print_stacktrace(ptr noundef %35356)
  %35358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35359 = trunc i8 %35358 to i1
  br i1 %35359, label %35360, label %35382

35360:                                            ; preds = %35353
  %35361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35362 = call i32 @fileno(ptr noundef %35361) #11
  %35363 = call i32 @isatty(i32 noundef %35362) #11
  %35364 = icmp ne i32 %35363, 0
  br i1 %35364, label %35365, label %35382

35365:                                            ; preds = %35360
  %35366 = load i32, ptr %859, align 4, !tbaa !5
  %35367 = call ptr @__errno_location() #12
  store i32 %35366, ptr %35367, align 4, !tbaa !5
  %35368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35369 = load i32, ptr @test_count, align 4, !tbaa !5
  %35370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35371 = load i32, ptr %35370, align 4, !tbaa !5
  %35372 = call ptr @s2n_strerror(i32 noundef %35371, ptr noundef @.str.4)
  %35373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35374 = load i32, ptr %35373, align 4, !tbaa !5
  %35375 = call ptr @s2n_strerror_debug(i32 noundef %35374, ptr noundef @.str.4)
  %35376 = call ptr @__errno_location() #12
  %35377 = load i32, ptr %35376, align 4, !tbaa !5
  %35378 = call ptr @strerror(i32 noundef %35377) #11
  %35379 = call ptr @__errno_location() #12
  %35380 = load i32, ptr %35379, align 4, !tbaa !5
  %35381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35368, ptr noundef @.str.2, i32 noundef %35369, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 1561, ptr noundef %35372, ptr noundef %35375, ptr noundef %35378, i32 noundef %35380) #11
  br label %35399

35382:                                            ; preds = %35360, %35353
  %35383 = load i32, ptr %859, align 4, !tbaa !5
  %35384 = call ptr @__errno_location() #12
  store i32 %35383, ptr %35384, align 4, !tbaa !5
  %35385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35386 = load i32, ptr @test_count, align 4, !tbaa !5
  %35387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35388 = load i32, ptr %35387, align 4, !tbaa !5
  %35389 = call ptr @s2n_strerror(i32 noundef %35388, ptr noundef @.str.4)
  %35390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35391 = load i32, ptr %35390, align 4, !tbaa !5
  %35392 = call ptr @s2n_strerror_debug(i32 noundef %35391, ptr noundef @.str.4)
  %35393 = call ptr @__errno_location() #12
  %35394 = load i32, ptr %35393, align 4, !tbaa !5
  %35395 = call ptr @strerror(i32 noundef %35394) #11
  %35396 = call ptr @__errno_location() #12
  %35397 = load i32, ptr %35396, align 4, !tbaa !5
  %35398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35385, ptr noundef @.str.5, i32 noundef %35386, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 1561, ptr noundef %35389, ptr noundef %35392, ptr noundef %35395, i32 noundef %35397) #11
  br label %35399

35399:                                            ; preds = %35382, %35365
  call void @llvm.lifetime.end.p0(i64 4, ptr %859) #11
  br label %35400

35400:                                            ; preds = %35399
  br label %35401

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

35402:                                            ; No predecessors!
  br label %35403

35403:                                            ; preds = %35402
  br label %35404

35404:                                            ; preds = %35403, %35345
  br label %35405

35405:                                            ; preds = %35404
  br label %35406

35406:                                            ; preds = %35405
  br label %35407

35407:                                            ; preds = %35406
  %35408 = load i32, ptr @test_count, align 4, !tbaa !5
  %35409 = add nsw i32 %35408, 1
  store i32 %35409, ptr @test_count, align 4, !tbaa !5
  %35410 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %858, i32 0, i32 1
  %35411 = getelementptr inbounds %struct.s2n_stuffer, ptr %854, i32 0, i32 0
  %35412 = call i32 @s2n_write_test_identity(ptr noundef %35410, ptr noundef %35411)
  %35413 = getelementptr inbounds %struct.s2n_result, ptr %860, i32 0, i32 0
  store i32 %35412, ptr %35413, align 4
  %35414 = getelementptr inbounds %struct.s2n_result, ptr %860, i32 0, i32 0
  %35415 = load i32, ptr %35414, align 4
  %35416 = call zeroext i1 @s2n_result_is_ok(i32 %35415)
  br i1 %35416, label %35470, label %35417

35417:                                            ; preds = %35407
  br label %35418

35418:                                            ; preds = %35417
  br label %35419

35419:                                            ; preds = %35418
  call void @llvm.lifetime.start.p0(i64 4, ptr %861) #11
  %35420 = call ptr @__errno_location() #12
  %35421 = load i32, ptr %35420, align 4, !tbaa !5
  store i32 %35421, ptr %861, align 4, !tbaa !5
  %35422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35423 = call i32 @s2n_print_stacktrace(ptr noundef %35422)
  %35424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35425 = trunc i8 %35424 to i1
  br i1 %35425, label %35426, label %35448

35426:                                            ; preds = %35419
  %35427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35428 = call i32 @fileno(ptr noundef %35427) #11
  %35429 = call i32 @isatty(i32 noundef %35428) #11
  %35430 = icmp ne i32 %35429, 0
  br i1 %35430, label %35431, label %35448

35431:                                            ; preds = %35426
  %35432 = load i32, ptr %861, align 4, !tbaa !5
  %35433 = call ptr @__errno_location() #12
  store i32 %35432, ptr %35433, align 4, !tbaa !5
  %35434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35435 = load i32, ptr @test_count, align 4, !tbaa !5
  %35436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35437 = load i32, ptr %35436, align 4, !tbaa !5
  %35438 = call ptr @s2n_strerror(i32 noundef %35437, ptr noundef @.str.4)
  %35439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35440 = load i32, ptr %35439, align 4, !tbaa !5
  %35441 = call ptr @s2n_strerror_debug(i32 noundef %35440, ptr noundef @.str.4)
  %35442 = call ptr @__errno_location() #12
  %35443 = load i32, ptr %35442, align 4, !tbaa !5
  %35444 = call ptr @strerror(i32 noundef %35443) #11
  %35445 = call ptr @__errno_location() #12
  %35446 = load i32, ptr %35445, align 4, !tbaa !5
  %35447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35434, ptr noundef @.str.2, i32 noundef %35435, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 1562, ptr noundef %35438, ptr noundef %35441, ptr noundef %35444, i32 noundef %35446) #11
  br label %35465

35448:                                            ; preds = %35426, %35419
  %35449 = load i32, ptr %861, align 4, !tbaa !5
  %35450 = call ptr @__errno_location() #12
  store i32 %35449, ptr %35450, align 4, !tbaa !5
  %35451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35452 = load i32, ptr @test_count, align 4, !tbaa !5
  %35453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35454 = load i32, ptr %35453, align 4, !tbaa !5
  %35455 = call ptr @s2n_strerror(i32 noundef %35454, ptr noundef @.str.4)
  %35456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35457 = load i32, ptr %35456, align 4, !tbaa !5
  %35458 = call ptr @s2n_strerror_debug(i32 noundef %35457, ptr noundef @.str.4)
  %35459 = call ptr @__errno_location() #12
  %35460 = load i32, ptr %35459, align 4, !tbaa !5
  %35461 = call ptr @strerror(i32 noundef %35460) #11
  %35462 = call ptr @__errno_location() #12
  %35463 = load i32, ptr %35462, align 4, !tbaa !5
  %35464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35451, ptr noundef @.str.5, i32 noundef %35452, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 1562, ptr noundef %35455, ptr noundef %35458, ptr noundef %35461, i32 noundef %35463) #11
  br label %35465

35465:                                            ; preds = %35448, %35431
  call void @llvm.lifetime.end.p0(i64 4, ptr %861) #11
  br label %35466

35466:                                            ; preds = %35465
  br label %35467

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

35468:                                            ; No predecessors!
  br label %35469

35469:                                            ; preds = %35468
  br label %35470

35470:                                            ; preds = %35469, %35407
  br label %35471

35471:                                            ; preds = %35470
  br label %35472

35472:                                            ; preds = %35471
  br label %35473

35473:                                            ; preds = %35472
  %35474 = load i32, ptr @test_count, align 4, !tbaa !5
  %35475 = add nsw i32 %35474, 1
  store i32 %35475, ptr @test_count, align 4, !tbaa !5
  %35476 = load ptr, ptr %844, align 8, !tbaa !9
  %35477 = call i32 @s2n_select_resumption_psk(ptr noundef %35476, ptr noundef %858)
  %35478 = getelementptr inbounds %struct.s2n_result, ptr %862, i32 0, i32 0
  store i32 %35477, ptr %35478, align 4
  %35479 = getelementptr inbounds %struct.s2n_result, ptr %862, i32 0, i32 0
  %35480 = load i32, ptr %35479, align 4
  %35481 = call zeroext i1 @s2n_result_is_ok(i32 %35480)
  br i1 %35481, label %35535, label %35482

35482:                                            ; preds = %35473
  br label %35483

35483:                                            ; preds = %35482
  br label %35484

35484:                                            ; preds = %35483
  call void @llvm.lifetime.start.p0(i64 4, ptr %863) #11
  %35485 = call ptr @__errno_location() #12
  %35486 = load i32, ptr %35485, align 4, !tbaa !5
  store i32 %35486, ptr %863, align 4, !tbaa !5
  %35487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35488 = call i32 @s2n_print_stacktrace(ptr noundef %35487)
  %35489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35490 = trunc i8 %35489 to i1
  br i1 %35490, label %35491, label %35513

35491:                                            ; preds = %35484
  %35492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35493 = call i32 @fileno(ptr noundef %35492) #11
  %35494 = call i32 @isatty(i32 noundef %35493) #11
  %35495 = icmp ne i32 %35494, 0
  br i1 %35495, label %35496, label %35513

35496:                                            ; preds = %35491
  %35497 = load i32, ptr %863, align 4, !tbaa !5
  %35498 = call ptr @__errno_location() #12
  store i32 %35497, ptr %35498, align 4, !tbaa !5
  %35499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35500 = load i32, ptr @test_count, align 4, !tbaa !5
  %35501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35502 = load i32, ptr %35501, align 4, !tbaa !5
  %35503 = call ptr @s2n_strerror(i32 noundef %35502, ptr noundef @.str.4)
  %35504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35505 = load i32, ptr %35504, align 4, !tbaa !5
  %35506 = call ptr @s2n_strerror_debug(i32 noundef %35505, ptr noundef @.str.4)
  %35507 = call ptr @__errno_location() #12
  %35508 = load i32, ptr %35507, align 4, !tbaa !5
  %35509 = call ptr @strerror(i32 noundef %35508) #11
  %35510 = call ptr @__errno_location() #12
  %35511 = load i32, ptr %35510, align 4, !tbaa !5
  %35512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35499, ptr noundef @.str.2, i32 noundef %35500, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 1563, ptr noundef %35503, ptr noundef %35506, ptr noundef %35509, i32 noundef %35511) #11
  br label %35530

35513:                                            ; preds = %35491, %35484
  %35514 = load i32, ptr %863, align 4, !tbaa !5
  %35515 = call ptr @__errno_location() #12
  store i32 %35514, ptr %35515, align 4, !tbaa !5
  %35516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35517 = load i32, ptr @test_count, align 4, !tbaa !5
  %35518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35519 = load i32, ptr %35518, align 4, !tbaa !5
  %35520 = call ptr @s2n_strerror(i32 noundef %35519, ptr noundef @.str.4)
  %35521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35522 = load i32, ptr %35521, align 4, !tbaa !5
  %35523 = call ptr @s2n_strerror_debug(i32 noundef %35522, ptr noundef @.str.4)
  %35524 = call ptr @__errno_location() #12
  %35525 = load i32, ptr %35524, align 4, !tbaa !5
  %35526 = call ptr @strerror(i32 noundef %35525) #11
  %35527 = call ptr @__errno_location() #12
  %35528 = load i32, ptr %35527, align 4, !tbaa !5
  %35529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35516, ptr noundef @.str.5, i32 noundef %35517, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 1563, ptr noundef %35520, ptr noundef %35523, ptr noundef %35526, i32 noundef %35528) #11
  br label %35530

35530:                                            ; preds = %35513, %35496
  call void @llvm.lifetime.end.p0(i64 4, ptr %863) #11
  br label %35531

35531:                                            ; preds = %35530
  br label %35532

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

35533:                                            ; No predecessors!
  br label %35534

35534:                                            ; preds = %35533
  br label %35535

35535:                                            ; preds = %35534, %35473
  br label %35536

35536:                                            ; preds = %35535
  br label %35537

35537:                                            ; preds = %35536
  call void @llvm.lifetime.start.p0(i64 8, ptr %864) #11
  %35538 = load ptr, ptr %847, align 8, !tbaa !9
  %35539 = getelementptr inbounds %struct.s2n_connection, ptr %35538, i32 0, i32 33
  %35540 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %35539, i32 0, i32 4
  %35541 = load ptr, ptr %35540, align 8, !tbaa !100
  store ptr %35541, ptr %864, align 8, !tbaa !9
  %35542 = load ptr, ptr %864, align 8, !tbaa !9
  %35543 = getelementptr inbounds %struct.s2n_psk, ptr %35542, i32 0, i32 5
  %35544 = load i64, ptr %35543, align 8, !tbaa !60
  %35545 = sub i64 %35544, 10000000
  store i64 %35545, ptr %35543, align 8, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 8, ptr %865) #11
  %35546 = load ptr, ptr %864, align 8, !tbaa !9
  %35547 = getelementptr inbounds %struct.s2n_psk, ptr %35546, i32 0, i32 1
  %35548 = getelementptr inbounds %struct.s2n_blob, ptr %35547, i32 0, i32 1
  %35549 = load i32, ptr %35548, align 8, !tbaa !112
  %35550 = zext i32 %35549 to i64
  %35551 = load ptr, ptr %864, align 8, !tbaa !9
  %35552 = getelementptr inbounds %struct.s2n_psk, ptr %35551, i32 0, i32 1
  %35553 = getelementptr inbounds %struct.s2n_blob, ptr %35552, i32 0, i32 0
  %35554 = load ptr, ptr %35553, align 8, !tbaa !113
  %35555 = call i64 @strlen(ptr noundef %35554) #14
  %35556 = sub i64 %35550, %35555
  store i64 %35556, ptr %865, align 8, !tbaa !58
  call void @llvm.lifetime.start.p0(i64 4, ptr %866) #11
  store i32 0, ptr %866, align 4, !tbaa !5
  br label %35557

35557:                                            ; preds = %35537
  %35558 = load i32, ptr @test_count, align 4, !tbaa !5
  %35559 = add nsw i32 %35558, 1
  store i32 %35559, ptr @test_count, align 4, !tbaa !5
  %35560 = load ptr, ptr %847, align 8, !tbaa !9
  %35561 = call i32 @s2n_negotiate_until_message(ptr noundef %35560, ptr noundef %866, i32 noundef 1)
  %35562 = getelementptr inbounds %struct.s2n_result, ptr %867, i32 0, i32 0
  store i32 %35561, ptr %35562, align 4
  %35563 = getelementptr inbounds %struct.s2n_result, ptr %867, i32 0, i32 0
  %35564 = load i32, ptr %35563, align 4
  %35565 = call zeroext i1 @s2n_result_is_ok(i32 %35564)
  br i1 %35565, label %35619, label %35566

35566:                                            ; preds = %35557
  br label %35567

35567:                                            ; preds = %35566
  br label %35568

35568:                                            ; preds = %35567
  call void @llvm.lifetime.start.p0(i64 4, ptr %868) #11
  %35569 = call ptr @__errno_location() #12
  %35570 = load i32, ptr %35569, align 4, !tbaa !5
  store i32 %35570, ptr %868, align 4, !tbaa !5
  %35571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35572 = call i32 @s2n_print_stacktrace(ptr noundef %35571)
  %35573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35574 = trunc i8 %35573 to i1
  br i1 %35574, label %35575, label %35597

35575:                                            ; preds = %35568
  %35576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35577 = call i32 @fileno(ptr noundef %35576) #11
  %35578 = call i32 @isatty(i32 noundef %35577) #11
  %35579 = icmp ne i32 %35578, 0
  br i1 %35579, label %35580, label %35597

35580:                                            ; preds = %35575
  %35581 = load i32, ptr %868, align 4, !tbaa !5
  %35582 = call ptr @__errno_location() #12
  store i32 %35581, ptr %35582, align 4, !tbaa !5
  %35583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35584 = load i32, ptr @test_count, align 4, !tbaa !5
  %35585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35586 = load i32, ptr %35585, align 4, !tbaa !5
  %35587 = call ptr @s2n_strerror(i32 noundef %35586, ptr noundef @.str.4)
  %35588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35589 = load i32, ptr %35588, align 4, !tbaa !5
  %35590 = call ptr @s2n_strerror_debug(i32 noundef %35589, ptr noundef @.str.4)
  %35591 = call ptr @__errno_location() #12
  %35592 = load i32, ptr %35591, align 4, !tbaa !5
  %35593 = call ptr @strerror(i32 noundef %35592) #11
  %35594 = call ptr @__errno_location() #12
  %35595 = load i32, ptr %35594, align 4, !tbaa !5
  %35596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35583, ptr noundef @.str.2, i32 noundef %35584, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 1576, ptr noundef %35587, ptr noundef %35590, ptr noundef %35593, i32 noundef %35595) #11
  br label %35614

35597:                                            ; preds = %35575, %35568
  %35598 = load i32, ptr %868, align 4, !tbaa !5
  %35599 = call ptr @__errno_location() #12
  store i32 %35598, ptr %35599, align 4, !tbaa !5
  %35600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35601 = load i32, ptr @test_count, align 4, !tbaa !5
  %35602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35603 = load i32, ptr %35602, align 4, !tbaa !5
  %35604 = call ptr @s2n_strerror(i32 noundef %35603, ptr noundef @.str.4)
  %35605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35606 = load i32, ptr %35605, align 4, !tbaa !5
  %35607 = call ptr @s2n_strerror_debug(i32 noundef %35606, ptr noundef @.str.4)
  %35608 = call ptr @__errno_location() #12
  %35609 = load i32, ptr %35608, align 4, !tbaa !5
  %35610 = call ptr @strerror(i32 noundef %35609) #11
  %35611 = call ptr @__errno_location() #12
  %35612 = load i32, ptr %35611, align 4, !tbaa !5
  %35613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35600, ptr noundef @.str.5, i32 noundef %35601, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 1576, ptr noundef %35604, ptr noundef %35607, ptr noundef %35610, i32 noundef %35612) #11
  br label %35614

35614:                                            ; preds = %35597, %35580
  call void @llvm.lifetime.end.p0(i64 4, ptr %868) #11
  br label %35615

35615:                                            ; preds = %35614
  br label %35616

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

35617:                                            ; No predecessors!
  br label %35618

35618:                                            ; preds = %35617
  br label %35619

35619:                                            ; preds = %35618, %35557
  br label %35620

35620:                                            ; preds = %35619
  br label %35621

35621:                                            ; preds = %35620
  br label %35622

35622:                                            ; preds = %35621
  %35623 = load i32, ptr @test_count, align 4, !tbaa !5
  %35624 = add nsw i32 %35623, 1
  store i32 %35624, ptr @test_count, align 4, !tbaa !5
  %35625 = load ptr, ptr %864, align 8, !tbaa !9
  %35626 = getelementptr inbounds %struct.s2n_psk, ptr %35625, i32 0, i32 1
  %35627 = getelementptr inbounds %struct.s2n_blob, ptr %35626, i32 0, i32 0
  %35628 = load ptr, ptr %35627, align 8, !tbaa !113
  %35629 = call i32 @s2n_stuffer_skip_read_until(ptr noundef %850, ptr noundef %35628)
  %35630 = icmp eq i32 %35629, -1
  br i1 %35630, label %35631, label %35684

35631:                                            ; preds = %35622
  br label %35632

35632:                                            ; preds = %35631
  br label %35633

35633:                                            ; preds = %35632
  call void @llvm.lifetime.start.p0(i64 4, ptr %869) #11
  %35634 = call ptr @__errno_location() #12
  %35635 = load i32, ptr %35634, align 4, !tbaa !5
  store i32 %35635, ptr %869, align 4, !tbaa !5
  %35636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35637 = call i32 @s2n_print_stacktrace(ptr noundef %35636)
  %35638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35639 = trunc i8 %35638 to i1
  br i1 %35639, label %35640, label %35662

35640:                                            ; preds = %35633
  %35641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35642 = call i32 @fileno(ptr noundef %35641) #11
  %35643 = call i32 @isatty(i32 noundef %35642) #11
  %35644 = icmp ne i32 %35643, 0
  br i1 %35644, label %35645, label %35662

35645:                                            ; preds = %35640
  %35646 = load i32, ptr %869, align 4, !tbaa !5
  %35647 = call ptr @__errno_location() #12
  store i32 %35646, ptr %35647, align 4, !tbaa !5
  %35648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35649 = load i32, ptr @test_count, align 4, !tbaa !5
  %35650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35651 = load i32, ptr %35650, align 4, !tbaa !5
  %35652 = call ptr @s2n_strerror(i32 noundef %35651, ptr noundef @.str.4)
  %35653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35654 = load i32, ptr %35653, align 4, !tbaa !5
  %35655 = call ptr @s2n_strerror_debug(i32 noundef %35654, ptr noundef @.str.4)
  %35656 = call ptr @__errno_location() #12
  %35657 = load i32, ptr %35656, align 4, !tbaa !5
  %35658 = call ptr @strerror(i32 noundef %35657) #11
  %35659 = call ptr @__errno_location() #12
  %35660 = load i32, ptr %35659, align 4, !tbaa !5
  %35661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35648, ptr noundef @.str.2, i32 noundef %35649, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 1579, ptr noundef %35652, ptr noundef %35655, ptr noundef %35658, i32 noundef %35660) #11
  br label %35679

35662:                                            ; preds = %35640, %35633
  %35663 = load i32, ptr %869, align 4, !tbaa !5
  %35664 = call ptr @__errno_location() #12
  store i32 %35663, ptr %35664, align 4, !tbaa !5
  %35665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35666 = load i32, ptr @test_count, align 4, !tbaa !5
  %35667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35668 = load i32, ptr %35667, align 4, !tbaa !5
  %35669 = call ptr @s2n_strerror(i32 noundef %35668, ptr noundef @.str.4)
  %35670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35671 = load i32, ptr %35670, align 4, !tbaa !5
  %35672 = call ptr @s2n_strerror_debug(i32 noundef %35671, ptr noundef @.str.4)
  %35673 = call ptr @__errno_location() #12
  %35674 = load i32, ptr %35673, align 4, !tbaa !5
  %35675 = call ptr @strerror(i32 noundef %35674) #11
  %35676 = call ptr @__errno_location() #12
  %35677 = load i32, ptr %35676, align 4, !tbaa !5
  %35678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35665, ptr noundef @.str.5, i32 noundef %35666, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 1579, ptr noundef %35669, ptr noundef %35672, ptr noundef %35675, i32 noundef %35677) #11
  br label %35679

35679:                                            ; preds = %35662, %35645
  call void @llvm.lifetime.end.p0(i64 4, ptr %869) #11
  br label %35680

35680:                                            ; preds = %35679
  br label %35681

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

35682:                                            ; No predecessors!
  br label %35683

35683:                                            ; preds = %35682
  br label %35684

35684:                                            ; preds = %35683, %35622
  br label %35685

35685:                                            ; preds = %35684
  br label %35686

35686:                                            ; preds = %35685
  br label %35687

35687:                                            ; preds = %35686
  %35688 = load i32, ptr @test_count, align 4, !tbaa !5
  %35689 = add nsw i32 %35688, 1
  store i32 %35689, ptr @test_count, align 4, !tbaa !5
  %35690 = load i64, ptr %865, align 8, !tbaa !58
  %35691 = trunc i64 %35690 to i32
  %35692 = call i32 @s2n_stuffer_skip_read(ptr noundef %850, i32 noundef %35691)
  %35693 = icmp eq i32 %35692, -1
  br i1 %35693, label %35694, label %35747

35694:                                            ; preds = %35687
  br label %35695

35695:                                            ; preds = %35694
  br label %35696

35696:                                            ; preds = %35695
  call void @llvm.lifetime.start.p0(i64 4, ptr %870) #11
  %35697 = call ptr @__errno_location() #12
  %35698 = load i32, ptr %35697, align 4, !tbaa !5
  store i32 %35698, ptr %870, align 4, !tbaa !5
  %35699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35700 = call i32 @s2n_print_stacktrace(ptr noundef %35699)
  %35701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35702 = trunc i8 %35701 to i1
  br i1 %35702, label %35703, label %35725

35703:                                            ; preds = %35696
  %35704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35705 = call i32 @fileno(ptr noundef %35704) #11
  %35706 = call i32 @isatty(i32 noundef %35705) #11
  %35707 = icmp ne i32 %35706, 0
  br i1 %35707, label %35708, label %35725

35708:                                            ; preds = %35703
  %35709 = load i32, ptr %870, align 4, !tbaa !5
  %35710 = call ptr @__errno_location() #12
  store i32 %35709, ptr %35710, align 4, !tbaa !5
  %35711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35712 = load i32, ptr @test_count, align 4, !tbaa !5
  %35713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35714 = load i32, ptr %35713, align 4, !tbaa !5
  %35715 = call ptr @s2n_strerror(i32 noundef %35714, ptr noundef @.str.4)
  %35716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35717 = load i32, ptr %35716, align 4, !tbaa !5
  %35718 = call ptr @s2n_strerror_debug(i32 noundef %35717, ptr noundef @.str.4)
  %35719 = call ptr @__errno_location() #12
  %35720 = load i32, ptr %35719, align 4, !tbaa !5
  %35721 = call ptr @strerror(i32 noundef %35720) #11
  %35722 = call ptr @__errno_location() #12
  %35723 = load i32, ptr %35722, align 4, !tbaa !5
  %35724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35711, ptr noundef @.str.2, i32 noundef %35712, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1580, ptr noundef %35715, ptr noundef %35718, ptr noundef %35721, i32 noundef %35723) #11
  br label %35742

35725:                                            ; preds = %35703, %35696
  %35726 = load i32, ptr %870, align 4, !tbaa !5
  %35727 = call ptr @__errno_location() #12
  store i32 %35726, ptr %35727, align 4, !tbaa !5
  %35728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35729 = load i32, ptr @test_count, align 4, !tbaa !5
  %35730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35731 = load i32, ptr %35730, align 4, !tbaa !5
  %35732 = call ptr @s2n_strerror(i32 noundef %35731, ptr noundef @.str.4)
  %35733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35734 = load i32, ptr %35733, align 4, !tbaa !5
  %35735 = call ptr @s2n_strerror_debug(i32 noundef %35734, ptr noundef @.str.4)
  %35736 = call ptr @__errno_location() #12
  %35737 = load i32, ptr %35736, align 4, !tbaa !5
  %35738 = call ptr @strerror(i32 noundef %35737) #11
  %35739 = call ptr @__errno_location() #12
  %35740 = load i32, ptr %35739, align 4, !tbaa !5
  %35741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35728, ptr noundef @.str.5, i32 noundef %35729, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1580, ptr noundef %35732, ptr noundef %35735, ptr noundef %35738, i32 noundef %35740) #11
  br label %35742

35742:                                            ; preds = %35725, %35708
  call void @llvm.lifetime.end.p0(i64 4, ptr %870) #11
  br label %35743

35743:                                            ; preds = %35742
  br label %35744

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

35745:                                            ; No predecessors!
  br label %35746

35746:                                            ; preds = %35745
  br label %35747

35747:                                            ; preds = %35746, %35687
  br label %35748

35748:                                            ; preds = %35747
  br label %35749

35749:                                            ; preds = %35748
  call void @llvm.lifetime.start.p0(i64 4, ptr %871) #11
  store i32 0, ptr %871, align 4, !tbaa !5
  br label %35750

35750:                                            ; preds = %35749
  %35751 = load i32, ptr @test_count, align 4, !tbaa !5
  %35752 = add nsw i32 %35751, 1
  store i32 %35752, ptr @test_count, align 4, !tbaa !5
  %35753 = call i32 @s2n_stuffer_read_uint32(ptr noundef %850, ptr noundef %871)
  %35754 = icmp eq i32 %35753, -1
  br i1 %35754, label %35755, label %35808

35755:                                            ; preds = %35750
  br label %35756

35756:                                            ; preds = %35755
  br label %35757

35757:                                            ; preds = %35756
  call void @llvm.lifetime.start.p0(i64 4, ptr %872) #11
  %35758 = call ptr @__errno_location() #12
  %35759 = load i32, ptr %35758, align 4, !tbaa !5
  store i32 %35759, ptr %872, align 4, !tbaa !5
  %35760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35761 = call i32 @s2n_print_stacktrace(ptr noundef %35760)
  %35762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35763 = trunc i8 %35762 to i1
  br i1 %35763, label %35764, label %35786

35764:                                            ; preds = %35757
  %35765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35766 = call i32 @fileno(ptr noundef %35765) #11
  %35767 = call i32 @isatty(i32 noundef %35766) #11
  %35768 = icmp ne i32 %35767, 0
  br i1 %35768, label %35769, label %35786

35769:                                            ; preds = %35764
  %35770 = load i32, ptr %872, align 4, !tbaa !5
  %35771 = call ptr @__errno_location() #12
  store i32 %35770, ptr %35771, align 4, !tbaa !5
  %35772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35773 = load i32, ptr @test_count, align 4, !tbaa !5
  %35774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35775 = load i32, ptr %35774, align 4, !tbaa !5
  %35776 = call ptr @s2n_strerror(i32 noundef %35775, ptr noundef @.str.4)
  %35777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35778 = load i32, ptr %35777, align 4, !tbaa !5
  %35779 = call ptr @s2n_strerror_debug(i32 noundef %35778, ptr noundef @.str.4)
  %35780 = call ptr @__errno_location() #12
  %35781 = load i32, ptr %35780, align 4, !tbaa !5
  %35782 = call ptr @strerror(i32 noundef %35781) #11
  %35783 = call ptr @__errno_location() #12
  %35784 = load i32, ptr %35783, align 4, !tbaa !5
  %35785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35772, ptr noundef @.str.2, i32 noundef %35773, ptr noundef @.str.236, ptr noundef @.str.1, i32 noundef 1582, ptr noundef %35776, ptr noundef %35779, ptr noundef %35782, i32 noundef %35784) #11
  br label %35803

35786:                                            ; preds = %35764, %35757
  %35787 = load i32, ptr %872, align 4, !tbaa !5
  %35788 = call ptr @__errno_location() #12
  store i32 %35787, ptr %35788, align 4, !tbaa !5
  %35789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35790 = load i32, ptr @test_count, align 4, !tbaa !5
  %35791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35792 = load i32, ptr %35791, align 4, !tbaa !5
  %35793 = call ptr @s2n_strerror(i32 noundef %35792, ptr noundef @.str.4)
  %35794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35795 = load i32, ptr %35794, align 4, !tbaa !5
  %35796 = call ptr @s2n_strerror_debug(i32 noundef %35795, ptr noundef @.str.4)
  %35797 = call ptr @__errno_location() #12
  %35798 = load i32, ptr %35797, align 4, !tbaa !5
  %35799 = call ptr @strerror(i32 noundef %35798) #11
  %35800 = call ptr @__errno_location() #12
  %35801 = load i32, ptr %35800, align 4, !tbaa !5
  %35802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35789, ptr noundef @.str.5, i32 noundef %35790, ptr noundef @.str.236, ptr noundef @.str.1, i32 noundef 1582, ptr noundef %35793, ptr noundef %35796, ptr noundef %35799, i32 noundef %35801) #11
  br label %35803

35803:                                            ; preds = %35786, %35769
  call void @llvm.lifetime.end.p0(i64 4, ptr %872) #11
  br label %35804

35804:                                            ; preds = %35803
  br label %35805

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

35806:                                            ; No predecessors!
  br label %35807

35807:                                            ; preds = %35806
  br label %35808

35808:                                            ; preds = %35807, %35750
  br label %35809

35809:                                            ; preds = %35808
  br label %35810

35810:                                            ; preds = %35809
  br label %35811

35811:                                            ; preds = %35810
  %35812 = load i32, ptr @test_count, align 4, !tbaa !5
  %35813 = add nsw i32 %35812, 1
  store i32 %35813, ptr @test_count, align 4, !tbaa !5
  %35814 = call i32 @s2n_stuffer_skip_read(ptr noundef %850, i32 noundef 2)
  %35815 = icmp eq i32 %35814, -1
  br i1 %35815, label %35816, label %35869

35816:                                            ; preds = %35811
  br label %35817

35817:                                            ; preds = %35816
  br label %35818

35818:                                            ; preds = %35817
  call void @llvm.lifetime.start.p0(i64 4, ptr %873) #11
  %35819 = call ptr @__errno_location() #12
  %35820 = load i32, ptr %35819, align 4, !tbaa !5
  store i32 %35820, ptr %873, align 4, !tbaa !5
  %35821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35822 = call i32 @s2n_print_stacktrace(ptr noundef %35821)
  %35823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35824 = trunc i8 %35823 to i1
  br i1 %35824, label %35825, label %35847

35825:                                            ; preds = %35818
  %35826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35827 = call i32 @fileno(ptr noundef %35826) #11
  %35828 = call i32 @isatty(i32 noundef %35827) #11
  %35829 = icmp ne i32 %35828, 0
  br i1 %35829, label %35830, label %35847

35830:                                            ; preds = %35825
  %35831 = load i32, ptr %873, align 4, !tbaa !5
  %35832 = call ptr @__errno_location() #12
  store i32 %35831, ptr %35832, align 4, !tbaa !5
  %35833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35834 = load i32, ptr @test_count, align 4, !tbaa !5
  %35835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35836 = load i32, ptr %35835, align 4, !tbaa !5
  %35837 = call ptr @s2n_strerror(i32 noundef %35836, ptr noundef @.str.4)
  %35838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35839 = load i32, ptr %35838, align 4, !tbaa !5
  %35840 = call ptr @s2n_strerror_debug(i32 noundef %35839, ptr noundef @.str.4)
  %35841 = call ptr @__errno_location() #12
  %35842 = load i32, ptr %35841, align 4, !tbaa !5
  %35843 = call ptr @strerror(i32 noundef %35842) #11
  %35844 = call ptr @__errno_location() #12
  %35845 = load i32, ptr %35844, align 4, !tbaa !5
  %35846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35833, ptr noundef @.str.2, i32 noundef %35834, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 1585, ptr noundef %35837, ptr noundef %35840, ptr noundef %35843, i32 noundef %35845) #11
  br label %35864

35847:                                            ; preds = %35825, %35818
  %35848 = load i32, ptr %873, align 4, !tbaa !5
  %35849 = call ptr @__errno_location() #12
  store i32 %35848, ptr %35849, align 4, !tbaa !5
  %35850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35851 = load i32, ptr @test_count, align 4, !tbaa !5
  %35852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35853 = load i32, ptr %35852, align 4, !tbaa !5
  %35854 = call ptr @s2n_strerror(i32 noundef %35853, ptr noundef @.str.4)
  %35855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35856 = load i32, ptr %35855, align 4, !tbaa !5
  %35857 = call ptr @s2n_strerror_debug(i32 noundef %35856, ptr noundef @.str.4)
  %35858 = call ptr @__errno_location() #12
  %35859 = load i32, ptr %35858, align 4, !tbaa !5
  %35860 = call ptr @strerror(i32 noundef %35859) #11
  %35861 = call ptr @__errno_location() #12
  %35862 = load i32, ptr %35861, align 4, !tbaa !5
  %35863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35850, ptr noundef @.str.5, i32 noundef %35851, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 1585, ptr noundef %35854, ptr noundef %35857, ptr noundef %35860, i32 noundef %35862) #11
  br label %35864

35864:                                            ; preds = %35847, %35830
  call void @llvm.lifetime.end.p0(i64 4, ptr %873) #11
  br label %35865

35865:                                            ; preds = %35864
  br label %35866

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

35867:                                            ; No predecessors!
  br label %35868

35868:                                            ; preds = %35867
  br label %35869

35869:                                            ; preds = %35868, %35811
  br label %35870

35870:                                            ; preds = %35869
  br label %35871

35871:                                            ; preds = %35870
  call void @llvm.lifetime.start.p0(i64 1, ptr %874) #11
  store i8 0, ptr %874, align 1, !tbaa !81
  br label %35872

35872:                                            ; preds = %35871
  %35873 = load i32, ptr @test_count, align 4, !tbaa !5
  %35874 = add nsw i32 %35873, 1
  store i32 %35874, ptr @test_count, align 4, !tbaa !5
  %35875 = call i32 @s2n_stuffer_read_uint8(ptr noundef %850, ptr noundef %874)
  %35876 = icmp eq i32 %35875, -1
  br i1 %35876, label %35877, label %35930

35877:                                            ; preds = %35872
  br label %35878

35878:                                            ; preds = %35877
  br label %35879

35879:                                            ; preds = %35878
  call void @llvm.lifetime.start.p0(i64 4, ptr %875) #11
  %35880 = call ptr @__errno_location() #12
  %35881 = load i32, ptr %35880, align 4, !tbaa !5
  store i32 %35881, ptr %875, align 4, !tbaa !5
  %35882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35883 = call i32 @s2n_print_stacktrace(ptr noundef %35882)
  %35884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35885 = trunc i8 %35884 to i1
  br i1 %35885, label %35886, label %35908

35886:                                            ; preds = %35879
  %35887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35888 = call i32 @fileno(ptr noundef %35887) #11
  %35889 = call i32 @isatty(i32 noundef %35888) #11
  %35890 = icmp ne i32 %35889, 0
  br i1 %35890, label %35891, label %35908

35891:                                            ; preds = %35886
  %35892 = load i32, ptr %875, align 4, !tbaa !5
  %35893 = call ptr @__errno_location() #12
  store i32 %35892, ptr %35893, align 4, !tbaa !5
  %35894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35895 = load i32, ptr @test_count, align 4, !tbaa !5
  %35896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35897 = load i32, ptr %35896, align 4, !tbaa !5
  %35898 = call ptr @s2n_strerror(i32 noundef %35897, ptr noundef @.str.4)
  %35899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35900 = load i32, ptr %35899, align 4, !tbaa !5
  %35901 = call ptr @s2n_strerror_debug(i32 noundef %35900, ptr noundef @.str.4)
  %35902 = call ptr @__errno_location() #12
  %35903 = load i32, ptr %35902, align 4, !tbaa !5
  %35904 = call ptr @strerror(i32 noundef %35903) #11
  %35905 = call ptr @__errno_location() #12
  %35906 = load i32, ptr %35905, align 4, !tbaa !5
  %35907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35894, ptr noundef @.str.2, i32 noundef %35895, ptr noundef @.str.238, ptr noundef @.str.1, i32 noundef 1589, ptr noundef %35898, ptr noundef %35901, ptr noundef %35904, i32 noundef %35906) #11
  br label %35925

35908:                                            ; preds = %35886, %35879
  %35909 = load i32, ptr %875, align 4, !tbaa !5
  %35910 = call ptr @__errno_location() #12
  store i32 %35909, ptr %35910, align 4, !tbaa !5
  %35911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35912 = load i32, ptr @test_count, align 4, !tbaa !5
  %35913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35914 = load i32, ptr %35913, align 4, !tbaa !5
  %35915 = call ptr @s2n_strerror(i32 noundef %35914, ptr noundef @.str.4)
  %35916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35917 = load i32, ptr %35916, align 4, !tbaa !5
  %35918 = call ptr @s2n_strerror_debug(i32 noundef %35917, ptr noundef @.str.4)
  %35919 = call ptr @__errno_location() #12
  %35920 = load i32, ptr %35919, align 4, !tbaa !5
  %35921 = call ptr @strerror(i32 noundef %35920) #11
  %35922 = call ptr @__errno_location() #12
  %35923 = load i32, ptr %35922, align 4, !tbaa !5
  %35924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35911, ptr noundef @.str.5, i32 noundef %35912, ptr noundef @.str.238, ptr noundef @.str.1, i32 noundef 1589, ptr noundef %35915, ptr noundef %35918, ptr noundef %35921, i32 noundef %35923) #11
  br label %35925

35925:                                            ; preds = %35908, %35891
  call void @llvm.lifetime.end.p0(i64 4, ptr %875) #11
  br label %35926

35926:                                            ; preds = %35925
  br label %35927

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

35928:                                            ; No predecessors!
  br label %35929

35929:                                            ; preds = %35928
  br label %35930

35930:                                            ; preds = %35929, %35872
  br label %35931

35931:                                            ; preds = %35930
  br label %35932

35932:                                            ; preds = %35931
  br label %35933

35933:                                            ; preds = %35932
  %35934 = load i32, ptr @test_count, align 4, !tbaa !5
  %35935 = add nsw i32 %35934, 1
  store i32 %35935, ptr @test_count, align 4, !tbaa !5
  %35936 = load i8, ptr %874, align 1, !tbaa !81
  %35937 = zext i8 %35936 to i32
  %35938 = icmp eq i32 %35937, 32
  br i1 %35938, label %35992, label %35939

35939:                                            ; preds = %35933
  br label %35940

35940:                                            ; preds = %35939
  br label %35941

35941:                                            ; preds = %35940
  call void @llvm.lifetime.start.p0(i64 4, ptr %876) #11
  %35942 = call ptr @__errno_location() #12
  %35943 = load i32, ptr %35942, align 4, !tbaa !5
  store i32 %35943, ptr %876, align 4, !tbaa !5
  %35944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35945 = call i32 @s2n_print_stacktrace(ptr noundef %35944)
  %35946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %35947 = trunc i8 %35946 to i1
  br i1 %35947, label %35948, label %35970

35948:                                            ; preds = %35941
  %35949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35950 = call i32 @fileno(ptr noundef %35949) #11
  %35951 = call i32 @isatty(i32 noundef %35950) #11
  %35952 = icmp ne i32 %35951, 0
  br i1 %35952, label %35953, label %35970

35953:                                            ; preds = %35948
  %35954 = load i32, ptr %876, align 4, !tbaa !5
  %35955 = call ptr @__errno_location() #12
  store i32 %35954, ptr %35955, align 4, !tbaa !5
  %35956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35957 = load i32, ptr @test_count, align 4, !tbaa !5
  %35958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35959 = load i32, ptr %35958, align 4, !tbaa !5
  %35960 = call ptr @s2n_strerror(i32 noundef %35959, ptr noundef @.str.4)
  %35961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35962 = load i32, ptr %35961, align 4, !tbaa !5
  %35963 = call ptr @s2n_strerror_debug(i32 noundef %35962, ptr noundef @.str.4)
  %35964 = call ptr @__errno_location() #12
  %35965 = load i32, ptr %35964, align 4, !tbaa !5
  %35966 = call ptr @strerror(i32 noundef %35965) #11
  %35967 = call ptr @__errno_location() #12
  %35968 = load i32, ptr %35967, align 4, !tbaa !5
  %35969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35956, ptr noundef @.str.2, i32 noundef %35957, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 1590, ptr noundef %35960, ptr noundef %35963, ptr noundef %35966, i32 noundef %35968) #11
  br label %35987

35970:                                            ; preds = %35948, %35941
  %35971 = load i32, ptr %876, align 4, !tbaa !5
  %35972 = call ptr @__errno_location() #12
  store i32 %35971, ptr %35972, align 4, !tbaa !5
  %35973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %35974 = load i32, ptr @test_count, align 4, !tbaa !5
  %35975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35976 = load i32, ptr %35975, align 4, !tbaa !5
  %35977 = call ptr @s2n_strerror(i32 noundef %35976, ptr noundef @.str.4)
  %35978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %35979 = load i32, ptr %35978, align 4, !tbaa !5
  %35980 = call ptr @s2n_strerror_debug(i32 noundef %35979, ptr noundef @.str.4)
  %35981 = call ptr @__errno_location() #12
  %35982 = load i32, ptr %35981, align 4, !tbaa !5
  %35983 = call ptr @strerror(i32 noundef %35982) #11
  %35984 = call ptr @__errno_location() #12
  %35985 = load i32, ptr %35984, align 4, !tbaa !5
  %35986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35973, ptr noundef @.str.5, i32 noundef %35974, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 1590, ptr noundef %35977, ptr noundef %35980, ptr noundef %35983, i32 noundef %35985) #11
  br label %35987

35987:                                            ; preds = %35970, %35953
  call void @llvm.lifetime.end.p0(i64 4, ptr %876) #11
  br label %35988

35988:                                            ; preds = %35987
  br label %35989

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

35990:                                            ; No predecessors!
  br label %35991

35991:                                            ; preds = %35990
  br label %35992

35992:                                            ; preds = %35991, %35933
  br label %35993

35993:                                            ; preds = %35992
  br label %35994

35994:                                            ; preds = %35993
  call void @llvm.lifetime.start.p0(i64 32, ptr %877) #11
  call void @llvm.memset.p0.i64(ptr align 16 %877, i8 0, i64 32, i1 false)
  br label %35995

35995:                                            ; preds = %35994
  %35996 = load i32, ptr @test_count, align 4, !tbaa !5
  %35997 = add nsw i32 %35996, 1
  store i32 %35997, ptr @test_count, align 4, !tbaa !5
  %35998 = getelementptr inbounds [32 x i8], ptr %877, i64 0, i64 0
  %35999 = call i32 @s2n_stuffer_read_bytes(ptr noundef %850, ptr noundef %35998, i32 noundef 32)
  %36000 = icmp eq i32 %35999, -1
  br i1 %36000, label %36001, label %36054

36001:                                            ; preds = %35995
  br label %36002

36002:                                            ; preds = %36001
  br label %36003

36003:                                            ; preds = %36002
  call void @llvm.lifetime.start.p0(i64 4, ptr %878) #11
  %36004 = call ptr @__errno_location() #12
  %36005 = load i32, ptr %36004, align 4, !tbaa !5
  store i32 %36005, ptr %878, align 4, !tbaa !5
  %36006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36007 = call i32 @s2n_print_stacktrace(ptr noundef %36006)
  %36008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36009 = trunc i8 %36008 to i1
  br i1 %36009, label %36010, label %36032

36010:                                            ; preds = %36003
  %36011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36012 = call i32 @fileno(ptr noundef %36011) #11
  %36013 = call i32 @isatty(i32 noundef %36012) #11
  %36014 = icmp ne i32 %36013, 0
  br i1 %36014, label %36015, label %36032

36015:                                            ; preds = %36010
  %36016 = load i32, ptr %878, align 4, !tbaa !5
  %36017 = call ptr @__errno_location() #12
  store i32 %36016, ptr %36017, align 4, !tbaa !5
  %36018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36019 = load i32, ptr @test_count, align 4, !tbaa !5
  %36020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36021 = load i32, ptr %36020, align 4, !tbaa !5
  %36022 = call ptr @s2n_strerror(i32 noundef %36021, ptr noundef @.str.4)
  %36023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36024 = load i32, ptr %36023, align 4, !tbaa !5
  %36025 = call ptr @s2n_strerror_debug(i32 noundef %36024, ptr noundef @.str.4)
  %36026 = call ptr @__errno_location() #12
  %36027 = load i32, ptr %36026, align 4, !tbaa !5
  %36028 = call ptr @strerror(i32 noundef %36027) #11
  %36029 = call ptr @__errno_location() #12
  %36030 = load i32, ptr %36029, align 4, !tbaa !5
  %36031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36018, ptr noundef @.str.2, i32 noundef %36019, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 1594, ptr noundef %36022, ptr noundef %36025, ptr noundef %36028, i32 noundef %36030) #11
  br label %36049

36032:                                            ; preds = %36010, %36003
  %36033 = load i32, ptr %878, align 4, !tbaa !5
  %36034 = call ptr @__errno_location() #12
  store i32 %36033, ptr %36034, align 4, !tbaa !5
  %36035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36036 = load i32, ptr @test_count, align 4, !tbaa !5
  %36037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36038 = load i32, ptr %36037, align 4, !tbaa !5
  %36039 = call ptr @s2n_strerror(i32 noundef %36038, ptr noundef @.str.4)
  %36040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36041 = load i32, ptr %36040, align 4, !tbaa !5
  %36042 = call ptr @s2n_strerror_debug(i32 noundef %36041, ptr noundef @.str.4)
  %36043 = call ptr @__errno_location() #12
  %36044 = load i32, ptr %36043, align 4, !tbaa !5
  %36045 = call ptr @strerror(i32 noundef %36044) #11
  %36046 = call ptr @__errno_location() #12
  %36047 = load i32, ptr %36046, align 4, !tbaa !5
  %36048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36035, ptr noundef @.str.5, i32 noundef %36036, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 1594, ptr noundef %36039, ptr noundef %36042, ptr noundef %36045, i32 noundef %36047) #11
  br label %36049

36049:                                            ; preds = %36032, %36015
  call void @llvm.lifetime.end.p0(i64 4, ptr %878) #11
  br label %36050

36050:                                            ; preds = %36049
  br label %36051

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

36052:                                            ; No predecessors!
  br label %36053

36053:                                            ; preds = %36052
  br label %36054

36054:                                            ; preds = %36053, %35995
  br label %36055

36055:                                            ; preds = %36054
  br label %36056

36056:                                            ; preds = %36055
  br label %36057

36057:                                            ; preds = %36056
  %36058 = load i32, ptr @test_count, align 4, !tbaa !5
  %36059 = add nsw i32 %36058, 1
  store i32 %36059, ptr @test_count, align 4, !tbaa !5
  %36060 = call i32 @s2n_stuffer_reread(ptr noundef %850)
  %36061 = icmp eq i32 %36060, -1
  br i1 %36061, label %36062, label %36115

36062:                                            ; preds = %36057
  br label %36063

36063:                                            ; preds = %36062
  br label %36064

36064:                                            ; preds = %36063
  call void @llvm.lifetime.start.p0(i64 4, ptr %879) #11
  %36065 = call ptr @__errno_location() #12
  %36066 = load i32, ptr %36065, align 4, !tbaa !5
  store i32 %36066, ptr %879, align 4, !tbaa !5
  %36067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36068 = call i32 @s2n_print_stacktrace(ptr noundef %36067)
  %36069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36070 = trunc i8 %36069 to i1
  br i1 %36070, label %36071, label %36093

36071:                                            ; preds = %36064
  %36072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36073 = call i32 @fileno(ptr noundef %36072) #11
  %36074 = call i32 @isatty(i32 noundef %36073) #11
  %36075 = icmp ne i32 %36074, 0
  br i1 %36075, label %36076, label %36093

36076:                                            ; preds = %36071
  %36077 = load i32, ptr %879, align 4, !tbaa !5
  %36078 = call ptr @__errno_location() #12
  store i32 %36077, ptr %36078, align 4, !tbaa !5
  %36079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36080 = load i32, ptr @test_count, align 4, !tbaa !5
  %36081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36082 = load i32, ptr %36081, align 4, !tbaa !5
  %36083 = call ptr @s2n_strerror(i32 noundef %36082, ptr noundef @.str.4)
  %36084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36085 = load i32, ptr %36084, align 4, !tbaa !5
  %36086 = call ptr @s2n_strerror_debug(i32 noundef %36085, ptr noundef @.str.4)
  %36087 = call ptr @__errno_location() #12
  %36088 = load i32, ptr %36087, align 4, !tbaa !5
  %36089 = call ptr @strerror(i32 noundef %36088) #11
  %36090 = call ptr @__errno_location() #12
  %36091 = load i32, ptr %36090, align 4, !tbaa !5
  %36092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36079, ptr noundef @.str.2, i32 noundef %36080, ptr noundef @.str.241, ptr noundef @.str.1, i32 noundef 1595, ptr noundef %36083, ptr noundef %36086, ptr noundef %36089, i32 noundef %36091) #11
  br label %36110

36093:                                            ; preds = %36071, %36064
  %36094 = load i32, ptr %879, align 4, !tbaa !5
  %36095 = call ptr @__errno_location() #12
  store i32 %36094, ptr %36095, align 4, !tbaa !5
  %36096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36097 = load i32, ptr @test_count, align 4, !tbaa !5
  %36098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36099 = load i32, ptr %36098, align 4, !tbaa !5
  %36100 = call ptr @s2n_strerror(i32 noundef %36099, ptr noundef @.str.4)
  %36101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36102 = load i32, ptr %36101, align 4, !tbaa !5
  %36103 = call ptr @s2n_strerror_debug(i32 noundef %36102, ptr noundef @.str.4)
  %36104 = call ptr @__errno_location() #12
  %36105 = load i32, ptr %36104, align 4, !tbaa !5
  %36106 = call ptr @strerror(i32 noundef %36105) #11
  %36107 = call ptr @__errno_location() #12
  %36108 = load i32, ptr %36107, align 4, !tbaa !5
  %36109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36096, ptr noundef @.str.5, i32 noundef %36097, ptr noundef @.str.241, ptr noundef @.str.1, i32 noundef 1595, ptr noundef %36100, ptr noundef %36103, ptr noundef %36106, i32 noundef %36108) #11
  br label %36110

36110:                                            ; preds = %36093, %36076
  call void @llvm.lifetime.end.p0(i64 4, ptr %879) #11
  br label %36111

36111:                                            ; preds = %36110
  br label %36112

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

36113:                                            ; No predecessors!
  br label %36114

36114:                                            ; preds = %36113
  br label %36115

36115:                                            ; preds = %36114, %36057
  br label %36116

36116:                                            ; preds = %36115
  br label %36117

36117:                                            ; preds = %36116
  br label %36118

36118:                                            ; preds = %36117
  %36119 = load i32, ptr @test_count, align 4, !tbaa !5
  %36120 = add nsw i32 %36119, 1
  store i32 %36120, ptr @test_count, align 4, !tbaa !5
  %36121 = load i32, ptr %871, align 4, !tbaa !5
  %36122 = icmp ne i32 %36121, 0
  br i1 %36122, label %36176, label %36123

36123:                                            ; preds = %36118
  br label %36124

36124:                                            ; preds = %36123
  br label %36125

36125:                                            ; preds = %36124
  call void @llvm.lifetime.start.p0(i64 4, ptr %880) #11
  %36126 = call ptr @__errno_location() #12
  %36127 = load i32, ptr %36126, align 4, !tbaa !5
  store i32 %36127, ptr %880, align 4, !tbaa !5
  %36128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36129 = call i32 @s2n_print_stacktrace(ptr noundef %36128)
  %36130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36131 = trunc i8 %36130 to i1
  br i1 %36131, label %36132, label %36154

36132:                                            ; preds = %36125
  %36133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36134 = call i32 @fileno(ptr noundef %36133) #11
  %36135 = call i32 @isatty(i32 noundef %36134) #11
  %36136 = icmp ne i32 %36135, 0
  br i1 %36136, label %36137, label %36154

36137:                                            ; preds = %36132
  %36138 = load i32, ptr %880, align 4, !tbaa !5
  %36139 = call ptr @__errno_location() #12
  store i32 %36138, ptr %36139, align 4, !tbaa !5
  %36140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36141 = load i32, ptr @test_count, align 4, !tbaa !5
  %36142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36143 = load i32, ptr %36142, align 4, !tbaa !5
  %36144 = call ptr @s2n_strerror(i32 noundef %36143, ptr noundef @.str.4)
  %36145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36146 = load i32, ptr %36145, align 4, !tbaa !5
  %36147 = call ptr @s2n_strerror_debug(i32 noundef %36146, ptr noundef @.str.4)
  %36148 = call ptr @__errno_location() #12
  %36149 = load i32, ptr %36148, align 4, !tbaa !5
  %36150 = call ptr @strerror(i32 noundef %36149) #11
  %36151 = call ptr @__errno_location() #12
  %36152 = load i32, ptr %36151, align 4, !tbaa !5
  %36153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36140, ptr noundef @.str.2, i32 noundef %36141, ptr noundef @.str.242, ptr noundef @.str.1, i32 noundef 1598, ptr noundef %36144, ptr noundef %36147, ptr noundef %36150, i32 noundef %36152) #11
  br label %36171

36154:                                            ; preds = %36132, %36125
  %36155 = load i32, ptr %880, align 4, !tbaa !5
  %36156 = call ptr @__errno_location() #12
  store i32 %36155, ptr %36156, align 4, !tbaa !5
  %36157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36158 = load i32, ptr @test_count, align 4, !tbaa !5
  %36159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36160 = load i32, ptr %36159, align 4, !tbaa !5
  %36161 = call ptr @s2n_strerror(i32 noundef %36160, ptr noundef @.str.4)
  %36162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36163 = load i32, ptr %36162, align 4, !tbaa !5
  %36164 = call ptr @s2n_strerror_debug(i32 noundef %36163, ptr noundef @.str.4)
  %36165 = call ptr @__errno_location() #12
  %36166 = load i32, ptr %36165, align 4, !tbaa !5
  %36167 = call ptr @strerror(i32 noundef %36166) #11
  %36168 = call ptr @__errno_location() #12
  %36169 = load i32, ptr %36168, align 4, !tbaa !5
  %36170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36157, ptr noundef @.str.5, i32 noundef %36158, ptr noundef @.str.242, ptr noundef @.str.1, i32 noundef 1598, ptr noundef %36161, ptr noundef %36164, ptr noundef %36167, i32 noundef %36169) #11
  br label %36171

36171:                                            ; preds = %36154, %36137
  call void @llvm.lifetime.end.p0(i64 4, ptr %880) #11
  br label %36172

36172:                                            ; preds = %36171
  br label %36173

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

36174:                                            ; No predecessors!
  br label %36175

36175:                                            ; preds = %36174
  br label %36176

36176:                                            ; preds = %36175, %36118
  br label %36177

36177:                                            ; preds = %36176
  br label %36178

36178:                                            ; preds = %36177
  call void @llvm.lifetime.start.p0(i64 32, ptr %881) #11
  call void @llvm.memset.p0.i64(ptr align 16 %881, i8 0, i64 32, i1 false)
  br label %36179

36179:                                            ; preds = %36178
  %36180 = load i32, ptr @test_count, align 4, !tbaa !5
  %36181 = add nsw i32 %36180, 1
  store i32 %36181, ptr @test_count, align 4, !tbaa !5
  %36182 = getelementptr inbounds [32 x i8], ptr %877, i64 0, i64 0
  %36183 = getelementptr inbounds [32 x i8], ptr %881, i64 0, i64 0
  %36184 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %36182, ptr noundef %36183, i32 noundef 32)
  br i1 %36184, label %36185, label %36238

36185:                                            ; preds = %36179
  br label %36186

36186:                                            ; preds = %36185
  br label %36187

36187:                                            ; preds = %36186
  call void @llvm.lifetime.start.p0(i64 4, ptr %882) #11
  %36188 = call ptr @__errno_location() #12
  %36189 = load i32, ptr %36188, align 4, !tbaa !5
  store i32 %36189, ptr %882, align 4, !tbaa !5
  %36190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36191 = call i32 @s2n_print_stacktrace(ptr noundef %36190)
  %36192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36193 = trunc i8 %36192 to i1
  br i1 %36193, label %36194, label %36216

36194:                                            ; preds = %36187
  %36195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36196 = call i32 @fileno(ptr noundef %36195) #11
  %36197 = call i32 @isatty(i32 noundef %36196) #11
  %36198 = icmp ne i32 %36197, 0
  br i1 %36198, label %36199, label %36216

36199:                                            ; preds = %36194
  %36200 = load i32, ptr %882, align 4, !tbaa !5
  %36201 = call ptr @__errno_location() #12
  store i32 %36200, ptr %36201, align 4, !tbaa !5
  %36202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36203 = load i32, ptr @test_count, align 4, !tbaa !5
  %36204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36205 = load i32, ptr %36204, align 4, !tbaa !5
  %36206 = call ptr @s2n_strerror(i32 noundef %36205, ptr noundef @.str.4)
  %36207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36208 = load i32, ptr %36207, align 4, !tbaa !5
  %36209 = call ptr @s2n_strerror_debug(i32 noundef %36208, ptr noundef @.str.4)
  %36210 = call ptr @__errno_location() #12
  %36211 = load i32, ptr %36210, align 4, !tbaa !5
  %36212 = call ptr @strerror(i32 noundef %36211) #11
  %36213 = call ptr @__errno_location() #12
  %36214 = load i32, ptr %36213, align 4, !tbaa !5
  %36215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36202, ptr noundef @.str.2, i32 noundef %36203, ptr noundef @.str.243, ptr noundef @.str.1, i32 noundef 1600, ptr noundef %36206, ptr noundef %36209, ptr noundef %36212, i32 noundef %36214) #11
  br label %36233

36216:                                            ; preds = %36194, %36187
  %36217 = load i32, ptr %882, align 4, !tbaa !5
  %36218 = call ptr @__errno_location() #12
  store i32 %36217, ptr %36218, align 4, !tbaa !5
  %36219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36220 = load i32, ptr @test_count, align 4, !tbaa !5
  %36221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36222 = load i32, ptr %36221, align 4, !tbaa !5
  %36223 = call ptr @s2n_strerror(i32 noundef %36222, ptr noundef @.str.4)
  %36224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36225 = load i32, ptr %36224, align 4, !tbaa !5
  %36226 = call ptr @s2n_strerror_debug(i32 noundef %36225, ptr noundef @.str.4)
  %36227 = call ptr @__errno_location() #12
  %36228 = load i32, ptr %36227, align 4, !tbaa !5
  %36229 = call ptr @strerror(i32 noundef %36228) #11
  %36230 = call ptr @__errno_location() #12
  %36231 = load i32, ptr %36230, align 4, !tbaa !5
  %36232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36219, ptr noundef @.str.5, i32 noundef %36220, ptr noundef @.str.243, ptr noundef @.str.1, i32 noundef 1600, ptr noundef %36223, ptr noundef %36226, ptr noundef %36229, i32 noundef %36231) #11
  br label %36233

36233:                                            ; preds = %36216, %36199
  call void @llvm.lifetime.end.p0(i64 4, ptr %882) #11
  br label %36234

36234:                                            ; preds = %36233
  br label %36235

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

36236:                                            ; No predecessors!
  br label %36237

36237:                                            ; preds = %36236
  br label %36238

36238:                                            ; preds = %36237, %36179
  br label %36239

36239:                                            ; preds = %36238
  br label %36240

36240:                                            ; preds = %36239
  br label %36241

36241:                                            ; preds = %36240
  %36242 = load i32, ptr @test_count, align 4, !tbaa !5
  %36243 = add nsw i32 %36242, 1
  store i32 %36243, ptr @test_count, align 4, !tbaa !5
  %36244 = load ptr, ptr %844, align 8, !tbaa !9
  %36245 = call i32 @s2n_negotiate_until_message(ptr noundef %36244, ptr noundef %866, i32 noundef 18)
  %36246 = getelementptr inbounds %struct.s2n_result, ptr %883, i32 0, i32 0
  store i32 %36245, ptr %36246, align 4
  %36247 = getelementptr inbounds %struct.s2n_result, ptr %883, i32 0, i32 0
  %36248 = load i32, ptr %36247, align 4
  %36249 = call zeroext i1 @s2n_result_is_ok(i32 %36248)
  br i1 %36249, label %36303, label %36250

36250:                                            ; preds = %36241
  br label %36251

36251:                                            ; preds = %36250
  br label %36252

36252:                                            ; preds = %36251
  call void @llvm.lifetime.start.p0(i64 4, ptr %884) #11
  %36253 = call ptr @__errno_location() #12
  %36254 = load i32, ptr %36253, align 4, !tbaa !5
  store i32 %36254, ptr %884, align 4, !tbaa !5
  %36255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36256 = call i32 @s2n_print_stacktrace(ptr noundef %36255)
  %36257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36258 = trunc i8 %36257 to i1
  br i1 %36258, label %36259, label %36281

36259:                                            ; preds = %36252
  %36260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36261 = call i32 @fileno(ptr noundef %36260) #11
  %36262 = call i32 @isatty(i32 noundef %36261) #11
  %36263 = icmp ne i32 %36262, 0
  br i1 %36263, label %36264, label %36281

36264:                                            ; preds = %36259
  %36265 = load i32, ptr %884, align 4, !tbaa !5
  %36266 = call ptr @__errno_location() #12
  store i32 %36265, ptr %36266, align 4, !tbaa !5
  %36267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36268 = load i32, ptr @test_count, align 4, !tbaa !5
  %36269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36270 = load i32, ptr %36269, align 4, !tbaa !5
  %36271 = call ptr @s2n_strerror(i32 noundef %36270, ptr noundef @.str.4)
  %36272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36273 = load i32, ptr %36272, align 4, !tbaa !5
  %36274 = call ptr @s2n_strerror_debug(i32 noundef %36273, ptr noundef @.str.4)
  %36275 = call ptr @__errno_location() #12
  %36276 = load i32, ptr %36275, align 4, !tbaa !5
  %36277 = call ptr @strerror(i32 noundef %36276) #11
  %36278 = call ptr @__errno_location() #12
  %36279 = load i32, ptr %36278, align 4, !tbaa !5
  %36280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36267, ptr noundef @.str.2, i32 noundef %36268, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 1603, ptr noundef %36271, ptr noundef %36274, ptr noundef %36277, i32 noundef %36279) #11
  br label %36298

36281:                                            ; preds = %36259, %36252
  %36282 = load i32, ptr %884, align 4, !tbaa !5
  %36283 = call ptr @__errno_location() #12
  store i32 %36282, ptr %36283, align 4, !tbaa !5
  %36284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36285 = load i32, ptr @test_count, align 4, !tbaa !5
  %36286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36287 = load i32, ptr %36286, align 4, !tbaa !5
  %36288 = call ptr @s2n_strerror(i32 noundef %36287, ptr noundef @.str.4)
  %36289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36290 = load i32, ptr %36289, align 4, !tbaa !5
  %36291 = call ptr @s2n_strerror_debug(i32 noundef %36290, ptr noundef @.str.4)
  %36292 = call ptr @__errno_location() #12
  %36293 = load i32, ptr %36292, align 4, !tbaa !5
  %36294 = call ptr @strerror(i32 noundef %36293) #11
  %36295 = call ptr @__errno_location() #12
  %36296 = load i32, ptr %36295, align 4, !tbaa !5
  %36297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36284, ptr noundef @.str.5, i32 noundef %36285, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 1603, ptr noundef %36288, ptr noundef %36291, ptr noundef %36294, i32 noundef %36296) #11
  br label %36298

36298:                                            ; preds = %36281, %36264
  call void @llvm.lifetime.end.p0(i64 4, ptr %884) #11
  br label %36299

36299:                                            ; preds = %36298
  br label %36300

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

36301:                                            ; No predecessors!
  br label %36302

36302:                                            ; preds = %36301
  br label %36303

36303:                                            ; preds = %36302, %36241
  br label %36304

36304:                                            ; preds = %36303
  br label %36305

36305:                                            ; preds = %36304
  br label %36306

36306:                                            ; preds = %36305
  %36307 = load i32, ptr @test_count, align 4, !tbaa !5
  %36308 = add nsw i32 %36307, 1
  store i32 %36308, ptr @test_count, align 4, !tbaa !5
  %36309 = load ptr, ptr %844, align 8, !tbaa !9
  %36310 = call i32 @s2n_negotiate_until_message(ptr noundef %36309, ptr noundef %866, i32 noundef 0)
  %36311 = getelementptr inbounds %struct.s2n_result, ptr %885, i32 0, i32 0
  store i32 %36310, ptr %36311, align 4
  %36312 = getelementptr inbounds %struct.s2n_result, ptr %885, i32 0, i32 0
  %36313 = load i32, ptr %36312, align 4
  %36314 = call zeroext i1 @s2n_result_is_ok(i32 %36313)
  br i1 %36314, label %36368, label %36315

36315:                                            ; preds = %36306
  br label %36316

36316:                                            ; preds = %36315
  br label %36317

36317:                                            ; preds = %36316
  call void @llvm.lifetime.start.p0(i64 4, ptr %886) #11
  %36318 = call ptr @__errno_location() #12
  %36319 = load i32, ptr %36318, align 4, !tbaa !5
  store i32 %36319, ptr %886, align 4, !tbaa !5
  %36320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36321 = call i32 @s2n_print_stacktrace(ptr noundef %36320)
  %36322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36323 = trunc i8 %36322 to i1
  br i1 %36323, label %36324, label %36346

36324:                                            ; preds = %36317
  %36325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36326 = call i32 @fileno(ptr noundef %36325) #11
  %36327 = call i32 @isatty(i32 noundef %36326) #11
  %36328 = icmp ne i32 %36327, 0
  br i1 %36328, label %36329, label %36346

36329:                                            ; preds = %36324
  %36330 = load i32, ptr %886, align 4, !tbaa !5
  %36331 = call ptr @__errno_location() #12
  store i32 %36330, ptr %36331, align 4, !tbaa !5
  %36332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36333 = load i32, ptr @test_count, align 4, !tbaa !5
  %36334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36335 = load i32, ptr %36334, align 4, !tbaa !5
  %36336 = call ptr @s2n_strerror(i32 noundef %36335, ptr noundef @.str.4)
  %36337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36338 = load i32, ptr %36337, align 4, !tbaa !5
  %36339 = call ptr @s2n_strerror_debug(i32 noundef %36338, ptr noundef @.str.4)
  %36340 = call ptr @__errno_location() #12
  %36341 = load i32, ptr %36340, align 4, !tbaa !5
  %36342 = call ptr @strerror(i32 noundef %36341) #11
  %36343 = call ptr @__errno_location() #12
  %36344 = load i32, ptr %36343, align 4, !tbaa !5
  %36345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36332, ptr noundef @.str.2, i32 noundef %36333, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 1604, ptr noundef %36336, ptr noundef %36339, ptr noundef %36342, i32 noundef %36344) #11
  br label %36363

36346:                                            ; preds = %36324, %36317
  %36347 = load i32, ptr %886, align 4, !tbaa !5
  %36348 = call ptr @__errno_location() #12
  store i32 %36347, ptr %36348, align 4, !tbaa !5
  %36349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36350 = load i32, ptr @test_count, align 4, !tbaa !5
  %36351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36352 = load i32, ptr %36351, align 4, !tbaa !5
  %36353 = call ptr @s2n_strerror(i32 noundef %36352, ptr noundef @.str.4)
  %36354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36355 = load i32, ptr %36354, align 4, !tbaa !5
  %36356 = call ptr @s2n_strerror_debug(i32 noundef %36355, ptr noundef @.str.4)
  %36357 = call ptr @__errno_location() #12
  %36358 = load i32, ptr %36357, align 4, !tbaa !5
  %36359 = call ptr @strerror(i32 noundef %36358) #11
  %36360 = call ptr @__errno_location() #12
  %36361 = load i32, ptr %36360, align 4, !tbaa !5
  %36362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36349, ptr noundef @.str.5, i32 noundef %36350, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 1604, ptr noundef %36353, ptr noundef %36356, ptr noundef %36359, i32 noundef %36361) #11
  br label %36363

36363:                                            ; preds = %36346, %36329
  call void @llvm.lifetime.end.p0(i64 4, ptr %886) #11
  br label %36364

36364:                                            ; preds = %36363
  br label %36365

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

36366:                                            ; No predecessors!
  br label %36367

36367:                                            ; preds = %36366
  br label %36368

36368:                                            ; preds = %36367, %36306
  br label %36369

36369:                                            ; preds = %36368
  br label %36370

36370:                                            ; preds = %36369
  br label %36371

36371:                                            ; preds = %36370
  %36372 = load i32, ptr @test_count, align 4, !tbaa !5
  %36373 = add nsw i32 %36372, 1
  store i32 %36373, ptr @test_count, align 4, !tbaa !5
  %36374 = load ptr, ptr %847, align 8, !tbaa !9
  %36375 = call i32 @s2n_negotiate_until_message(ptr noundef %36374, ptr noundef %866, i32 noundef 0)
  %36376 = getelementptr inbounds %struct.s2n_result, ptr %887, i32 0, i32 0
  store i32 %36375, ptr %36376, align 4
  %36377 = getelementptr inbounds %struct.s2n_result, ptr %887, i32 0, i32 0
  %36378 = load i32, ptr %36377, align 4
  %36379 = call zeroext i1 @s2n_result_is_ok(i32 %36378)
  br i1 %36379, label %36433, label %36380

36380:                                            ; preds = %36371
  br label %36381

36381:                                            ; preds = %36380
  br label %36382

36382:                                            ; preds = %36381
  call void @llvm.lifetime.start.p0(i64 4, ptr %888) #11
  %36383 = call ptr @__errno_location() #12
  %36384 = load i32, ptr %36383, align 4, !tbaa !5
  store i32 %36384, ptr %888, align 4, !tbaa !5
  %36385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36386 = call i32 @s2n_print_stacktrace(ptr noundef %36385)
  %36387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36388 = trunc i8 %36387 to i1
  br i1 %36388, label %36389, label %36411

36389:                                            ; preds = %36382
  %36390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36391 = call i32 @fileno(ptr noundef %36390) #11
  %36392 = call i32 @isatty(i32 noundef %36391) #11
  %36393 = icmp ne i32 %36392, 0
  br i1 %36393, label %36394, label %36411

36394:                                            ; preds = %36389
  %36395 = load i32, ptr %888, align 4, !tbaa !5
  %36396 = call ptr @__errno_location() #12
  store i32 %36395, ptr %36396, align 4, !tbaa !5
  %36397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36398 = load i32, ptr @test_count, align 4, !tbaa !5
  %36399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36400 = load i32, ptr %36399, align 4, !tbaa !5
  %36401 = call ptr @s2n_strerror(i32 noundef %36400, ptr noundef @.str.4)
  %36402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36403 = load i32, ptr %36402, align 4, !tbaa !5
  %36404 = call ptr @s2n_strerror_debug(i32 noundef %36403, ptr noundef @.str.4)
  %36405 = call ptr @__errno_location() #12
  %36406 = load i32, ptr %36405, align 4, !tbaa !5
  %36407 = call ptr @strerror(i32 noundef %36406) #11
  %36408 = call ptr @__errno_location() #12
  %36409 = load i32, ptr %36408, align 4, !tbaa !5
  %36410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36397, ptr noundef @.str.2, i32 noundef %36398, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 1605, ptr noundef %36401, ptr noundef %36404, ptr noundef %36407, i32 noundef %36409) #11
  br label %36428

36411:                                            ; preds = %36389, %36382
  %36412 = load i32, ptr %888, align 4, !tbaa !5
  %36413 = call ptr @__errno_location() #12
  store i32 %36412, ptr %36413, align 4, !tbaa !5
  %36414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36415 = load i32, ptr @test_count, align 4, !tbaa !5
  %36416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36417 = load i32, ptr %36416, align 4, !tbaa !5
  %36418 = call ptr @s2n_strerror(i32 noundef %36417, ptr noundef @.str.4)
  %36419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36420 = load i32, ptr %36419, align 4, !tbaa !5
  %36421 = call ptr @s2n_strerror_debug(i32 noundef %36420, ptr noundef @.str.4)
  %36422 = call ptr @__errno_location() #12
  %36423 = load i32, ptr %36422, align 4, !tbaa !5
  %36424 = call ptr @strerror(i32 noundef %36423) #11
  %36425 = call ptr @__errno_location() #12
  %36426 = load i32, ptr %36425, align 4, !tbaa !5
  %36427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36414, ptr noundef @.str.5, i32 noundef %36415, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 1605, ptr noundef %36418, ptr noundef %36421, ptr noundef %36424, i32 noundef %36426) #11
  br label %36428

36428:                                            ; preds = %36411, %36394
  call void @llvm.lifetime.end.p0(i64 4, ptr %888) #11
  br label %36429

36429:                                            ; preds = %36428
  br label %36430

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

36431:                                            ; No predecessors!
  br label %36432

36432:                                            ; preds = %36431
  br label %36433

36433:                                            ; preds = %36432, %36371
  br label %36434

36434:                                            ; preds = %36433
  br label %36435

36435:                                            ; preds = %36434
  %36436 = load ptr, ptr %864, align 8, !tbaa !9
  %36437 = getelementptr inbounds %struct.s2n_psk, ptr %36436, i32 0, i32 5
  %36438 = load i64, ptr %36437, align 8, !tbaa !60
  %36439 = sub i64 %36438, 1000000
  store i64 %36439, ptr %36437, align 8, !tbaa !60
  br label %36440

36440:                                            ; preds = %36435
  %36441 = load i32, ptr @test_count, align 4, !tbaa !5
  %36442 = add nsw i32 %36441, 1
  store i32 %36442, ptr @test_count, align 4, !tbaa !5
  %36443 = load ptr, ptr %847, align 8, !tbaa !9
  %36444 = call i32 @s2n_negotiate_until_message(ptr noundef %36443, ptr noundef %866, i32 noundef 1)
  %36445 = getelementptr inbounds %struct.s2n_result, ptr %889, i32 0, i32 0
  store i32 %36444, ptr %36445, align 4
  %36446 = getelementptr inbounds %struct.s2n_result, ptr %889, i32 0, i32 0
  %36447 = load i32, ptr %36446, align 4
  %36448 = call zeroext i1 @s2n_result_is_ok(i32 %36447)
  br i1 %36448, label %36502, label %36449

36449:                                            ; preds = %36440
  br label %36450

36450:                                            ; preds = %36449
  br label %36451

36451:                                            ; preds = %36450
  call void @llvm.lifetime.start.p0(i64 4, ptr %890) #11
  %36452 = call ptr @__errno_location() #12
  %36453 = load i32, ptr %36452, align 4, !tbaa !5
  store i32 %36453, ptr %890, align 4, !tbaa !5
  %36454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36455 = call i32 @s2n_print_stacktrace(ptr noundef %36454)
  %36456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36457 = trunc i8 %36456 to i1
  br i1 %36457, label %36458, label %36480

36458:                                            ; preds = %36451
  %36459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36460 = call i32 @fileno(ptr noundef %36459) #11
  %36461 = call i32 @isatty(i32 noundef %36460) #11
  %36462 = icmp ne i32 %36461, 0
  br i1 %36462, label %36463, label %36480

36463:                                            ; preds = %36458
  %36464 = load i32, ptr %890, align 4, !tbaa !5
  %36465 = call ptr @__errno_location() #12
  store i32 %36464, ptr %36465, align 4, !tbaa !5
  %36466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36467 = load i32, ptr @test_count, align 4, !tbaa !5
  %36468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36469 = load i32, ptr %36468, align 4, !tbaa !5
  %36470 = call ptr @s2n_strerror(i32 noundef %36469, ptr noundef @.str.4)
  %36471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36472 = load i32, ptr %36471, align 4, !tbaa !5
  %36473 = call ptr @s2n_strerror_debug(i32 noundef %36472, ptr noundef @.str.4)
  %36474 = call ptr @__errno_location() #12
  %36475 = load i32, ptr %36474, align 4, !tbaa !5
  %36476 = call ptr @strerror(i32 noundef %36475) #11
  %36477 = call ptr @__errno_location() #12
  %36478 = load i32, ptr %36477, align 4, !tbaa !5
  %36479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36466, ptr noundef @.str.2, i32 noundef %36467, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 1611, ptr noundef %36470, ptr noundef %36473, ptr noundef %36476, i32 noundef %36478) #11
  br label %36497

36480:                                            ; preds = %36458, %36451
  %36481 = load i32, ptr %890, align 4, !tbaa !5
  %36482 = call ptr @__errno_location() #12
  store i32 %36481, ptr %36482, align 4, !tbaa !5
  %36483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36484 = load i32, ptr @test_count, align 4, !tbaa !5
  %36485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36486 = load i32, ptr %36485, align 4, !tbaa !5
  %36487 = call ptr @s2n_strerror(i32 noundef %36486, ptr noundef @.str.4)
  %36488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36489 = load i32, ptr %36488, align 4, !tbaa !5
  %36490 = call ptr @s2n_strerror_debug(i32 noundef %36489, ptr noundef @.str.4)
  %36491 = call ptr @__errno_location() #12
  %36492 = load i32, ptr %36491, align 4, !tbaa !5
  %36493 = call ptr @strerror(i32 noundef %36492) #11
  %36494 = call ptr @__errno_location() #12
  %36495 = load i32, ptr %36494, align 4, !tbaa !5
  %36496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36483, ptr noundef @.str.5, i32 noundef %36484, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 1611, ptr noundef %36487, ptr noundef %36490, ptr noundef %36493, i32 noundef %36495) #11
  br label %36497

36497:                                            ; preds = %36480, %36463
  call void @llvm.lifetime.end.p0(i64 4, ptr %890) #11
  br label %36498

36498:                                            ; preds = %36497
  br label %36499

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

36500:                                            ; No predecessors!
  br label %36501

36501:                                            ; preds = %36500
  br label %36502

36502:                                            ; preds = %36501, %36440
  br label %36503

36503:                                            ; preds = %36502
  br label %36504

36504:                                            ; preds = %36503
  br label %36505

36505:                                            ; preds = %36504
  %36506 = load i32, ptr @test_count, align 4, !tbaa !5
  %36507 = add nsw i32 %36506, 1
  store i32 %36507, ptr @test_count, align 4, !tbaa !5
  %36508 = load ptr, ptr %864, align 8, !tbaa !9
  %36509 = getelementptr inbounds %struct.s2n_psk, ptr %36508, i32 0, i32 1
  %36510 = getelementptr inbounds %struct.s2n_blob, ptr %36509, i32 0, i32 0
  %36511 = load ptr, ptr %36510, align 8, !tbaa !113
  %36512 = call i32 @s2n_stuffer_skip_read_until(ptr noundef %850, ptr noundef %36511)
  %36513 = icmp eq i32 %36512, -1
  br i1 %36513, label %36514, label %36567

36514:                                            ; preds = %36505
  br label %36515

36515:                                            ; preds = %36514
  br label %36516

36516:                                            ; preds = %36515
  call void @llvm.lifetime.start.p0(i64 4, ptr %891) #11
  %36517 = call ptr @__errno_location() #12
  %36518 = load i32, ptr %36517, align 4, !tbaa !5
  store i32 %36518, ptr %891, align 4, !tbaa !5
  %36519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36520 = call i32 @s2n_print_stacktrace(ptr noundef %36519)
  %36521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36522 = trunc i8 %36521 to i1
  br i1 %36522, label %36523, label %36545

36523:                                            ; preds = %36516
  %36524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36525 = call i32 @fileno(ptr noundef %36524) #11
  %36526 = call i32 @isatty(i32 noundef %36525) #11
  %36527 = icmp ne i32 %36526, 0
  br i1 %36527, label %36528, label %36545

36528:                                            ; preds = %36523
  %36529 = load i32, ptr %891, align 4, !tbaa !5
  %36530 = call ptr @__errno_location() #12
  store i32 %36529, ptr %36530, align 4, !tbaa !5
  %36531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36532 = load i32, ptr @test_count, align 4, !tbaa !5
  %36533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36534 = load i32, ptr %36533, align 4, !tbaa !5
  %36535 = call ptr @s2n_strerror(i32 noundef %36534, ptr noundef @.str.4)
  %36536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36537 = load i32, ptr %36536, align 4, !tbaa !5
  %36538 = call ptr @s2n_strerror_debug(i32 noundef %36537, ptr noundef @.str.4)
  %36539 = call ptr @__errno_location() #12
  %36540 = load i32, ptr %36539, align 4, !tbaa !5
  %36541 = call ptr @strerror(i32 noundef %36540) #11
  %36542 = call ptr @__errno_location() #12
  %36543 = load i32, ptr %36542, align 4, !tbaa !5
  %36544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36531, ptr noundef @.str.2, i32 noundef %36532, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 1614, ptr noundef %36535, ptr noundef %36538, ptr noundef %36541, i32 noundef %36543) #11
  br label %36562

36545:                                            ; preds = %36523, %36516
  %36546 = load i32, ptr %891, align 4, !tbaa !5
  %36547 = call ptr @__errno_location() #12
  store i32 %36546, ptr %36547, align 4, !tbaa !5
  %36548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36549 = load i32, ptr @test_count, align 4, !tbaa !5
  %36550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36551 = load i32, ptr %36550, align 4, !tbaa !5
  %36552 = call ptr @s2n_strerror(i32 noundef %36551, ptr noundef @.str.4)
  %36553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36554 = load i32, ptr %36553, align 4, !tbaa !5
  %36555 = call ptr @s2n_strerror_debug(i32 noundef %36554, ptr noundef @.str.4)
  %36556 = call ptr @__errno_location() #12
  %36557 = load i32, ptr %36556, align 4, !tbaa !5
  %36558 = call ptr @strerror(i32 noundef %36557) #11
  %36559 = call ptr @__errno_location() #12
  %36560 = load i32, ptr %36559, align 4, !tbaa !5
  %36561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36548, ptr noundef @.str.5, i32 noundef %36549, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 1614, ptr noundef %36552, ptr noundef %36555, ptr noundef %36558, i32 noundef %36560) #11
  br label %36562

36562:                                            ; preds = %36545, %36528
  call void @llvm.lifetime.end.p0(i64 4, ptr %891) #11
  br label %36563

36563:                                            ; preds = %36562
  br label %36564

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

36565:                                            ; No predecessors!
  br label %36566

36566:                                            ; preds = %36565
  br label %36567

36567:                                            ; preds = %36566, %36505
  br label %36568

36568:                                            ; preds = %36567
  br label %36569

36569:                                            ; preds = %36568
  br label %36570

36570:                                            ; preds = %36569
  %36571 = load i32, ptr @test_count, align 4, !tbaa !5
  %36572 = add nsw i32 %36571, 1
  store i32 %36572, ptr @test_count, align 4, !tbaa !5
  %36573 = load i64, ptr %865, align 8, !tbaa !58
  %36574 = trunc i64 %36573 to i32
  %36575 = call i32 @s2n_stuffer_skip_read(ptr noundef %850, i32 noundef %36574)
  %36576 = icmp eq i32 %36575, -1
  br i1 %36576, label %36577, label %36630

36577:                                            ; preds = %36570
  br label %36578

36578:                                            ; preds = %36577
  br label %36579

36579:                                            ; preds = %36578
  call void @llvm.lifetime.start.p0(i64 4, ptr %892) #11
  %36580 = call ptr @__errno_location() #12
  %36581 = load i32, ptr %36580, align 4, !tbaa !5
  store i32 %36581, ptr %892, align 4, !tbaa !5
  %36582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36583 = call i32 @s2n_print_stacktrace(ptr noundef %36582)
  %36584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36585 = trunc i8 %36584 to i1
  br i1 %36585, label %36586, label %36608

36586:                                            ; preds = %36579
  %36587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36588 = call i32 @fileno(ptr noundef %36587) #11
  %36589 = call i32 @isatty(i32 noundef %36588) #11
  %36590 = icmp ne i32 %36589, 0
  br i1 %36590, label %36591, label %36608

36591:                                            ; preds = %36586
  %36592 = load i32, ptr %892, align 4, !tbaa !5
  %36593 = call ptr @__errno_location() #12
  store i32 %36592, ptr %36593, align 4, !tbaa !5
  %36594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36595 = load i32, ptr @test_count, align 4, !tbaa !5
  %36596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36597 = load i32, ptr %36596, align 4, !tbaa !5
  %36598 = call ptr @s2n_strerror(i32 noundef %36597, ptr noundef @.str.4)
  %36599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36600 = load i32, ptr %36599, align 4, !tbaa !5
  %36601 = call ptr @s2n_strerror_debug(i32 noundef %36600, ptr noundef @.str.4)
  %36602 = call ptr @__errno_location() #12
  %36603 = load i32, ptr %36602, align 4, !tbaa !5
  %36604 = call ptr @strerror(i32 noundef %36603) #11
  %36605 = call ptr @__errno_location() #12
  %36606 = load i32, ptr %36605, align 4, !tbaa !5
  %36607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36594, ptr noundef @.str.2, i32 noundef %36595, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1615, ptr noundef %36598, ptr noundef %36601, ptr noundef %36604, i32 noundef %36606) #11
  br label %36625

36608:                                            ; preds = %36586, %36579
  %36609 = load i32, ptr %892, align 4, !tbaa !5
  %36610 = call ptr @__errno_location() #12
  store i32 %36609, ptr %36610, align 4, !tbaa !5
  %36611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36612 = load i32, ptr @test_count, align 4, !tbaa !5
  %36613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36614 = load i32, ptr %36613, align 4, !tbaa !5
  %36615 = call ptr @s2n_strerror(i32 noundef %36614, ptr noundef @.str.4)
  %36616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36617 = load i32, ptr %36616, align 4, !tbaa !5
  %36618 = call ptr @s2n_strerror_debug(i32 noundef %36617, ptr noundef @.str.4)
  %36619 = call ptr @__errno_location() #12
  %36620 = load i32, ptr %36619, align 4, !tbaa !5
  %36621 = call ptr @strerror(i32 noundef %36620) #11
  %36622 = call ptr @__errno_location() #12
  %36623 = load i32, ptr %36622, align 4, !tbaa !5
  %36624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36611, ptr noundef @.str.5, i32 noundef %36612, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1615, ptr noundef %36615, ptr noundef %36618, ptr noundef %36621, i32 noundef %36623) #11
  br label %36625

36625:                                            ; preds = %36608, %36591
  call void @llvm.lifetime.end.p0(i64 4, ptr %892) #11
  br label %36626

36626:                                            ; preds = %36625
  br label %36627

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

36628:                                            ; No predecessors!
  br label %36629

36629:                                            ; preds = %36628
  br label %36630

36630:                                            ; preds = %36629, %36570
  br label %36631

36631:                                            ; preds = %36630
  br label %36632

36632:                                            ; preds = %36631
  call void @llvm.lifetime.start.p0(i64 4, ptr %893) #11
  store i32 0, ptr %893, align 4, !tbaa !5
  br label %36633

36633:                                            ; preds = %36632
  %36634 = load i32, ptr @test_count, align 4, !tbaa !5
  %36635 = add nsw i32 %36634, 1
  store i32 %36635, ptr @test_count, align 4, !tbaa !5
  %36636 = call i32 @s2n_stuffer_read_uint32(ptr noundef %850, ptr noundef %893)
  %36637 = icmp eq i32 %36636, -1
  br i1 %36637, label %36638, label %36691

36638:                                            ; preds = %36633
  br label %36639

36639:                                            ; preds = %36638
  br label %36640

36640:                                            ; preds = %36639
  call void @llvm.lifetime.start.p0(i64 4, ptr %894) #11
  %36641 = call ptr @__errno_location() #12
  %36642 = load i32, ptr %36641, align 4, !tbaa !5
  store i32 %36642, ptr %894, align 4, !tbaa !5
  %36643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36644 = call i32 @s2n_print_stacktrace(ptr noundef %36643)
  %36645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36646 = trunc i8 %36645 to i1
  br i1 %36646, label %36647, label %36669

36647:                                            ; preds = %36640
  %36648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36649 = call i32 @fileno(ptr noundef %36648) #11
  %36650 = call i32 @isatty(i32 noundef %36649) #11
  %36651 = icmp ne i32 %36650, 0
  br i1 %36651, label %36652, label %36669

36652:                                            ; preds = %36647
  %36653 = load i32, ptr %894, align 4, !tbaa !5
  %36654 = call ptr @__errno_location() #12
  store i32 %36653, ptr %36654, align 4, !tbaa !5
  %36655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36656 = load i32, ptr @test_count, align 4, !tbaa !5
  %36657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36658 = load i32, ptr %36657, align 4, !tbaa !5
  %36659 = call ptr @s2n_strerror(i32 noundef %36658, ptr noundef @.str.4)
  %36660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36661 = load i32, ptr %36660, align 4, !tbaa !5
  %36662 = call ptr @s2n_strerror_debug(i32 noundef %36661, ptr noundef @.str.4)
  %36663 = call ptr @__errno_location() #12
  %36664 = load i32, ptr %36663, align 4, !tbaa !5
  %36665 = call ptr @strerror(i32 noundef %36664) #11
  %36666 = call ptr @__errno_location() #12
  %36667 = load i32, ptr %36666, align 4, !tbaa !5
  %36668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36655, ptr noundef @.str.2, i32 noundef %36656, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 1617, ptr noundef %36659, ptr noundef %36662, ptr noundef %36665, i32 noundef %36667) #11
  br label %36686

36669:                                            ; preds = %36647, %36640
  %36670 = load i32, ptr %894, align 4, !tbaa !5
  %36671 = call ptr @__errno_location() #12
  store i32 %36670, ptr %36671, align 4, !tbaa !5
  %36672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36673 = load i32, ptr @test_count, align 4, !tbaa !5
  %36674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36675 = load i32, ptr %36674, align 4, !tbaa !5
  %36676 = call ptr @s2n_strerror(i32 noundef %36675, ptr noundef @.str.4)
  %36677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36678 = load i32, ptr %36677, align 4, !tbaa !5
  %36679 = call ptr @s2n_strerror_debug(i32 noundef %36678, ptr noundef @.str.4)
  %36680 = call ptr @__errno_location() #12
  %36681 = load i32, ptr %36680, align 4, !tbaa !5
  %36682 = call ptr @strerror(i32 noundef %36681) #11
  %36683 = call ptr @__errno_location() #12
  %36684 = load i32, ptr %36683, align 4, !tbaa !5
  %36685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36672, ptr noundef @.str.5, i32 noundef %36673, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 1617, ptr noundef %36676, ptr noundef %36679, ptr noundef %36682, i32 noundef %36684) #11
  br label %36686

36686:                                            ; preds = %36669, %36652
  call void @llvm.lifetime.end.p0(i64 4, ptr %894) #11
  br label %36687

36687:                                            ; preds = %36686
  br label %36688

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

36689:                                            ; No predecessors!
  br label %36690

36690:                                            ; preds = %36689
  br label %36691

36691:                                            ; preds = %36690, %36633
  br label %36692

36692:                                            ; preds = %36691
  br label %36693

36693:                                            ; preds = %36692
  br label %36694

36694:                                            ; preds = %36693
  %36695 = load i32, ptr @test_count, align 4, !tbaa !5
  %36696 = add nsw i32 %36695, 1
  store i32 %36696, ptr @test_count, align 4, !tbaa !5
  %36697 = call i32 @s2n_stuffer_skip_read(ptr noundef %850, i32 noundef 2)
  %36698 = icmp eq i32 %36697, -1
  br i1 %36698, label %36699, label %36752

36699:                                            ; preds = %36694
  br label %36700

36700:                                            ; preds = %36699
  br label %36701

36701:                                            ; preds = %36700
  call void @llvm.lifetime.start.p0(i64 4, ptr %895) #11
  %36702 = call ptr @__errno_location() #12
  %36703 = load i32, ptr %36702, align 4, !tbaa !5
  store i32 %36703, ptr %895, align 4, !tbaa !5
  %36704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36705 = call i32 @s2n_print_stacktrace(ptr noundef %36704)
  %36706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36707 = trunc i8 %36706 to i1
  br i1 %36707, label %36708, label %36730

36708:                                            ; preds = %36701
  %36709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36710 = call i32 @fileno(ptr noundef %36709) #11
  %36711 = call i32 @isatty(i32 noundef %36710) #11
  %36712 = icmp ne i32 %36711, 0
  br i1 %36712, label %36713, label %36730

36713:                                            ; preds = %36708
  %36714 = load i32, ptr %895, align 4, !tbaa !5
  %36715 = call ptr @__errno_location() #12
  store i32 %36714, ptr %36715, align 4, !tbaa !5
  %36716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36717 = load i32, ptr @test_count, align 4, !tbaa !5
  %36718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36719 = load i32, ptr %36718, align 4, !tbaa !5
  %36720 = call ptr @s2n_strerror(i32 noundef %36719, ptr noundef @.str.4)
  %36721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36722 = load i32, ptr %36721, align 4, !tbaa !5
  %36723 = call ptr @s2n_strerror_debug(i32 noundef %36722, ptr noundef @.str.4)
  %36724 = call ptr @__errno_location() #12
  %36725 = load i32, ptr %36724, align 4, !tbaa !5
  %36726 = call ptr @strerror(i32 noundef %36725) #11
  %36727 = call ptr @__errno_location() #12
  %36728 = load i32, ptr %36727, align 4, !tbaa !5
  %36729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36716, ptr noundef @.str.2, i32 noundef %36717, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 1620, ptr noundef %36720, ptr noundef %36723, ptr noundef %36726, i32 noundef %36728) #11
  br label %36747

36730:                                            ; preds = %36708, %36701
  %36731 = load i32, ptr %895, align 4, !tbaa !5
  %36732 = call ptr @__errno_location() #12
  store i32 %36731, ptr %36732, align 4, !tbaa !5
  %36733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36734 = load i32, ptr @test_count, align 4, !tbaa !5
  %36735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36736 = load i32, ptr %36735, align 4, !tbaa !5
  %36737 = call ptr @s2n_strerror(i32 noundef %36736, ptr noundef @.str.4)
  %36738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36739 = load i32, ptr %36738, align 4, !tbaa !5
  %36740 = call ptr @s2n_strerror_debug(i32 noundef %36739, ptr noundef @.str.4)
  %36741 = call ptr @__errno_location() #12
  %36742 = load i32, ptr %36741, align 4, !tbaa !5
  %36743 = call ptr @strerror(i32 noundef %36742) #11
  %36744 = call ptr @__errno_location() #12
  %36745 = load i32, ptr %36744, align 4, !tbaa !5
  %36746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36733, ptr noundef @.str.5, i32 noundef %36734, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 1620, ptr noundef %36737, ptr noundef %36740, ptr noundef %36743, i32 noundef %36745) #11
  br label %36747

36747:                                            ; preds = %36730, %36713
  call void @llvm.lifetime.end.p0(i64 4, ptr %895) #11
  br label %36748

36748:                                            ; preds = %36747
  br label %36749

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

36750:                                            ; No predecessors!
  br label %36751

36751:                                            ; preds = %36750
  br label %36752

36752:                                            ; preds = %36751, %36694
  br label %36753

36753:                                            ; preds = %36752
  br label %36754

36754:                                            ; preds = %36753
  call void @llvm.lifetime.start.p0(i64 1, ptr %896) #11
  store i8 0, ptr %896, align 1, !tbaa !81
  br label %36755

36755:                                            ; preds = %36754
  %36756 = load i32, ptr @test_count, align 4, !tbaa !5
  %36757 = add nsw i32 %36756, 1
  store i32 %36757, ptr @test_count, align 4, !tbaa !5
  %36758 = call i32 @s2n_stuffer_read_uint8(ptr noundef %850, ptr noundef %896)
  %36759 = icmp eq i32 %36758, -1
  br i1 %36759, label %36760, label %36813

36760:                                            ; preds = %36755
  br label %36761

36761:                                            ; preds = %36760
  br label %36762

36762:                                            ; preds = %36761
  call void @llvm.lifetime.start.p0(i64 4, ptr %897) #11
  %36763 = call ptr @__errno_location() #12
  %36764 = load i32, ptr %36763, align 4, !tbaa !5
  store i32 %36764, ptr %897, align 4, !tbaa !5
  %36765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36766 = call i32 @s2n_print_stacktrace(ptr noundef %36765)
  %36767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36768 = trunc i8 %36767 to i1
  br i1 %36768, label %36769, label %36791

36769:                                            ; preds = %36762
  %36770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36771 = call i32 @fileno(ptr noundef %36770) #11
  %36772 = call i32 @isatty(i32 noundef %36771) #11
  %36773 = icmp ne i32 %36772, 0
  br i1 %36773, label %36774, label %36791

36774:                                            ; preds = %36769
  %36775 = load i32, ptr %897, align 4, !tbaa !5
  %36776 = call ptr @__errno_location() #12
  store i32 %36775, ptr %36776, align 4, !tbaa !5
  %36777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36778 = load i32, ptr @test_count, align 4, !tbaa !5
  %36779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36780 = load i32, ptr %36779, align 4, !tbaa !5
  %36781 = call ptr @s2n_strerror(i32 noundef %36780, ptr noundef @.str.4)
  %36782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36783 = load i32, ptr %36782, align 4, !tbaa !5
  %36784 = call ptr @s2n_strerror_debug(i32 noundef %36783, ptr noundef @.str.4)
  %36785 = call ptr @__errno_location() #12
  %36786 = load i32, ptr %36785, align 4, !tbaa !5
  %36787 = call ptr @strerror(i32 noundef %36786) #11
  %36788 = call ptr @__errno_location() #12
  %36789 = load i32, ptr %36788, align 4, !tbaa !5
  %36790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36777, ptr noundef @.str.2, i32 noundef %36778, ptr noundef @.str.245, ptr noundef @.str.1, i32 noundef 1624, ptr noundef %36781, ptr noundef %36784, ptr noundef %36787, i32 noundef %36789) #11
  br label %36808

36791:                                            ; preds = %36769, %36762
  %36792 = load i32, ptr %897, align 4, !tbaa !5
  %36793 = call ptr @__errno_location() #12
  store i32 %36792, ptr %36793, align 4, !tbaa !5
  %36794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36795 = load i32, ptr @test_count, align 4, !tbaa !5
  %36796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36797 = load i32, ptr %36796, align 4, !tbaa !5
  %36798 = call ptr @s2n_strerror(i32 noundef %36797, ptr noundef @.str.4)
  %36799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36800 = load i32, ptr %36799, align 4, !tbaa !5
  %36801 = call ptr @s2n_strerror_debug(i32 noundef %36800, ptr noundef @.str.4)
  %36802 = call ptr @__errno_location() #12
  %36803 = load i32, ptr %36802, align 4, !tbaa !5
  %36804 = call ptr @strerror(i32 noundef %36803) #11
  %36805 = call ptr @__errno_location() #12
  %36806 = load i32, ptr %36805, align 4, !tbaa !5
  %36807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36794, ptr noundef @.str.5, i32 noundef %36795, ptr noundef @.str.245, ptr noundef @.str.1, i32 noundef 1624, ptr noundef %36798, ptr noundef %36801, ptr noundef %36804, i32 noundef %36806) #11
  br label %36808

36808:                                            ; preds = %36791, %36774
  call void @llvm.lifetime.end.p0(i64 4, ptr %897) #11
  br label %36809

36809:                                            ; preds = %36808
  br label %36810

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

36811:                                            ; No predecessors!
  br label %36812

36812:                                            ; preds = %36811
  br label %36813

36813:                                            ; preds = %36812, %36755
  br label %36814

36814:                                            ; preds = %36813
  br label %36815

36815:                                            ; preds = %36814
  br label %36816

36816:                                            ; preds = %36815
  %36817 = load i32, ptr @test_count, align 4, !tbaa !5
  %36818 = add nsw i32 %36817, 1
  store i32 %36818, ptr @test_count, align 4, !tbaa !5
  %36819 = load i8, ptr %896, align 1, !tbaa !81
  %36820 = zext i8 %36819 to i32
  %36821 = icmp eq i32 %36820, 32
  br i1 %36821, label %36875, label %36822

36822:                                            ; preds = %36816
  br label %36823

36823:                                            ; preds = %36822
  br label %36824

36824:                                            ; preds = %36823
  call void @llvm.lifetime.start.p0(i64 4, ptr %898) #11
  %36825 = call ptr @__errno_location() #12
  %36826 = load i32, ptr %36825, align 4, !tbaa !5
  store i32 %36826, ptr %898, align 4, !tbaa !5
  %36827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36828 = call i32 @s2n_print_stacktrace(ptr noundef %36827)
  %36829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36830 = trunc i8 %36829 to i1
  br i1 %36830, label %36831, label %36853

36831:                                            ; preds = %36824
  %36832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36833 = call i32 @fileno(ptr noundef %36832) #11
  %36834 = call i32 @isatty(i32 noundef %36833) #11
  %36835 = icmp ne i32 %36834, 0
  br i1 %36835, label %36836, label %36853

36836:                                            ; preds = %36831
  %36837 = load i32, ptr %898, align 4, !tbaa !5
  %36838 = call ptr @__errno_location() #12
  store i32 %36837, ptr %36838, align 4, !tbaa !5
  %36839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36840 = load i32, ptr @test_count, align 4, !tbaa !5
  %36841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36842 = load i32, ptr %36841, align 4, !tbaa !5
  %36843 = call ptr @s2n_strerror(i32 noundef %36842, ptr noundef @.str.4)
  %36844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36845 = load i32, ptr %36844, align 4, !tbaa !5
  %36846 = call ptr @s2n_strerror_debug(i32 noundef %36845, ptr noundef @.str.4)
  %36847 = call ptr @__errno_location() #12
  %36848 = load i32, ptr %36847, align 4, !tbaa !5
  %36849 = call ptr @strerror(i32 noundef %36848) #11
  %36850 = call ptr @__errno_location() #12
  %36851 = load i32, ptr %36850, align 4, !tbaa !5
  %36852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36839, ptr noundef @.str.2, i32 noundef %36840, ptr noundef @.str.246, ptr noundef @.str.1, i32 noundef 1625, ptr noundef %36843, ptr noundef %36846, ptr noundef %36849, i32 noundef %36851) #11
  br label %36870

36853:                                            ; preds = %36831, %36824
  %36854 = load i32, ptr %898, align 4, !tbaa !5
  %36855 = call ptr @__errno_location() #12
  store i32 %36854, ptr %36855, align 4, !tbaa !5
  %36856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36857 = load i32, ptr @test_count, align 4, !tbaa !5
  %36858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36859 = load i32, ptr %36858, align 4, !tbaa !5
  %36860 = call ptr @s2n_strerror(i32 noundef %36859, ptr noundef @.str.4)
  %36861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36862 = load i32, ptr %36861, align 4, !tbaa !5
  %36863 = call ptr @s2n_strerror_debug(i32 noundef %36862, ptr noundef @.str.4)
  %36864 = call ptr @__errno_location() #12
  %36865 = load i32, ptr %36864, align 4, !tbaa !5
  %36866 = call ptr @strerror(i32 noundef %36865) #11
  %36867 = call ptr @__errno_location() #12
  %36868 = load i32, ptr %36867, align 4, !tbaa !5
  %36869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36856, ptr noundef @.str.5, i32 noundef %36857, ptr noundef @.str.246, ptr noundef @.str.1, i32 noundef 1625, ptr noundef %36860, ptr noundef %36863, ptr noundef %36866, i32 noundef %36868) #11
  br label %36870

36870:                                            ; preds = %36853, %36836
  call void @llvm.lifetime.end.p0(i64 4, ptr %898) #11
  br label %36871

36871:                                            ; preds = %36870
  br label %36872

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

36873:                                            ; No predecessors!
  br label %36874

36874:                                            ; preds = %36873
  br label %36875

36875:                                            ; preds = %36874, %36816
  br label %36876

36876:                                            ; preds = %36875
  br label %36877

36877:                                            ; preds = %36876
  call void @llvm.lifetime.start.p0(i64 32, ptr %899) #11
  call void @llvm.memset.p0.i64(ptr align 16 %899, i8 0, i64 32, i1 false)
  br label %36878

36878:                                            ; preds = %36877
  %36879 = load i32, ptr @test_count, align 4, !tbaa !5
  %36880 = add nsw i32 %36879, 1
  store i32 %36880, ptr @test_count, align 4, !tbaa !5
  %36881 = getelementptr inbounds [32 x i8], ptr %899, i64 0, i64 0
  %36882 = call i32 @s2n_stuffer_read_bytes(ptr noundef %850, ptr noundef %36881, i32 noundef 32)
  %36883 = icmp eq i32 %36882, -1
  br i1 %36883, label %36884, label %36937

36884:                                            ; preds = %36878
  br label %36885

36885:                                            ; preds = %36884
  br label %36886

36886:                                            ; preds = %36885
  call void @llvm.lifetime.start.p0(i64 4, ptr %900) #11
  %36887 = call ptr @__errno_location() #12
  %36888 = load i32, ptr %36887, align 4, !tbaa !5
  store i32 %36888, ptr %900, align 4, !tbaa !5
  %36889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36890 = call i32 @s2n_print_stacktrace(ptr noundef %36889)
  %36891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36892 = trunc i8 %36891 to i1
  br i1 %36892, label %36893, label %36915

36893:                                            ; preds = %36886
  %36894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36895 = call i32 @fileno(ptr noundef %36894) #11
  %36896 = call i32 @isatty(i32 noundef %36895) #11
  %36897 = icmp ne i32 %36896, 0
  br i1 %36897, label %36898, label %36915

36898:                                            ; preds = %36893
  %36899 = load i32, ptr %900, align 4, !tbaa !5
  %36900 = call ptr @__errno_location() #12
  store i32 %36899, ptr %36900, align 4, !tbaa !5
  %36901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36902 = load i32, ptr @test_count, align 4, !tbaa !5
  %36903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36904 = load i32, ptr %36903, align 4, !tbaa !5
  %36905 = call ptr @s2n_strerror(i32 noundef %36904, ptr noundef @.str.4)
  %36906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36907 = load i32, ptr %36906, align 4, !tbaa !5
  %36908 = call ptr @s2n_strerror_debug(i32 noundef %36907, ptr noundef @.str.4)
  %36909 = call ptr @__errno_location() #12
  %36910 = load i32, ptr %36909, align 4, !tbaa !5
  %36911 = call ptr @strerror(i32 noundef %36910) #11
  %36912 = call ptr @__errno_location() #12
  %36913 = load i32, ptr %36912, align 4, !tbaa !5
  %36914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36901, ptr noundef @.str.2, i32 noundef %36902, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 1629, ptr noundef %36905, ptr noundef %36908, ptr noundef %36911, i32 noundef %36913) #11
  br label %36932

36915:                                            ; preds = %36893, %36886
  %36916 = load i32, ptr %900, align 4, !tbaa !5
  %36917 = call ptr @__errno_location() #12
  store i32 %36916, ptr %36917, align 4, !tbaa !5
  %36918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36919 = load i32, ptr @test_count, align 4, !tbaa !5
  %36920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36921 = load i32, ptr %36920, align 4, !tbaa !5
  %36922 = call ptr @s2n_strerror(i32 noundef %36921, ptr noundef @.str.4)
  %36923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36924 = load i32, ptr %36923, align 4, !tbaa !5
  %36925 = call ptr @s2n_strerror_debug(i32 noundef %36924, ptr noundef @.str.4)
  %36926 = call ptr @__errno_location() #12
  %36927 = load i32, ptr %36926, align 4, !tbaa !5
  %36928 = call ptr @strerror(i32 noundef %36927) #11
  %36929 = call ptr @__errno_location() #12
  %36930 = load i32, ptr %36929, align 4, !tbaa !5
  %36931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36918, ptr noundef @.str.5, i32 noundef %36919, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 1629, ptr noundef %36922, ptr noundef %36925, ptr noundef %36928, i32 noundef %36930) #11
  br label %36932

36932:                                            ; preds = %36915, %36898
  call void @llvm.lifetime.end.p0(i64 4, ptr %900) #11
  br label %36933

36933:                                            ; preds = %36932
  br label %36934

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

36935:                                            ; No predecessors!
  br label %36936

36936:                                            ; preds = %36935
  br label %36937

36937:                                            ; preds = %36936, %36878
  br label %36938

36938:                                            ; preds = %36937
  br label %36939

36939:                                            ; preds = %36938
  br label %36940

36940:                                            ; preds = %36939
  %36941 = load i32, ptr @test_count, align 4, !tbaa !5
  %36942 = add nsw i32 %36941, 1
  store i32 %36942, ptr @test_count, align 4, !tbaa !5
  %36943 = load i32, ptr %871, align 4, !tbaa !5
  %36944 = load i32, ptr %893, align 4, !tbaa !5
  %36945 = icmp ne i32 %36943, %36944
  br i1 %36945, label %36999, label %36946

36946:                                            ; preds = %36940
  br label %36947

36947:                                            ; preds = %36946
  br label %36948

36948:                                            ; preds = %36947
  call void @llvm.lifetime.start.p0(i64 4, ptr %901) #11
  %36949 = call ptr @__errno_location() #12
  %36950 = load i32, ptr %36949, align 4, !tbaa !5
  store i32 %36950, ptr %901, align 4, !tbaa !5
  %36951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36952 = call i32 @s2n_print_stacktrace(ptr noundef %36951)
  %36953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %36954 = trunc i8 %36953 to i1
  br i1 %36954, label %36955, label %36977

36955:                                            ; preds = %36948
  %36956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36957 = call i32 @fileno(ptr noundef %36956) #11
  %36958 = call i32 @isatty(i32 noundef %36957) #11
  %36959 = icmp ne i32 %36958, 0
  br i1 %36959, label %36960, label %36977

36960:                                            ; preds = %36955
  %36961 = load i32, ptr %901, align 4, !tbaa !5
  %36962 = call ptr @__errno_location() #12
  store i32 %36961, ptr %36962, align 4, !tbaa !5
  %36963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36964 = load i32, ptr @test_count, align 4, !tbaa !5
  %36965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36966 = load i32, ptr %36965, align 4, !tbaa !5
  %36967 = call ptr @s2n_strerror(i32 noundef %36966, ptr noundef @.str.4)
  %36968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36969 = load i32, ptr %36968, align 4, !tbaa !5
  %36970 = call ptr @s2n_strerror_debug(i32 noundef %36969, ptr noundef @.str.4)
  %36971 = call ptr @__errno_location() #12
  %36972 = load i32, ptr %36971, align 4, !tbaa !5
  %36973 = call ptr @strerror(i32 noundef %36972) #11
  %36974 = call ptr @__errno_location() #12
  %36975 = load i32, ptr %36974, align 4, !tbaa !5
  %36976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36963, ptr noundef @.str.2, i32 noundef %36964, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 1632, ptr noundef %36967, ptr noundef %36970, ptr noundef %36973, i32 noundef %36975) #11
  br label %36994

36977:                                            ; preds = %36955, %36948
  %36978 = load i32, ptr %901, align 4, !tbaa !5
  %36979 = call ptr @__errno_location() #12
  store i32 %36978, ptr %36979, align 4, !tbaa !5
  %36980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36981 = load i32, ptr @test_count, align 4, !tbaa !5
  %36982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36983 = load i32, ptr %36982, align 4, !tbaa !5
  %36984 = call ptr @s2n_strerror(i32 noundef %36983, ptr noundef @.str.4)
  %36985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %36986 = load i32, ptr %36985, align 4, !tbaa !5
  %36987 = call ptr @s2n_strerror_debug(i32 noundef %36986, ptr noundef @.str.4)
  %36988 = call ptr @__errno_location() #12
  %36989 = load i32, ptr %36988, align 4, !tbaa !5
  %36990 = call ptr @strerror(i32 noundef %36989) #11
  %36991 = call ptr @__errno_location() #12
  %36992 = load i32, ptr %36991, align 4, !tbaa !5
  %36993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %36980, ptr noundef @.str.5, i32 noundef %36981, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 1632, ptr noundef %36984, ptr noundef %36987, ptr noundef %36990, i32 noundef %36992) #11
  br label %36994

36994:                                            ; preds = %36977, %36960
  call void @llvm.lifetime.end.p0(i64 4, ptr %901) #11
  br label %36995

36995:                                            ; preds = %36994
  br label %36996

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

36997:                                            ; No predecessors!
  br label %36998

36998:                                            ; preds = %36997
  br label %36999

36999:                                            ; preds = %36998, %36940
  br label %37000

37000:                                            ; preds = %36999
  br label %37001

37001:                                            ; preds = %37000
  br label %37002

37002:                                            ; preds = %37001
  %37003 = load i32, ptr @test_count, align 4, !tbaa !5
  %37004 = add nsw i32 %37003, 1
  store i32 %37004, ptr @test_count, align 4, !tbaa !5
  %37005 = getelementptr inbounds [32 x i8], ptr %877, i64 0, i64 0
  %37006 = getelementptr inbounds [32 x i8], ptr %899, i64 0, i64 0
  %37007 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %37005, ptr noundef %37006, i32 noundef 32)
  br i1 %37007, label %37008, label %37061

37008:                                            ; preds = %37002
  br label %37009

37009:                                            ; preds = %37008
  br label %37010

37010:                                            ; preds = %37009
  call void @llvm.lifetime.start.p0(i64 4, ptr %902) #11
  %37011 = call ptr @__errno_location() #12
  %37012 = load i32, ptr %37011, align 4, !tbaa !5
  store i32 %37012, ptr %902, align 4, !tbaa !5
  %37013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37014 = call i32 @s2n_print_stacktrace(ptr noundef %37013)
  %37015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37016 = trunc i8 %37015 to i1
  br i1 %37016, label %37017, label %37039

37017:                                            ; preds = %37010
  %37018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37019 = call i32 @fileno(ptr noundef %37018) #11
  %37020 = call i32 @isatty(i32 noundef %37019) #11
  %37021 = icmp ne i32 %37020, 0
  br i1 %37021, label %37022, label %37039

37022:                                            ; preds = %37017
  %37023 = load i32, ptr %902, align 4, !tbaa !5
  %37024 = call ptr @__errno_location() #12
  store i32 %37023, ptr %37024, align 4, !tbaa !5
  %37025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37026 = load i32, ptr @test_count, align 4, !tbaa !5
  %37027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37028 = load i32, ptr %37027, align 4, !tbaa !5
  %37029 = call ptr @s2n_strerror(i32 noundef %37028, ptr noundef @.str.4)
  %37030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37031 = load i32, ptr %37030, align 4, !tbaa !5
  %37032 = call ptr @s2n_strerror_debug(i32 noundef %37031, ptr noundef @.str.4)
  %37033 = call ptr @__errno_location() #12
  %37034 = load i32, ptr %37033, align 4, !tbaa !5
  %37035 = call ptr @strerror(i32 noundef %37034) #11
  %37036 = call ptr @__errno_location() #12
  %37037 = load i32, ptr %37036, align 4, !tbaa !5
  %37038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37025, ptr noundef @.str.2, i32 noundef %37026, ptr noundef @.str.249, ptr noundef @.str.1, i32 noundef 1633, ptr noundef %37029, ptr noundef %37032, ptr noundef %37035, i32 noundef %37037) #11
  br label %37056

37039:                                            ; preds = %37017, %37010
  %37040 = load i32, ptr %902, align 4, !tbaa !5
  %37041 = call ptr @__errno_location() #12
  store i32 %37040, ptr %37041, align 4, !tbaa !5
  %37042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37043 = load i32, ptr @test_count, align 4, !tbaa !5
  %37044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37045 = load i32, ptr %37044, align 4, !tbaa !5
  %37046 = call ptr @s2n_strerror(i32 noundef %37045, ptr noundef @.str.4)
  %37047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37048 = load i32, ptr %37047, align 4, !tbaa !5
  %37049 = call ptr @s2n_strerror_debug(i32 noundef %37048, ptr noundef @.str.4)
  %37050 = call ptr @__errno_location() #12
  %37051 = load i32, ptr %37050, align 4, !tbaa !5
  %37052 = call ptr @strerror(i32 noundef %37051) #11
  %37053 = call ptr @__errno_location() #12
  %37054 = load i32, ptr %37053, align 4, !tbaa !5
  %37055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37042, ptr noundef @.str.5, i32 noundef %37043, ptr noundef @.str.249, ptr noundef @.str.1, i32 noundef 1633, ptr noundef %37046, ptr noundef %37049, ptr noundef %37052, i32 noundef %37054) #11
  br label %37056

37056:                                            ; preds = %37039, %37022
  call void @llvm.lifetime.end.p0(i64 4, ptr %902) #11
  br label %37057

37057:                                            ; preds = %37056
  br label %37058

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

37059:                                            ; No predecessors!
  br label %37060

37060:                                            ; preds = %37059
  br label %37061

37061:                                            ; preds = %37060, %37002
  br label %37062

37062:                                            ; preds = %37061
  br label %37063

37063:                                            ; preds = %37062
  br label %37064

37064:                                            ; preds = %37063
  %37065 = load i32, ptr @test_count, align 4, !tbaa !5
  %37066 = add nsw i32 %37065, 1
  store i32 %37066, ptr @test_count, align 4, !tbaa !5
  %37067 = getelementptr inbounds %struct.s2n_offered_psk_list, ptr %858, i32 0, i32 1
  %37068 = call i32 @s2n_stuffer_free(ptr noundef %37067)
  %37069 = icmp eq i32 %37068, -1
  br i1 %37069, label %37070, label %37123

37070:                                            ; preds = %37064
  br label %37071

37071:                                            ; preds = %37070
  br label %37072

37072:                                            ; preds = %37071
  call void @llvm.lifetime.start.p0(i64 4, ptr %903) #11
  %37073 = call ptr @__errno_location() #12
  %37074 = load i32, ptr %37073, align 4, !tbaa !5
  store i32 %37074, ptr %903, align 4, !tbaa !5
  %37075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37076 = call i32 @s2n_print_stacktrace(ptr noundef %37075)
  %37077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37078 = trunc i8 %37077 to i1
  br i1 %37078, label %37079, label %37101

37079:                                            ; preds = %37072
  %37080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37081 = call i32 @fileno(ptr noundef %37080) #11
  %37082 = call i32 @isatty(i32 noundef %37081) #11
  %37083 = icmp ne i32 %37082, 0
  br i1 %37083, label %37084, label %37101

37084:                                            ; preds = %37079
  %37085 = load i32, ptr %903, align 4, !tbaa !5
  %37086 = call ptr @__errno_location() #12
  store i32 %37085, ptr %37086, align 4, !tbaa !5
  %37087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37088 = load i32, ptr @test_count, align 4, !tbaa !5
  %37089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37090 = load i32, ptr %37089, align 4, !tbaa !5
  %37091 = call ptr @s2n_strerror(i32 noundef %37090, ptr noundef @.str.4)
  %37092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37093 = load i32, ptr %37092, align 4, !tbaa !5
  %37094 = call ptr @s2n_strerror_debug(i32 noundef %37093, ptr noundef @.str.4)
  %37095 = call ptr @__errno_location() #12
  %37096 = load i32, ptr %37095, align 4, !tbaa !5
  %37097 = call ptr @strerror(i32 noundef %37096) #11
  %37098 = call ptr @__errno_location() #12
  %37099 = load i32, ptr %37098, align 4, !tbaa !5
  %37100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37087, ptr noundef @.str.2, i32 noundef %37088, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 1635, ptr noundef %37091, ptr noundef %37094, ptr noundef %37097, i32 noundef %37099) #11
  br label %37118

37101:                                            ; preds = %37079, %37072
  %37102 = load i32, ptr %903, align 4, !tbaa !5
  %37103 = call ptr @__errno_location() #12
  store i32 %37102, ptr %37103, align 4, !tbaa !5
  %37104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37105 = load i32, ptr @test_count, align 4, !tbaa !5
  %37106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37107 = load i32, ptr %37106, align 4, !tbaa !5
  %37108 = call ptr @s2n_strerror(i32 noundef %37107, ptr noundef @.str.4)
  %37109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37110 = load i32, ptr %37109, align 4, !tbaa !5
  %37111 = call ptr @s2n_strerror_debug(i32 noundef %37110, ptr noundef @.str.4)
  %37112 = call ptr @__errno_location() #12
  %37113 = load i32, ptr %37112, align 4, !tbaa !5
  %37114 = call ptr @strerror(i32 noundef %37113) #11
  %37115 = call ptr @__errno_location() #12
  %37116 = load i32, ptr %37115, align 4, !tbaa !5
  %37117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37104, ptr noundef @.str.5, i32 noundef %37105, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 1635, ptr noundef %37108, ptr noundef %37111, ptr noundef %37114, i32 noundef %37116) #11
  br label %37118

37118:                                            ; preds = %37101, %37084
  call void @llvm.lifetime.end.p0(i64 4, ptr %903) #11
  br label %37119

37119:                                            ; preds = %37118
  br label %37120

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

37121:                                            ; No predecessors!
  br label %37122

37122:                                            ; preds = %37121
  br label %37123

37123:                                            ; preds = %37122, %37064
  br label %37124

37124:                                            ; preds = %37123
  br label %37125

37125:                                            ; preds = %37124
  call void @llvm.lifetime.end.p0(i64 32, ptr %899) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %896) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %893) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %881) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %877) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %874) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %871) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %866) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %865) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %864) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %858) #11
  %37126 = call i32 @s2n_stuffer_free(ptr noundef %854)
  call void @llvm.lifetime.end.p0(i64 40, ptr %854) #11
  %37127 = call i32 @s2n_stuffer_free(ptr noundef %850)
  call void @llvm.lifetime.end.p0(i64 40, ptr %850) #11
  %37128 = call i32 @s2n_connection_ptr_free(ptr noundef %847)
  %37129 = getelementptr inbounds %struct.s2n_result, ptr %904, i32 0, i32 0
  store i32 %37128, ptr %37129, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %847) #11
  %37130 = call i32 @s2n_connection_ptr_free(ptr noundef %844)
  %37131 = getelementptr inbounds %struct.s2n_result, ptr %905, i32 0, i32 0
  store i32 %37130, ptr %37131, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %844) #11
  %37132 = call i32 @s2n_config_ptr_free(ptr noundef %838)
  %37133 = getelementptr inbounds %struct.s2n_result, ptr %906, i32 0, i32 0
  store i32 %37132, ptr %37133, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %838) #11
  %37134 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %836)
  %37135 = getelementptr inbounds %struct.s2n_result, ptr %907, i32 0, i32 0
  store i32 %37134, ptr %37135, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %836) #11
  br label %37136

37136:                                            ; preds = %37125, %34457
  br label %37137

37137:                                            ; preds = %37136
  br label %37138

37138:                                            ; preds = %37137
  %37139 = call i32 @s2n_cleanup()
  %37140 = icmp eq i32 %37139, -1
  br i1 %37140, label %37141, label %37194

37141:                                            ; preds = %37138
  br label %37142

37142:                                            ; preds = %37141
  br label %37143

37143:                                            ; preds = %37142
  call void @llvm.lifetime.start.p0(i64 4, ptr %908) #11
  %37144 = call ptr @__errno_location() #12
  %37145 = load i32, ptr %37144, align 4, !tbaa !5
  store i32 %37145, ptr %908, align 4, !tbaa !5
  %37146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37147 = call i32 @s2n_print_stacktrace(ptr noundef %37146)
  %37148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37149 = trunc i8 %37148 to i1
  br i1 %37149, label %37150, label %37172

37150:                                            ; preds = %37143
  %37151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37152 = call i32 @fileno(ptr noundef %37151) #11
  %37153 = call i32 @isatty(i32 noundef %37152) #11
  %37154 = icmp ne i32 %37153, 0
  br i1 %37154, label %37155, label %37172

37155:                                            ; preds = %37150
  %37156 = load i32, ptr %908, align 4, !tbaa !5
  %37157 = call ptr @__errno_location() #12
  store i32 %37156, ptr %37157, align 4, !tbaa !5
  %37158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37159 = load i32, ptr @test_count, align 4, !tbaa !5
  %37160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37161 = load i32, ptr %37160, align 4, !tbaa !5
  %37162 = call ptr @s2n_strerror(i32 noundef %37161, ptr noundef @.str.4)
  %37163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37164 = load i32, ptr %37163, align 4, !tbaa !5
  %37165 = call ptr @s2n_strerror_debug(i32 noundef %37164, ptr noundef @.str.4)
  %37166 = call ptr @__errno_location() #12
  %37167 = load i32, ptr %37166, align 4, !tbaa !5
  %37168 = call ptr @strerror(i32 noundef %37167) #11
  %37169 = call ptr @__errno_location() #12
  %37170 = load i32, ptr %37169, align 4, !tbaa !5
  %37171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37158, ptr noundef @.str.2, i32 noundef %37159, ptr noundef @.str.250, ptr noundef @.str.1, i32 noundef 1638, ptr noundef %37162, ptr noundef %37165, ptr noundef %37168, i32 noundef %37170) #11
  br label %37189

37172:                                            ; preds = %37150, %37143
  %37173 = load i32, ptr %908, align 4, !tbaa !5
  %37174 = call ptr @__errno_location() #12
  store i32 %37173, ptr %37174, align 4, !tbaa !5
  %37175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37176 = load i32, ptr @test_count, align 4, !tbaa !5
  %37177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37178 = load i32, ptr %37177, align 4, !tbaa !5
  %37179 = call ptr @s2n_strerror(i32 noundef %37178, ptr noundef @.str.4)
  %37180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37181 = load i32, ptr %37180, align 4, !tbaa !5
  %37182 = call ptr @s2n_strerror_debug(i32 noundef %37181, ptr noundef @.str.4)
  %37183 = call ptr @__errno_location() #12
  %37184 = load i32, ptr %37183, align 4, !tbaa !5
  %37185 = call ptr @strerror(i32 noundef %37184) #11
  %37186 = call ptr @__errno_location() #12
  %37187 = load i32, ptr %37186, align 4, !tbaa !5
  %37188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37175, ptr noundef @.str.5, i32 noundef %37176, ptr noundef @.str.250, ptr noundef @.str.1, i32 noundef 1638, ptr noundef %37179, ptr noundef %37182, ptr noundef %37185, i32 noundef %37187) #11
  br label %37189

37189:                                            ; preds = %37172, %37155
  call void @llvm.lifetime.end.p0(i64 4, ptr %908) #11
  br label %37190

37190:                                            ; preds = %37189
  br label %37191

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

37192:                                            ; No predecessors!
  br label %37193

37193:                                            ; preds = %37192
  br label %37194

37194:                                            ; preds = %37193, %37138
  br label %37195

37195:                                            ; preds = %37194
  br label %37196

37196:                                            ; preds = %37195
  br label %37197

37197:                                            ; preds = %37196
  br label %37198

37198:                                            ; preds = %37197
  %37199 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %37200 = icmp eq i32 %37199, -1
  br i1 %37200, label %37201, label %37254

37201:                                            ; preds = %37198
  br label %37202

37202:                                            ; preds = %37201
  br label %37203

37203:                                            ; preds = %37202
  call void @llvm.lifetime.start.p0(i64 4, ptr %909) #11
  %37204 = call ptr @__errno_location() #12
  %37205 = load i32, ptr %37204, align 4, !tbaa !5
  store i32 %37205, ptr %909, align 4, !tbaa !5
  %37206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37207 = call i32 @s2n_print_stacktrace(ptr noundef %37206)
  %37208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37209 = trunc i8 %37208 to i1
  br i1 %37209, label %37210, label %37232

37210:                                            ; preds = %37203
  %37211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37212 = call i32 @fileno(ptr noundef %37211) #11
  %37213 = call i32 @isatty(i32 noundef %37212) #11
  %37214 = icmp ne i32 %37213, 0
  br i1 %37214, label %37215, label %37232

37215:                                            ; preds = %37210
  %37216 = load i32, ptr %909, align 4, !tbaa !5
  %37217 = call ptr @__errno_location() #12
  store i32 %37216, ptr %37217, align 4, !tbaa !5
  %37218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37219 = load i32, ptr @test_count, align 4, !tbaa !5
  %37220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37221 = load i32, ptr %37220, align 4, !tbaa !5
  %37222 = call ptr @s2n_strerror(i32 noundef %37221, ptr noundef @.str.4)
  %37223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37224 = load i32, ptr %37223, align 4, !tbaa !5
  %37225 = call ptr @s2n_strerror_debug(i32 noundef %37224, ptr noundef @.str.4)
  %37226 = call ptr @__errno_location() #12
  %37227 = load i32, ptr %37226, align 4, !tbaa !5
  %37228 = call ptr @strerror(i32 noundef %37227) #11
  %37229 = call ptr @__errno_location() #12
  %37230 = load i32, ptr %37229, align 4, !tbaa !5
  %37231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37218, ptr noundef @.str.2, i32 noundef %37219, ptr noundef @.str.251, ptr noundef @.str.1, i32 noundef 1638, ptr noundef %37222, ptr noundef %37225, ptr noundef %37228, i32 noundef %37230) #11
  br label %37249

37232:                                            ; preds = %37210, %37203
  %37233 = load i32, ptr %909, align 4, !tbaa !5
  %37234 = call ptr @__errno_location() #12
  store i32 %37233, ptr %37234, align 4, !tbaa !5
  %37235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %37236 = load i32, ptr @test_count, align 4, !tbaa !5
  %37237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37238 = load i32, ptr %37237, align 4, !tbaa !5
  %37239 = call ptr @s2n_strerror(i32 noundef %37238, ptr noundef @.str.4)
  %37240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %37241 = load i32, ptr %37240, align 4, !tbaa !5
  %37242 = call ptr @s2n_strerror_debug(i32 noundef %37241, ptr noundef @.str.4)
  %37243 = call ptr @__errno_location() #12
  %37244 = load i32, ptr %37243, align 4, !tbaa !5
  %37245 = call ptr @strerror(i32 noundef %37244) #11
  %37246 = call ptr @__errno_location() #12
  %37247 = load i32, ptr %37246, align 4, !tbaa !5
  %37248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37235, ptr noundef @.str.5, i32 noundef %37236, ptr noundef @.str.251, ptr noundef @.str.1, i32 noundef 1638, ptr noundef %37239, ptr noundef %37242, ptr noundef %37245, i32 noundef %37247) #11
  br label %37249

37249:                                            ; preds = %37232, %37215
  call void @llvm.lifetime.end.p0(i64 4, ptr %909) #11
  br label %37250

37250:                                            ; preds = %37249
  br label %37251

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

37252:                                            ; No predecessors!
  br label %37253

37253:                                            ; preds = %37252
  br label %37254

37254:                                            ; preds = %37253, %37198
  br label %37255

37255:                                            ; preds = %37254
  br label %37256

37256:                                            ; preds = %37255
  %37257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %37258 = trunc i8 %37257 to i1
  br i1 %37258, label %37259, label %37275

37259:                                            ; preds = %37256
  %37260 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37261 = call i32 @fileno(ptr noundef %37260) #11
  %37262 = call i32 @isatty(i32 noundef %37261) #11
  %37263 = icmp ne i32 %37262, 0
  br i1 %37263, label %37264, label %37275

37264:                                            ; preds = %37259
  %37265 = load i32, ptr @test_count, align 4, !tbaa !5
  %37266 = icmp ne i32 %37265, 0
  br i1 %37266, label %37267, label %37271

37267:                                            ; preds = %37264
  %37268 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37269 = load i32, ptr @test_count, align 4, !tbaa !5
  %37270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37268, ptr noundef @.str.252, i32 noundef %37269) #11
  br label %37274

37271:                                            ; preds = %37264
  %37272 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37272, ptr noundef @.str.253) #11
  br label %37274

37274:                                            ; preds = %37271, %37267
  br label %37286

37275:                                            ; preds = %37259, %37256
  %37276 = load i32, ptr @test_count, align 4, !tbaa !5
  %37277 = icmp ne i32 %37276, 0
  br i1 %37277, label %37278, label %37282

37278:                                            ; preds = %37275
  %37279 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37280 = load i32, ptr @test_count, align 4, !tbaa !5
  %37281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37279, ptr noundef @.str.254, i32 noundef %37280) #11
  br label %37285

37282:                                            ; preds = %37275
  %37283 = load ptr, ptr @stdout, align 8, !tbaa !9
  %37284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %37283, ptr noundef @.str.255) #11
  br label %37285

37285:                                            ; preds = %37282, %37278
  br label %37286

37286:                                            ; preds = %37285, %37274
  store i32 0, ptr %3, align 4
  store i32 1, ptr %239, align 4
  br label %37291

37287:                                            ; No predecessors!
  br label %37288

37288:                                            ; preds = %37287
  br label %37289

37289:                                            ; preds = %37288
  br label %37290

37290:                                            ; preds = %37289
  store i32 0, ptr %239, align 4
  br label %37291

37291:                                            ; preds = %37290, %37286
  call void @llvm.lifetime.end.p0(i64 40, ptr %16) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %15) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %14) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %13) #11
  call void @llvm.lifetime.end.p0(i64 17, ptr %12) #11
  call void @llvm.lifetime.end.p0(i64 14, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 3, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 3, ptr %9) #11
  %37292 = load i32, ptr %239, align 4
  switch i32 %37292, label %37295 [
    i32 0, label %37293
    i32 1, label %37293
  ]

37293:                                            ; preds = %37291, %37291
  %37294 = load i32, ptr %3, align 4
  ret i32 %37294

37295:                                            ; preds = %37291
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #3

declare i32 @fflush(ptr noundef) #4

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #4

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

declare i32 @s2n_print_stacktrace(ptr noundef) #4

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #3

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #3

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #4

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #4

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #3

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #7

declare i32 @s2n_enable_atexit() #4

declare i32 @s2n_init() #4

; 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

declare ptr @s2n_connection_new(i32 noundef) #4

declare void @s2n_debug_info_reset() #4

declare i32 @s2n_connection_free(ptr noundef) #4

declare i32 @s2n_array_pushback(ptr noundef, ptr noundef) #4

declare i32 @s2n_extension_send(ptr noundef, ptr noundef, ptr noundef) #4

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

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

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

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) #4

declare i32 @s2n_psk_init(ptr noundef, i32 noundef) #4

declare i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) #4

declare i32 @s2n_psk_parameters_offered_psks_size(ptr noundef, ptr noundef) #4

declare i32 @s2n_stuffer_read_uint16(ptr noundef, ptr noundef) #4

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

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

declare i32 @s2n_stuffer_read_uint32(ptr noundef, ptr noundef) #4

declare i32 @s2n_stuffer_free(ptr noundef) #4

declare ptr @s2n_config_new() #4

declare i32 @s2n_config_set_wall_clock(ptr noundef, ptr noundef, ptr noundef) #4

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

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) #4

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

declare i32 @s2n_config_free(ptr noundef) #4

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #4

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #4

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) #4

declare i32 @s2n_config_ptr_free(ptr noundef) #4

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) #4

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) #4

declare i32 @s2n_config_disable_x509_verification(ptr noundef) #4

declare i32 @s2n_connection_ptr_free(ptr noundef) #4

declare i32 @s2n_io_pair_close(ptr noundef) #4

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #4

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) #4

declare ptr @s2n_test_psk_new(ptr noundef) #4

declare i32 @s2n_psk_free(ptr noundef) #4

declare i32 @s2n_connection_append_psk(ptr noundef, ptr noundef) #4

declare i32 @s2n_negotiate_until_message(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #4

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

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

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

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

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) #4

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

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

declare i32 @s2n_connection_set_psk_type(ptr noundef, i32 noundef) #4

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) #4

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_config_set_psk_selection_callback(ptr noundef, ptr noundef, ptr noundef) #4

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

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

declare i32 @s2n_stuffer_rewrite(ptr noundef) #4

declare i32 @s2n_psk_wipe(ptr noundef) #4

declare i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) #4

declare i32 @s2n_psk_calculate_binder_hash(ptr noundef, i32 noundef, ptr noundef, ptr noundef) #4

declare i32 @s2n_psk_calculate_binder(ptr noundef, ptr noundef, ptr noundef) #4

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) #4

declare i32 @s2n_stuffer_write(ptr noundef, ptr noundef) #4

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

declare i32 @s2n_stuffer_reread(ptr noundef) #4

declare i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) #4

declare i32 @s2n_extension_recv(ptr noundef, ptr noundef, ptr noundef) #4

declare i32 @s2n_finish_psk_extension(ptr noundef) #4

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) #4

declare i32 @s2n_connection_set_io_pair(ptr noundef, ptr noundef) #4

declare i32 @s2n_client_hello_send(ptr noundef) #4

declare i32 @s2n_client_hello_recv(ptr noundef) #4

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) #4

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #10

declare i32 @s2n_stuffer_skip_read_until(ptr noundef, ptr noundef) #4

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr noundef) #4

declare i32 @s2n_stuffer_read_bytes(ptr noundef, ptr noundef, i32 noundef) #4

declare zeroext i1 @s2n_constant_time_equals(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_cleanup() #4

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !6, i64 4088}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!43, !10, i64 32}
!43 = !{!"", !31, i64 0, !6, i64 2, !31, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!44 = !{!43, !10, i64 24}
!45 = !{!16, !7, i64 220}
!46 = !{!16, !10, i64 232}
!47 = !{!48, !10, i64 0}
!48 = !{!"s2n_crypto_parameters", !10, i64 0, !49, i64 8, !49, i64 16, !50, i64 24, !50, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!49 = !{!"s2n_session_key", !10, i64 0}
!50 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !51, i64 16, !51, i64 72, !51, i64 128, !51, i64 184, !7, i64 240, !7, i64 368}
!51 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!52 = !{!53, !6, i64 96}
!53 = !{!"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}
!54 = !{!16, !6, i64 2172}
!55 = !{!56, !6, i64 56}
!56 = !{!"s2n_psk", !6, i64 0, !25, i64 8, !25, i64 32, !6, i64 56, !6, i64 60, !18, i64 64, !25, i64 72, !57, i64 96, !18, i64 160}
!57 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !25, i64 16, !25, i64 40}
!58 = !{!18, !18, i64 0}
!59 = !{!56, !6, i64 0}
!60 = !{!56, !18, i64 64}
!61 = !{!62, !18, i64 0}
!62 = !{!"", !18, i64 0, !18, i64 8, !6, i64 16, !6, i64 20}
!63 = !{!62, !18, i64 8}
!64 = !{!62, !6, i64 16}
!65 = !{!56, !6, i64 60}
!66 = !{!62, !6, i64 20}
!67 = distinct !{!67, !68}
!68 = !{!"llvm.loop.mustprogress"}
!69 = !{!43, !10, i64 8}
!70 = !{!32, !6, i64 28}
!71 = !{!32, !6, i64 24}
!72 = !{!31, !31, i64 0}
!73 = !{!74, !6, i64 0}
!74 = !{!"s2n_psk_test_case", !6, i64 0, !7, i64 4, !10, i64 8, !18, i64 16}
!75 = !{!74, !7, i64 4}
!76 = !{!74, !10, i64 8}
!77 = !{!74, !18, i64 16}
!78 = distinct !{!78, !68}
!79 = distinct !{!79, !68}
!80 = !{i64 0, i64 4, !5, i64 4, i64 1, !81, i64 8, i64 8, !9, i64 16, i64 8, !58}
!81 = !{!7, !7, i64 0}
!82 = distinct !{!82, !68}
!83 = !{!16, !10, i64 16}
!84 = !{!85, !12, i64 0}
!85 = !{!"", !12, i64 0, !10, i64 8, !18, i64 16, !10, i64 24, !18, i64 32, !18, i64 40, !18, i64 48}
!86 = !{!85, !10, i64 8}
!87 = !{!85, !18, i64 16}
!88 = !{!85, !10, i64 24}
!89 = !{!85, !18, i64 32}
!90 = !{!85, !18, i64 40}
!91 = !{!85, !18, i64 48}
!92 = !{!16, !6, i64 1688}
!93 = !{!94, !10, i64 0}
!94 = !{!"s2n_offered_psk_list", !10, i64 0, !32, i64 8, !31, i64 48}
!95 = distinct !{!95, !68}
!96 = !{!25, !10, i64 0}
!97 = !{!25, !6, i64 8}
!98 = distinct !{!98, !68}
!99 = !{!16, !31, i64 1730}
!100 = !{!16, !10, i64 1736}
!101 = distinct !{!101, !68}
!102 = distinct !{!102, !68}
!103 = distinct !{!103, !68}
!104 = !{!16, !31, i64 3616}
!105 = !{!16, !6, i64 1744}
!106 = !{!107, !31, i64 26}
!107 = !{!"", !25, i64 0, !31, i64 24, !31, i64 26, !6, i64 28}
!108 = !{!16, !6, i64 2044}
!109 = !{!16, !6, i64 2040}
!110 = !{!56, !6, i64 40}
!111 = !{!56, !10, i64 32}
!112 = !{!56, !6, i64 16}
!113 = !{!56, !10, i64 8}


; 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_extension_type = type { i16, i8, i16, ptr, ptr, 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.anon = type { i64, i64, i32, i32 }
%struct.s2n_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%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_blob = type { ptr, i32, i32, i8 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_offered_psk_list = type { ptr, %struct.s2n_stuffer, i16 }
%struct.anon.1 = type { i8, ptr, i64, ptr, i64, i64, i64 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@s2n_client_psk_extension = external dso_local constant %struct.s2n_extension_type, align 8
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [88 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@__const.main.test_bytes_data = external hidden unnamed_addr constant [3 x i8], align 1
@__const.main.test_bytes_data_2 = external hidden unnamed_addr constant [3 x i8], align 1
@__const.main.test_identity = external hidden unnamed_addr constant [14 x i8], align 1
@__const.main.test_identity_2 = external hidden unnamed_addr constant [17 x i8], align 16
@__const.main.test_identity_3 = external hidden unnamed_addr constant [11 x i8], align 1
@__const.main.test_secret = external hidden unnamed_addr constant [12 x i8], align 1
@__const.main.single_wire_identity = external hidden unnamed_addr constant [9 x i8], align 1
@__const.main.wire_identities = external hidden unnamed_addr constant [40 x i8], align 16
@.str.8 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [35 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.21 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [29 x i8], align 1
@__const.main.test_cases = external hidden unnamed_addr constant [6 x %struct.anon], align 16
@.str.26 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_tls13_aes_256_gcm_sha384 = external global %struct.s2n_cipher_suite, align 8
@.str.53 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [92 x i8], align 1
@security_policy_test_tls13_retry = external constant %struct.s2n_security_policy, align 8
@.str.70 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [155 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [71 x i8], align 1
@__const.main.bad_identity_data = external hidden unnamed_addr constant [6 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [67 x i8], align 1
@__const.main.bad_identity_data.111 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [61 x i8], align 1
@__const.main.bad_identity_data.114 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [131 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [60 x i8], align 1
@__const.main.filler_binders = external hidden unnamed_addr constant [3 x i8], align 1
@__const.main.partial_client_hello_data = external hidden unnamed_addr constant [6 x i8], align 1
@__const.main.secret_data = external hidden unnamed_addr constant [7 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [63 x i8], align 1
@__const.main.client_hello_data = external hidden unnamed_addr constant [12 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.identity_bytes = external hidden unnamed_addr constant [1 x i8], align 1
@__const.main.extension_data = external hidden unnamed_addr constant [11 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [86 x i8], align 1
@__const.main.client_hello_prefix_data = external hidden unnamed_addr constant [7 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [78 x i8], align 1
@__const.main.other_client_data = external hidden unnamed_addr constant [18 x i8], align 16
@.str.215 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [111 x i8], align 1
@__const.main.other_server_data = external hidden unnamed_addr constant [18 x i8], align 16
@.str.219 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [191 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.255 = external hidden unnamed_addr constant [25 x i8], align 1

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [3 x i8], align 1
  %4 = alloca [3 x i8], align 1
  %5 = alloca [14 x i8], align 1
  %6 = alloca [17 x i8], align 16
  %7 = alloca [11 x i8], align 1
  %8 = alloca [12 x i8], align 1
  %9 = alloca [9 x i8], align 1
  %10 = alloca [40 x i8], align 16
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca %struct.s2n_psk, align 8
  %14 = alloca %struct.s2n_stuffer, align 8
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca i16, align 2
  %18 = alloca i16, align 2
  %19 = alloca i32, align 4
  %20 = alloca %struct.s2n_stuffer, align 8
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca i16, align 2
  %24 = alloca i16, align 2
  %25 = alloca i32, align 4
  %26 = alloca %struct.s2n_stuffer, align 8
  %27 = alloca ptr, align 8
  %28 = alloca i32, align 4
  %29 = alloca %struct.s2n_stuffer, align 8
  %30 = alloca ptr, align 8
  %31 = alloca i16, align 2
  %32 = alloca i16, align 2
  %33 = alloca i32, align 4
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca %struct.s2n_test_io_pair, align 8
  %39 = alloca ptr, align 8
  %40 = alloca i32, align 4
  %41 = alloca %struct.s2n_offered_psk_list, align 8
  %42 = alloca %struct.s2n_blob, align 8
  %43 = alloca %struct.s2n_blob, align 8
  %44 = alloca %struct.s2n_blob, align 8
  %45 = alloca [3 x ptr], align 16
  %46 = alloca [3 x ptr], align 16
  %47 = alloca [2 x ptr], align 16
  %48 = alloca [3 x ptr], align 16
  %49 = alloca [3 x ptr], align 16
  %50 = alloca [1 x ptr], align 8
  %51 = alloca [1 x ptr], align 8
  %52 = alloca [1 x ptr], align 8
  %53 = alloca [28 x %struct.anon.1], align 16
  %54 = alloca %struct.s2n_offered_psk_list, align 8
  %55 = alloca ptr, align 8
  %56 = alloca %struct.s2n_offered_psk_list, align 8
  %57 = alloca %struct.s2n_stuffer, align 8
  %58 = alloca %struct.s2n_offered_psk_list, align 8
  %59 = alloca %struct.s2n_stuffer, align 8
  %60 = alloca %struct.s2n_offered_psk_list, align 8
  %61 = alloca [6 x i8], align 1
  %62 = alloca %struct.s2n_blob, align 8
  %63 = alloca %struct.s2n_offered_psk_list, align 8
  %64 = alloca [6 x i8], align 1
  %65 = alloca %struct.s2n_blob, align 8
  %66 = alloca %struct.s2n_stuffer, align 8
  %67 = alloca [6 x i8], align 1
  %68 = alloca %struct.s2n_blob, align 8
  %69 = alloca %struct.s2n_offered_psk_list, align 8
  %70 = alloca %struct.s2n_stuffer, align 8
  %71 = alloca %struct.s2n_stuffer, align 8
  %72 = alloca %struct.s2n_stuffer, align 8
  %73 = alloca ptr, align 8
  %74 = alloca %struct.s2n_stuffer, align 8
  %75 = alloca ptr, align 8
  %76 = alloca %struct.s2n_stuffer, align 8
  %77 = alloca i16, align 2
  %78 = alloca ptr, align 8
  %79 = alloca %struct.s2n_stuffer, align 8
  %80 = alloca i16, align 2
  %81 = alloca ptr, align 8
  %82 = alloca %struct.s2n_stuffer, align 8
  %83 = alloca i16, align 2
  %84 = alloca ptr, align 8
  %85 = alloca %struct.s2n_blob, align 8
  %86 = alloca %struct.s2n_stuffer, align 8
  %87 = alloca %struct.s2n_stuffer, align 8
  %88 = alloca i16, align 2
  %89 = alloca %struct.s2n_stuffer, align 8
  %90 = alloca %struct.s2n_blob, align 8
  %91 = alloca %struct.s2n_blob, align 8
  %92 = alloca [3 x i8], align 1
  %93 = alloca [6 x i8], align 1
  %94 = alloca [7 x i8], align 1
  %95 = alloca [32 x i8], align 16
  %96 = alloca [32 x i8], align 16
  %97 = alloca %struct.s2n_blob, align 8
  %98 = alloca %struct.s2n_blob, align 8
  %99 = alloca %struct.s2n_blob, align 8
  %100 = alloca %struct.s2n_psk, align 8
  %101 = alloca %struct.s2n_stuffer, align 8
  %102 = alloca [1 x i8], align 1
  %103 = alloca %struct.s2n_stuffer, align 8
  %104 = alloca [12 x i8], align 1
  %105 = alloca i8, align 1
  %106 = alloca i8, align 1
  %107 = alloca [4 x i8], align 4
  %108 = alloca %struct.s2n_stuffer, align 8
  %109 = alloca [1 x i8], align 1
  %110 = alloca [11 x i8], align 1
  %111 = alloca %struct.s2n_stuffer, align 8
  %112 = alloca ptr, align 8
  %113 = alloca [1 x i8], align 1
  %114 = alloca %struct.s2n_stuffer, align 8
  %115 = alloca [1 x i8], align 1
  %116 = alloca %struct.s2n_stuffer, align 8
  %117 = alloca [1 x i8], align 1
  %118 = alloca %struct.s2n_stuffer, align 8
  %119 = alloca i8, align 1
  %120 = alloca %struct.s2n_stuffer, align 8
  %121 = alloca [7 x i8], align 1
  %122 = alloca ptr, align 8
  %123 = alloca ptr, align 8
  %124 = alloca %struct.s2n_test_io_pair, align 8
  %125 = alloca [18 x i8], align 16
  %126 = alloca ptr, align 8
  %127 = alloca [18 x i8], align 16
  %128 = alloca ptr, align 8
  %129 = alloca ptr, align 8
  %130 = alloca ptr, align 8
  %131 = alloca ptr, align 8
  %132 = alloca ptr, align 8
  %133 = alloca ptr, align 8
  %134 = alloca %struct.s2n_stuffer, align 8
  %135 = alloca %struct.s2n_stuffer, align 8
  %136 = alloca %struct.s2n_offered_psk_list, align 8
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i8, align 1
  %140 = alloca [32 x i8], align 16
  %141 = alloca [32 x i8], align 16
  %142 = alloca i32, align 4
  %143 = alloca i8, align 1
  %144 = alloca [32 x i8], align 16
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %145 = load ptr, ptr @stdout, align 8, !tbaa !9
  %146 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %145, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #13
  %147 = load ptr, ptr @stdout, align 8, !tbaa !9
  %148 = tail call i32 @fflush(ptr noundef %147)
  %149 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #13
  %150 = icmp eq i32 %149, -1
  br i1 %150, label %151, label %175

151:                                              ; preds = %2
  %152 = tail call ptr @__errno_location() #14
  %153 = load i32, ptr %152, align 4, !tbaa !5
  %154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %155 = tail call i32 @s2n_print_stacktrace(ptr noundef %154) #13
  %156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %157 = trunc nuw i8 %156 to i1
  br i1 %157, label %158, label %162

158:                                              ; preds = %151
  %159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %160 = tail call i32 @fileno(ptr noundef %159) #13
  %161 = tail call i32 @isatty(i32 noundef %160) #13
  %.not2256 = icmp eq i32 %161, 0
  br i1 %.not2256, label %162, label %163

162:                                              ; preds = %158, %151
  br label %163

163:                                              ; preds = %158, %162
  %.str.5.sink = phi ptr [ @.str.5, %162 ], [ @.str.2, %158 ]
  store i32 %153, ptr %152, align 4, !tbaa !5
  %164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %165 = load i32, ptr @test_count, align 4, !tbaa !5
  %166 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %167 = load i32, ptr %166, align 4, !tbaa !5
  %168 = tail call ptr @s2n_strerror(i32 noundef %167, ptr noundef nonnull @.str.4) #13
  %169 = load i32, ptr %166, align 4, !tbaa !5
  %170 = tail call ptr @s2n_strerror_debug(i32 noundef %169, ptr noundef nonnull @.str.4) #13
  %171 = load i32, ptr %152, align 4, !tbaa !5
  %172 = tail call ptr @strerror(i32 noundef %171) #13
  %173 = load i32, ptr %152, align 4, !tbaa !5
  %174 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %164, ptr noundef nonnull %.str.5.sink, i32 noundef %165, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %168, ptr noundef %170, ptr noundef %172, i32 noundef %173) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

175:                                              ; preds = %2
  %176 = load i32, ptr @test_count, align 4, !tbaa !5
  %177 = add nsw i32 %176, 1
  store i32 %177, ptr @test_count, align 4, !tbaa !5
  %178 = tail call i32 @s2n_enable_atexit() #13
  %179 = icmp eq i32 %178, -1
  br i1 %179, label %180, label %204

180:                                              ; preds = %175
  %181 = tail call ptr @__errno_location() #14
  %182 = load i32, ptr %181, align 4, !tbaa !5
  %183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %184 = tail call i32 @s2n_print_stacktrace(ptr noundef %183) #13
  %185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %186 = trunc nuw i8 %185 to i1
  br i1 %186, label %187, label %191

187:                                              ; preds = %180
  %188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %189 = tail call i32 @fileno(ptr noundef %188) #13
  %190 = tail call i32 @isatty(i32 noundef %189) #13
  %.not2255 = icmp eq i32 %190, 0
  br i1 %.not2255, label %191, label %192

191:                                              ; preds = %187, %180
  br label %192

192:                                              ; preds = %187, %191
  %.str.5.sink2315 = phi ptr [ @.str.5, %191 ], [ @.str.2, %187 ]
  store i32 %182, ptr %181, align 4, !tbaa !5
  %193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %194 = load i32, ptr @test_count, align 4, !tbaa !5
  %195 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %196 = load i32, ptr %195, align 4, !tbaa !5
  %197 = tail call ptr @s2n_strerror(i32 noundef %196, ptr noundef nonnull @.str.4) #13
  %198 = load i32, ptr %195, align 4, !tbaa !5
  %199 = tail call ptr @s2n_strerror_debug(i32 noundef %198, ptr noundef nonnull @.str.4) #13
  %200 = load i32, ptr %181, align 4, !tbaa !5
  %201 = tail call ptr @strerror(i32 noundef %200) #13
  %202 = load i32, ptr %181, align 4, !tbaa !5
  %203 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %193, ptr noundef nonnull %.str.5.sink2315, i32 noundef %194, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %197, ptr noundef %199, ptr noundef %201, i32 noundef %202) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

204:                                              ; preds = %175
  %205 = tail call i32 @s2n_init() #13
  %206 = icmp eq i32 %205, -1
  br i1 %206, label %207, label %231

207:                                              ; preds = %204
  %208 = tail call ptr @__errno_location() #14
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = tail call i32 @s2n_print_stacktrace(ptr noundef %210) #13
  %212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %213 = trunc nuw i8 %212 to i1
  br i1 %213, label %214, label %218

214:                                              ; preds = %207
  %215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %216 = tail call i32 @fileno(ptr noundef %215) #13
  %217 = tail call i32 @isatty(i32 noundef %216) #13
  %.not2254 = icmp eq i32 %217, 0
  br i1 %.not2254, label %218, label %219

218:                                              ; preds = %214, %207
  br label %219

219:                                              ; preds = %214, %218
  %.str.5.sink2326 = phi ptr [ @.str.5, %218 ], [ @.str.2, %214 ]
  store i32 %209, ptr %208, align 4, !tbaa !5
  %220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %221 = load i32, ptr @test_count, align 4, !tbaa !5
  %222 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %223 = load i32, ptr %222, align 4, !tbaa !5
  %224 = tail call ptr @s2n_strerror(i32 noundef %223, ptr noundef nonnull @.str.4) #13
  %225 = load i32, ptr %222, align 4, !tbaa !5
  %226 = tail call ptr @s2n_strerror_debug(i32 noundef %225, ptr noundef nonnull @.str.4) #13
  %227 = load i32, ptr %208, align 4, !tbaa !5
  %228 = tail call ptr @strerror(i32 noundef %227) #13
  %229 = load i32, ptr %208, align 4, !tbaa !5
  %230 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %220, ptr noundef nonnull %.str.5.sink2326, i32 noundef %221, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %224, ptr noundef %226, ptr noundef %228, i32 noundef %229) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

231:                                              ; preds = %204
  call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %3) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %3, ptr noundef nonnull align 1 dereferenceable(3) @__const.main.test_bytes_data, i64 3, i1 false)
  call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %4) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %4, ptr noundef nonnull align 1 dereferenceable(3) @__const.main.test_bytes_data_2, i64 3, i1 false)
  call void @llvm.lifetime.start.p0(i64 14, ptr nonnull %5) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(14) %5, ptr noundef nonnull align 1 dereferenceable(14) @__const.main.test_identity, i64 14, i1 false)
  call void @llvm.lifetime.start.p0(i64 17, ptr nonnull %6) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(17) %6, ptr noundef nonnull align 16 dereferenceable(17) @__const.main.test_identity_2, i64 17, i1 false)
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %7) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %7, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.test_identity_3, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %8) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %8, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.test_secret, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %9) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %9, ptr noundef nonnull align 1 dereferenceable(9) @__const.main.single_wire_identity, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %10, ptr noundef nonnull align 16 dereferenceable(40) @__const.main.wire_identities, i64 40, i1 false)
  %232 = load i32, ptr @test_count, align 4, !tbaa !5
  %233 = add nsw i32 %232, 1
  store i32 %233, ptr @test_count, align 4, !tbaa !5
  %234 = tail call ptr @s2n_connection_new(i32 noundef 0) #13
  %235 = icmp eq ptr %234, null
  br i1 %235, label %236, label %260

236:                                              ; preds = %231
  %237 = tail call ptr @__errno_location() #14
  %238 = load i32, ptr %237, align 4, !tbaa !5
  %239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %240 = tail call i32 @s2n_print_stacktrace(ptr noundef %239) #13
  %241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %242 = trunc nuw i8 %241 to i1
  br i1 %242, label %243, label %247

243:                                              ; preds = %236
  %244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %245 = tail call i32 @fileno(ptr noundef %244) #13
  %246 = tail call i32 @isatty(i32 noundef %245) #13
  %.not2253 = icmp eq i32 %246, 0
  br i1 %.not2253, label %247, label %248

247:                                              ; preds = %243, %236
  br label %248

248:                                              ; preds = %243, %247
  %.str.5.sink2337 = phi ptr [ @.str.5, %247 ], [ @.str.2, %243 ]
  store i32 %238, ptr %237, align 4, !tbaa !5
  %249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %250 = load i32, ptr @test_count, align 4, !tbaa !5
  %251 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %252 = load i32, ptr %251, align 4, !tbaa !5
  %253 = tail call ptr @s2n_strerror(i32 noundef %252, ptr noundef nonnull @.str.4) #13
  %254 = load i32, ptr %251, align 4, !tbaa !5
  %255 = tail call ptr @s2n_strerror_debug(i32 noundef %254, ptr noundef nonnull @.str.4) #13
  %256 = load i32, ptr %237, align 4, !tbaa !5
  %257 = tail call ptr @strerror(i32 noundef %256) #13
  %258 = load i32, ptr %237, align 4, !tbaa !5
  %259 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %249, ptr noundef nonnull %.str.5.sink2337, i32 noundef %250, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 137, ptr noundef %253, ptr noundef %255, ptr noundef %257, i32 noundef %258) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

260:                                              ; preds = %231
  %261 = getelementptr inbounds i8, ptr %234, i64 4088
  store i32 2, ptr %261, align 8, !tbaa !15
  %262 = load i32, ptr @test_count, align 4, !tbaa !5
  %263 = add nsw i32 %262, 1
  store i32 %263, ptr @test_count, align 4, !tbaa !5
  %264 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_psk_extension, i64 32), align 8, !tbaa !42
  %265 = tail call i32 %264(ptr noundef nonnull %234) #13
  %266 = icmp eq i32 %265, -1
  br i1 %266, label %267, label %291

267:                                              ; preds = %260
  %268 = tail call ptr @__errno_location() #14
  %269 = load i32, ptr %268, align 4, !tbaa !5
  %270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %271 = tail call i32 @s2n_print_stacktrace(ptr noundef %270) #13
  %272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %273 = trunc nuw i8 %272 to i1
  br i1 %273, label %274, label %278

274:                                              ; preds = %267
  %275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %276 = tail call i32 @fileno(ptr noundef %275) #13
  %277 = tail call i32 @isatty(i32 noundef %276) #13
  %.not2252 = icmp eq i32 %277, 0
  br i1 %.not2252, label %278, label %279

278:                                              ; preds = %274, %267
  br label %279

279:                                              ; preds = %274, %278
  %.str.5.sink2348 = phi ptr [ @.str.5, %278 ], [ @.str.2, %274 ]
  store i32 %269, ptr %268, align 4, !tbaa !5
  %280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %281 = load i32, ptr @test_count, align 4, !tbaa !5
  %282 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %283 = load i32, ptr %282, align 4, !tbaa !5
  %284 = tail call ptr @s2n_strerror(i32 noundef %283, ptr noundef nonnull @.str.4) #13
  %285 = load i32, ptr %282, align 4, !tbaa !5
  %286 = tail call ptr @s2n_strerror_debug(i32 noundef %285, ptr noundef nonnull @.str.4) #13
  %287 = load i32, ptr %268, align 4, !tbaa !5
  %288 = tail call ptr @strerror(i32 noundef %287) #13
  %289 = load i32, ptr %268, align 4, !tbaa !5
  %290 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %280, ptr noundef nonnull %.str.5.sink2348, i32 noundef %281, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %284, ptr noundef %286, ptr noundef %288, i32 noundef %289) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

291:                                              ; preds = %260
  store i32 1, ptr %261, align 8, !tbaa !15
  %292 = load i32, ptr @test_count, align 4, !tbaa !5
  %293 = add nsw i32 %292, 1
  store i32 %293, ptr @test_count, align 4, !tbaa !5
  %294 = tail call i32 %264(ptr noundef nonnull %234) #13
  %295 = icmp eq i32 %294, -1
  br i1 %295, label %320, label %296

296:                                              ; preds = %291
  %297 = tail call ptr @__errno_location() #14
  %298 = load i32, ptr %297, align 4, !tbaa !5
  %299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %300 = tail call i32 @s2n_print_stacktrace(ptr noundef %299) #13
  %301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %302 = trunc nuw i8 %301 to i1
  br i1 %302, label %303, label %307

303:                                              ; preds = %296
  %304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %305 = tail call i32 @fileno(ptr noundef %304) #13
  %306 = tail call i32 @isatty(i32 noundef %305) #13
  %.not = icmp eq i32 %306, 0
  br i1 %.not, label %307, label %308

307:                                              ; preds = %303, %296
  br label %308

308:                                              ; preds = %303, %307
  %.str.5.sink2359 = phi ptr [ @.str.5, %307 ], [ @.str.2, %303 ]
  store i32 %298, ptr %297, align 4, !tbaa !5
  %309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %310 = load i32, ptr @test_count, align 4, !tbaa !5
  %311 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %312 = load i32, ptr %311, align 4, !tbaa !5
  %313 = tail call ptr @s2n_strerror(i32 noundef %312, ptr noundef nonnull @.str.4) #13
  %314 = load i32, ptr %311, align 4, !tbaa !5
  %315 = tail call ptr @s2n_strerror_debug(i32 noundef %314, ptr noundef nonnull @.str.4) #13
  %316 = load i32, ptr %297, align 4, !tbaa !5
  %317 = tail call ptr @strerror(i32 noundef %316) #13
  %318 = load i32, ptr %297, align 4, !tbaa !5
  %319 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %309, ptr noundef nonnull %.str.5.sink2359, i32 noundef %310, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %313, ptr noundef %315, ptr noundef %317, i32 noundef %318) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

320:                                              ; preds = %291
  %321 = load i32, ptr @test_count, align 4, !tbaa !5
  %322 = add nsw i32 %321, 1
  store i32 %322, ptr @test_count, align 4, !tbaa !5
  %323 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %324 = load i32, ptr %323, align 4, !tbaa !5
  %325 = icmp eq i32 %324, 335544394
  br i1 %325, label %349, label %326

326:                                              ; preds = %320
  %327 = tail call ptr @__errno_location() #14
  %328 = load i32, ptr %327, align 4, !tbaa !5
  %329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %330 = tail call i32 @s2n_print_stacktrace(ptr noundef %329) #13
  %331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %332 = trunc nuw i8 %331 to i1
  br i1 %332, label %333, label %337

333:                                              ; preds = %326
  %334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %335 = tail call i32 @fileno(ptr noundef %334) #13
  %336 = tail call i32 @isatty(i32 noundef %335) #13
  %.not1691 = icmp eq i32 %336, 0
  br i1 %.not1691, label %337, label %338

337:                                              ; preds = %333, %326
  br label %338

338:                                              ; preds = %333, %337
  %.str.5.sink2370 = phi ptr [ @.str.5, %337 ], [ @.str.2, %333 ]
  store i32 %328, ptr %327, align 4, !tbaa !5
  %339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %340 = load i32, ptr @test_count, align 4, !tbaa !5
  %341 = load i32, ptr %323, align 4, !tbaa !5
  %342 = tail call ptr @s2n_strerror(i32 noundef %341, ptr noundef nonnull @.str.4) #13
  %343 = load i32, ptr %323, align 4, !tbaa !5
  %344 = tail call ptr @s2n_strerror_debug(i32 noundef %343, ptr noundef nonnull @.str.4) #13
  %345 = load i32, ptr %327, align 4, !tbaa !5
  %346 = tail call ptr @strerror(i32 noundef %345) #13
  %347 = load i32, ptr %327, align 4, !tbaa !5
  %348 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %339, ptr noundef nonnull %.str.5.sink2370, i32 noundef %340, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %342, ptr noundef %344, ptr noundef %346, i32 noundef %347) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

349:                                              ; preds = %320
  %350 = add nsw i32 %321, 2
  store i32 %350, ptr @test_count, align 4, !tbaa !5
  %351 = tail call ptr @s2n_strerror_debug(i32 noundef 335544394, ptr noundef nonnull @.str.4) #13
  %352 = icmp eq ptr %351, null
  br i1 %352, label %353, label %376

353:                                              ; preds = %349
  %354 = tail call ptr @__errno_location() #14
  %355 = load i32, ptr %354, align 4, !tbaa !5
  %356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %357 = tail call i32 @s2n_print_stacktrace(ptr noundef %356) #13
  %358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %359 = trunc nuw i8 %358 to i1
  br i1 %359, label %360, label %364

360:                                              ; preds = %353
  %361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %362 = tail call i32 @fileno(ptr noundef %361) #13
  %363 = tail call i32 @isatty(i32 noundef %362) #13
  %.not2251 = icmp eq i32 %363, 0
  br i1 %.not2251, label %364, label %365

364:                                              ; preds = %360, %353
  br label %365

365:                                              ; preds = %360, %364
  %.str.5.sink2379 = phi ptr [ @.str.5, %364 ], [ @.str.2, %360 ]
  store i32 %355, ptr %354, align 4, !tbaa !5
  %366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %367 = load i32, ptr @test_count, align 4, !tbaa !5
  %368 = load i32, ptr %323, align 4, !tbaa !5
  %369 = tail call ptr @s2n_strerror(i32 noundef %368, ptr noundef nonnull @.str.4) #13
  %370 = load i32, ptr %323, align 4, !tbaa !5
  %371 = tail call ptr @s2n_strerror_debug(i32 noundef %370, ptr noundef nonnull @.str.4) #13
  %372 = load i32, ptr %354, align 4, !tbaa !5
  %373 = tail call ptr @strerror(i32 noundef %372) #13
  %374 = load i32, ptr %354, align 4, !tbaa !5
  %375 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %366, ptr noundef nonnull %.str.5.sink2379, i32 noundef %367, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %369, ptr noundef %371, ptr noundef %373, i32 noundef %374) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

376:                                              ; preds = %349
  store i32 0, ptr %323, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #13
  %377 = tail call ptr @__errno_location() #14
  store i32 0, ptr %377, align 4, !tbaa !5
  %378 = load i32, ptr @test_count, align 4, !tbaa !5
  %379 = add nsw i32 %378, 1
  store i32 %379, ptr @test_count, align 4, !tbaa !5
  %380 = tail call i32 @s2n_connection_free(ptr noundef nonnull %234) #13
  %381 = icmp eq i32 %380, -1
  br i1 %381, label %382, label %404

382:                                              ; preds = %376
  %383 = load i32, ptr %377, align 4, !tbaa !5
  %384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %385 = tail call i32 @s2n_print_stacktrace(ptr noundef %384) #13
  %386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %387 = trunc nuw i8 %386 to i1
  br i1 %387, label %388, label %392

388:                                              ; preds = %382
  %389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %390 = tail call i32 @fileno(ptr noundef %389) #13
  %391 = tail call i32 @isatty(i32 noundef %390) #13
  %.not2250 = icmp eq i32 %391, 0
  br i1 %.not2250, label %392, label %393

392:                                              ; preds = %388, %382
  br label %393

393:                                              ; preds = %388, %392
  %.str.5.sink2388 = phi ptr [ @.str.5, %392 ], [ @.str.2, %388 ]
  store i32 %383, ptr %377, align 4, !tbaa !5
  %394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %395 = load i32, ptr @test_count, align 4, !tbaa !5
  %396 = load i32, ptr %323, align 4, !tbaa !5
  %397 = tail call ptr @s2n_strerror(i32 noundef %396, ptr noundef nonnull @.str.4) #13
  %398 = load i32, ptr %323, align 4, !tbaa !5
  %399 = tail call ptr @s2n_strerror_debug(i32 noundef %398, ptr noundef nonnull @.str.4) #13
  %400 = load i32, ptr %377, align 4, !tbaa !5
  %401 = tail call ptr @strerror(i32 noundef %400) #13
  %402 = load i32, ptr %377, align 4, !tbaa !5
  %403 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %394, ptr noundef nonnull %.str.5.sink2388, i32 noundef %395, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %397, ptr noundef %399, ptr noundef %401, i32 noundef %402) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

404:                                              ; preds = %376
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #13
  store ptr null, ptr %11, align 8, !tbaa !9
  %405 = load i32, ptr @test_count, align 4, !tbaa !5
  %406 = add nsw i32 %405, 1
  store i32 %406, ptr @test_count, align 4, !tbaa !5
  %407 = tail call ptr @s2n_connection_new(i32 noundef 1) #13
  %408 = icmp eq ptr %407, null
  br i1 %408, label %409, label %431

409:                                              ; preds = %404
  %410 = load i32, ptr %377, align 4, !tbaa !5
  %411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %412 = tail call i32 @s2n_print_stacktrace(ptr noundef %411) #13
  %413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %414 = trunc nuw i8 %413 to i1
  br i1 %414, label %415, label %419

415:                                              ; preds = %409
  %416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %417 = tail call i32 @fileno(ptr noundef %416) #13
  %418 = tail call i32 @isatty(i32 noundef %417) #13
  %.not2249 = icmp eq i32 %418, 0
  br i1 %.not2249, label %419, label %420

419:                                              ; preds = %415, %409
  br label %420

420:                                              ; preds = %415, %419
  %.str.5.sink2397 = phi ptr [ @.str.5, %419 ], [ @.str.2, %415 ]
  store i32 %410, ptr %377, align 4, !tbaa !5
  %421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %422 = load i32, ptr @test_count, align 4, !tbaa !5
  %423 = load i32, ptr %323, align 4, !tbaa !5
  %424 = tail call ptr @s2n_strerror(i32 noundef %423, ptr noundef nonnull @.str.4) #13
  %425 = load i32, ptr %323, align 4, !tbaa !5
  %426 = tail call ptr @s2n_strerror_debug(i32 noundef %425, ptr noundef nonnull @.str.4) #13
  %427 = load i32, ptr %377, align 4, !tbaa !5
  %428 = tail call ptr @strerror(i32 noundef %427) #13
  %429 = load i32, ptr %377, align 4, !tbaa !5
  %430 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %421, ptr noundef nonnull %.str.5.sink2397, i32 noundef %422, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %424, ptr noundef %426, ptr noundef %428, i32 noundef %429) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

431:                                              ; preds = %404
  %432 = load i32, ptr @test_count, align 4, !tbaa !5
  %433 = add nsw i32 %432, 1
  store i32 %433, ptr @test_count, align 4, !tbaa !5
  %434 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_psk_extension, i64 24), align 8, !tbaa !44
  %435 = tail call zeroext i1 %434(ptr noundef null) #13
  br i1 %435, label %436, label %458

436:                                              ; preds = %431
  %437 = load i32, ptr %377, align 4, !tbaa !5
  %438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %439 = tail call i32 @s2n_print_stacktrace(ptr noundef %438) #13
  %440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %441 = trunc nuw i8 %440 to i1
  br i1 %441, label %442, label %446

442:                                              ; preds = %436
  %443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %444 = tail call i32 @fileno(ptr noundef %443) #13
  %445 = tail call i32 @isatty(i32 noundef %444) #13
  %.not2248 = icmp eq i32 %445, 0
  br i1 %.not2248, label %446, label %447

446:                                              ; preds = %442, %436
  br label %447

447:                                              ; preds = %442, %446
  %.str.5.sink2406 = phi ptr [ @.str.5, %446 ], [ @.str.2, %442 ]
  store i32 %437, ptr %377, align 4, !tbaa !5
  %448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %449 = load i32, ptr @test_count, align 4, !tbaa !5
  %450 = load i32, ptr %323, align 4, !tbaa !5
  %451 = tail call ptr @s2n_strerror(i32 noundef %450, ptr noundef nonnull @.str.4) #13
  %452 = load i32, ptr %323, align 4, !tbaa !5
  %453 = tail call ptr @s2n_strerror_debug(i32 noundef %452, ptr noundef nonnull @.str.4) #13
  %454 = load i32, ptr %377, align 4, !tbaa !5
  %455 = tail call ptr @strerror(i32 noundef %454) #13
  %456 = load i32, ptr %377, align 4, !tbaa !5
  %457 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %448, ptr noundef nonnull %.str.5.sink2406, i32 noundef %449, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %451, ptr noundef %453, ptr noundef %455, i32 noundef %456) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

458:                                              ; preds = %431
  %459 = getelementptr inbounds i8, ptr %407, i64 220
  store i8 33, ptr %459, align 4, !tbaa !45
  %460 = load i32, ptr @test_count, align 4, !tbaa !5
  %461 = add nsw i32 %460, 1
  store i32 %461, ptr @test_count, align 4, !tbaa !5
  %462 = tail call zeroext i1 %434(ptr noundef nonnull %407) #13
  br i1 %462, label %463, label %485

463:                                              ; preds = %458
  %464 = load i32, ptr %377, align 4, !tbaa !5
  %465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %466 = tail call i32 @s2n_print_stacktrace(ptr noundef %465) #13
  %467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %468 = trunc nuw i8 %467 to i1
  br i1 %468, label %469, label %473

469:                                              ; preds = %463
  %470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %471 = tail call i32 @fileno(ptr noundef %470) #13
  %472 = tail call i32 @isatty(i32 noundef %471) #13
  %.not2247 = icmp eq i32 %472, 0
  br i1 %.not2247, label %473, label %474

473:                                              ; preds = %469, %463
  br label %474

474:                                              ; preds = %469, %473
  %.str.5.sink2415 = phi ptr [ @.str.5, %473 ], [ @.str.2, %469 ]
  store i32 %464, ptr %377, align 4, !tbaa !5
  %475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %476 = load i32, ptr @test_count, align 4, !tbaa !5
  %477 = load i32, ptr %323, align 4, !tbaa !5
  %478 = tail call ptr @s2n_strerror(i32 noundef %477, ptr noundef nonnull @.str.4) #13
  %479 = load i32, ptr %323, align 4, !tbaa !5
  %480 = tail call ptr @s2n_strerror_debug(i32 noundef %479, ptr noundef nonnull @.str.4) #13
  %481 = load i32, ptr %377, align 4, !tbaa !5
  %482 = tail call ptr @strerror(i32 noundef %481) #13
  %483 = load i32, ptr %377, align 4, !tbaa !5
  %484 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %475, ptr noundef nonnull %.str.5.sink2415, i32 noundef %476, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %478, ptr noundef %480, ptr noundef %482, i32 noundef %483) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

485:                                              ; preds = %458
  store i8 34, ptr %459, align 4, !tbaa !45
  %486 = load i32, ptr @test_count, align 4, !tbaa !5
  %487 = add nsw i32 %486, 1
  store i32 %487, ptr @test_count, align 4, !tbaa !5
  %488 = tail call zeroext i1 %434(ptr noundef nonnull %407) #13
  br i1 %488, label %489, label %511

489:                                              ; preds = %485
  %490 = load i32, ptr %377, align 4, !tbaa !5
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = tail call i32 @s2n_print_stacktrace(ptr noundef %491) #13
  %493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %494 = trunc nuw i8 %493 to i1
  br i1 %494, label %495, label %499

495:                                              ; preds = %489
  %496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %497 = tail call i32 @fileno(ptr noundef %496) #13
  %498 = tail call i32 @isatty(i32 noundef %497) #13
  %.not2246 = icmp eq i32 %498, 0
  br i1 %.not2246, label %499, label %500

499:                                              ; preds = %495, %489
  br label %500

500:                                              ; preds = %495, %499
  %.str.5.sink2424 = phi ptr [ @.str.5, %499 ], [ @.str.2, %495 ]
  store i32 %490, ptr %377, align 4, !tbaa !5
  %501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %502 = load i32, ptr @test_count, align 4, !tbaa !5
  %503 = load i32, ptr %323, align 4, !tbaa !5
  %504 = tail call ptr @s2n_strerror(i32 noundef %503, ptr noundef nonnull @.str.4) #13
  %505 = load i32, ptr %323, align 4, !tbaa !5
  %506 = tail call ptr @s2n_strerror_debug(i32 noundef %505, ptr noundef nonnull @.str.4) #13
  %507 = load i32, ptr %377, align 4, !tbaa !5
  %508 = tail call ptr @strerror(i32 noundef %507) #13
  %509 = load i32, ptr %377, align 4, !tbaa !5
  %510 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %501, ptr noundef nonnull %.str.5.sink2424, i32 noundef %502, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %504, ptr noundef %506, ptr noundef %508, i32 noundef %509) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

511:                                              ; preds = %485
  %512 = load i32, ptr @test_count, align 4, !tbaa !5
  %513 = add nsw i32 %512, 1
  store i32 %513, ptr @test_count, align 4, !tbaa !5
  %514 = getelementptr inbounds i8, ptr %407, i64 1696
  %515 = call i32 @s2n_array_pushback(ptr noundef nonnull %514, ptr noundef nonnull %11) #13
  %516 = call zeroext i1 @s2n_result_is_ok(i32 %515)
  br i1 %516, label %539, label %517

517:                                              ; preds = %511
  %518 = load i32, ptr %377, align 4, !tbaa !5
  %519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %520 = call i32 @s2n_print_stacktrace(ptr noundef %519) #13
  %521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %522 = trunc nuw i8 %521 to i1
  br i1 %522, label %523, label %527

523:                                              ; preds = %517
  %524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %525 = call i32 @fileno(ptr noundef %524) #13
  %526 = call i32 @isatty(i32 noundef %525) #13
  %.not1692 = icmp eq i32 %526, 0
  br i1 %.not1692, label %527, label %528

527:                                              ; preds = %523, %517
  br label %528

528:                                              ; preds = %523, %527
  %.str.5.sink2433 = phi ptr [ @.str.5, %527 ], [ @.str.2, %523 ]
  store i32 %518, ptr %377, align 4, !tbaa !5
  %529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %530 = load i32, ptr @test_count, align 4, !tbaa !5
  %531 = load i32, ptr %323, align 4, !tbaa !5
  %532 = call ptr @s2n_strerror(i32 noundef %531, ptr noundef nonnull @.str.4) #13
  %533 = load i32, ptr %323, align 4, !tbaa !5
  %534 = call ptr @s2n_strerror_debug(i32 noundef %533, ptr noundef nonnull @.str.4) #13
  %535 = load i32, ptr %377, align 4, !tbaa !5
  %536 = call ptr @strerror(i32 noundef %535) #13
  %537 = load i32, ptr %377, align 4, !tbaa !5
  %538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %529, ptr noundef nonnull %.str.5.sink2433, i32 noundef %530, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %532, ptr noundef %534, ptr noundef %536, i32 noundef %537) #15
  call void @exit(i32 noundef 1) #16
  unreachable

539:                                              ; preds = %511
  store i8 33, ptr %459, align 4, !tbaa !45
  %540 = load i32, ptr @test_count, align 4, !tbaa !5
  %541 = add nsw i32 %540, 1
  store i32 %541, ptr @test_count, align 4, !tbaa !5
  %542 = call i32 @s2n_extension_send(ptr noundef nonnull @s2n_client_psk_extension, ptr noundef nonnull %407, ptr noundef null) #13
  %543 = icmp eq i32 %542, -1
  br i1 %543, label %544, label %566

544:                                              ; preds = %539
  %545 = load i32, ptr %377, align 4, !tbaa !5
  %546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %547 = call i32 @s2n_print_stacktrace(ptr noundef %546) #13
  %548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %549 = trunc nuw i8 %548 to i1
  br i1 %549, label %550, label %554

550:                                              ; preds = %544
  %551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %552 = call i32 @fileno(ptr noundef %551) #13
  %553 = call i32 @isatty(i32 noundef %552) #13
  %.not2245 = icmp eq i32 %553, 0
  br i1 %.not2245, label %554, label %555

554:                                              ; preds = %550, %544
  br label %555

555:                                              ; preds = %550, %554
  %.str.5.sink2442 = phi ptr [ @.str.5, %554 ], [ @.str.2, %550 ]
  store i32 %545, ptr %377, align 4, !tbaa !5
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = load i32, ptr @test_count, align 4, !tbaa !5
  %558 = load i32, ptr %323, align 4, !tbaa !5
  %559 = call ptr @s2n_strerror(i32 noundef %558, ptr noundef nonnull @.str.4) #13
  %560 = load i32, ptr %323, align 4, !tbaa !5
  %561 = call ptr @s2n_strerror_debug(i32 noundef %560, ptr noundef nonnull @.str.4) #13
  %562 = load i32, ptr %377, align 4, !tbaa !5
  %563 = call ptr @strerror(i32 noundef %562) #13
  %564 = load i32, ptr %377, align 4, !tbaa !5
  %565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %556, ptr noundef nonnull %.str.5.sink2442, i32 noundef %557, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %559, ptr noundef %561, ptr noundef %563, i32 noundef %564) #15
  call void @exit(i32 noundef 1) #16
  unreachable

566:                                              ; preds = %539
  store i8 34, ptr %459, align 4, !tbaa !45
  %567 = load i32, ptr @test_count, align 4, !tbaa !5
  %568 = add nsw i32 %567, 1
  store i32 %568, ptr @test_count, align 4, !tbaa !5
  %569 = call i32 @s2n_extension_send(ptr noundef nonnull @s2n_client_psk_extension, ptr noundef nonnull %407, ptr noundef null) #13
  %570 = icmp eq i32 %569, -1
  br i1 %570, label %593, label %571

571:                                              ; preds = %566
  %572 = load i32, ptr %377, align 4, !tbaa !5
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = call i32 @s2n_print_stacktrace(ptr noundef %573) #13
  %575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %576 = trunc nuw i8 %575 to i1
  br i1 %576, label %577, label %581

577:                                              ; preds = %571
  %578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %579 = call i32 @fileno(ptr noundef %578) #13
  %580 = call i32 @isatty(i32 noundef %579) #13
  %.not1693 = icmp eq i32 %580, 0
  br i1 %.not1693, label %581, label %582

581:                                              ; preds = %577, %571
  br label %582

582:                                              ; preds = %577, %581
  %.str.5.sink2451 = phi ptr [ @.str.5, %581 ], [ @.str.2, %577 ]
  store i32 %572, ptr %377, align 4, !tbaa !5
  %583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %584 = load i32, ptr @test_count, align 4, !tbaa !5
  %585 = load i32, ptr %323, align 4, !tbaa !5
  %586 = call ptr @s2n_strerror(i32 noundef %585, ptr noundef nonnull @.str.4) #13
  %587 = load i32, ptr %323, align 4, !tbaa !5
  %588 = call ptr @s2n_strerror_debug(i32 noundef %587, ptr noundef nonnull @.str.4) #13
  %589 = load i32, ptr %377, align 4, !tbaa !5
  %590 = call ptr @strerror(i32 noundef %589) #13
  %591 = load i32, ptr %377, align 4, !tbaa !5
  %592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %583, ptr noundef nonnull %.str.5.sink2451, i32 noundef %584, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %586, ptr noundef %588, ptr noundef %590, i32 noundef %591) #15
  call void @exit(i32 noundef 1) #16
  unreachable

593:                                              ; preds = %566
  %594 = load i32, ptr @test_count, align 4, !tbaa !5
  %595 = add nsw i32 %594, 1
  store i32 %595, ptr @test_count, align 4, !tbaa !5
  %596 = load i32, ptr %323, align 4, !tbaa !5
  %597 = icmp eq i32 %596, 0
  br i1 %597, label %598, label %620

598:                                              ; preds = %593
  %599 = load i32, ptr %377, align 4, !tbaa !5
  %600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %601 = call i32 @s2n_print_stacktrace(ptr noundef %600) #13
  %602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %603 = trunc nuw i8 %602 to i1
  br i1 %603, label %604, label %608

604:                                              ; preds = %598
  %605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %606 = call i32 @fileno(ptr noundef %605) #13
  %607 = call i32 @isatty(i32 noundef %606) #13
  %.not2244 = icmp eq i32 %607, 0
  br i1 %.not2244, label %608, label %609

608:                                              ; preds = %604, %598
  br label %609

609:                                              ; preds = %604, %608
  %.str.5.sink2460 = phi ptr [ @.str.5, %608 ], [ @.str.2, %604 ]
  store i32 %599, ptr %377, align 4, !tbaa !5
  %610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %611 = load i32, ptr @test_count, align 4, !tbaa !5
  %612 = load i32, ptr %323, align 4, !tbaa !5
  %613 = call ptr @s2n_strerror(i32 noundef %612, ptr noundef nonnull @.str.4) #13
  %614 = load i32, ptr %323, align 4, !tbaa !5
  %615 = call ptr @s2n_strerror_debug(i32 noundef %614, ptr noundef nonnull @.str.4) #13
  %616 = load i32, ptr %377, align 4, !tbaa !5
  %617 = call ptr @strerror(i32 noundef %616) #13
  %618 = load i32, ptr %377, align 4, !tbaa !5
  %619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %610, ptr noundef nonnull %.str.5.sink2460, i32 noundef %611, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %613, ptr noundef %615, ptr noundef %617, i32 noundef %618) #15
  call void @exit(i32 noundef 1) #16
  unreachable

620:                                              ; preds = %593
  %621 = add nsw i32 %594, 2
  store i32 %621, ptr @test_count, align 4, !tbaa !5
  %622 = call ptr @s2n_strerror_debug(i32 noundef %596, ptr noundef nonnull @.str.4) #13
  %623 = icmp eq ptr %622, null
  br i1 %623, label %624, label %646

624:                                              ; preds = %620
  %625 = load i32, ptr %377, align 4, !tbaa !5
  %626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %627 = call i32 @s2n_print_stacktrace(ptr noundef %626) #13
  %628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %629 = trunc nuw i8 %628 to i1
  br i1 %629, label %630, label %634

630:                                              ; preds = %624
  %631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %632 = call i32 @fileno(ptr noundef %631) #13
  %633 = call i32 @isatty(i32 noundef %632) #13
  %.not2243 = icmp eq i32 %633, 0
  br i1 %.not2243, label %634, label %635

634:                                              ; preds = %630, %624
  br label %635

635:                                              ; preds = %630, %634
  %.str.5.sink2469 = phi ptr [ @.str.5, %634 ], [ @.str.2, %630 ]
  store i32 %625, ptr %377, align 4, !tbaa !5
  %636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %637 = load i32, ptr @test_count, align 4, !tbaa !5
  %638 = load i32, ptr %323, align 4, !tbaa !5
  %639 = call ptr @s2n_strerror(i32 noundef %638, ptr noundef nonnull @.str.4) #13
  %640 = load i32, ptr %323, align 4, !tbaa !5
  %641 = call ptr @s2n_strerror_debug(i32 noundef %640, ptr noundef nonnull @.str.4) #13
  %642 = load i32, ptr %377, align 4, !tbaa !5
  %643 = call ptr @strerror(i32 noundef %642) #13
  %644 = load i32, ptr %377, align 4, !tbaa !5
  %645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %636, ptr noundef nonnull %.str.5.sink2469, i32 noundef %637, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %639, ptr noundef %641, ptr noundef %643, i32 noundef %644) #15
  call void @exit(i32 noundef 1) #16
  unreachable

646:                                              ; preds = %620
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %647 = getelementptr inbounds i8, ptr %407, i64 232
  %648 = load ptr, ptr %647, align 8, !tbaa !46
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %648, align 8, !tbaa !47
  %649 = load i32, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_128_gcm_sha256, i64 96), align 8, !tbaa !52
  %650 = add i32 %649, 1
  %651 = getelementptr inbounds i8, ptr %407, i64 2172
  store i32 0, ptr %651, align 4, !tbaa !54
  %652 = load ptr, ptr %11, align 8, !tbaa !9
  %653 = getelementptr inbounds i8, ptr %652, i64 56
  store i32 %650, ptr %653, align 8, !tbaa !55
  %654 = load i32, ptr @test_count, align 4, !tbaa !5
  %655 = add nsw i32 %654, 1
  store i32 %655, ptr @test_count, align 4, !tbaa !5
  %656 = call zeroext i1 %434(ptr noundef nonnull %407) #13
  br i1 %656, label %679, label %657

657:                                              ; preds = %646
  %658 = load i32, ptr %377, align 4, !tbaa !5
  %659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %660 = call i32 @s2n_print_stacktrace(ptr noundef %659) #13
  %661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %662 = trunc nuw i8 %661 to i1
  br i1 %662, label %663, label %667

663:                                              ; preds = %657
  %664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %665 = call i32 @fileno(ptr noundef %664) #13
  %666 = call i32 @isatty(i32 noundef %665) #13
  %.not1694 = icmp eq i32 %666, 0
  br i1 %.not1694, label %667, label %668

667:                                              ; preds = %663, %657
  br label %668

668:                                              ; preds = %663, %667
  %.str.5.sink2478 = phi ptr [ @.str.5, %667 ], [ @.str.2, %663 ]
  store i32 %658, ptr %377, align 4, !tbaa !5
  %669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %670 = load i32, ptr @test_count, align 4, !tbaa !5
  %671 = load i32, ptr %323, align 4, !tbaa !5
  %672 = call ptr @s2n_strerror(i32 noundef %671, ptr noundef nonnull @.str.4) #13
  %673 = load i32, ptr %323, align 4, !tbaa !5
  %674 = call ptr @s2n_strerror_debug(i32 noundef %673, ptr noundef nonnull @.str.4) #13
  %675 = load i32, ptr %377, align 4, !tbaa !5
  %676 = call ptr @strerror(i32 noundef %675) #13
  %677 = load i32, ptr %377, align 4, !tbaa !5
  %678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %669, ptr noundef nonnull %.str.5.sink2478, i32 noundef %670, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %672, ptr noundef %674, ptr noundef %676, i32 noundef %677) #15
  call void @exit(i32 noundef 1) #16
  unreachable

679:                                              ; preds = %646
  store i32 16, ptr %651, align 4, !tbaa !54
  %680 = load ptr, ptr %11, align 8, !tbaa !9
  %681 = getelementptr inbounds i8, ptr %680, i64 56
  store i32 %649, ptr %681, align 8, !tbaa !55
  %682 = load i32, ptr @test_count, align 4, !tbaa !5
  %683 = add nsw i32 %682, 1
  store i32 %683, ptr @test_count, align 4, !tbaa !5
  %684 = call zeroext i1 %434(ptr noundef nonnull %407) #13
  br i1 %684, label %707, label %685

685:                                              ; preds = %679
  %686 = load i32, ptr %377, align 4, !tbaa !5
  %687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %688 = call i32 @s2n_print_stacktrace(ptr noundef %687) #13
  %689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %690 = trunc nuw i8 %689 to i1
  br i1 %690, label %691, label %695

691:                                              ; preds = %685
  %692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %693 = call i32 @fileno(ptr noundef %692) #13
  %694 = call i32 @isatty(i32 noundef %693) #13
  %.not1695 = icmp eq i32 %694, 0
  br i1 %.not1695, label %695, label %696

695:                                              ; preds = %691, %685
  br label %696

696:                                              ; preds = %691, %695
  %.str.5.sink2487 = phi ptr [ @.str.5, %695 ], [ @.str.2, %691 ]
  store i32 %686, ptr %377, align 4, !tbaa !5
  %697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %698 = load i32, ptr @test_count, align 4, !tbaa !5
  %699 = load i32, ptr %323, align 4, !tbaa !5
  %700 = call ptr @s2n_strerror(i32 noundef %699, ptr noundef nonnull @.str.4) #13
  %701 = load i32, ptr %323, align 4, !tbaa !5
  %702 = call ptr @s2n_strerror_debug(i32 noundef %701, ptr noundef nonnull @.str.4) #13
  %703 = load i32, ptr %377, align 4, !tbaa !5
  %704 = call ptr @strerror(i32 noundef %703) #13
  %705 = load i32, ptr %377, align 4, !tbaa !5
  %706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %697, ptr noundef nonnull %.str.5.sink2487, i32 noundef %698, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %700, ptr noundef %702, ptr noundef %704, i32 noundef %705) #15
  call void @exit(i32 noundef 1) #16
  unreachable

707:                                              ; preds = %679
  store i32 16, ptr %651, align 4, !tbaa !54
  %708 = load ptr, ptr %11, align 8, !tbaa !9
  %709 = getelementptr inbounds i8, ptr %708, i64 56
  store i32 %650, ptr %709, align 8, !tbaa !55
  %710 = load i32, ptr @test_count, align 4, !tbaa !5
  %711 = add nsw i32 %710, 1
  store i32 %711, ptr @test_count, align 4, !tbaa !5
  %712 = call zeroext i1 %434(ptr noundef nonnull %407) #13
  br i1 %712, label %713, label %735

713:                                              ; preds = %707
  %714 = load i32, ptr %377, align 4, !tbaa !5
  %715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %716 = call i32 @s2n_print_stacktrace(ptr noundef %715) #13
  %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) #13
  %722 = call i32 @isatty(i32 noundef %721) #13
  %.not2242 = icmp eq i32 %722, 0
  br i1 %.not2242, label %723, label %724

723:                                              ; preds = %719, %713
  br label %724

724:                                              ; preds = %719, %723
  %.str.5.sink2496 = phi ptr [ @.str.5, %723 ], [ @.str.2, %719 ]
  store i32 %714, ptr %377, 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 %323, align 4, !tbaa !5
  %728 = call ptr @s2n_strerror(i32 noundef %727, ptr noundef nonnull @.str.4) #13
  %729 = load i32, ptr %323, align 4, !tbaa !5
  %730 = call ptr @s2n_strerror_debug(i32 noundef %729, ptr noundef nonnull @.str.4) #13
  %731 = load i32, ptr %377, align 4, !tbaa !5
  %732 = call ptr @strerror(i32 noundef %731) #13
  %733 = load i32, ptr %377, align 4, !tbaa !5
  %734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %725, ptr noundef nonnull %.str.5.sink2496, i32 noundef %726, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %728, ptr noundef %730, ptr noundef %732, i32 noundef %733) #15
  call void @exit(i32 noundef 1) #16
  unreachable

735:                                              ; preds = %707
  store i32 16, ptr %651, align 4, !tbaa !54
  %736 = load ptr, ptr %11, align 8, !tbaa !9
  %737 = getelementptr inbounds i8, ptr %736, i64 56
  store i32 %650, ptr %737, align 8, !tbaa !55
  %738 = load i32, ptr @test_count, align 4, !tbaa !5
  %739 = add nsw i32 %738, 1
  store i32 %739, ptr @test_count, align 4, !tbaa !5
  %740 = call i32 @s2n_array_pushback(ptr noundef nonnull %514, ptr noundef nonnull %11) #13
  %741 = call zeroext i1 @s2n_result_is_ok(i32 %740)
  br i1 %741, label %764, label %742

742:                                              ; preds = %735
  %743 = load i32, ptr %377, align 4, !tbaa !5
  %744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %745 = call i32 @s2n_print_stacktrace(ptr noundef %744) #13
  %746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %747 = trunc nuw i8 %746 to i1
  br i1 %747, label %748, label %752

748:                                              ; preds = %742
  %749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %750 = call i32 @fileno(ptr noundef %749) #13
  %751 = call i32 @isatty(i32 noundef %750) #13
  %.not1696 = icmp eq i32 %751, 0
  br i1 %.not1696, label %752, label %753

752:                                              ; preds = %748, %742
  br label %753

753:                                              ; preds = %748, %752
  %.str.5.sink2505 = phi ptr [ @.str.5, %752 ], [ @.str.2, %748 ]
  store i32 %743, ptr %377, align 4, !tbaa !5
  %754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %755 = load i32, ptr @test_count, align 4, !tbaa !5
  %756 = load i32, ptr %323, align 4, !tbaa !5
  %757 = call ptr @s2n_strerror(i32 noundef %756, ptr noundef nonnull @.str.4) #13
  %758 = load i32, ptr %323, align 4, !tbaa !5
  %759 = call ptr @s2n_strerror_debug(i32 noundef %758, ptr noundef nonnull @.str.4) #13
  %760 = load i32, ptr %377, align 4, !tbaa !5
  %761 = call ptr @strerror(i32 noundef %760) #13
  %762 = load i32, ptr %377, align 4, !tbaa !5
  %763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %754, ptr noundef nonnull %.str.5.sink2505, i32 noundef %755, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %757, ptr noundef %759, ptr noundef %761, i32 noundef %762) #15
  call void @exit(i32 noundef 1) #16
  unreachable

764:                                              ; preds = %735
  %765 = load ptr, ptr %11, align 8, !tbaa !9
  %766 = getelementptr inbounds i8, ptr %765, i64 56
  store i32 %649, ptr %766, align 8, !tbaa !55
  %767 = load i32, ptr @test_count, align 4, !tbaa !5
  %768 = add nsw i32 %767, 1
  store i32 %768, ptr @test_count, align 4, !tbaa !5
  %769 = call zeroext i1 %434(ptr noundef nonnull %407) #13
  br i1 %769, label %792, label %770

770:                                              ; preds = %764
  %771 = load i32, ptr %377, align 4, !tbaa !5
  %772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %773 = call i32 @s2n_print_stacktrace(ptr noundef %772) #13
  %774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %775 = trunc nuw i8 %774 to i1
  br i1 %775, label %776, label %780

776:                                              ; preds = %770
  %777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %778 = call i32 @fileno(ptr noundef %777) #13
  %779 = call i32 @isatty(i32 noundef %778) #13
  %.not1697 = icmp eq i32 %779, 0
  br i1 %.not1697, label %780, label %781

780:                                              ; preds = %776, %770
  br label %781

781:                                              ; preds = %776, %780
  %.str.5.sink2514 = phi ptr [ @.str.5, %780 ], [ @.str.2, %776 ]
  store i32 %771, ptr %377, align 4, !tbaa !5
  %782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %783 = load i32, ptr @test_count, align 4, !tbaa !5
  %784 = load i32, ptr %323, align 4, !tbaa !5
  %785 = call ptr @s2n_strerror(i32 noundef %784, ptr noundef nonnull @.str.4) #13
  %786 = load i32, ptr %323, align 4, !tbaa !5
  %787 = call ptr @s2n_strerror_debug(i32 noundef %786, ptr noundef nonnull @.str.4) #13
  %788 = load i32, ptr %377, align 4, !tbaa !5
  %789 = call ptr @strerror(i32 noundef %788) #13
  %790 = load i32, ptr %377, align 4, !tbaa !5
  %791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %782, ptr noundef nonnull %.str.5.sink2514, i32 noundef %783, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %785, ptr noundef %787, ptr noundef %789, i32 noundef %790) #15
  call void @exit(i32 noundef 1) #16
  unreachable

792:                                              ; preds = %764
  %793 = load i32, ptr @test_count, align 4, !tbaa !5
  %794 = add nsw i32 %793, 1
  store i32 %794, ptr @test_count, align 4, !tbaa !5
  %795 = call i32 @s2n_connection_free(ptr noundef nonnull %407) #13
  %796 = icmp eq i32 %795, -1
  br i1 %796, label %797, label %819

797:                                              ; preds = %792
  %798 = load i32, ptr %377, align 4, !tbaa !5
  %799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %800 = call i32 @s2n_print_stacktrace(ptr noundef %799) #13
  %801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %802 = trunc nuw i8 %801 to i1
  br i1 %802, label %803, label %807

803:                                              ; preds = %797
  %804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %805 = call i32 @fileno(ptr noundef %804) #13
  %806 = call i32 @isatty(i32 noundef %805) #13
  %.not2241 = icmp eq i32 %806, 0
  br i1 %.not2241, label %807, label %808

807:                                              ; preds = %803, %797
  br label %808

808:                                              ; preds = %803, %807
  %.str.5.sink2523 = phi ptr [ @.str.5, %807 ], [ @.str.2, %803 ]
  store i32 %798, ptr %377, align 4, !tbaa !5
  %809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %810 = load i32, ptr @test_count, align 4, !tbaa !5
  %811 = load i32, ptr %323, align 4, !tbaa !5
  %812 = call ptr @s2n_strerror(i32 noundef %811, ptr noundef nonnull @.str.4) #13
  %813 = load i32, ptr %323, align 4, !tbaa !5
  %814 = call ptr @s2n_strerror_debug(i32 noundef %813, ptr noundef nonnull @.str.4) #13
  %815 = load i32, ptr %377, align 4, !tbaa !5
  %816 = call ptr @strerror(i32 noundef %815) #13
  %817 = load i32, ptr %377, align 4, !tbaa !5
  %818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %809, ptr noundef nonnull %.str.5.sink2523, i32 noundef %810, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %812, ptr noundef %814, ptr noundef %816, i32 noundef %817) #15
  call void @exit(i32 noundef 1) #16
  unreachable

819:                                              ; preds = %792
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #13
  store i32 0, ptr %12, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %13) #13
  %820 = getelementptr inbounds i8, ptr %13, i64 64
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %13, i8 0, i64 168, i1 false)
  store i64 10, ptr %820, align 8, !tbaa !58
  %821 = load i32, ptr @test_count, align 4, !tbaa !5
  %822 = add nsw i32 %821, 1
  store i32 %822, ptr @test_count, align 4, !tbaa !5
  %823 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef nonnull %13, i64 noundef 0, ptr noundef nonnull %12)
  %824 = call zeroext i1 @s2n_result_is_error(i32 %823)
  br i1 %824, label %847, label %825

825:                                              ; preds = %819
  %826 = load i32, ptr %377, align 4, !tbaa !5
  %827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %828 = call i32 @s2n_print_stacktrace(ptr noundef %827) #13
  %829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %830 = trunc nuw i8 %829 to i1
  br i1 %830, label %831, label %835

831:                                              ; preds = %825
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = call i32 @fileno(ptr noundef %832) #13
  %834 = call i32 @isatty(i32 noundef %833) #13
  %.not1698 = icmp eq i32 %834, 0
  br i1 %.not1698, label %835, label %836

835:                                              ; preds = %831, %825
  br label %836

836:                                              ; preds = %831, %835
  %.str.5.sink2532 = phi ptr [ @.str.5, %835 ], [ @.str.2, %831 ]
  store i32 %826, ptr %377, align 4, !tbaa !5
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = load i32, ptr @test_count, align 4, !tbaa !5
  %839 = load i32, ptr %323, align 4, !tbaa !5
  %840 = call ptr @s2n_strerror(i32 noundef %839, ptr noundef nonnull @.str.4) #13
  %841 = load i32, ptr %323, align 4, !tbaa !5
  %842 = call ptr @s2n_strerror_debug(i32 noundef %841, ptr noundef nonnull @.str.4) #13
  %843 = load i32, ptr %377, align 4, !tbaa !5
  %844 = call ptr @strerror(i32 noundef %843) #13
  %845 = load i32, ptr %377, align 4, !tbaa !5
  %846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %837, ptr noundef nonnull %.str.5.sink2532, i32 noundef %838, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %840, ptr noundef %842, ptr noundef %844, i32 noundef %845) #15
  call void @exit(i32 noundef 1) #16
  unreachable

847:                                              ; preds = %819
  %848 = load i32, ptr @test_count, align 4, !tbaa !5
  %849 = add nsw i32 %848, 1
  store i32 %849, ptr @test_count, align 4, !tbaa !5
  %850 = load i32, ptr %323, align 4, !tbaa !5
  %851 = icmp eq i32 %850, 402653194
  br i1 %851, label %874, label %852

852:                                              ; preds = %847
  %853 = load i32, ptr %377, align 4, !tbaa !5
  %854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %855 = call i32 @s2n_print_stacktrace(ptr noundef %854) #13
  %856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %857 = trunc nuw i8 %856 to i1
  br i1 %857, label %858, label %862

858:                                              ; preds = %852
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = call i32 @fileno(ptr noundef %859) #13
  %861 = call i32 @isatty(i32 noundef %860) #13
  %.not1699 = icmp eq i32 %861, 0
  br i1 %.not1699, label %862, label %863

862:                                              ; preds = %858, %852
  br label %863

863:                                              ; preds = %858, %862
  %.str.5.sink2541 = phi ptr [ @.str.5, %862 ], [ @.str.2, %858 ]
  store i32 %853, ptr %377, align 4, !tbaa !5
  %864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %865 = load i32, ptr @test_count, align 4, !tbaa !5
  %866 = load i32, ptr %323, align 4, !tbaa !5
  %867 = call ptr @s2n_strerror(i32 noundef %866, ptr noundef nonnull @.str.4) #13
  %868 = load i32, ptr %323, align 4, !tbaa !5
  %869 = call ptr @s2n_strerror_debug(i32 noundef %868, ptr noundef nonnull @.str.4) #13
  %870 = load i32, ptr %377, align 4, !tbaa !5
  %871 = call ptr @strerror(i32 noundef %870) #13
  %872 = load i32, ptr %377, align 4, !tbaa !5
  %873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %864, ptr noundef nonnull %.str.5.sink2541, i32 noundef %865, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %867, ptr noundef %869, ptr noundef %871, i32 noundef %872) #15
  call void @exit(i32 noundef 1) #16
  unreachable

874:                                              ; preds = %847
  %875 = add nsw i32 %848, 2
  store i32 %875, ptr @test_count, align 4, !tbaa !5
  %876 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.4) #13
  %877 = icmp eq ptr %876, null
  br i1 %877, label %878, label %900

878:                                              ; preds = %874
  %879 = load i32, ptr %377, align 4, !tbaa !5
  %880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %881 = call i32 @s2n_print_stacktrace(ptr noundef %880) #13
  %882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %883 = trunc nuw i8 %882 to i1
  br i1 %883, label %884, label %888

884:                                              ; preds = %878
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = call i32 @fileno(ptr noundef %885) #13
  %887 = call i32 @isatty(i32 noundef %886) #13
  %.not2240 = icmp eq i32 %887, 0
  br i1 %.not2240, label %888, label %889

888:                                              ; preds = %884, %878
  br label %889

889:                                              ; preds = %884, %888
  %.str.5.sink2550 = phi ptr [ @.str.5, %888 ], [ @.str.2, %884 ]
  store i32 %879, ptr %377, align 4, !tbaa !5
  %890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %891 = load i32, ptr @test_count, align 4, !tbaa !5
  %892 = load i32, ptr %323, align 4, !tbaa !5
  %893 = call ptr @s2n_strerror(i32 noundef %892, ptr noundef nonnull @.str.4) #13
  %894 = load i32, ptr %323, align 4, !tbaa !5
  %895 = call ptr @s2n_strerror_debug(i32 noundef %894, ptr noundef nonnull @.str.4) #13
  %896 = load i32, ptr %377, align 4, !tbaa !5
  %897 = call ptr @strerror(i32 noundef %896) #13
  %898 = load i32, ptr %377, align 4, !tbaa !5
  %899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %890, ptr noundef nonnull %.str.5.sink2550, i32 noundef %891, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %893, ptr noundef %895, ptr noundef %897, i32 noundef %898) #15
  call void @exit(i32 noundef 1) #16
  unreachable

900:                                              ; preds = %874
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  store i64 0, ptr %820, align 8, !tbaa !58
  %901 = load i32, ptr @test_count, align 4, !tbaa !5
  %902 = add nsw i32 %901, 1
  store i32 %902, ptr @test_count, align 4, !tbaa !5
  %903 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef nonnull %13, i64 noundef -1, ptr noundef nonnull %12)
  %904 = call zeroext i1 @s2n_result_is_error(i32 %903)
  br i1 %904, label %927, label %905

905:                                              ; preds = %900
  %906 = load i32, ptr %377, align 4, !tbaa !5
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = call i32 @s2n_print_stacktrace(ptr noundef %907) #13
  %909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %910 = trunc nuw i8 %909 to i1
  br i1 %910, label %911, label %915

911:                                              ; preds = %905
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = call i32 @fileno(ptr noundef %912) #13
  %914 = call i32 @isatty(i32 noundef %913) #13
  %.not1700 = icmp eq i32 %914, 0
  br i1 %.not1700, label %915, label %916

915:                                              ; preds = %911, %905
  br label %916

916:                                              ; preds = %911, %915
  %.str.5.sink2559 = phi ptr [ @.str.5, %915 ], [ @.str.2, %911 ]
  store i32 %906, ptr %377, align 4, !tbaa !5
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = load i32, ptr @test_count, align 4, !tbaa !5
  %919 = load i32, ptr %323, align 4, !tbaa !5
  %920 = call ptr @s2n_strerror(i32 noundef %919, ptr noundef nonnull @.str.4) #13
  %921 = load i32, ptr %323, align 4, !tbaa !5
  %922 = call ptr @s2n_strerror_debug(i32 noundef %921, ptr noundef nonnull @.str.4) #13
  %923 = load i32, ptr %377, align 4, !tbaa !5
  %924 = call ptr @strerror(i32 noundef %923) #13
  %925 = load i32, ptr %377, align 4, !tbaa !5
  %926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %917, ptr noundef nonnull %.str.5.sink2559, i32 noundef %918, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %920, ptr noundef %922, ptr noundef %924, i32 noundef %925) #15
  call void @exit(i32 noundef 1) #16
  unreachable

927:                                              ; preds = %900
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = add nsw i32 %928, 1
  store i32 %929, ptr @test_count, align 4, !tbaa !5
  %930 = load i32, ptr %323, align 4, !tbaa !5
  %931 = icmp eq i32 %930, 402653194
  br i1 %931, label %954, label %932

932:                                              ; preds = %927
  %933 = load i32, ptr %377, align 4, !tbaa !5
  %934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %935 = call i32 @s2n_print_stacktrace(ptr noundef %934) #13
  %936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %937 = trunc nuw i8 %936 to i1
  br i1 %937, label %938, label %942

938:                                              ; preds = %932
  %939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %940 = call i32 @fileno(ptr noundef %939) #13
  %941 = call i32 @isatty(i32 noundef %940) #13
  %.not1701 = icmp eq i32 %941, 0
  br i1 %.not1701, label %942, label %943

942:                                              ; preds = %938, %932
  br label %943

943:                                              ; preds = %938, %942
  %.str.5.sink2568 = phi ptr [ @.str.5, %942 ], [ @.str.2, %938 ]
  store i32 %933, ptr %377, align 4, !tbaa !5
  %944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %945 = load i32, ptr @test_count, align 4, !tbaa !5
  %946 = load i32, ptr %323, align 4, !tbaa !5
  %947 = call ptr @s2n_strerror(i32 noundef %946, ptr noundef nonnull @.str.4) #13
  %948 = load i32, ptr %323, align 4, !tbaa !5
  %949 = call ptr @s2n_strerror_debug(i32 noundef %948, ptr noundef nonnull @.str.4) #13
  %950 = load i32, ptr %377, align 4, !tbaa !5
  %951 = call ptr @strerror(i32 noundef %950) #13
  %952 = load i32, ptr %377, align 4, !tbaa !5
  %953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %944, ptr noundef nonnull %.str.5.sink2568, i32 noundef %945, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %947, ptr noundef %949, ptr noundef %951, i32 noundef %952) #15
  call void @exit(i32 noundef 1) #16
  unreachable

954:                                              ; preds = %927
  %955 = add nsw i32 %928, 2
  store i32 %955, ptr @test_count, align 4, !tbaa !5
  %956 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.4) #13
  %957 = icmp eq ptr %956, null
  br i1 %957, label %958, label %980

958:                                              ; preds = %954
  %959 = load i32, ptr %377, align 4, !tbaa !5
  %960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %961 = call i32 @s2n_print_stacktrace(ptr noundef %960) #13
  %962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %963 = trunc nuw i8 %962 to i1
  br i1 %963, label %964, label %968

964:                                              ; preds = %958
  %965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %966 = call i32 @fileno(ptr noundef %965) #13
  %967 = call i32 @isatty(i32 noundef %966) #13
  %.not2239 = icmp eq i32 %967, 0
  br i1 %.not2239, label %968, label %969

968:                                              ; preds = %964, %958
  br label %969

969:                                              ; preds = %964, %968
  %.str.5.sink2577 = phi ptr [ @.str.5, %968 ], [ @.str.2, %964 ]
  store i32 %959, ptr %377, align 4, !tbaa !5
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = load i32, ptr @test_count, align 4, !tbaa !5
  %972 = load i32, ptr %323, align 4, !tbaa !5
  %973 = call ptr @s2n_strerror(i32 noundef %972, ptr noundef nonnull @.str.4) #13
  %974 = load i32, ptr %323, align 4, !tbaa !5
  %975 = call ptr @s2n_strerror_debug(i32 noundef %974, ptr noundef nonnull @.str.4) #13
  %976 = load i32, ptr %377, align 4, !tbaa !5
  %977 = call ptr @strerror(i32 noundef %976) #13
  %978 = load i32, ptr %377, align 4, !tbaa !5
  %979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %970, ptr noundef nonnull %.str.5.sink2577, i32 noundef %971, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %973, ptr noundef %975, ptr noundef %977, i32 noundef %978) #15
  call void @exit(i32 noundef 1) #16
  unreachable

980:                                              ; preds = %954
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  store i32 1, ptr %13, align 8, !tbaa !59
  %981 = load i32, ptr @test_count, align 4, !tbaa !5
  %982 = add nsw i32 %981, 1
  store i32 %982, ptr @test_count, align 4, !tbaa !5
  %983 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef nonnull %13, i64 noundef -1, ptr noundef nonnull %12)
  %984 = call zeroext i1 @s2n_result_is_ok(i32 %983)
  br i1 %984, label %1007, label %985

985:                                              ; preds = %980
  %986 = load i32, ptr %377, align 4, !tbaa !5
  %987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %988 = call i32 @s2n_print_stacktrace(ptr noundef %987) #13
  %989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %990 = trunc nuw i8 %989 to i1
  br i1 %990, label %991, label %995

991:                                              ; preds = %985
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = call i32 @fileno(ptr noundef %992) #13
  %994 = call i32 @isatty(i32 noundef %993) #13
  %.not1702 = icmp eq i32 %994, 0
  br i1 %.not1702, label %995, label %996

995:                                              ; preds = %991, %985
  br label %996

996:                                              ; preds = %991, %995
  %.str.5.sink2586 = phi ptr [ @.str.5, %995 ], [ @.str.2, %991 ]
  store i32 %986, ptr %377, align 4, !tbaa !5
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = load i32, ptr @test_count, align 4, !tbaa !5
  %999 = load i32, ptr %323, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror(i32 noundef %999, ptr noundef nonnull @.str.4) #13
  %1001 = load i32, ptr %323, align 4, !tbaa !5
  %1002 = call ptr @s2n_strerror_debug(i32 noundef %1001, ptr noundef nonnull @.str.4) #13
  %1003 = load i32, ptr %377, align 4, !tbaa !5
  %1004 = call ptr @strerror(i32 noundef %1003) #13
  %1005 = load i32, ptr %377, align 4, !tbaa !5
  %1006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %997, ptr noundef nonnull %.str.5.sink2586, i32 noundef %998, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %1000, ptr noundef %1002, ptr noundef %1004, i32 noundef %1005) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1007:                                             ; preds = %980
  %1008 = load i32, ptr @test_count, align 4, !tbaa !5
  %1009 = add nsw i32 %1008, 1
  store i32 %1009, ptr @test_count, align 4, !tbaa !5
  %1010 = load i32, ptr %12, align 4, !tbaa !5
  %1011 = icmp eq i32 %1010, 0
  br i1 %1011, label %.preheader2262, label %1019

.preheader2262:                                   ; preds = %1007
  %1012 = getelementptr inbounds i8, ptr %13, i64 60
  %1013 = load i64, ptr @__const.main.test_cases, align 16, !tbaa !60
  %1014 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 8), align 8, !tbaa !62
  store i64 %1014, ptr %820, align 8, !tbaa !58
  %1015 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 16), align 16, !tbaa !63
  store i32 %1015, ptr %1012, align 4, !tbaa !64
  store i32 0, ptr %13, align 8, !tbaa !59
  %1016 = add nsw i32 %1008, 2
  store i32 %1016, ptr @test_count, align 4, !tbaa !5
  %1017 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef nonnull %13, i64 noundef %1013, ptr noundef nonnull %12)
  %1018 = call zeroext i1 @s2n_result_is_ok(i32 %1017)
  br i1 %1018, label %1132, label %1110

1019:                                             ; preds = %1007
  %1020 = load i32, ptr %377, align 4, !tbaa !5
  %1021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1022 = call i32 @s2n_print_stacktrace(ptr noundef %1021) #13
  %1023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1024 = trunc nuw i8 %1023 to i1
  br i1 %1024, label %1025, label %1029

1025:                                             ; preds = %1019
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = call i32 @fileno(ptr noundef %1026) #13
  %1028 = call i32 @isatty(i32 noundef %1027) #13
  %.not1703 = icmp eq i32 %1028, 0
  br i1 %.not1703, label %1029, label %1030

1029:                                             ; preds = %1025, %1019
  br label %1030

1030:                                             ; preds = %1025, %1029
  %.str.5.sink2595 = phi ptr [ @.str.5, %1029 ], [ @.str.2, %1025 ]
  store i32 %1020, ptr %377, align 4, !tbaa !5
  %1031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1032 = load i32, ptr @test_count, align 4, !tbaa !5
  %1033 = load i32, ptr %323, align 4, !tbaa !5
  %1034 = call ptr @s2n_strerror(i32 noundef %1033, ptr noundef nonnull @.str.4) #13
  %1035 = load i32, ptr %323, align 4, !tbaa !5
  %1036 = call ptr @s2n_strerror_debug(i32 noundef %1035, ptr noundef nonnull @.str.4) #13
  %1037 = load i32, ptr %377, align 4, !tbaa !5
  %1038 = call ptr @strerror(i32 noundef %1037) #13
  %1039 = load i32, ptr %377, align 4, !tbaa !5
  %1040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1031, ptr noundef nonnull %.str.5.sink2595, i32 noundef %1032, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %1034, ptr noundef %1036, ptr noundef %1038, i32 noundef %1039) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1041:                                             ; preds = %1132
  store i32 0, ptr %12, align 4, !tbaa !5
  %1042 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 24), align 8, !tbaa !60
  %1043 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 32), align 16, !tbaa !62
  store i64 %1043, ptr %820, align 8, !tbaa !58
  %1044 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 40), align 8, !tbaa !63
  store i32 %1044, ptr %1012, align 4, !tbaa !64
  store i32 0, ptr %13, align 8, !tbaa !59
  %1045 = add nsw i32 %1133, 2
  store i32 %1045, ptr @test_count, align 4, !tbaa !5
  %1046 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef nonnull %13, i64 noundef %1042, ptr noundef nonnull %12)
  %1047 = call zeroext i1 @s2n_result_is_ok(i32 %1046)
  br i1 %1047, label %1048, label %1110

1048:                                             ; preds = %1041
  %1049 = load i32, ptr @test_count, align 4, !tbaa !5
  %1050 = add nsw i32 %1049, 1
  store i32 %1050, ptr @test_count, align 4, !tbaa !5
  %1051 = load i32, ptr %12, align 4, !tbaa !5
  %1052 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 44), align 4, !tbaa !65
  %1053 = icmp eq i32 %1051, %1052
  br i1 %1053, label %1054, label %1138

1054:                                             ; preds = %1048
  store i32 0, ptr %12, align 4, !tbaa !5
  %1055 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 48), align 16, !tbaa !60
  %1056 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 56), align 8, !tbaa !62
  store i64 %1056, ptr %820, align 8, !tbaa !58
  %1057 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 64), align 16, !tbaa !63
  store i32 %1057, ptr %1012, align 4, !tbaa !64
  store i32 0, ptr %13, align 8, !tbaa !59
  %1058 = add nsw i32 %1049, 2
  store i32 %1058, ptr @test_count, align 4, !tbaa !5
  %1059 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef nonnull %13, i64 noundef %1055, ptr noundef nonnull %12)
  %1060 = call zeroext i1 @s2n_result_is_ok(i32 %1059)
  br i1 %1060, label %1061, label %1110

1061:                                             ; preds = %1054
  %1062 = load i32, ptr @test_count, align 4, !tbaa !5
  %1063 = add nsw i32 %1062, 1
  store i32 %1063, ptr @test_count, align 4, !tbaa !5
  %1064 = load i32, ptr %12, align 4, !tbaa !5
  %1065 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 68), align 4, !tbaa !65
  %1066 = icmp eq i32 %1064, %1065
  br i1 %1066, label %1067, label %1138

1067:                                             ; preds = %1061
  store i32 0, ptr %12, align 4, !tbaa !5
  %1068 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 72), align 8, !tbaa !60
  %1069 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 80), align 16, !tbaa !62
  store i64 %1069, ptr %820, align 8, !tbaa !58
  %1070 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 88), align 8, !tbaa !63
  store i32 %1070, ptr %1012, align 4, !tbaa !64
  store i32 0, ptr %13, align 8, !tbaa !59
  %1071 = add nsw i32 %1062, 2
  store i32 %1071, ptr @test_count, align 4, !tbaa !5
  %1072 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef nonnull %13, i64 noundef %1068, ptr noundef nonnull %12)
  %1073 = call zeroext i1 @s2n_result_is_ok(i32 %1072)
  br i1 %1073, label %1074, label %1110

1074:                                             ; preds = %1067
  %1075 = load i32, ptr @test_count, align 4, !tbaa !5
  %1076 = add nsw i32 %1075, 1
  store i32 %1076, ptr @test_count, align 4, !tbaa !5
  %1077 = load i32, ptr %12, align 4, !tbaa !5
  %1078 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 92), align 4, !tbaa !65
  %1079 = icmp eq i32 %1077, %1078
  br i1 %1079, label %1080, label %1138

1080:                                             ; preds = %1074
  store i32 0, ptr %12, align 4, !tbaa !5
  %1081 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 96), align 16, !tbaa !60
  %1082 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 104), align 8, !tbaa !62
  store i64 %1082, ptr %820, align 8, !tbaa !58
  %1083 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 112), align 16, !tbaa !63
  store i32 %1083, ptr %1012, align 4, !tbaa !64
  store i32 0, ptr %13, align 8, !tbaa !59
  %1084 = add nsw i32 %1075, 2
  store i32 %1084, ptr @test_count, align 4, !tbaa !5
  %1085 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef nonnull %13, i64 noundef %1081, ptr noundef nonnull %12)
  %1086 = call zeroext i1 @s2n_result_is_ok(i32 %1085)
  br i1 %1086, label %1087, label %1110

1087:                                             ; preds = %1080
  %1088 = load i32, ptr @test_count, align 4, !tbaa !5
  %1089 = add nsw i32 %1088, 1
  store i32 %1089, ptr @test_count, align 4, !tbaa !5
  %1090 = load i32, ptr %12, align 4, !tbaa !5
  %1091 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 116), align 4, !tbaa !65
  %1092 = icmp eq i32 %1090, %1091
  br i1 %1092, label %1093, label %1138

1093:                                             ; preds = %1087
  store i32 0, ptr %12, align 4, !tbaa !5
  %1094 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 120), align 8, !tbaa !60
  %1095 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 128), align 16, !tbaa !62
  store i64 %1095, ptr %820, align 8, !tbaa !58
  %1096 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 136), align 8, !tbaa !63
  store i32 %1096, ptr %1012, align 4, !tbaa !64
  store i32 0, ptr %13, align 8, !tbaa !59
  %1097 = add nsw i32 %1088, 2
  store i32 %1097, ptr @test_count, align 4, !tbaa !5
  %1098 = call i32 @s2n_generate_obfuscated_ticket_age(ptr noundef nonnull %13, i64 noundef %1094, ptr noundef nonnull %12)
  %1099 = call zeroext i1 @s2n_result_is_ok(i32 %1098)
  br i1 %1099, label %1100, label %1110

1100:                                             ; preds = %1093
  %1101 = load i32, ptr @test_count, align 4, !tbaa !5
  %1102 = add nsw i32 %1101, 1
  store i32 %1102, ptr @test_count, align 4, !tbaa !5
  %1103 = load i32, ptr %12, align 4, !tbaa !5
  %1104 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 140), align 4, !tbaa !65
  %1105 = icmp eq i32 %1103, %1104
  br i1 %1105, label %1106, label %1138

1106:                                             ; preds = %1100
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %13) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #13
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %14) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %14, i8 0, i64 40, i1 false)
  %1107 = add nsw i32 %1101, 2
  store i32 %1107, ptr @test_count, align 4, !tbaa !5
  %1108 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %14, i32 noundef 0) #13
  %1109 = icmp eq i32 %1108, -1
  br i1 %1109, label %1160, label %1182

1110:                                             ; preds = %1093, %1080, %1067, %1054, %1041, %.preheader2262
  %1111 = load i32, ptr %377, align 4, !tbaa !5
  %1112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1113 = call i32 @s2n_print_stacktrace(ptr noundef %1112) #13
  %1114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1115 = trunc nuw i8 %1114 to i1
  br i1 %1115, label %1116, label %1120

1116:                                             ; preds = %1110
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = call i32 @fileno(ptr noundef %1117) #13
  %1119 = call i32 @isatty(i32 noundef %1118) #13
  %.not2237 = icmp eq i32 %1119, 0
  br i1 %.not2237, label %1120, label %1121

1120:                                             ; preds = %1116, %1110
  br label %1121

1121:                                             ; preds = %1116, %1120
  %.str.5.sink2604 = phi ptr [ @.str.5, %1120 ], [ @.str.2, %1116 ]
  store i32 %1111, ptr %377, align 4, !tbaa !5
  %1122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1123 = load i32, ptr @test_count, align 4, !tbaa !5
  %1124 = load i32, ptr %323, align 4, !tbaa !5
  %1125 = call ptr @s2n_strerror(i32 noundef %1124, ptr noundef nonnull @.str.4) #13
  %1126 = load i32, ptr %323, align 4, !tbaa !5
  %1127 = call ptr @s2n_strerror_debug(i32 noundef %1126, ptr noundef nonnull @.str.4) #13
  %1128 = load i32, ptr %377, align 4, !tbaa !5
  %1129 = call ptr @strerror(i32 noundef %1128) #13
  %1130 = load i32, ptr %377, align 4, !tbaa !5
  %1131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1122, ptr noundef nonnull %.str.5.sink2604, i32 noundef %1123, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %1125, ptr noundef %1127, ptr noundef %1129, i32 noundef %1130) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1132:                                             ; preds = %.preheader2262
  %1133 = load i32, ptr @test_count, align 4, !tbaa !5
  %1134 = add nsw i32 %1133, 1
  store i32 %1134, ptr @test_count, align 4, !tbaa !5
  %1135 = load i32, ptr %12, align 4, !tbaa !5
  %1136 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 20), align 4, !tbaa !65
  %1137 = icmp eq i32 %1135, %1136
  br i1 %1137, label %1041, label %1138

1138:                                             ; preds = %1100, %1087, %1074, %1061, %1048, %1132
  %1139 = load i32, ptr %377, align 4, !tbaa !5
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = call i32 @s2n_print_stacktrace(ptr noundef %1140) #13
  %1142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1143 = trunc nuw i8 %1142 to i1
  br i1 %1143, label %1144, label %1148

1144:                                             ; preds = %1138
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = call i32 @fileno(ptr noundef %1145) #13
  %1147 = call i32 @isatty(i32 noundef %1146) #13
  %.not2238 = icmp eq i32 %1147, 0
  br i1 %.not2238, label %1148, label %1149

1148:                                             ; preds = %1144, %1138
  br label %1149

1149:                                             ; preds = %1144, %1148
  %.str.5.sink2613 = phi ptr [ @.str.5, %1148 ], [ @.str.2, %1144 ]
  store i32 %1139, ptr %377, align 4, !tbaa !5
  %1150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1151 = load i32, ptr @test_count, align 4, !tbaa !5
  %1152 = load i32, ptr %323, align 4, !tbaa !5
  %1153 = call ptr @s2n_strerror(i32 noundef %1152, ptr noundef nonnull @.str.4) #13
  %1154 = load i32, ptr %323, align 4, !tbaa !5
  %1155 = call ptr @s2n_strerror_debug(i32 noundef %1154, ptr noundef nonnull @.str.4) #13
  %1156 = load i32, ptr %377, align 4, !tbaa !5
  %1157 = call ptr @strerror(i32 noundef %1156) #13
  %1158 = load i32, ptr %377, align 4, !tbaa !5
  %1159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1150, ptr noundef nonnull %.str.5.sink2613, i32 noundef %1151, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %1153, ptr noundef %1155, ptr noundef %1157, i32 noundef %1158) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1160:                                             ; preds = %1106
  %1161 = load i32, ptr %377, align 4, !tbaa !5
  %1162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1163 = call i32 @s2n_print_stacktrace(ptr noundef %1162) #13
  %1164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1165 = trunc nuw i8 %1164 to i1
  br i1 %1165, label %1166, label %1170

1166:                                             ; preds = %1160
  %1167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1168 = call i32 @fileno(ptr noundef %1167) #13
  %1169 = call i32 @isatty(i32 noundef %1168) #13
  %.not2236 = icmp eq i32 %1169, 0
  br i1 %.not2236, label %1170, label %1171

1170:                                             ; preds = %1166, %1160
  br label %1171

1171:                                             ; preds = %1166, %1170
  %.str.5.sink2622 = phi ptr [ @.str.5, %1170 ], [ @.str.2, %1166 ]
  store i32 %1161, ptr %377, align 4, !tbaa !5
  %1172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1173 = load i32, ptr @test_count, align 4, !tbaa !5
  %1174 = load i32, ptr %323, align 4, !tbaa !5
  %1175 = call ptr @s2n_strerror(i32 noundef %1174, ptr noundef nonnull @.str.4) #13
  %1176 = load i32, ptr %323, align 4, !tbaa !5
  %1177 = call ptr @s2n_strerror_debug(i32 noundef %1176, ptr noundef nonnull @.str.4) #13
  %1178 = load i32, ptr %377, align 4, !tbaa !5
  %1179 = call ptr @strerror(i32 noundef %1178) #13
  %1180 = load i32, ptr %377, align 4, !tbaa !5
  %1181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1172, ptr noundef nonnull %.str.5.sink2622, i32 noundef %1173, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 272, ptr noundef %1175, ptr noundef %1177, ptr noundef %1179, i32 noundef %1180) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1182:                                             ; preds = %1106
  %1183 = load i32, ptr @test_count, align 4, !tbaa !5
  %1184 = add nsw i32 %1183, 1
  store i32 %1184, ptr @test_count, align 4, !tbaa !5
  %1185 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %1186 = icmp eq ptr %1185, null
  br i1 %1186, label %1187, label %1209

1187:                                             ; preds = %1182
  %1188 = load i32, ptr %377, align 4, !tbaa !5
  %1189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1190 = call i32 @s2n_print_stacktrace(ptr noundef %1189) #13
  %1191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1192 = trunc nuw i8 %1191 to i1
  br i1 %1192, label %1193, label %1197

1193:                                             ; preds = %1187
  %1194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1195 = call i32 @fileno(ptr noundef %1194) #13
  %1196 = call i32 @isatty(i32 noundef %1195) #13
  %.not2235 = icmp eq i32 %1196, 0
  br i1 %.not2235, label %1197, label %1198

1197:                                             ; preds = %1193, %1187
  br label %1198

1198:                                             ; preds = %1193, %1197
  %.str.5.sink2631 = phi ptr [ @.str.5, %1197 ], [ @.str.2, %1193 ]
  store i32 %1188, ptr %377, align 4, !tbaa !5
  %1199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1200 = load i32, ptr @test_count, align 4, !tbaa !5
  %1201 = load i32, ptr %323, align 4, !tbaa !5
  %1202 = call ptr @s2n_strerror(i32 noundef %1201, ptr noundef nonnull @.str.4) #13
  %1203 = load i32, ptr %323, align 4, !tbaa !5
  %1204 = call ptr @s2n_strerror_debug(i32 noundef %1203, ptr noundef nonnull @.str.4) #13
  %1205 = load i32, ptr %377, align 4, !tbaa !5
  %1206 = call ptr @strerror(i32 noundef %1205) #13
  %1207 = load i32, ptr %377, align 4, !tbaa !5
  %1208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1199, ptr noundef nonnull %.str.5.sink2631, i32 noundef %1200, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %1202, ptr noundef %1204, ptr noundef %1206, i32 noundef %1207) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1209:                                             ; preds = %1182
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #13
  store ptr null, ptr %15, align 8, !tbaa !9
  %1210 = load i32, ptr @test_count, align 4, !tbaa !5
  %1211 = add nsw i32 %1210, 1
  store i32 %1211, ptr @test_count, align 4, !tbaa !5
  %1212 = getelementptr inbounds i8, ptr %1185, i64 1688
  %1213 = getelementptr inbounds i8, ptr %1185, i64 1696
  %1214 = call i32 @s2n_array_pushback(ptr noundef nonnull %1213, ptr noundef nonnull %15) #13
  %1215 = call zeroext i1 @s2n_result_is_ok(i32 %1214)
  br i1 %1215, label %1238, label %1216

1216:                                             ; preds = %1209
  %1217 = load i32, ptr %377, align 4, !tbaa !5
  %1218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1219 = call i32 @s2n_print_stacktrace(ptr noundef %1218) #13
  %1220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1221 = trunc nuw i8 %1220 to i1
  br i1 %1221, label %1222, label %1226

1222:                                             ; preds = %1216
  %1223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1224 = call i32 @fileno(ptr noundef %1223) #13
  %1225 = call i32 @isatty(i32 noundef %1224) #13
  %.not1704 = icmp eq i32 %1225, 0
  br i1 %.not1704, label %1226, label %1227

1226:                                             ; preds = %1222, %1216
  br label %1227

1227:                                             ; preds = %1222, %1226
  %.str.5.sink2640 = phi ptr [ @.str.5, %1226 ], [ @.str.2, %1222 ]
  store i32 %1217, ptr %377, align 4, !tbaa !5
  %1228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1229 = load i32, ptr @test_count, align 4, !tbaa !5
  %1230 = load i32, ptr %323, align 4, !tbaa !5
  %1231 = call ptr @s2n_strerror(i32 noundef %1230, ptr noundef nonnull @.str.4) #13
  %1232 = load i32, ptr %323, align 4, !tbaa !5
  %1233 = call ptr @s2n_strerror_debug(i32 noundef %1232, ptr noundef nonnull @.str.4) #13
  %1234 = load i32, ptr %377, align 4, !tbaa !5
  %1235 = call ptr @strerror(i32 noundef %1234) #13
  %1236 = load i32, ptr %377, align 4, !tbaa !5
  %1237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1228, ptr noundef nonnull %.str.5.sink2640, i32 noundef %1229, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %1231, ptr noundef %1233, ptr noundef %1235, i32 noundef %1236) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1238:                                             ; preds = %1209
  %1239 = load i32, ptr @test_count, align 4, !tbaa !5
  %1240 = add nsw i32 %1239, 1
  store i32 %1240, ptr @test_count, align 4, !tbaa !5
  %1241 = load ptr, ptr %15, align 8, !tbaa !9
  %1242 = call i32 @s2n_psk_init(ptr noundef %1241, i32 noundef 1) #13
  %1243 = call zeroext i1 @s2n_result_is_ok(i32 %1242)
  br i1 %1243, label %1266, label %1244

1244:                                             ; preds = %1238
  %1245 = load i32, ptr %377, align 4, !tbaa !5
  %1246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1247 = call i32 @s2n_print_stacktrace(ptr noundef %1246) #13
  %1248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1249 = trunc nuw i8 %1248 to i1
  br i1 %1249, label %1250, label %1254

1250:                                             ; preds = %1244
  %1251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1252 = call i32 @fileno(ptr noundef %1251) #13
  %1253 = call i32 @isatty(i32 noundef %1252) #13
  %.not1705 = icmp eq i32 %1253, 0
  br i1 %.not1705, label %1254, label %1255

1254:                                             ; preds = %1250, %1244
  br label %1255

1255:                                             ; preds = %1250, %1254
  %.str.5.sink2649 = phi ptr [ @.str.5, %1254 ], [ @.str.2, %1250 ]
  store i32 %1245, ptr %377, align 4, !tbaa !5
  %1256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1257 = load i32, ptr @test_count, align 4, !tbaa !5
  %1258 = load i32, ptr %323, align 4, !tbaa !5
  %1259 = call ptr @s2n_strerror(i32 noundef %1258, ptr noundef nonnull @.str.4) #13
  %1260 = load i32, ptr %323, align 4, !tbaa !5
  %1261 = call ptr @s2n_strerror_debug(i32 noundef %1260, ptr noundef nonnull @.str.4) #13
  %1262 = load i32, ptr %377, align 4, !tbaa !5
  %1263 = call ptr @strerror(i32 noundef %1262) #13
  %1264 = load i32, ptr %377, align 4, !tbaa !5
  %1265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1256, ptr noundef nonnull %.str.5.sink2649, i32 noundef %1257, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 279, ptr noundef %1259, ptr noundef %1261, ptr noundef %1263, i32 noundef %1264) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1266:                                             ; preds = %1238
  %1267 = load i32, ptr @test_count, align 4, !tbaa !5
  %1268 = add nsw i32 %1267, 1
  store i32 %1268, ptr @test_count, align 4, !tbaa !5
  %1269 = load ptr, ptr %15, align 8, !tbaa !9
  %1270 = call i32 @s2n_psk_set_identity(ptr noundef %1269, ptr noundef nonnull %5, i16 noundef zeroext 14) #13
  %1271 = icmp eq i32 %1270, -1
  br i1 %1271, label %1272, label %1294

1272:                                             ; preds = %1266
  %1273 = load i32, ptr %377, align 4, !tbaa !5
  %1274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1275 = call i32 @s2n_print_stacktrace(ptr noundef %1274) #13
  %1276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1277 = trunc nuw i8 %1276 to i1
  br i1 %1277, label %1278, label %1282

1278:                                             ; preds = %1272
  %1279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1280 = call i32 @fileno(ptr noundef %1279) #13
  %1281 = call i32 @isatty(i32 noundef %1280) #13
  %.not2234 = icmp eq i32 %1281, 0
  br i1 %.not2234, label %1282, label %1283

1282:                                             ; preds = %1278, %1272
  br label %1283

1283:                                             ; preds = %1278, %1282
  %.str.5.sink2658 = phi ptr [ @.str.5, %1282 ], [ @.str.2, %1278 ]
  store i32 %1273, ptr %377, align 4, !tbaa !5
  %1284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1285 = load i32, ptr @test_count, align 4, !tbaa !5
  %1286 = load i32, ptr %323, align 4, !tbaa !5
  %1287 = call ptr @s2n_strerror(i32 noundef %1286, ptr noundef nonnull @.str.4) #13
  %1288 = load i32, ptr %323, align 4, !tbaa !5
  %1289 = call ptr @s2n_strerror_debug(i32 noundef %1288, ptr noundef nonnull @.str.4) #13
  %1290 = load i32, ptr %377, align 4, !tbaa !5
  %1291 = call ptr @strerror(i32 noundef %1290) #13
  %1292 = load i32, ptr %377, align 4, !tbaa !5
  %1293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1284, ptr noundef nonnull %.str.5.sink2658, i32 noundef %1285, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %1287, ptr noundef %1289, ptr noundef %1291, i32 noundef %1292) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1294:                                             ; preds = %1266
  %1295 = load ptr, ptr %15, align 8, !tbaa !9
  %1296 = getelementptr inbounds i8, ptr %1295, i64 56
  store i32 5, ptr %1296, align 8, !tbaa !55
  %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 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_psk_extension, i64 8), align 8, !tbaa !66
  %1300 = call i32 %1299(ptr noundef nonnull %1185, ptr noundef nonnull %14) #13
  %1301 = icmp eq i32 %1300, -1
  br i1 %1301, label %1302, label %1324

1302:                                             ; preds = %1294
  %1303 = load i32, ptr %377, align 4, !tbaa !5
  %1304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1305 = call i32 @s2n_print_stacktrace(ptr noundef %1304) #13
  %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) #13
  %1311 = call i32 @isatty(i32 noundef %1310) #13
  %.not2233 = icmp eq i32 %1311, 0
  br i1 %.not2233, label %1312, label %1313

1312:                                             ; preds = %1308, %1302
  br label %1313

1313:                                             ; preds = %1308, %1312
  %.str.5.sink2667 = phi ptr [ @.str.5, %1312 ], [ @.str.2, %1308 ]
  store i32 %1303, ptr %377, 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 %323, align 4, !tbaa !5
  %1317 = call ptr @s2n_strerror(i32 noundef %1316, ptr noundef nonnull @.str.4) #13
  %1318 = load i32, ptr %323, align 4, !tbaa !5
  %1319 = call ptr @s2n_strerror_debug(i32 noundef %1318, ptr noundef nonnull @.str.4) #13
  %1320 = load i32, ptr %377, align 4, !tbaa !5
  %1321 = call ptr @strerror(i32 noundef %1320) #13
  %1322 = load i32, ptr %377, align 4, !tbaa !5
  %1323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1314, ptr noundef nonnull %.str.5.sink2667, i32 noundef %1315, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %1317, ptr noundef %1319, ptr noundef %1321, i32 noundef %1322) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1324:                                             ; preds = %1294
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #13
  store i32 0, ptr %16, align 4, !tbaa !5
  %1325 = load i32, ptr @test_count, align 4, !tbaa !5
  %1326 = add nsw i32 %1325, 1
  store i32 %1326, ptr @test_count, align 4, !tbaa !5
  %1327 = call i32 @s2n_psk_parameters_offered_psks_size(ptr noundef nonnull %1212, ptr noundef nonnull %16) #13
  %1328 = call zeroext i1 @s2n_result_is_ok(i32 %1327)
  br i1 %1328, label %1351, label %1329

1329:                                             ; preds = %1324
  %1330 = load i32, ptr %377, align 4, !tbaa !5
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = call i32 @s2n_print_stacktrace(ptr noundef %1331) #13
  %1333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1334 = trunc nuw i8 %1333 to i1
  br i1 %1334, label %1335, label %1339

1335:                                             ; preds = %1329
  %1336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1337 = call i32 @fileno(ptr noundef %1336) #13
  %1338 = call i32 @isatty(i32 noundef %1337) #13
  %.not1706 = icmp eq i32 %1338, 0
  br i1 %.not1706, label %1339, label %1340

1339:                                             ; preds = %1335, %1329
  br label %1340

1340:                                             ; preds = %1335, %1339
  %.str.5.sink2676 = phi ptr [ @.str.5, %1339 ], [ @.str.2, %1335 ]
  store i32 %1330, ptr %377, align 4, !tbaa !5
  %1341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1342 = load i32, ptr @test_count, align 4, !tbaa !5
  %1343 = load i32, ptr %323, align 4, !tbaa !5
  %1344 = call ptr @s2n_strerror(i32 noundef %1343, ptr noundef nonnull @.str.4) #13
  %1345 = load i32, ptr %323, align 4, !tbaa !5
  %1346 = call ptr @s2n_strerror_debug(i32 noundef %1345, ptr noundef nonnull @.str.4) #13
  %1347 = load i32, ptr %377, align 4, !tbaa !5
  %1348 = call ptr @strerror(i32 noundef %1347) #13
  %1349 = load i32, ptr %377, align 4, !tbaa !5
  %1350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1341, ptr noundef nonnull %.str.5.sink2676, i32 noundef %1342, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %1344, ptr noundef %1346, ptr noundef %1348, i32 noundef %1349) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1351:                                             ; preds = %1324
  %1352 = load i32, ptr @test_count, align 4, !tbaa !5
  %1353 = add nsw i32 %1352, 1
  store i32 %1353, ptr @test_count, align 4, !tbaa !5
  %1354 = load i32, ptr %16, align 4, !tbaa !5
  %1355 = getelementptr inbounds i8, ptr %14, i64 28
  %1356 = load i32, ptr %1355, align 4, !tbaa !67
  %1357 = getelementptr inbounds i8, ptr %14, i64 24
  %1358 = load i32, ptr %1357, align 8, !tbaa !68
  %1359 = sub i32 %1356, %1358
  %1360 = icmp eq i32 %1354, %1359
  br i1 %1360, label %1383, label %1361

1361:                                             ; preds = %1351
  %1362 = load i32, ptr %377, align 4, !tbaa !5
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = call i32 @s2n_print_stacktrace(ptr noundef %1363) #13
  %1365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1366 = trunc nuw i8 %1365 to i1
  br i1 %1366, label %1367, label %1371

1367:                                             ; preds = %1361
  %1368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1369 = call i32 @fileno(ptr noundef %1368) #13
  %1370 = call i32 @isatty(i32 noundef %1369) #13
  %.not1707 = icmp eq i32 %1370, 0
  br i1 %.not1707, label %1371, label %1372

1371:                                             ; preds = %1367, %1361
  br label %1372

1372:                                             ; preds = %1367, %1371
  %.str.5.sink2685 = phi ptr [ @.str.5, %1371 ], [ @.str.2, %1367 ]
  store i32 %1362, ptr %377, align 4, !tbaa !5
  %1373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1374 = load i32, ptr @test_count, align 4, !tbaa !5
  %1375 = load i32, ptr %323, align 4, !tbaa !5
  %1376 = call ptr @s2n_strerror(i32 noundef %1375, ptr noundef nonnull @.str.4) #13
  %1377 = load i32, ptr %323, align 4, !tbaa !5
  %1378 = call ptr @s2n_strerror_debug(i32 noundef %1377, ptr noundef nonnull @.str.4) #13
  %1379 = load i32, ptr %377, align 4, !tbaa !5
  %1380 = call ptr @strerror(i32 noundef %1379) #13
  %1381 = load i32, ptr %377, align 4, !tbaa !5
  %1382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1373, ptr noundef nonnull %.str.5.sink2685, i32 noundef %1374, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %1376, ptr noundef %1378, ptr noundef %1380, i32 noundef %1381) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1383:                                             ; preds = %1351
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %17) #13
  store i16 0, ptr %17, align 2, !tbaa !69
  %1384 = add nsw i32 %1352, 2
  store i32 %1384, ptr @test_count, align 4, !tbaa !5
  %1385 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %14, ptr noundef nonnull %17) #13
  %1386 = icmp eq i32 %1385, -1
  br i1 %1386, label %1387, label %1409

1387:                                             ; preds = %1383
  %1388 = load i32, ptr %377, align 4, !tbaa !5
  %1389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1390 = call i32 @s2n_print_stacktrace(ptr noundef %1389) #13
  %1391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1392 = trunc nuw i8 %1391 to i1
  br i1 %1392, label %1393, label %1397

1393:                                             ; preds = %1387
  %1394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1395 = call i32 @fileno(ptr noundef %1394) #13
  %1396 = call i32 @isatty(i32 noundef %1395) #13
  %.not2232 = icmp eq i32 %1396, 0
  br i1 %.not2232, label %1397, label %1398

1397:                                             ; preds = %1393, %1387
  br label %1398

1398:                                             ; preds = %1393, %1397
  %.str.5.sink2694 = phi ptr [ @.str.5, %1397 ], [ @.str.2, %1393 ]
  store i32 %1388, ptr %377, align 4, !tbaa !5
  %1399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1400 = load i32, ptr @test_count, align 4, !tbaa !5
  %1401 = load i32, ptr %323, align 4, !tbaa !5
  %1402 = call ptr @s2n_strerror(i32 noundef %1401, ptr noundef nonnull @.str.4) #13
  %1403 = load i32, ptr %323, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror_debug(i32 noundef %1403, ptr noundef nonnull @.str.4) #13
  %1405 = load i32, ptr %377, align 4, !tbaa !5
  %1406 = call ptr @strerror(i32 noundef %1405) #13
  %1407 = load i32, ptr %377, align 4, !tbaa !5
  %1408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1399, ptr noundef nonnull %.str.5.sink2694, i32 noundef %1400, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %1402, ptr noundef %1404, ptr noundef %1406, i32 noundef %1407) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1409:                                             ; preds = %1383
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %18) #13
  store i16 0, ptr %18, align 2, !tbaa !69
  %1410 = load i32, ptr @test_count, align 4, !tbaa !5
  %1411 = add nsw i32 %1410, 1
  store i32 %1411, ptr @test_count, align 4, !tbaa !5
  %1412 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %14, ptr noundef nonnull %18) #13
  %1413 = icmp eq i32 %1412, -1
  br i1 %1413, label %1414, label %1436

1414:                                             ; preds = %1409
  %1415 = load i32, ptr %377, align 4, !tbaa !5
  %1416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1417 = call i32 @s2n_print_stacktrace(ptr noundef %1416) #13
  %1418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1419 = trunc nuw i8 %1418 to i1
  br i1 %1419, label %1420, label %1424

1420:                                             ; preds = %1414
  %1421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1422 = call i32 @fileno(ptr noundef %1421) #13
  %1423 = call i32 @isatty(i32 noundef %1422) #13
  %.not2231 = icmp eq i32 %1423, 0
  br i1 %.not2231, label %1424, label %1425

1424:                                             ; preds = %1420, %1414
  br label %1425

1425:                                             ; preds = %1420, %1424
  %.str.5.sink2703 = phi ptr [ @.str.5, %1424 ], [ @.str.2, %1420 ]
  store i32 %1415, ptr %377, align 4, !tbaa !5
  %1426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1427 = load i32, ptr @test_count, align 4, !tbaa !5
  %1428 = load i32, ptr %323, align 4, !tbaa !5
  %1429 = call ptr @s2n_strerror(i32 noundef %1428, ptr noundef nonnull @.str.4) #13
  %1430 = load i32, ptr %323, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror_debug(i32 noundef %1430, ptr noundef nonnull @.str.4) #13
  %1432 = load i32, ptr %377, align 4, !tbaa !5
  %1433 = call ptr @strerror(i32 noundef %1432) #13
  %1434 = load i32, ptr %377, align 4, !tbaa !5
  %1435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1426, ptr noundef nonnull %.str.5.sink2703, i32 noundef %1427, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 293, ptr noundef %1429, ptr noundef %1431, ptr noundef %1433, i32 noundef %1434) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1436:                                             ; preds = %1409
  %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 = load i16, ptr %18, align 2, !tbaa !69
  %1440 = icmp eq i16 %1439, 14
  br i1 %1440, label %1463, label %1441

1441:                                             ; preds = %1436
  %1442 = load i32, ptr %377, align 4, !tbaa !5
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1444 = call i32 @s2n_print_stacktrace(ptr noundef %1443) #13
  %1445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1446 = trunc nuw i8 %1445 to i1
  br i1 %1446, label %1447, label %1451

1447:                                             ; preds = %1441
  %1448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1449 = call i32 @fileno(ptr noundef %1448) #13
  %1450 = call i32 @isatty(i32 noundef %1449) #13
  %.not1708 = icmp eq i32 %1450, 0
  br i1 %.not1708, label %1451, label %1452

1451:                                             ; preds = %1447, %1441
  br label %1452

1452:                                             ; preds = %1447, %1451
  %.str.5.sink2712 = phi ptr [ @.str.5, %1451 ], [ @.str.2, %1447 ]
  store i32 %1442, ptr %377, align 4, !tbaa !5
  %1453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1454 = load i32, ptr @test_count, align 4, !tbaa !5
  %1455 = load i32, ptr %323, align 4, !tbaa !5
  %1456 = call ptr @s2n_strerror(i32 noundef %1455, ptr noundef nonnull @.str.4) #13
  %1457 = load i32, ptr %323, align 4, !tbaa !5
  %1458 = call ptr @s2n_strerror_debug(i32 noundef %1457, ptr noundef nonnull @.str.4) #13
  %1459 = load i32, ptr %377, align 4, !tbaa !5
  %1460 = call ptr @strerror(i32 noundef %1459) #13
  %1461 = load i32, ptr %377, align 4, !tbaa !5
  %1462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1453, ptr noundef nonnull %.str.5.sink2712, i32 noundef %1454, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %1456, ptr noundef %1458, ptr noundef %1460, i32 noundef %1461) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1463:                                             ; preds = %1436
  %1464 = add nsw i32 %1437, 2
  store i32 %1464, ptr @test_count, align 4, !tbaa !5
  %1465 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %14, i32 noundef 14) #13
  %1466 = icmp eq ptr %1465, null
  br i1 %1466, label %1467, label %1489

1467:                                             ; preds = %1463
  %1468 = load i32, ptr %377, align 4, !tbaa !5
  %1469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1470 = call i32 @s2n_print_stacktrace(ptr noundef %1469) #13
  %1471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1472 = trunc nuw i8 %1471 to i1
  br i1 %1472, label %1473, label %1477

1473:                                             ; preds = %1467
  %1474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1475 = call i32 @fileno(ptr noundef %1474) #13
  %1476 = call i32 @isatty(i32 noundef %1475) #13
  %.not2230 = icmp eq i32 %1476, 0
  br i1 %.not2230, label %1477, label %1478

1477:                                             ; preds = %1473, %1467
  br label %1478

1478:                                             ; preds = %1473, %1477
  %.str.5.sink2721 = phi ptr [ @.str.5, %1477 ], [ @.str.2, %1473 ]
  store i32 %1468, ptr %377, align 4, !tbaa !5
  %1479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1480 = load i32, ptr @test_count, align 4, !tbaa !5
  %1481 = load i32, ptr %323, align 4, !tbaa !5
  %1482 = call ptr @s2n_strerror(i32 noundef %1481, ptr noundef nonnull @.str.4) #13
  %1483 = load i32, ptr %323, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror_debug(i32 noundef %1483, ptr noundef nonnull @.str.4) #13
  %1485 = load i32, ptr %377, align 4, !tbaa !5
  %1486 = call ptr @strerror(i32 noundef %1485) #13
  %1487 = load i32, ptr %377, align 4, !tbaa !5
  %1488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1479, ptr noundef nonnull %.str.5.sink2721, i32 noundef %1480, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %1482, ptr noundef %1484, ptr noundef %1486, i32 noundef %1487) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1489:                                             ; preds = %1463
  %1490 = load i32, ptr @test_count, align 4, !tbaa !5
  %1491 = add nsw i32 %1490, 1
  store i32 %1491, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(14) %1465, ptr noundef nonnull dereferenceable(14) %5, i64 14)
  %1492 = icmp eq i32 %bcmp, 0
  br i1 %1492, label %1515, label %1493

1493:                                             ; preds = %1489
  %1494 = load i32, ptr %377, align 4, !tbaa !5
  %1495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1496 = call i32 @s2n_print_stacktrace(ptr noundef %1495) #13
  %1497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1498 = trunc nuw i8 %1497 to i1
  br i1 %1498, label %1499, label %1503

1499:                                             ; preds = %1493
  %1500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1501 = call i32 @fileno(ptr noundef %1500) #13
  %1502 = call i32 @isatty(i32 noundef %1501) #13
  %.not1709 = icmp eq i32 %1502, 0
  br i1 %.not1709, label %1503, label %1504

1503:                                             ; preds = %1499, %1493
  br label %1504

1504:                                             ; preds = %1499, %1503
  %.str.5.sink2730 = phi ptr [ @.str.5, %1503 ], [ @.str.2, %1499 ]
  store i32 %1494, ptr %377, align 4, !tbaa !5
  %1505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1506 = load i32, ptr @test_count, align 4, !tbaa !5
  %1507 = load i32, ptr %323, align 4, !tbaa !5
  %1508 = call ptr @s2n_strerror(i32 noundef %1507, ptr noundef nonnull @.str.4) #13
  %1509 = load i32, ptr %323, align 4, !tbaa !5
  %1510 = call ptr @s2n_strerror_debug(i32 noundef %1509, ptr noundef nonnull @.str.4) #13
  %1511 = load i32, ptr %377, align 4, !tbaa !5
  %1512 = call ptr @strerror(i32 noundef %1511) #13
  %1513 = load i32, ptr %377, align 4, !tbaa !5
  %1514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1505, ptr noundef nonnull %.str.5.sink2730, i32 noundef %1506, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %1508, ptr noundef %1510, ptr noundef %1512, i32 noundef %1513) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1515:                                             ; preds = %1489
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #13
  store i32 0, ptr %19, align 4, !tbaa !5
  %1516 = add nsw i32 %1490, 2
  store i32 %1516, ptr @test_count, align 4, !tbaa !5
  %1517 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %14, ptr noundef nonnull %19) #13
  %1518 = icmp eq i32 %1517, -1
  br i1 %1518, label %1519, label %1541

1519:                                             ; preds = %1515
  %1520 = load i32, ptr %377, align 4, !tbaa !5
  %1521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1522 = call i32 @s2n_print_stacktrace(ptr noundef %1521) #13
  %1523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1524 = trunc nuw i8 %1523 to i1
  br i1 %1524, label %1525, label %1529

1525:                                             ; preds = %1519
  %1526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1527 = call i32 @fileno(ptr noundef %1526) #13
  %1528 = call i32 @isatty(i32 noundef %1527) #13
  %.not2229 = icmp eq i32 %1528, 0
  br i1 %.not2229, label %1529, label %1530

1529:                                             ; preds = %1525, %1519
  br label %1530

1530:                                             ; preds = %1525, %1529
  %.str.5.sink2739 = phi ptr [ @.str.5, %1529 ], [ @.str.2, %1525 ]
  store i32 %1520, ptr %377, align 4, !tbaa !5
  %1531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1532 = load i32, ptr @test_count, align 4, !tbaa !5
  %1533 = load i32, ptr %323, align 4, !tbaa !5
  %1534 = call ptr @s2n_strerror(i32 noundef %1533, ptr noundef nonnull @.str.4) #13
  %1535 = load i32, ptr %323, align 4, !tbaa !5
  %1536 = call ptr @s2n_strerror_debug(i32 noundef %1535, ptr noundef nonnull @.str.4) #13
  %1537 = load i32, ptr %377, align 4, !tbaa !5
  %1538 = call ptr @strerror(i32 noundef %1537) #13
  %1539 = load i32, ptr %377, align 4, !tbaa !5
  %1540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1531, ptr noundef nonnull %.str.5.sink2739, i32 noundef %1532, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 301, ptr noundef %1534, ptr noundef %1536, ptr noundef %1538, i32 noundef %1539) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1541:                                             ; preds = %1515
  %1542 = load i32, ptr @test_count, align 4, !tbaa !5
  %1543 = add nsw i32 %1542, 1
  store i32 %1543, ptr @test_count, align 4, !tbaa !5
  %1544 = load i32, ptr %19, align 4, !tbaa !5
  %1545 = icmp eq i32 %1544, 0
  br i1 %1545, label %1568, label %1546

1546:                                             ; preds = %1541
  %1547 = load i32, ptr %377, align 4, !tbaa !5
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = call i32 @s2n_print_stacktrace(ptr noundef %1548) #13
  %1550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1551 = trunc nuw i8 %1550 to i1
  br i1 %1551, label %1552, label %1556

1552:                                             ; preds = %1546
  %1553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1554 = call i32 @fileno(ptr noundef %1553) #13
  %1555 = call i32 @isatty(i32 noundef %1554) #13
  %.not1710 = icmp eq i32 %1555, 0
  br i1 %.not1710, label %1556, label %1557

1556:                                             ; preds = %1552, %1546
  br label %1557

1557:                                             ; preds = %1552, %1556
  %.str.5.sink2748 = phi ptr [ @.str.5, %1556 ], [ @.str.2, %1552 ]
  store i32 %1547, ptr %377, align 4, !tbaa !5
  %1558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1559 = load i32, ptr @test_count, align 4, !tbaa !5
  %1560 = load i32, ptr %323, align 4, !tbaa !5
  %1561 = call ptr @s2n_strerror(i32 noundef %1560, ptr noundef nonnull @.str.4) #13
  %1562 = load i32, ptr %323, align 4, !tbaa !5
  %1563 = call ptr @s2n_strerror_debug(i32 noundef %1562, ptr noundef nonnull @.str.4) #13
  %1564 = load i32, ptr %377, align 4, !tbaa !5
  %1565 = call ptr @strerror(i32 noundef %1564) #13
  %1566 = load i32, ptr %377, align 4, !tbaa !5
  %1567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1558, ptr noundef nonnull %.str.5.sink2748, i32 noundef %1559, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 302, ptr noundef %1561, ptr noundef %1563, ptr noundef %1565, i32 noundef %1566) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1568:                                             ; preds = %1541
  %1569 = add nsw i32 %1542, 2
  store i32 %1569, ptr @test_count, align 4, !tbaa !5
  %1570 = load i32, ptr %1355, align 4, !tbaa !67
  %1571 = load i32, ptr %1357, align 8, !tbaa !68
  %1572 = sub i32 %1570, %1571
  %1573 = icmp eq i32 %1572, 51
  br i1 %1573, label %1596, label %1574

1574:                                             ; preds = %1568
  %1575 = load i32, ptr %377, align 4, !tbaa !5
  %1576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1577 = call i32 @s2n_print_stacktrace(ptr noundef %1576) #13
  %1578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1579 = trunc nuw i8 %1578 to i1
  br i1 %1579, label %1580, label %1584

1580:                                             ; preds = %1574
  %1581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1582 = call i32 @fileno(ptr noundef %1581) #13
  %1583 = call i32 @isatty(i32 noundef %1582) #13
  %.not1711 = icmp eq i32 %1583, 0
  br i1 %.not1711, label %1584, label %1585

1584:                                             ; preds = %1580, %1574
  br label %1585

1585:                                             ; preds = %1580, %1584
  %.str.5.sink2757 = phi ptr [ @.str.5, %1584 ], [ @.str.2, %1580 ]
  store i32 %1575, ptr %377, align 4, !tbaa !5
  %1586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1587 = load i32, ptr @test_count, align 4, !tbaa !5
  %1588 = load i32, ptr %323, align 4, !tbaa !5
  %1589 = call ptr @s2n_strerror(i32 noundef %1588, ptr noundef nonnull @.str.4) #13
  %1590 = load i32, ptr %323, align 4, !tbaa !5
  %1591 = call ptr @s2n_strerror_debug(i32 noundef %1590, ptr noundef nonnull @.str.4) #13
  %1592 = load i32, ptr %377, align 4, !tbaa !5
  %1593 = call ptr @strerror(i32 noundef %1592) #13
  %1594 = load i32, ptr %377, align 4, !tbaa !5
  %1595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1586, ptr noundef nonnull %.str.5.sink2757, i32 noundef %1587, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %1589, ptr noundef %1591, ptr noundef %1593, i32 noundef %1594) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1596:                                             ; preds = %1568
  %1597 = add nsw i32 %1542, 3
  store i32 %1597, ptr @test_count, align 4, !tbaa !5
  %1598 = call i32 @s2n_connection_free(ptr noundef nonnull %1185) #13
  %1599 = icmp eq i32 %1598, -1
  br i1 %1599, label %1600, label %1622

1600:                                             ; preds = %1596
  %1601 = load i32, ptr %377, align 4, !tbaa !5
  %1602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1603 = call i32 @s2n_print_stacktrace(ptr noundef %1602) #13
  %1604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1605 = trunc nuw i8 %1604 to i1
  br i1 %1605, label %1606, label %1610

1606:                                             ; preds = %1600
  %1607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1608 = call i32 @fileno(ptr noundef %1607) #13
  %1609 = call i32 @isatty(i32 noundef %1608) #13
  %.not2228 = icmp eq i32 %1609, 0
  br i1 %.not2228, label %1610, label %1611

1610:                                             ; preds = %1606, %1600
  br label %1611

1611:                                             ; preds = %1606, %1610
  %.str.5.sink2766 = phi ptr [ @.str.5, %1610 ], [ @.str.2, %1606 ]
  store i32 %1601, ptr %377, align 4, !tbaa !5
  %1612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1613 = load i32, ptr @test_count, align 4, !tbaa !5
  %1614 = load i32, ptr %323, align 4, !tbaa !5
  %1615 = call ptr @s2n_strerror(i32 noundef %1614, ptr noundef nonnull @.str.4) #13
  %1616 = load i32, ptr %323, align 4, !tbaa !5
  %1617 = call ptr @s2n_strerror_debug(i32 noundef %1616, ptr noundef nonnull @.str.4) #13
  %1618 = load i32, ptr %377, align 4, !tbaa !5
  %1619 = call ptr @strerror(i32 noundef %1618) #13
  %1620 = load i32, ptr %377, align 4, !tbaa !5
  %1621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1612, ptr noundef nonnull %.str.5.sink2766, i32 noundef %1613, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %1615, ptr noundef %1617, ptr noundef %1619, i32 noundef %1620) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1622:                                             ; preds = %1596
  %1623 = load i32, ptr @test_count, align 4, !tbaa !5
  %1624 = add nsw i32 %1623, 1
  store i32 %1624, ptr @test_count, align 4, !tbaa !5
  %1625 = call i32 @s2n_stuffer_free(ptr noundef nonnull %14) #13
  %1626 = icmp eq i32 %1625, -1
  br i1 %1626, label %1627, label %1649

1627:                                             ; preds = %1622
  %1628 = load i32, ptr %377, align 4, !tbaa !5
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = call i32 @s2n_print_stacktrace(ptr noundef %1629) #13
  %1631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1632 = trunc nuw i8 %1631 to i1
  br i1 %1632, label %1633, label %1637

1633:                                             ; preds = %1627
  %1634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1635 = call i32 @fileno(ptr noundef %1634) #13
  %1636 = call i32 @isatty(i32 noundef %1635) #13
  %.not2227 = icmp eq i32 %1636, 0
  br i1 %.not2227, label %1637, label %1638

1637:                                             ; preds = %1633, %1627
  br label %1638

1638:                                             ; preds = %1633, %1637
  %.str.5.sink2775 = phi ptr [ @.str.5, %1637 ], [ @.str.2, %1633 ]
  store i32 %1628, ptr %377, align 4, !tbaa !5
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = load i32, ptr @test_count, align 4, !tbaa !5
  %1641 = load i32, ptr %323, align 4, !tbaa !5
  %1642 = call ptr @s2n_strerror(i32 noundef %1641, ptr noundef nonnull @.str.4) #13
  %1643 = load i32, ptr %323, align 4, !tbaa !5
  %1644 = call ptr @s2n_strerror_debug(i32 noundef %1643, ptr noundef nonnull @.str.4) #13
  %1645 = load i32, ptr %377, align 4, !tbaa !5
  %1646 = call ptr @strerror(i32 noundef %1645) #13
  %1647 = load i32, ptr %377, align 4, !tbaa !5
  %1648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1639, ptr noundef nonnull %.str.5.sink2775, i32 noundef %1640, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 310, ptr noundef %1642, ptr noundef %1644, ptr noundef %1646, i32 noundef %1647) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1649:                                             ; preds = %1622
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %18) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %17) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #13
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %20) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %20, i8 0, i64 40, i1 false)
  %1650 = load i32, ptr @test_count, align 4, !tbaa !5
  %1651 = add nsw i32 %1650, 1
  store i32 %1651, ptr @test_count, align 4, !tbaa !5
  %1652 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %20, i32 noundef 0) #13
  %1653 = icmp eq i32 %1652, -1
  br i1 %1653, label %1654, label %1676

1654:                                             ; preds = %1649
  %1655 = load i32, ptr %377, align 4, !tbaa !5
  %1656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1657 = call i32 @s2n_print_stacktrace(ptr noundef %1656) #13
  %1658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1659 = trunc nuw i8 %1658 to i1
  br i1 %1659, label %1660, label %1664

1660:                                             ; preds = %1654
  %1661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1662 = call i32 @fileno(ptr noundef %1661) #13
  %1663 = call i32 @isatty(i32 noundef %1662) #13
  %.not2226 = icmp eq i32 %1663, 0
  br i1 %.not2226, label %1664, label %1665

1664:                                             ; preds = %1660, %1654
  br label %1665

1665:                                             ; preds = %1660, %1664
  %.str.5.sink2784 = phi ptr [ @.str.5, %1664 ], [ @.str.2, %1660 ]
  store i32 %1655, ptr %377, align 4, !tbaa !5
  %1666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1667 = load i32, ptr @test_count, align 4, !tbaa !5
  %1668 = load i32, ptr %323, align 4, !tbaa !5
  %1669 = call ptr @s2n_strerror(i32 noundef %1668, ptr noundef nonnull @.str.4) #13
  %1670 = load i32, ptr %323, align 4, !tbaa !5
  %1671 = call ptr @s2n_strerror_debug(i32 noundef %1670, ptr noundef nonnull @.str.4) #13
  %1672 = load i32, ptr %377, align 4, !tbaa !5
  %1673 = call ptr @strerror(i32 noundef %1672) #13
  %1674 = load i32, ptr %377, align 4, !tbaa !5
  %1675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1666, ptr noundef nonnull %.str.5.sink2784, i32 noundef %1667, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 316, ptr noundef %1669, ptr noundef %1671, ptr noundef %1673, i32 noundef %1674) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1676:                                             ; preds = %1649
  %1677 = load i32, ptr @test_count, align 4, !tbaa !5
  %1678 = add nsw i32 %1677, 1
  store i32 %1678, ptr @test_count, align 4, !tbaa !5
  %1679 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %1680 = icmp eq ptr %1679, null
  br i1 %1680, label %1681, label %1703

1681:                                             ; preds = %1676
  %1682 = load i32, ptr %377, align 4, !tbaa !5
  %1683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1684 = call i32 @s2n_print_stacktrace(ptr noundef %1683) #13
  %1685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1686 = trunc nuw i8 %1685 to i1
  br i1 %1686, label %1687, label %1691

1687:                                             ; preds = %1681
  %1688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1689 = call i32 @fileno(ptr noundef %1688) #13
  %1690 = call i32 @isatty(i32 noundef %1689) #13
  %.not2225 = icmp eq i32 %1690, 0
  br i1 %.not2225, label %1691, label %1692

1691:                                             ; preds = %1687, %1681
  br label %1692

1692:                                             ; preds = %1687, %1691
  %.str.5.sink2793 = phi ptr [ @.str.5, %1691 ], [ @.str.2, %1687 ]
  store i32 %1682, ptr %377, align 4, !tbaa !5
  %1693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1694 = load i32, ptr @test_count, align 4, !tbaa !5
  %1695 = load i32, ptr %323, align 4, !tbaa !5
  %1696 = call ptr @s2n_strerror(i32 noundef %1695, ptr noundef nonnull @.str.4) #13
  %1697 = load i32, ptr %323, align 4, !tbaa !5
  %1698 = call ptr @s2n_strerror_debug(i32 noundef %1697, ptr noundef nonnull @.str.4) #13
  %1699 = load i32, ptr %377, align 4, !tbaa !5
  %1700 = call ptr @strerror(i32 noundef %1699) #13
  %1701 = load i32, ptr %377, align 4, !tbaa !5
  %1702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1693, ptr noundef nonnull %.str.5.sink2793, i32 noundef %1694, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %1696, ptr noundef %1698, ptr noundef %1700, i32 noundef %1701) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1703:                                             ; preds = %1676
  %1704 = getelementptr inbounds i8, ptr %1679, i64 1696
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #13
  store ptr null, ptr %21, align 8, !tbaa !9
  %1705 = load i32, ptr @test_count, align 4, !tbaa !5
  %1706 = add nsw i32 %1705, 1
  store i32 %1706, ptr @test_count, align 4, !tbaa !5
  %1707 = call i32 @s2n_array_pushback(ptr noundef nonnull %1704, ptr noundef nonnull %21) #13
  %1708 = call zeroext i1 @s2n_result_is_ok(i32 %1707)
  br i1 %1708, label %1731, label %1709

1709:                                             ; preds = %1787, %1703
  %1710 = load i32, ptr %377, align 4, !tbaa !5
  %1711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1712 = call i32 @s2n_print_stacktrace(ptr noundef %1711) #13
  %1713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1714 = trunc nuw i8 %1713 to i1
  br i1 %1714, label %1715, label %1719

1715:                                             ; preds = %1709
  %1716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1717 = call i32 @fileno(ptr noundef %1716) #13
  %1718 = call i32 @isatty(i32 noundef %1717) #13
  %.not2222 = icmp eq i32 %1718, 0
  br i1 %.not2222, label %1719, label %1720

1719:                                             ; preds = %1715, %1709
  br label %1720

1720:                                             ; preds = %1715, %1719
  %.str.5.sink2802 = phi ptr [ @.str.5, %1719 ], [ @.str.2, %1715 ]
  store i32 %1710, ptr %377, align 4, !tbaa !5
  %1721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1722 = load i32, ptr @test_count, align 4, !tbaa !5
  %1723 = load i32, ptr %323, align 4, !tbaa !5
  %1724 = call ptr @s2n_strerror(i32 noundef %1723, ptr noundef nonnull @.str.4) #13
  %1725 = load i32, ptr %323, align 4, !tbaa !5
  %1726 = call ptr @s2n_strerror_debug(i32 noundef %1725, ptr noundef nonnull @.str.4) #13
  %1727 = load i32, ptr %377, align 4, !tbaa !5
  %1728 = call ptr @strerror(i32 noundef %1727) #13
  %1729 = load i32, ptr %377, align 4, !tbaa !5
  %1730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1721, ptr noundef nonnull %.str.5.sink2802, i32 noundef %1722, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %1724, ptr noundef %1726, ptr noundef %1728, i32 noundef %1729) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1731:                                             ; preds = %1703
  %1732 = load i32, ptr @test_count, align 4, !tbaa !5
  %1733 = add nsw i32 %1732, 1
  store i32 %1733, ptr @test_count, align 4, !tbaa !5
  %1734 = load ptr, ptr %21, align 8, !tbaa !9
  %1735 = call i32 @s2n_psk_init(ptr noundef %1734, i32 noundef 1) #13
  %1736 = call zeroext i1 @s2n_result_is_ok(i32 %1735)
  br i1 %1736, label %1759, label %1737

1737:                                             ; preds = %1794, %1731
  %1738 = load i32, ptr %377, align 4, !tbaa !5
  %1739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1740 = call i32 @s2n_print_stacktrace(ptr noundef %1739) #13
  %1741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1742 = trunc nuw i8 %1741 to i1
  br i1 %1742, label %1743, label %1747

1743:                                             ; preds = %1737
  %1744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1745 = call i32 @fileno(ptr noundef %1744) #13
  %1746 = call i32 @isatty(i32 noundef %1745) #13
  %.not2223 = icmp eq i32 %1746, 0
  br i1 %.not2223, label %1747, label %1748

1747:                                             ; preds = %1743, %1737
  br label %1748

1748:                                             ; preds = %1743, %1747
  %.str.5.sink2811 = phi ptr [ @.str.5, %1747 ], [ @.str.2, %1743 ]
  store i32 %1738, ptr %377, align 4, !tbaa !5
  %1749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1750 = load i32, ptr @test_count, align 4, !tbaa !5
  %1751 = load i32, ptr %323, align 4, !tbaa !5
  %1752 = call ptr @s2n_strerror(i32 noundef %1751, ptr noundef nonnull @.str.4) #13
  %1753 = load i32, ptr %323, align 4, !tbaa !5
  %1754 = call ptr @s2n_strerror_debug(i32 noundef %1753, ptr noundef nonnull @.str.4) #13
  %1755 = load i32, ptr %377, align 4, !tbaa !5
  %1756 = call ptr @strerror(i32 noundef %1755) #13
  %1757 = load i32, ptr %377, align 4, !tbaa !5
  %1758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1749, ptr noundef nonnull %.str.5.sink2811, i32 noundef %1750, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %1752, ptr noundef %1754, ptr noundef %1756, i32 noundef %1757) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1759:                                             ; preds = %1731
  %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 = load ptr, ptr %21, align 8, !tbaa !9
  %1763 = call i32 @s2n_psk_set_identity(ptr noundef %1762, ptr noundef nonnull %5, i16 noundef zeroext 14) #13
  %1764 = icmp eq i32 %1763, -1
  br i1 %1764, label %1765, label %1787

1765:                                             ; preds = %1800, %1759
  %1766 = load i32, ptr %377, align 4, !tbaa !5
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = call i32 @s2n_print_stacktrace(ptr noundef %1767) #13
  %1769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1770 = trunc nuw i8 %1769 to i1
  br i1 %1770, label %1771, label %1775

1771:                                             ; preds = %1765
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = call i32 @fileno(ptr noundef %1772) #13
  %1774 = call i32 @isatty(i32 noundef %1773) #13
  %.not2224 = icmp eq i32 %1774, 0
  br i1 %.not2224, label %1775, label %1776

1775:                                             ; preds = %1771, %1765
  br label %1776

1776:                                             ; preds = %1771, %1775
  %.str.5.sink2820 = phi ptr [ @.str.5, %1775 ], [ @.str.2, %1771 ]
  store i32 %1766, ptr %377, align 4, !tbaa !5
  %1777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1778 = load i32, ptr @test_count, align 4, !tbaa !5
  %1779 = load i32, ptr %323, align 4, !tbaa !5
  %1780 = call ptr @s2n_strerror(i32 noundef %1779, ptr noundef nonnull @.str.4) #13
  %1781 = load i32, ptr %323, align 4, !tbaa !5
  %1782 = call ptr @s2n_strerror_debug(i32 noundef %1781, ptr noundef nonnull @.str.4) #13
  %1783 = load i32, ptr %377, align 4, !tbaa !5
  %1784 = call ptr @strerror(i32 noundef %1783) #13
  %1785 = load i32, ptr %377, align 4, !tbaa !5
  %1786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1777, ptr noundef nonnull %.str.5.sink2820, i32 noundef %1778, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %1780, ptr noundef %1782, ptr noundef %1784, i32 noundef %1785) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1787:                                             ; preds = %1759
  %1788 = load ptr, ptr %21, align 8, !tbaa !9
  %1789 = getelementptr inbounds i8, ptr %1788, i64 56
  store i32 3, ptr %1789, align 8, !tbaa !55
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #13
  store ptr null, ptr %21, align 8, !tbaa !9
  %1790 = load i32, ptr @test_count, align 4, !tbaa !5
  %1791 = add nsw i32 %1790, 1
  store i32 %1791, ptr @test_count, align 4, !tbaa !5
  %1792 = call i32 @s2n_array_pushback(ptr noundef nonnull %1704, ptr noundef nonnull %21) #13
  %1793 = call zeroext i1 @s2n_result_is_ok(i32 %1792)
  br i1 %1793, label %1794, label %1709

1794:                                             ; preds = %1787
  %1795 = load i32, ptr @test_count, align 4, !tbaa !5
  %1796 = add nsw i32 %1795, 1
  store i32 %1796, ptr @test_count, align 4, !tbaa !5
  %1797 = load ptr, ptr %21, align 8, !tbaa !9
  %1798 = call i32 @s2n_psk_init(ptr noundef %1797, i32 noundef 1) #13
  %1799 = call zeroext i1 @s2n_result_is_ok(i32 %1798)
  br i1 %1799, label %1800, label %1737

1800:                                             ; preds = %1794
  %1801 = load i32, ptr @test_count, align 4, !tbaa !5
  %1802 = add nsw i32 %1801, 1
  store i32 %1802, ptr @test_count, align 4, !tbaa !5
  %1803 = load ptr, ptr %21, align 8, !tbaa !9
  %1804 = call i32 @s2n_psk_set_identity(ptr noundef %1803, ptr noundef nonnull %6, i16 noundef zeroext 17) #13
  %1805 = icmp eq i32 %1804, -1
  br i1 %1805, label %1765, label %1806

1806:                                             ; preds = %1800
  %1807 = load ptr, ptr %21, align 8, !tbaa !9
  %1808 = getelementptr inbounds i8, ptr %1807, i64 56
  store i32 5, ptr %1808, align 8, !tbaa !55
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #13
  %1809 = load i32, ptr @test_count, align 4, !tbaa !5
  %1810 = add nsw i32 %1809, 1
  store i32 %1810, ptr @test_count, align 4, !tbaa !5
  %1811 = call i32 %1299(ptr noundef nonnull %1679, ptr noundef nonnull %20) #13
  %1812 = icmp eq i32 %1811, -1
  br i1 %1812, label %1813, label %1835

1813:                                             ; preds = %1806
  %1814 = load i32, ptr %377, align 4, !tbaa !5
  %1815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1816 = call i32 @s2n_print_stacktrace(ptr noundef %1815) #13
  %1817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1818 = trunc nuw i8 %1817 to i1
  br i1 %1818, label %1819, label %1823

1819:                                             ; preds = %1813
  %1820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1821 = call i32 @fileno(ptr noundef %1820) #13
  %1822 = call i32 @isatty(i32 noundef %1821) #13
  %.not2221 = icmp eq i32 %1822, 0
  br i1 %.not2221, label %1823, label %1824

1823:                                             ; preds = %1819, %1813
  br label %1824

1824:                                             ; preds = %1819, %1823
  %.str.5.sink2829 = phi ptr [ @.str.5, %1823 ], [ @.str.2, %1819 ]
  store i32 %1814, ptr %377, align 4, !tbaa !5
  %1825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1826 = load i32, ptr @test_count, align 4, !tbaa !5
  %1827 = load i32, ptr %323, align 4, !tbaa !5
  %1828 = call ptr @s2n_strerror(i32 noundef %1827, ptr noundef nonnull @.str.4) #13
  %1829 = load i32, ptr %323, align 4, !tbaa !5
  %1830 = call ptr @s2n_strerror_debug(i32 noundef %1829, ptr noundef nonnull @.str.4) #13
  %1831 = load i32, ptr %377, align 4, !tbaa !5
  %1832 = call ptr @strerror(i32 noundef %1831) #13
  %1833 = load i32, ptr %377, align 4, !tbaa !5
  %1834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1825, ptr noundef nonnull %.str.5.sink2829, i32 noundef %1826, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %1828, ptr noundef %1830, ptr noundef %1832, i32 noundef %1833) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1835:                                             ; preds = %1806
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #13
  store i32 0, ptr %22, align 4, !tbaa !5
  %1836 = load i32, ptr @test_count, align 4, !tbaa !5
  %1837 = add nsw i32 %1836, 1
  store i32 %1837, ptr @test_count, align 4, !tbaa !5
  %1838 = getelementptr inbounds i8, ptr %1679, i64 1688
  %1839 = call i32 @s2n_psk_parameters_offered_psks_size(ptr noundef nonnull %1838, ptr noundef nonnull %22) #13
  %1840 = call zeroext i1 @s2n_result_is_ok(i32 %1839)
  br i1 %1840, label %1863, label %1841

1841:                                             ; preds = %1835
  %1842 = load i32, ptr %377, align 4, !tbaa !5
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = call i32 @s2n_print_stacktrace(ptr noundef %1843) #13
  %1845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1846 = trunc nuw i8 %1845 to i1
  br i1 %1846, label %1847, label %1851

1847:                                             ; preds = %1841
  %1848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1849 = call i32 @fileno(ptr noundef %1848) #13
  %1850 = call i32 @isatty(i32 noundef %1849) #13
  %.not1712 = icmp eq i32 %1850, 0
  br i1 %.not1712, label %1851, label %1852

1851:                                             ; preds = %1847, %1841
  br label %1852

1852:                                             ; preds = %1847, %1851
  %.str.5.sink2838 = phi ptr [ @.str.5, %1851 ], [ @.str.2, %1847 ]
  store i32 %1842, ptr %377, align 4, !tbaa !5
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = load i32, ptr @test_count, align 4, !tbaa !5
  %1855 = load i32, ptr %323, align 4, !tbaa !5
  %1856 = call ptr @s2n_strerror(i32 noundef %1855, ptr noundef nonnull @.str.4) #13
  %1857 = load i32, ptr %323, align 4, !tbaa !5
  %1858 = call ptr @s2n_strerror_debug(i32 noundef %1857, ptr noundef nonnull @.str.4) #13
  %1859 = load i32, ptr %377, align 4, !tbaa !5
  %1860 = call ptr @strerror(i32 noundef %1859) #13
  %1861 = load i32, ptr %377, align 4, !tbaa !5
  %1862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1853, ptr noundef nonnull %.str.5.sink2838, i32 noundef %1854, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %1856, ptr noundef %1858, ptr noundef %1860, i32 noundef %1861) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1863:                                             ; preds = %1835
  %1864 = load i32, ptr @test_count, align 4, !tbaa !5
  %1865 = add nsw i32 %1864, 1
  store i32 %1865, ptr @test_count, align 4, !tbaa !5
  %1866 = load i32, ptr %22, align 4, !tbaa !5
  %1867 = getelementptr inbounds i8, ptr %20, i64 28
  %1868 = load i32, ptr %1867, align 4, !tbaa !67
  %1869 = getelementptr inbounds i8, ptr %20, i64 24
  %1870 = load i32, ptr %1869, align 8, !tbaa !68
  %1871 = sub i32 %1868, %1870
  %1872 = icmp eq i32 %1866, %1871
  br i1 %1872, label %1895, label %1873

1873:                                             ; preds = %1863
  %1874 = load i32, ptr %377, align 4, !tbaa !5
  %1875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1876 = call i32 @s2n_print_stacktrace(ptr noundef %1875) #13
  %1877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1878 = trunc nuw i8 %1877 to i1
  br i1 %1878, label %1879, label %1883

1879:                                             ; preds = %1873
  %1880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1881 = call i32 @fileno(ptr noundef %1880) #13
  %1882 = call i32 @isatty(i32 noundef %1881) #13
  %.not1713 = icmp eq i32 %1882, 0
  br i1 %.not1713, label %1883, label %1884

1883:                                             ; preds = %1879, %1873
  br label %1884

1884:                                             ; preds = %1879, %1883
  %.str.5.sink2847 = phi ptr [ @.str.5, %1883 ], [ @.str.2, %1879 ]
  store i32 %1874, ptr %377, align 4, !tbaa !5
  %1885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1886 = load i32, ptr @test_count, align 4, !tbaa !5
  %1887 = load i32, ptr %323, align 4, !tbaa !5
  %1888 = call ptr @s2n_strerror(i32 noundef %1887, ptr noundef nonnull @.str.4) #13
  %1889 = load i32, ptr %323, align 4, !tbaa !5
  %1890 = call ptr @s2n_strerror_debug(i32 noundef %1889, ptr noundef nonnull @.str.4) #13
  %1891 = load i32, ptr %377, align 4, !tbaa !5
  %1892 = call ptr @strerror(i32 noundef %1891) #13
  %1893 = load i32, ptr %377, align 4, !tbaa !5
  %1894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1885, ptr noundef nonnull %.str.5.sink2847, i32 noundef %1886, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %1888, ptr noundef %1890, ptr noundef %1892, i32 noundef %1893) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1895:                                             ; preds = %1863
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %23) #13
  store i16 0, ptr %23, align 2, !tbaa !69
  %1896 = add nsw i32 %1864, 2
  store i32 %1896, ptr @test_count, align 4, !tbaa !5
  %1897 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %20, ptr noundef nonnull %23) #13
  %1898 = icmp eq i32 %1897, -1
  br i1 %1898, label %1903, label %.preheader2261.preheader

.preheader2261.preheader:                         ; preds = %1895
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %24) #13
  store i16 0, ptr %24, align 2, !tbaa !69
  %1899 = load i32, ptr @test_count, align 4, !tbaa !5
  %1900 = add nsw i32 %1899, 1
  store i32 %1900, ptr @test_count, align 4, !tbaa !5
  %1901 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %20, ptr noundef nonnull %24) #13
  %1902 = icmp eq i32 %1901, -1
  br i1 %1902, label %1925, label %1947

1903:                                             ; preds = %1895
  %1904 = load i32, ptr %377, align 4, !tbaa !5
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = call i32 @s2n_print_stacktrace(ptr noundef %1905) #13
  %1907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1908 = trunc nuw i8 %1907 to i1
  br i1 %1908, label %1909, label %1913

1909:                                             ; preds = %1903
  %1910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1911 = call i32 @fileno(ptr noundef %1910) #13
  %1912 = call i32 @isatty(i32 noundef %1911) #13
  %.not2220 = icmp eq i32 %1912, 0
  br i1 %.not2220, label %1913, label %1914

1913:                                             ; preds = %1909, %1903
  br label %1914

1914:                                             ; preds = %1909, %1913
  %.str.5.sink2856 = phi ptr [ @.str.5, %1913 ], [ @.str.2, %1909 ]
  store i32 %1904, ptr %377, align 4, !tbaa !5
  %1915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1916 = load i32, ptr @test_count, align 4, !tbaa !5
  %1917 = load i32, ptr %323, align 4, !tbaa !5
  %1918 = call ptr @s2n_strerror(i32 noundef %1917, ptr noundef nonnull @.str.4) #13
  %1919 = load i32, ptr %323, align 4, !tbaa !5
  %1920 = call ptr @s2n_strerror_debug(i32 noundef %1919, ptr noundef nonnull @.str.4) #13
  %1921 = load i32, ptr %377, align 4, !tbaa !5
  %1922 = call ptr @strerror(i32 noundef %1921) #13
  %1923 = load i32, ptr %377, align 4, !tbaa !5
  %1924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1915, ptr noundef nonnull %.str.5.sink2856, i32 noundef %1916, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %1918, ptr noundef %1920, ptr noundef %1922, i32 noundef %1923) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1925:                                             ; preds = %.preheader2261.1, %.preheader2261.preheader
  %1926 = load i32, ptr %377, align 4, !tbaa !5
  %1927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1928 = call i32 @s2n_print_stacktrace(ptr noundef %1927) #13
  %1929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1930 = trunc nuw i8 %1929 to i1
  br i1 %1930, label %1931, label %1935

1931:                                             ; preds = %1925
  %1932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1933 = call i32 @fileno(ptr noundef %1932) #13
  %1934 = call i32 @isatty(i32 noundef %1933) #13
  %.not2219 = icmp eq i32 %1934, 0
  br i1 %.not2219, label %1935, label %1936

1935:                                             ; preds = %1931, %1925
  br label %1936

1936:                                             ; preds = %1931, %1935
  %.str.5.sink2865 = phi ptr [ @.str.5, %1935 ], [ @.str.2, %1931 ]
  store i32 %1926, ptr %377, align 4, !tbaa !5
  %1937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1938 = load i32, ptr @test_count, align 4, !tbaa !5
  %1939 = load i32, ptr %323, align 4, !tbaa !5
  %1940 = call ptr @s2n_strerror(i32 noundef %1939, ptr noundef nonnull @.str.4) #13
  %1941 = load i32, ptr %323, align 4, !tbaa !5
  %1942 = call ptr @s2n_strerror_debug(i32 noundef %1941, ptr noundef nonnull @.str.4) #13
  %1943 = load i32, ptr %377, align 4, !tbaa !5
  %1944 = call ptr @strerror(i32 noundef %1943) #13
  %1945 = load i32, ptr %377, align 4, !tbaa !5
  %1946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1937, ptr noundef nonnull %.str.5.sink2865, i32 noundef %1938, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %1940, ptr noundef %1942, ptr noundef %1944, i32 noundef %1945) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1947:                                             ; preds = %.preheader2261.preheader
  %1948 = load i32, ptr @test_count, align 4, !tbaa !5
  %1949 = add nsw i32 %1948, 1
  store i32 %1949, ptr @test_count, align 4, !tbaa !5
  %1950 = load i16, ptr %24, align 2, !tbaa !69
  %1951 = icmp eq i16 %1950, 14
  br i1 %1951, label %1974, label %1952

1952:                                             ; preds = %2083, %1947
  %1953 = load i32, ptr %377, align 4, !tbaa !5
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = call i32 @s2n_print_stacktrace(ptr noundef %1954) #13
  %1956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1957 = trunc nuw i8 %1956 to i1
  br i1 %1957, label %1958, label %1962

1958:                                             ; preds = %1952
  %1959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1960 = call i32 @fileno(ptr noundef %1959) #13
  %1961 = call i32 @isatty(i32 noundef %1960) #13
  %.not2212 = icmp eq i32 %1961, 0
  br i1 %.not2212, label %1962, label %1963

1962:                                             ; preds = %1958, %1952
  br label %1963

1963:                                             ; preds = %1958, %1962
  %.str.5.sink2874 = phi ptr [ @.str.5, %1962 ], [ @.str.2, %1958 ]
  store i32 %1953, ptr %377, align 4, !tbaa !5
  %1964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1965 = load i32, ptr @test_count, align 4, !tbaa !5
  %1966 = load i32, ptr %323, align 4, !tbaa !5
  %1967 = call ptr @s2n_strerror(i32 noundef %1966, ptr noundef nonnull @.str.4) #13
  %1968 = load i32, ptr %323, align 4, !tbaa !5
  %1969 = call ptr @s2n_strerror_debug(i32 noundef %1968, ptr noundef nonnull @.str.4) #13
  %1970 = load i32, ptr %377, align 4, !tbaa !5
  %1971 = call ptr @strerror(i32 noundef %1970) #13
  %1972 = load i32, ptr %377, align 4, !tbaa !5
  %1973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1964, ptr noundef nonnull %.str.5.sink2874, i32 noundef %1965, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %1967, ptr noundef %1969, ptr noundef %1971, i32 noundef %1972) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1974:                                             ; preds = %1947
  %1975 = add nsw i32 %1948, 2
  store i32 %1975, ptr @test_count, align 4, !tbaa !5
  %1976 = zext nneg i16 %1950 to i32
  %1977 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %20, i32 noundef %1976) #13
  %1978 = icmp eq ptr %1977, null
  br i1 %1978, label %1979, label %2001

1979:                                             ; preds = %2088, %1974
  %1980 = load i32, ptr %377, align 4, !tbaa !5
  %1981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1982 = call i32 @s2n_print_stacktrace(ptr noundef %1981) #13
  %1983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1984 = trunc nuw i8 %1983 to i1
  br i1 %1984, label %1985, label %1989

1985:                                             ; preds = %1979
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = call i32 @fileno(ptr noundef %1986) #13
  %1988 = call i32 @isatty(i32 noundef %1987) #13
  %.not2218 = icmp eq i32 %1988, 0
  br i1 %.not2218, label %1989, label %1990

1989:                                             ; preds = %1985, %1979
  br label %1990

1990:                                             ; preds = %1985, %1989
  %.str.5.sink2883 = phi ptr [ @.str.5, %1989 ], [ @.str.2, %1985 ]
  store i32 %1980, ptr %377, align 4, !tbaa !5
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = load i32, ptr @test_count, align 4, !tbaa !5
  %1993 = load i32, ptr %323, align 4, !tbaa !5
  %1994 = call ptr @s2n_strerror(i32 noundef %1993, ptr noundef nonnull @.str.4) #13
  %1995 = load i32, ptr %323, align 4, !tbaa !5
  %1996 = call ptr @s2n_strerror_debug(i32 noundef %1995, ptr noundef nonnull @.str.4) #13
  %1997 = load i32, ptr %377, align 4, !tbaa !5
  %1998 = call ptr @strerror(i32 noundef %1997) #13
  %1999 = load i32, ptr %377, align 4, !tbaa !5
  %2000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1991, ptr noundef nonnull %.str.5.sink2883, i32 noundef %1992, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 353, ptr noundef %1994, ptr noundef %1996, ptr noundef %1998, i32 noundef %1999) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2001:                                             ; preds = %1974
  %2002 = load i32, ptr @test_count, align 4, !tbaa !5
  %2003 = add nsw i32 %2002, 1
  store i32 %2003, ptr @test_count, align 4, !tbaa !5
  %bcmp2214 = call i32 @bcmp(ptr noundef nonnull dereferenceable(14) %1977, ptr noundef nonnull dereferenceable(14) %5, i64 14)
  %2004 = icmp eq i32 %bcmp2214, 0
  br i1 %2004, label %2027, label %2005

2005:                                             ; preds = %2093, %2001
  %2006 = load i32, ptr %377, align 4, !tbaa !5
  %2007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2008 = call i32 @s2n_print_stacktrace(ptr noundef %2007) #13
  %2009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2010 = trunc nuw i8 %2009 to i1
  br i1 %2010, label %2011, label %2015

2011:                                             ; preds = %2005
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = call i32 @fileno(ptr noundef %2012) #13
  %2014 = call i32 @isatty(i32 noundef %2013) #13
  %.not2215 = icmp eq i32 %2014, 0
  br i1 %.not2215, label %2015, label %2016

2015:                                             ; preds = %2011, %2005
  br label %2016

2016:                                             ; preds = %2011, %2015
  %.str.5.sink2892 = phi ptr [ @.str.5, %2015 ], [ @.str.2, %2011 ]
  store i32 %2006, ptr %377, align 4, !tbaa !5
  %2017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2018 = load i32, ptr @test_count, align 4, !tbaa !5
  %2019 = load i32, ptr %323, align 4, !tbaa !5
  %2020 = call ptr @s2n_strerror(i32 noundef %2019, ptr noundef nonnull @.str.4) #13
  %2021 = load i32, ptr %323, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror_debug(i32 noundef %2021, ptr noundef nonnull @.str.4) #13
  %2023 = load i32, ptr %377, align 4, !tbaa !5
  %2024 = call ptr @strerror(i32 noundef %2023) #13
  %2025 = load i32, ptr %377, align 4, !tbaa !5
  %2026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2017, ptr noundef nonnull %.str.5.sink2892, i32 noundef %2018, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 354, ptr noundef %2020, ptr noundef %2022, ptr noundef %2024, i32 noundef %2025) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2027:                                             ; preds = %2001
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #13
  store i32 0, ptr %25, align 4, !tbaa !5
  %2028 = add nsw i32 %2002, 2
  store i32 %2028, ptr @test_count, align 4, !tbaa !5
  %2029 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %20, ptr noundef nonnull %25) #13
  %2030 = icmp eq i32 %2029, -1
  br i1 %2030, label %2031, label %2053

2031:                                             ; preds = %2097, %2027
  %2032 = load i32, ptr %377, align 4, !tbaa !5
  %2033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2034 = call i32 @s2n_print_stacktrace(ptr noundef %2033) #13
  %2035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2036 = trunc nuw i8 %2035 to i1
  br i1 %2036, label %2037, label %2041

2037:                                             ; preds = %2031
  %2038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2039 = call i32 @fileno(ptr noundef %2038) #13
  %2040 = call i32 @isatty(i32 noundef %2039) #13
  %.not2217 = icmp eq i32 %2040, 0
  br i1 %.not2217, label %2041, label %2042

2041:                                             ; preds = %2037, %2031
  br label %2042

2042:                                             ; preds = %2037, %2041
  %.str.5.sink2901 = phi ptr [ @.str.5, %2041 ], [ @.str.2, %2037 ]
  store i32 %2032, ptr %377, align 4, !tbaa !5
  %2043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2044 = load i32, ptr @test_count, align 4, !tbaa !5
  %2045 = load i32, ptr %323, align 4, !tbaa !5
  %2046 = call ptr @s2n_strerror(i32 noundef %2045, ptr noundef nonnull @.str.4) #13
  %2047 = load i32, ptr %323, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror_debug(i32 noundef %2047, ptr noundef nonnull @.str.4) #13
  %2049 = load i32, ptr %377, align 4, !tbaa !5
  %2050 = call ptr @strerror(i32 noundef %2049) #13
  %2051 = load i32, ptr %377, align 4, !tbaa !5
  %2052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2043, ptr noundef nonnull %.str.5.sink2901, i32 noundef %2044, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 357, ptr noundef %2046, ptr noundef %2048, ptr noundef %2050, i32 noundef %2051) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2053:                                             ; preds = %2027
  %2054 = load i32, ptr @test_count, align 4, !tbaa !5
  %2055 = add nsw i32 %2054, 1
  store i32 %2055, ptr @test_count, align 4, !tbaa !5
  %2056 = load i32, ptr %25, align 4, !tbaa !5
  %2057 = icmp eq i32 %2056, 0
  br i1 %2057, label %.preheader2261.1, label %2058

2058:                                             ; preds = %2101, %2053
  %2059 = load i32, ptr %377, align 4, !tbaa !5
  %2060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2061 = call i32 @s2n_print_stacktrace(ptr noundef %2060) #13
  %2062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2063 = trunc nuw i8 %2062 to i1
  br i1 %2063, label %2064, label %2068

2064:                                             ; preds = %2058
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = call i32 @fileno(ptr noundef %2065) #13
  %2067 = call i32 @isatty(i32 noundef %2066) #13
  %.not2216 = icmp eq i32 %2067, 0
  br i1 %.not2216, label %2068, label %2069

2068:                                             ; preds = %2064, %2058
  br label %2069

2069:                                             ; preds = %2064, %2068
  %.str.5.sink2910 = phi ptr [ @.str.5, %2068 ], [ @.str.2, %2064 ]
  store i32 %2059, ptr %377, align 4, !tbaa !5
  %2070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2071 = load i32, ptr @test_count, align 4, !tbaa !5
  %2072 = load i32, ptr %323, align 4, !tbaa !5
  %2073 = call ptr @s2n_strerror(i32 noundef %2072, ptr noundef nonnull @.str.4) #13
  %2074 = load i32, ptr %323, align 4, !tbaa !5
  %2075 = call ptr @s2n_strerror_debug(i32 noundef %2074, ptr noundef nonnull @.str.4) #13
  %2076 = load i32, ptr %377, align 4, !tbaa !5
  %2077 = call ptr @strerror(i32 noundef %2076) #13
  %2078 = load i32, ptr %377, align 4, !tbaa !5
  %2079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2070, ptr noundef nonnull %.str.5.sink2910, i32 noundef %2071, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %2073, ptr noundef %2075, ptr noundef %2077, i32 noundef %2078) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader2261.1:                                 ; preds = %2053
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %24) #13
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %24) #13
  store i16 0, ptr %24, align 2, !tbaa !69
  %2080 = add nsw i32 %2054, 2
  store i32 %2080, ptr @test_count, align 4, !tbaa !5
  %2081 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %20, ptr noundef nonnull %24) #13
  %2082 = icmp eq i32 %2081, -1
  br i1 %2082, label %1925, label %2083

2083:                                             ; preds = %.preheader2261.1
  %2084 = load i32, ptr @test_count, align 4, !tbaa !5
  %2085 = add nsw i32 %2084, 1
  store i32 %2085, ptr @test_count, align 4, !tbaa !5
  %2086 = load i16, ptr %24, align 2, !tbaa !69
  %2087 = icmp eq i16 %2086, 17
  br i1 %2087, label %2088, label %1952

2088:                                             ; preds = %2083
  %2089 = add nsw i32 %2084, 2
  store i32 %2089, ptr @test_count, align 4, !tbaa !5
  %2090 = zext nneg i16 %2086 to i32
  %2091 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %20, i32 noundef %2090) #13
  %2092 = icmp eq ptr %2091, null
  br i1 %2092, label %1979, label %2093

2093:                                             ; preds = %2088
  %2094 = load i32, ptr @test_count, align 4, !tbaa !5
  %2095 = add nsw i32 %2094, 1
  store i32 %2095, ptr @test_count, align 4, !tbaa !5
  %bcmp2214.1 = call i32 @bcmp(ptr noundef nonnull dereferenceable(17) %2091, ptr noundef nonnull dereferenceable(17) %6, i64 17)
  %2096 = icmp eq i32 %bcmp2214.1, 0
  br i1 %2096, label %2097, label %2005

2097:                                             ; preds = %2093
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #13
  store i32 0, ptr %25, align 4, !tbaa !5
  %2098 = add nsw i32 %2094, 2
  store i32 %2098, ptr @test_count, align 4, !tbaa !5
  %2099 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %20, ptr noundef nonnull %25) #13
  %2100 = icmp eq i32 %2099, -1
  br i1 %2100, label %2031, label %2101

2101:                                             ; preds = %2097
  %2102 = load i32, ptr @test_count, align 4, !tbaa !5
  %2103 = add nsw i32 %2102, 1
  store i32 %2103, ptr @test_count, align 4, !tbaa !5
  %2104 = load i32, ptr %25, align 4, !tbaa !5
  %2105 = icmp eq i32 %2104, 0
  br i1 %2105, label %2106, label %2058

2106:                                             ; preds = %2101
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %24) #13
  %2107 = add nsw i32 %2102, 2
  store i32 %2107, ptr @test_count, align 4, !tbaa !5
  %2108 = load i32, ptr %1867, align 4, !tbaa !67
  %2109 = load i32, ptr %1869, align 8, !tbaa !68
  %2110 = sub i32 %2108, %2109
  %2111 = icmp eq i32 %2110, 80
  br i1 %2111, label %2134, label %2112

2112:                                             ; preds = %2106
  %2113 = load i32, ptr %377, align 4, !tbaa !5
  %2114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2115 = call i32 @s2n_print_stacktrace(ptr noundef %2114) #13
  %2116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2117 = trunc nuw i8 %2116 to i1
  br i1 %2117, label %2118, label %2122

2118:                                             ; preds = %2112
  %2119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2120 = call i32 @fileno(ptr noundef %2119) #13
  %2121 = call i32 @isatty(i32 noundef %2120) #13
  %.not1714 = icmp eq i32 %2121, 0
  br i1 %.not1714, label %2122, label %2123

2122:                                             ; preds = %2118, %2112
  br label %2123

2123:                                             ; preds = %2118, %2122
  %.str.5.sink2919 = phi ptr [ @.str.5, %2122 ], [ @.str.2, %2118 ]
  store i32 %2113, ptr %377, align 4, !tbaa !5
  %2124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2125 = load i32, ptr @test_count, align 4, !tbaa !5
  %2126 = load i32, ptr %323, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror(i32 noundef %2126, ptr noundef nonnull @.str.4) #13
  %2128 = load i32, ptr %323, align 4, !tbaa !5
  %2129 = call ptr @s2n_strerror_debug(i32 noundef %2128, ptr noundef nonnull @.str.4) #13
  %2130 = load i32, ptr %377, align 4, !tbaa !5
  %2131 = call ptr @strerror(i32 noundef %2130) #13
  %2132 = load i32, ptr %377, align 4, !tbaa !5
  %2133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2124, ptr noundef nonnull %.str.5.sink2919, i32 noundef %2125, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %2127, ptr noundef %2129, ptr noundef %2131, i32 noundef %2132) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2134:                                             ; preds = %2106
  %2135 = add nsw i32 %2102, 3
  store i32 %2135, ptr @test_count, align 4, !tbaa !5
  %2136 = call i32 @s2n_connection_free(ptr noundef nonnull %1679) #13
  %2137 = icmp eq i32 %2136, -1
  br i1 %2137, label %2138, label %2160

2138:                                             ; preds = %2134
  %2139 = load i32, ptr %377, align 4, !tbaa !5
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = call i32 @s2n_print_stacktrace(ptr noundef %2140) #13
  %2142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2143 = trunc nuw i8 %2142 to i1
  br i1 %2143, label %2144, label %2148

2144:                                             ; preds = %2138
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = call i32 @fileno(ptr noundef %2145) #13
  %2147 = call i32 @isatty(i32 noundef %2146) #13
  %.not2211 = icmp eq i32 %2147, 0
  br i1 %.not2211, label %2148, label %2149

2148:                                             ; preds = %2144, %2138
  br label %2149

2149:                                             ; preds = %2144, %2148
  %.str.5.sink2928 = phi ptr [ @.str.5, %2148 ], [ @.str.2, %2144 ]
  store i32 %2139, ptr %377, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = load i32, ptr @test_count, align 4, !tbaa !5
  %2152 = load i32, ptr %323, align 4, !tbaa !5
  %2153 = call ptr @s2n_strerror(i32 noundef %2152, ptr noundef nonnull @.str.4) #13
  %2154 = load i32, ptr %323, align 4, !tbaa !5
  %2155 = call ptr @s2n_strerror_debug(i32 noundef %2154, ptr noundef nonnull @.str.4) #13
  %2156 = load i32, ptr %377, align 4, !tbaa !5
  %2157 = call ptr @strerror(i32 noundef %2156) #13
  %2158 = load i32, ptr %377, align 4, !tbaa !5
  %2159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2150, ptr noundef nonnull %.str.5.sink2928, i32 noundef %2151, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %2153, ptr noundef %2155, ptr noundef %2157, i32 noundef %2158) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2160:                                             ; preds = %2134
  %2161 = load i32, ptr @test_count, align 4, !tbaa !5
  %2162 = add nsw i32 %2161, 1
  store i32 %2162, ptr @test_count, align 4, !tbaa !5
  %2163 = call i32 @s2n_stuffer_free(ptr noundef nonnull %20) #13
  %2164 = icmp eq i32 %2163, -1
  br i1 %2164, label %2165, label %2187

2165:                                             ; preds = %2160
  %2166 = load i32, ptr %377, align 4, !tbaa !5
  %2167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2168 = call i32 @s2n_print_stacktrace(ptr noundef %2167) #13
  %2169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2170 = trunc nuw i8 %2169 to i1
  br i1 %2170, label %2171, label %2175

2171:                                             ; preds = %2165
  %2172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2173 = call i32 @fileno(ptr noundef %2172) #13
  %2174 = call i32 @isatty(i32 noundef %2173) #13
  %.not2210 = icmp eq i32 %2174, 0
  br i1 %.not2210, label %2175, label %2176

2175:                                             ; preds = %2171, %2165
  br label %2176

2176:                                             ; preds = %2171, %2175
  %.str.5.sink2937 = phi ptr [ @.str.5, %2175 ], [ @.str.2, %2171 ]
  store i32 %2166, ptr %377, align 4, !tbaa !5
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = load i32, ptr @test_count, align 4, !tbaa !5
  %2179 = load i32, ptr %323, align 4, !tbaa !5
  %2180 = call ptr @s2n_strerror(i32 noundef %2179, ptr noundef nonnull @.str.4) #13
  %2181 = load i32, ptr %323, align 4, !tbaa !5
  %2182 = call ptr @s2n_strerror_debug(i32 noundef %2181, ptr noundef nonnull @.str.4) #13
  %2183 = load i32, ptr %377, align 4, !tbaa !5
  %2184 = call ptr @strerror(i32 noundef %2183) #13
  %2185 = load i32, ptr %377, align 4, !tbaa !5
  %2186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2177, ptr noundef nonnull %.str.5.sink2937, i32 noundef %2178, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %2180, ptr noundef %2182, ptr noundef %2184, i32 noundef %2185) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2187:                                             ; preds = %2160
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %23) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %20) #13
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %26) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %26, i8 0, i64 40, i1 false)
  %2188 = load i32, ptr @test_count, align 4, !tbaa !5
  %2189 = add nsw i32 %2188, 1
  store i32 %2189, ptr @test_count, align 4, !tbaa !5
  %2190 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %26, i32 noundef 0) #13
  %2191 = icmp eq i32 %2190, -1
  br i1 %2191, label %2192, label %2214

2192:                                             ; preds = %2187
  %2193 = load i32, ptr %377, align 4, !tbaa !5
  %2194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2195 = call i32 @s2n_print_stacktrace(ptr noundef %2194) #13
  %2196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2197 = trunc nuw i8 %2196 to i1
  br i1 %2197, label %2198, label %2202

2198:                                             ; preds = %2192
  %2199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2200 = call i32 @fileno(ptr noundef %2199) #13
  %2201 = call i32 @isatty(i32 noundef %2200) #13
  %.not2209 = icmp eq i32 %2201, 0
  br i1 %.not2209, label %2202, label %2203

2202:                                             ; preds = %2198, %2192
  br label %2203

2203:                                             ; preds = %2198, %2202
  %.str.5.sink2946 = phi ptr [ @.str.5, %2202 ], [ @.str.2, %2198 ]
  store i32 %2193, ptr %377, align 4, !tbaa !5
  %2204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2205 = load i32, ptr @test_count, align 4, !tbaa !5
  %2206 = load i32, ptr %323, align 4, !tbaa !5
  %2207 = call ptr @s2n_strerror(i32 noundef %2206, ptr noundef nonnull @.str.4) #13
  %2208 = load i32, ptr %323, align 4, !tbaa !5
  %2209 = call ptr @s2n_strerror_debug(i32 noundef %2208, ptr noundef nonnull @.str.4) #13
  %2210 = load i32, ptr %377, align 4, !tbaa !5
  %2211 = call ptr @strerror(i32 noundef %2210) #13
  %2212 = load i32, ptr %377, align 4, !tbaa !5
  %2213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2204, ptr noundef nonnull %.str.5.sink2946, i32 noundef %2205, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %2207, ptr noundef %2209, ptr noundef %2211, i32 noundef %2212) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2214:                                             ; preds = %2187
  %2215 = load i32, ptr @test_count, align 4, !tbaa !5
  %2216 = add nsw i32 %2215, 1
  store i32 %2216, ptr @test_count, align 4, !tbaa !5
  %2217 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %2218 = icmp eq ptr %2217, null
  br i1 %2218, label %2219, label %2241

2219:                                             ; preds = %2214
  %2220 = load i32, ptr %377, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = call i32 @s2n_print_stacktrace(ptr noundef %2221) #13
  %2223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2224 = trunc nuw i8 %2223 to i1
  br i1 %2224, label %2225, label %2229

2225:                                             ; preds = %2219
  %2226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2227 = call i32 @fileno(ptr noundef %2226) #13
  %2228 = call i32 @isatty(i32 noundef %2227) #13
  %.not2208 = icmp eq i32 %2228, 0
  br i1 %.not2208, label %2229, label %2230

2229:                                             ; preds = %2225, %2219
  br label %2230

2230:                                             ; preds = %2225, %2229
  %.str.5.sink2955 = phi ptr [ @.str.5, %2229 ], [ @.str.2, %2225 ]
  store i32 %2220, ptr %377, align 4, !tbaa !5
  %2231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2232 = load i32, ptr @test_count, align 4, !tbaa !5
  %2233 = load i32, ptr %323, align 4, !tbaa !5
  %2234 = call ptr @s2n_strerror(i32 noundef %2233, ptr noundef nonnull @.str.4) #13
  %2235 = load i32, ptr %323, align 4, !tbaa !5
  %2236 = call ptr @s2n_strerror_debug(i32 noundef %2235, ptr noundef nonnull @.str.4) #13
  %2237 = load i32, ptr %377, align 4, !tbaa !5
  %2238 = call ptr @strerror(i32 noundef %2237) #13
  %2239 = load i32, ptr %377, align 4, !tbaa !5
  %2240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2231, ptr noundef nonnull %.str.5.sink2955, i32 noundef %2232, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 375, ptr noundef %2234, ptr noundef %2236, ptr noundef %2238, i32 noundef %2239) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2241:                                             ; preds = %2214
  %2242 = call ptr @s2n_config_new() #13
  %2243 = load i32, ptr @test_count, align 4, !tbaa !5
  %2244 = add nsw i32 %2243, 1
  store i32 %2244, ptr @test_count, align 4, !tbaa !5
  %2245 = icmp eq ptr %2242, null
  br i1 %2245, label %2246, label %2268

2246:                                             ; preds = %2241
  %2247 = load i32, ptr %377, align 4, !tbaa !5
  %2248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2249 = call i32 @s2n_print_stacktrace(ptr noundef %2248) #13
  %2250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2251 = trunc nuw i8 %2250 to i1
  br i1 %2251, label %2252, label %2256

2252:                                             ; preds = %2246
  %2253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2254 = call i32 @fileno(ptr noundef %2253) #13
  %2255 = call i32 @isatty(i32 noundef %2254) #13
  %.not2207 = icmp eq i32 %2255, 0
  br i1 %.not2207, label %2256, label %2257

2256:                                             ; preds = %2252, %2246
  br label %2257

2257:                                             ; preds = %2252, %2256
  %.str.5.sink2964 = phi ptr [ @.str.5, %2256 ], [ @.str.2, %2252 ]
  store i32 %2247, ptr %377, align 4, !tbaa !5
  %2258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2259 = load i32, ptr @test_count, align 4, !tbaa !5
  %2260 = load i32, ptr %323, align 4, !tbaa !5
  %2261 = call ptr @s2n_strerror(i32 noundef %2260, ptr noundef nonnull @.str.4) #13
  %2262 = load i32, ptr %323, align 4, !tbaa !5
  %2263 = call ptr @s2n_strerror_debug(i32 noundef %2262, ptr noundef nonnull @.str.4) #13
  %2264 = load i32, ptr %377, align 4, !tbaa !5
  %2265 = call ptr @strerror(i32 noundef %2264) #13
  %2266 = load i32, ptr %377, align 4, !tbaa !5
  %2267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2258, ptr noundef nonnull %.str.5.sink2964, i32 noundef %2259, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %2261, ptr noundef %2263, ptr noundef %2265, i32 noundef %2266) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2268:                                             ; preds = %2241
  %2269 = add nsw i32 %2243, 2
  store i32 %2269, ptr @test_count, align 4, !tbaa !5
  %2270 = call i32 @s2n_config_set_wall_clock(ptr noundef nonnull %2242, ptr noundef nonnull @mock_time, ptr noundef null) #13
  %2271 = icmp eq i32 %2270, -1
  br i1 %2271, label %2272, label %2294

2272:                                             ; preds = %2268
  %2273 = load i32, ptr %377, align 4, !tbaa !5
  %2274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2275 = call i32 @s2n_print_stacktrace(ptr noundef %2274) #13
  %2276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2277 = trunc nuw i8 %2276 to i1
  br i1 %2277, label %2278, label %2282

2278:                                             ; preds = %2272
  %2279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2280 = call i32 @fileno(ptr noundef %2279) #13
  %2281 = call i32 @isatty(i32 noundef %2280) #13
  %.not2206 = icmp eq i32 %2281, 0
  br i1 %.not2206, label %2282, label %2283

2282:                                             ; preds = %2278, %2272
  br label %2283

2283:                                             ; preds = %2278, %2282
  %.str.5.sink2973 = phi ptr [ @.str.5, %2282 ], [ @.str.2, %2278 ]
  store i32 %2273, ptr %377, align 4, !tbaa !5
  %2284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2285 = load i32, ptr @test_count, align 4, !tbaa !5
  %2286 = load i32, ptr %323, align 4, !tbaa !5
  %2287 = call ptr @s2n_strerror(i32 noundef %2286, ptr noundef nonnull @.str.4) #13
  %2288 = load i32, ptr %323, align 4, !tbaa !5
  %2289 = call ptr @s2n_strerror_debug(i32 noundef %2288, ptr noundef nonnull @.str.4) #13
  %2290 = load i32, ptr %377, align 4, !tbaa !5
  %2291 = call ptr @strerror(i32 noundef %2290) #13
  %2292 = load i32, ptr %377, align 4, !tbaa !5
  %2293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2284, ptr noundef nonnull %.str.5.sink2973, i32 noundef %2285, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 379, ptr noundef %2287, ptr noundef %2289, ptr noundef %2291, i32 noundef %2292) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2294:                                             ; preds = %2268
  %2295 = load i32, ptr @test_count, align 4, !tbaa !5
  %2296 = add nsw i32 %2295, 1
  store i32 %2296, ptr @test_count, align 4, !tbaa !5
  %2297 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2217, ptr noundef nonnull %2242) #13
  %2298 = icmp eq i32 %2297, -1
  br i1 %2298, label %2299, label %2321

2299:                                             ; preds = %2294
  %2300 = load i32, ptr %377, align 4, !tbaa !5
  %2301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2302 = call i32 @s2n_print_stacktrace(ptr noundef %2301) #13
  %2303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2304 = trunc nuw i8 %2303 to i1
  br i1 %2304, label %2305, label %2309

2305:                                             ; preds = %2299
  %2306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2307 = call i32 @fileno(ptr noundef %2306) #13
  %2308 = call i32 @isatty(i32 noundef %2307) #13
  %.not2205 = icmp eq i32 %2308, 0
  br i1 %.not2205, label %2309, label %2310

2309:                                             ; preds = %2305, %2299
  br label %2310

2310:                                             ; preds = %2305, %2309
  %.str.5.sink2982 = phi ptr [ @.str.5, %2309 ], [ @.str.2, %2305 ]
  store i32 %2300, ptr %377, align 4, !tbaa !5
  %2311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2312 = load i32, ptr @test_count, align 4, !tbaa !5
  %2313 = load i32, ptr %323, align 4, !tbaa !5
  %2314 = call ptr @s2n_strerror(i32 noundef %2313, ptr noundef nonnull @.str.4) #13
  %2315 = load i32, ptr %323, align 4, !tbaa !5
  %2316 = call ptr @s2n_strerror_debug(i32 noundef %2315, ptr noundef nonnull @.str.4) #13
  %2317 = load i32, ptr %377, align 4, !tbaa !5
  %2318 = call ptr @strerror(i32 noundef %2317) #13
  %2319 = load i32, ptr %377, align 4, !tbaa !5
  %2320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2311, ptr noundef nonnull %.str.5.sink2982, i32 noundef %2312, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %2314, ptr noundef %2316, ptr noundef %2318, i32 noundef %2319) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2321:                                             ; preds = %2294
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #13
  store ptr null, ptr %27, align 8, !tbaa !9
  %2322 = load i32, ptr @test_count, align 4, !tbaa !5
  %2323 = add nsw i32 %2322, 1
  store i32 %2323, ptr @test_count, align 4, !tbaa !5
  %2324 = getelementptr inbounds i8, ptr %2217, i64 1696
  %2325 = call i32 @s2n_array_pushback(ptr noundef nonnull %2324, ptr noundef nonnull %27) #13
  %2326 = call zeroext i1 @s2n_result_is_ok(i32 %2325)
  br i1 %2326, label %2349, label %2327

2327:                                             ; preds = %2321
  %2328 = load i32, ptr %377, align 4, !tbaa !5
  %2329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2330 = call i32 @s2n_print_stacktrace(ptr noundef %2329) #13
  %2331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2332 = trunc nuw i8 %2331 to i1
  br i1 %2332, label %2333, label %2337

2333:                                             ; preds = %2327
  %2334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2335 = call i32 @fileno(ptr noundef %2334) #13
  %2336 = call i32 @isatty(i32 noundef %2335) #13
  %.not1715 = icmp eq i32 %2336, 0
  br i1 %.not1715, label %2337, label %2338

2337:                                             ; preds = %2333, %2327
  br label %2338

2338:                                             ; preds = %2333, %2337
  %.str.5.sink2991 = phi ptr [ @.str.5, %2337 ], [ @.str.2, %2333 ]
  store i32 %2328, ptr %377, align 4, !tbaa !5
  %2339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2340 = load i32, ptr @test_count, align 4, !tbaa !5
  %2341 = load i32, ptr %323, align 4, !tbaa !5
  %2342 = call ptr @s2n_strerror(i32 noundef %2341, ptr noundef nonnull @.str.4) #13
  %2343 = load i32, ptr %323, align 4, !tbaa !5
  %2344 = call ptr @s2n_strerror_debug(i32 noundef %2343, ptr noundef nonnull @.str.4) #13
  %2345 = load i32, ptr %377, align 4, !tbaa !5
  %2346 = call ptr @strerror(i32 noundef %2345) #13
  %2347 = load i32, ptr %377, align 4, !tbaa !5
  %2348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2339, ptr noundef nonnull %.str.5.sink2991, i32 noundef %2340, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %2342, ptr noundef %2344, ptr noundef %2346, i32 noundef %2347) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2349:                                             ; preds = %2321
  %2350 = load i32, ptr @test_count, align 4, !tbaa !5
  %2351 = add nsw i32 %2350, 1
  store i32 %2351, ptr @test_count, align 4, !tbaa !5
  %2352 = load ptr, ptr %27, align 8, !tbaa !9
  %2353 = call i32 @s2n_psk_init(ptr noundef %2352, i32 noundef 0) #13
  %2354 = call zeroext i1 @s2n_result_is_ok(i32 %2353)
  br i1 %2354, label %2377, label %2355

2355:                                             ; preds = %2349
  %2356 = load i32, ptr %377, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = call i32 @s2n_print_stacktrace(ptr noundef %2357) #13
  %2359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2360 = trunc nuw i8 %2359 to i1
  br i1 %2360, label %2361, label %2365

2361:                                             ; preds = %2355
  %2362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2363 = call i32 @fileno(ptr noundef %2362) #13
  %2364 = call i32 @isatty(i32 noundef %2363) #13
  %.not1716 = icmp eq i32 %2364, 0
  br i1 %.not1716, label %2365, label %2366

2365:                                             ; preds = %2361, %2355
  br label %2366

2366:                                             ; preds = %2361, %2365
  %.str.5.sink3000 = phi ptr [ @.str.5, %2365 ], [ @.str.2, %2361 ]
  store i32 %2356, ptr %377, align 4, !tbaa !5
  %2367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2368 = load i32, ptr @test_count, align 4, !tbaa !5
  %2369 = load i32, ptr %323, align 4, !tbaa !5
  %2370 = call ptr @s2n_strerror(i32 noundef %2369, ptr noundef nonnull @.str.4) #13
  %2371 = load i32, ptr %323, align 4, !tbaa !5
  %2372 = call ptr @s2n_strerror_debug(i32 noundef %2371, ptr noundef nonnull @.str.4) #13
  %2373 = load i32, ptr %377, align 4, !tbaa !5
  %2374 = call ptr @strerror(i32 noundef %2373) #13
  %2375 = load i32, ptr %377, align 4, !tbaa !5
  %2376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2367, ptr noundef nonnull %.str.5.sink3000, i32 noundef %2368, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %2370, ptr noundef %2372, ptr noundef %2374, i32 noundef %2375) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2377:                                             ; preds = %2349
  %2378 = load i32, ptr @test_count, align 4, !tbaa !5
  %2379 = add nsw i32 %2378, 1
  store i32 %2379, ptr @test_count, align 4, !tbaa !5
  %2380 = load ptr, ptr %27, align 8, !tbaa !9
  %2381 = call i32 @s2n_psk_set_identity(ptr noundef %2380, ptr noundef nonnull %5, i16 noundef zeroext 14) #13
  %2382 = icmp eq i32 %2381, -1
  br i1 %2382, label %2383, label %2405

2383:                                             ; preds = %2377
  %2384 = load i32, ptr %377, align 4, !tbaa !5
  %2385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2386 = call i32 @s2n_print_stacktrace(ptr noundef %2385) #13
  %2387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2388 = trunc nuw i8 %2387 to i1
  br i1 %2388, label %2389, label %2393

2389:                                             ; preds = %2383
  %2390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2391 = call i32 @fileno(ptr noundef %2390) #13
  %2392 = call i32 @isatty(i32 noundef %2391) #13
  %.not2204 = icmp eq i32 %2392, 0
  br i1 %.not2204, label %2393, label %2394

2393:                                             ; preds = %2389, %2383
  br label %2394

2394:                                             ; preds = %2389, %2393
  %.str.5.sink3009 = phi ptr [ @.str.5, %2393 ], [ @.str.2, %2389 ]
  store i32 %2384, ptr %377, align 4, !tbaa !5
  %2395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2396 = load i32, ptr @test_count, align 4, !tbaa !5
  %2397 = load i32, ptr %323, align 4, !tbaa !5
  %2398 = call ptr @s2n_strerror(i32 noundef %2397, ptr noundef nonnull @.str.4) #13
  %2399 = load i32, ptr %323, align 4, !tbaa !5
  %2400 = call ptr @s2n_strerror_debug(i32 noundef %2399, ptr noundef nonnull @.str.4) #13
  %2401 = load i32, ptr %377, align 4, !tbaa !5
  %2402 = call ptr @strerror(i32 noundef %2401) #13
  %2403 = load i32, ptr %377, align 4, !tbaa !5
  %2404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2395, ptr noundef nonnull %.str.5.sink3009, i32 noundef %2396, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %2398, ptr noundef %2400, ptr noundef %2402, i32 noundef %2403) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2405:                                             ; preds = %2377
  %2406 = load ptr, ptr %27, align 8, !tbaa !9
  %2407 = getelementptr inbounds i8, ptr %2406, i64 56
  store i32 5, ptr %2407, align 8, !tbaa !55
  %2408 = getelementptr inbounds i8, ptr %2406, i64 60
  store i32 50, ptr %2408, align 4, !tbaa !64
  %2409 = getelementptr inbounds i8, ptr %2406, i64 64
  store i64 0, ptr %2409, align 8, !tbaa !58
  %2410 = load i32, ptr @test_count, align 4, !tbaa !5
  %2411 = add nsw i32 %2410, 1
  store i32 %2411, ptr @test_count, align 4, !tbaa !5
  %2412 = call i32 %1299(ptr noundef nonnull %2217, ptr noundef nonnull %26) #13
  %2413 = icmp eq i32 %2412, -1
  br i1 %2413, label %2414, label %2436

2414:                                             ; preds = %2405
  %2415 = load i32, ptr %377, align 4, !tbaa !5
  %2416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2417 = call i32 @s2n_print_stacktrace(ptr noundef %2416) #13
  %2418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2419 = trunc nuw i8 %2418 to i1
  br i1 %2419, label %2420, label %2424

2420:                                             ; preds = %2414
  %2421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2422 = call i32 @fileno(ptr noundef %2421) #13
  %2423 = call i32 @isatty(i32 noundef %2422) #13
  %.not2203 = icmp eq i32 %2423, 0
  br i1 %.not2203, label %2424, label %2425

2424:                                             ; preds = %2420, %2414
  br label %2425

2425:                                             ; preds = %2420, %2424
  %.str.5.sink3018 = phi ptr [ @.str.5, %2424 ], [ @.str.2, %2420 ]
  store i32 %2415, ptr %377, align 4, !tbaa !5
  %2426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2427 = load i32, ptr @test_count, align 4, !tbaa !5
  %2428 = load i32, ptr %323, align 4, !tbaa !5
  %2429 = call ptr @s2n_strerror(i32 noundef %2428, ptr noundef nonnull @.str.4) #13
  %2430 = load i32, ptr %323, align 4, !tbaa !5
  %2431 = call ptr @s2n_strerror_debug(i32 noundef %2430, ptr noundef nonnull @.str.4) #13
  %2432 = load i32, ptr %377, align 4, !tbaa !5
  %2433 = call ptr @strerror(i32 noundef %2432) #13
  %2434 = load i32, ptr %377, align 4, !tbaa !5
  %2435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2426, ptr noundef nonnull %.str.5.sink3018, i32 noundef %2427, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %2429, ptr noundef %2431, ptr noundef %2433, i32 noundef %2434) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2436:                                             ; preds = %2405
  %2437 = load i32, ptr @test_count, align 4, !tbaa !5
  %2438 = add nsw i32 %2437, 1
  store i32 %2438, ptr @test_count, align 4, !tbaa !5
  %2439 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %26, i32 noundef 18) #13
  %2440 = icmp eq i32 %2439, -1
  br i1 %2440, label %2441, label %2463

2441:                                             ; preds = %2436
  %2442 = load i32, ptr %377, align 4, !tbaa !5
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = call i32 @s2n_print_stacktrace(ptr noundef %2443) #13
  %2445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2446 = trunc nuw i8 %2445 to i1
  br i1 %2446, label %2447, label %2451

2447:                                             ; preds = %2441
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = call i32 @fileno(ptr noundef %2448) #13
  %2450 = call i32 @isatty(i32 noundef %2449) #13
  %.not2202 = icmp eq i32 %2450, 0
  br i1 %.not2202, label %2451, label %2452

2451:                                             ; preds = %2447, %2441
  br label %2452

2452:                                             ; preds = %2447, %2451
  %.str.5.sink3027 = phi ptr [ @.str.5, %2451 ], [ @.str.2, %2447 ]
  store i32 %2442, ptr %377, align 4, !tbaa !5
  %2453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2454 = load i32, ptr @test_count, align 4, !tbaa !5
  %2455 = load i32, ptr %323, align 4, !tbaa !5
  %2456 = call ptr @s2n_strerror(i32 noundef %2455, ptr noundef nonnull @.str.4) #13
  %2457 = load i32, ptr %323, align 4, !tbaa !5
  %2458 = call ptr @s2n_strerror_debug(i32 noundef %2457, ptr noundef nonnull @.str.4) #13
  %2459 = load i32, ptr %377, align 4, !tbaa !5
  %2460 = call ptr @strerror(i32 noundef %2459) #13
  %2461 = load i32, ptr %377, align 4, !tbaa !5
  %2462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2453, ptr noundef nonnull %.str.5.sink3027, i32 noundef %2454, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %2456, ptr noundef %2458, ptr noundef %2460, i32 noundef %2461) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2463:                                             ; preds = %2436
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #13
  store i32 0, ptr %28, align 4, !tbaa !5
  %2464 = load i32, ptr @test_count, align 4, !tbaa !5
  %2465 = add nsw i32 %2464, 1
  store i32 %2465, ptr @test_count, align 4, !tbaa !5
  %2466 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %26, ptr noundef nonnull %28) #13
  %2467 = icmp eq i32 %2466, -1
  br i1 %2467, label %2468, label %2490

2468:                                             ; preds = %2463
  %2469 = load i32, ptr %377, align 4, !tbaa !5
  %2470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2471 = call i32 @s2n_print_stacktrace(ptr noundef %2470) #13
  %2472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2473 = trunc nuw i8 %2472 to i1
  br i1 %2473, label %2474, label %2478

2474:                                             ; preds = %2468
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = call i32 @fileno(ptr noundef %2475) #13
  %2477 = call i32 @isatty(i32 noundef %2476) #13
  %.not2201 = icmp eq i32 %2477, 0
  br i1 %.not2201, label %2478, label %2479

2478:                                             ; preds = %2474, %2468
  br label %2479

2479:                                             ; preds = %2474, %2478
  %.str.5.sink3036 = phi ptr [ @.str.5, %2478 ], [ @.str.2, %2474 ]
  store i32 %2469, ptr %377, align 4, !tbaa !5
  %2480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2481 = load i32, ptr @test_count, align 4, !tbaa !5
  %2482 = load i32, ptr %323, align 4, !tbaa !5
  %2483 = call ptr @s2n_strerror(i32 noundef %2482, ptr noundef nonnull @.str.4) #13
  %2484 = load i32, ptr %323, align 4, !tbaa !5
  %2485 = call ptr @s2n_strerror_debug(i32 noundef %2484, ptr noundef nonnull @.str.4) #13
  %2486 = load i32, ptr %377, align 4, !tbaa !5
  %2487 = call ptr @strerror(i32 noundef %2486) #13
  %2488 = load i32, ptr %377, align 4, !tbaa !5
  %2489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2480, ptr noundef nonnull %.str.5.sink3036, i32 noundef %2481, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %2483, ptr noundef %2485, ptr noundef %2487, i32 noundef %2488) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2490:                                             ; preds = %2463
  %2491 = load i32, ptr @test_count, align 4, !tbaa !5
  %2492 = add nsw i32 %2491, 1
  store i32 %2492, ptr @test_count, align 4, !tbaa !5
  %2493 = load i32, ptr %28, align 4, !tbaa !5
  %2494 = icmp eq i32 %2493, 550
  br i1 %2494, label %2517, label %2495

2495:                                             ; preds = %2490
  %2496 = load i32, ptr %377, align 4, !tbaa !5
  %2497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2498 = call i32 @s2n_print_stacktrace(ptr noundef %2497) #13
  %2499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2500 = trunc nuw i8 %2499 to i1
  br i1 %2500, label %2501, label %2505

2501:                                             ; preds = %2495
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = call i32 @fileno(ptr noundef %2502) #13
  %2504 = call i32 @isatty(i32 noundef %2503) #13
  %.not1717 = icmp eq i32 %2504, 0
  br i1 %.not1717, label %2505, label %2506

2505:                                             ; preds = %2501, %2495
  br label %2506

2506:                                             ; preds = %2501, %2505
  %.str.5.sink3045 = phi ptr [ @.str.5, %2505 ], [ @.str.2, %2501 ]
  store i32 %2496, ptr %377, align 4, !tbaa !5
  %2507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2508 = load i32, ptr @test_count, align 4, !tbaa !5
  %2509 = load i32, ptr %323, align 4, !tbaa !5
  %2510 = call ptr @s2n_strerror(i32 noundef %2509, ptr noundef nonnull @.str.4) #13
  %2511 = load i32, ptr %323, align 4, !tbaa !5
  %2512 = call ptr @s2n_strerror_debug(i32 noundef %2511, ptr noundef nonnull @.str.4) #13
  %2513 = load i32, ptr %377, align 4, !tbaa !5
  %2514 = call ptr @strerror(i32 noundef %2513) #13
  %2515 = load i32, ptr %377, align 4, !tbaa !5
  %2516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2507, ptr noundef nonnull %.str.5.sink3045, i32 noundef %2508, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %2510, ptr noundef %2512, ptr noundef %2514, i32 noundef %2515) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2517:                                             ; preds = %2490
  %2518 = add nsw i32 %2491, 2
  store i32 %2518, ptr @test_count, align 4, !tbaa !5
  %2519 = call i32 @s2n_connection_free(ptr noundef nonnull %2217) #13
  %2520 = icmp eq i32 %2519, -1
  br i1 %2520, label %2521, label %2543

2521:                                             ; preds = %2517
  %2522 = load i32, ptr %377, align 4, !tbaa !5
  %2523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2524 = call i32 @s2n_print_stacktrace(ptr noundef %2523) #13
  %2525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2526 = trunc nuw i8 %2525 to i1
  br i1 %2526, label %2527, label %2531

2527:                                             ; preds = %2521
  %2528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2529 = call i32 @fileno(ptr noundef %2528) #13
  %2530 = call i32 @isatty(i32 noundef %2529) #13
  %.not2200 = icmp eq i32 %2530, 0
  br i1 %.not2200, label %2531, label %2532

2531:                                             ; preds = %2527, %2521
  br label %2532

2532:                                             ; preds = %2527, %2531
  %.str.5.sink3054 = phi ptr [ @.str.5, %2531 ], [ @.str.2, %2527 ]
  store i32 %2522, ptr %377, align 4, !tbaa !5
  %2533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2534 = load i32, ptr @test_count, align 4, !tbaa !5
  %2535 = load i32, ptr %323, align 4, !tbaa !5
  %2536 = call ptr @s2n_strerror(i32 noundef %2535, ptr noundef nonnull @.str.4) #13
  %2537 = load i32, ptr %323, align 4, !tbaa !5
  %2538 = call ptr @s2n_strerror_debug(i32 noundef %2537, ptr noundef nonnull @.str.4) #13
  %2539 = load i32, ptr %377, align 4, !tbaa !5
  %2540 = call ptr @strerror(i32 noundef %2539) #13
  %2541 = load i32, ptr %377, align 4, !tbaa !5
  %2542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2533, ptr noundef nonnull %.str.5.sink3054, i32 noundef %2534, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 398, ptr noundef %2536, ptr noundef %2538, ptr noundef %2540, i32 noundef %2541) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2543:                                             ; preds = %2517
  %2544 = load i32, ptr @test_count, align 4, !tbaa !5
  %2545 = add nsw i32 %2544, 1
  store i32 %2545, ptr @test_count, align 4, !tbaa !5
  %2546 = call i32 @s2n_config_free(ptr noundef nonnull %2242) #13
  %2547 = icmp eq i32 %2546, -1
  br i1 %2547, label %2548, label %2570

2548:                                             ; preds = %2543
  %2549 = load i32, ptr %377, align 4, !tbaa !5
  %2550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2551 = call i32 @s2n_print_stacktrace(ptr noundef %2550) #13
  %2552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2553 = trunc nuw i8 %2552 to i1
  br i1 %2553, label %2554, label %2558

2554:                                             ; preds = %2548
  %2555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2556 = call i32 @fileno(ptr noundef %2555) #13
  %2557 = call i32 @isatty(i32 noundef %2556) #13
  %.not2199 = icmp eq i32 %2557, 0
  br i1 %.not2199, label %2558, label %2559

2558:                                             ; preds = %2554, %2548
  br label %2559

2559:                                             ; preds = %2554, %2558
  %.str.5.sink3063 = phi ptr [ @.str.5, %2558 ], [ @.str.2, %2554 ]
  store i32 %2549, ptr %377, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = load i32, ptr @test_count, align 4, !tbaa !5
  %2562 = load i32, ptr %323, align 4, !tbaa !5
  %2563 = call ptr @s2n_strerror(i32 noundef %2562, ptr noundef nonnull @.str.4) #13
  %2564 = load i32, ptr %323, align 4, !tbaa !5
  %2565 = call ptr @s2n_strerror_debug(i32 noundef %2564, ptr noundef nonnull @.str.4) #13
  %2566 = load i32, ptr %377, align 4, !tbaa !5
  %2567 = call ptr @strerror(i32 noundef %2566) #13
  %2568 = load i32, ptr %377, align 4, !tbaa !5
  %2569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2560, ptr noundef nonnull %.str.5.sink3063, i32 noundef %2561, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 399, ptr noundef %2563, ptr noundef %2565, ptr noundef %2567, i32 noundef %2568) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2570:                                             ; preds = %2543
  %2571 = load i32, ptr @test_count, align 4, !tbaa !5
  %2572 = add nsw i32 %2571, 1
  store i32 %2572, ptr @test_count, align 4, !tbaa !5
  %2573 = call i32 @s2n_stuffer_free(ptr noundef nonnull %26) #13
  %2574 = icmp eq i32 %2573, -1
  br i1 %2574, label %2575, label %2597

2575:                                             ; preds = %2570
  %2576 = load i32, ptr %377, align 4, !tbaa !5
  %2577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2578 = call i32 @s2n_print_stacktrace(ptr noundef %2577) #13
  %2579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2580 = trunc nuw i8 %2579 to i1
  br i1 %2580, label %2581, label %2585

2581:                                             ; preds = %2575
  %2582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2583 = call i32 @fileno(ptr noundef %2582) #13
  %2584 = call i32 @isatty(i32 noundef %2583) #13
  %.not2198 = icmp eq i32 %2584, 0
  br i1 %.not2198, label %2585, label %2586

2585:                                             ; preds = %2581, %2575
  br label %2586

2586:                                             ; preds = %2581, %2585
  %.str.5.sink3072 = phi ptr [ @.str.5, %2585 ], [ @.str.2, %2581 ]
  store i32 %2576, ptr %377, align 4, !tbaa !5
  %2587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2588 = load i32, ptr @test_count, align 4, !tbaa !5
  %2589 = load i32, ptr %323, align 4, !tbaa !5
  %2590 = call ptr @s2n_strerror(i32 noundef %2589, ptr noundef nonnull @.str.4) #13
  %2591 = load i32, ptr %323, align 4, !tbaa !5
  %2592 = call ptr @s2n_strerror_debug(i32 noundef %2591, ptr noundef nonnull @.str.4) #13
  %2593 = load i32, ptr %377, align 4, !tbaa !5
  %2594 = call ptr @strerror(i32 noundef %2593) #13
  %2595 = load i32, ptr %377, align 4, !tbaa !5
  %2596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2587, ptr noundef nonnull %.str.5.sink3072, i32 noundef %2588, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 400, ptr noundef %2590, ptr noundef %2592, ptr noundef %2594, i32 noundef %2595) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2597:                                             ; preds = %2570
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %26) #13
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %29) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %29, i8 0, i64 40, i1 false)
  %2598 = load i32, ptr @test_count, align 4, !tbaa !5
  %2599 = add nsw i32 %2598, 1
  store i32 %2599, ptr @test_count, align 4, !tbaa !5
  %2600 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %29, i32 noundef 0) #13
  %2601 = icmp eq i32 %2600, -1
  br i1 %2601, label %2602, label %2624

2602:                                             ; preds = %2597
  %2603 = load i32, ptr %377, align 4, !tbaa !5
  %2604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2605 = call i32 @s2n_print_stacktrace(ptr noundef %2604) #13
  %2606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2607 = trunc nuw i8 %2606 to i1
  br i1 %2607, label %2608, label %2612

2608:                                             ; preds = %2602
  %2609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2610 = call i32 @fileno(ptr noundef %2609) #13
  %2611 = call i32 @isatty(i32 noundef %2610) #13
  %.not2197 = icmp eq i32 %2611, 0
  br i1 %.not2197, label %2612, label %2613

2612:                                             ; preds = %2608, %2602
  br label %2613

2613:                                             ; preds = %2608, %2612
  %.str.5.sink3081 = phi ptr [ @.str.5, %2612 ], [ @.str.2, %2608 ]
  store i32 %2603, ptr %377, align 4, !tbaa !5
  %2614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2615 = load i32, ptr @test_count, align 4, !tbaa !5
  %2616 = load i32, ptr %323, align 4, !tbaa !5
  %2617 = call ptr @s2n_strerror(i32 noundef %2616, ptr noundef nonnull @.str.4) #13
  %2618 = load i32, ptr %323, align 4, !tbaa !5
  %2619 = call ptr @s2n_strerror_debug(i32 noundef %2618, ptr noundef nonnull @.str.4) #13
  %2620 = load i32, ptr %377, align 4, !tbaa !5
  %2621 = call ptr @strerror(i32 noundef %2620) #13
  %2622 = load i32, ptr %377, align 4, !tbaa !5
  %2623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2614, ptr noundef nonnull %.str.5.sink3081, i32 noundef %2615, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %2617, ptr noundef %2619, ptr noundef %2621, i32 noundef %2622) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2624:                                             ; preds = %2597
  %2625 = load i32, ptr @test_count, align 4, !tbaa !5
  %2626 = add nsw i32 %2625, 1
  store i32 %2626, ptr @test_count, align 4, !tbaa !5
  %2627 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %2628 = icmp eq ptr %2627, null
  br i1 %2628, label %2629, label %2651

2629:                                             ; preds = %2624
  %2630 = load i32, ptr %377, align 4, !tbaa !5
  %2631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2632 = call i32 @s2n_print_stacktrace(ptr noundef %2631) #13
  %2633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2634 = trunc nuw i8 %2633 to i1
  br i1 %2634, label %2635, label %2639

2635:                                             ; preds = %2629
  %2636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2637 = call i32 @fileno(ptr noundef %2636) #13
  %2638 = call i32 @isatty(i32 noundef %2637) #13
  %.not2196 = icmp eq i32 %2638, 0
  br i1 %.not2196, label %2639, label %2640

2639:                                             ; preds = %2635, %2629
  br label %2640

2640:                                             ; preds = %2635, %2639
  %.str.5.sink3090 = phi ptr [ @.str.5, %2639 ], [ @.str.2, %2635 ]
  store i32 %2630, ptr %377, align 4, !tbaa !5
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = load i32, ptr @test_count, align 4, !tbaa !5
  %2643 = load i32, ptr %323, align 4, !tbaa !5
  %2644 = call ptr @s2n_strerror(i32 noundef %2643, ptr noundef nonnull @.str.4) #13
  %2645 = load i32, ptr %323, align 4, !tbaa !5
  %2646 = call ptr @s2n_strerror_debug(i32 noundef %2645, ptr noundef nonnull @.str.4) #13
  %2647 = load i32, ptr %377, align 4, !tbaa !5
  %2648 = call ptr @strerror(i32 noundef %2647) #13
  %2649 = load i32, ptr %377, align 4, !tbaa !5
  %2650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2641, ptr noundef nonnull %.str.5.sink3090, i32 noundef %2642, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %2644, ptr noundef %2646, ptr noundef %2648, i32 noundef %2649) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2651:                                             ; preds = %2624
  %2652 = getelementptr inbounds i8, ptr %2627, i64 2172
  store i32 16, ptr %2652, align 4, !tbaa !54
  %2653 = getelementptr inbounds i8, ptr %2627, i64 232
  %2654 = load ptr, ptr %2653, align 8, !tbaa !46
  store ptr @s2n_tls13_aes_256_gcm_sha384, ptr %2654, align 8, !tbaa !47
  %2655 = load i32, ptr @test_count, align 4, !tbaa !5
  %2656 = add nsw i32 %2655, 1
  store i32 %2656, ptr @test_count, align 4, !tbaa !5
  %2657 = load i32, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_256_gcm_sha384, i64 96), align 8, !tbaa !52
  %2658 = icmp eq i32 %2657, 5
  br i1 %2658, label %.preheader2260, label %2663

.preheader2260:                                   ; preds = %2651
  %2659 = getelementptr inbounds i8, ptr %2627, i64 1696
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #13
  store ptr null, ptr %30, align 8, !tbaa !9
  %2660 = add nsw i32 %2655, 2
  store i32 %2660, ptr @test_count, align 4, !tbaa !5
  %2661 = call i32 @s2n_array_pushback(ptr noundef nonnull %2659, ptr noundef nonnull %30) #13
  %2662 = call zeroext i1 @s2n_result_is_ok(i32 %2661)
  br i1 %2662, label %2707, label %2685

2663:                                             ; preds = %2651
  %2664 = load i32, ptr %377, align 4, !tbaa !5
  %2665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2666 = call i32 @s2n_print_stacktrace(ptr noundef %2665) #13
  %2667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2668 = trunc nuw i8 %2667 to i1
  br i1 %2668, label %2669, label %2673

2669:                                             ; preds = %2663
  %2670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2671 = call i32 @fileno(ptr noundef %2670) #13
  %2672 = call i32 @isatty(i32 noundef %2671) #13
  %.not1718 = icmp eq i32 %2672, 0
  br i1 %.not1718, label %2673, label %2674

2673:                                             ; preds = %2669, %2663
  br label %2674

2674:                                             ; preds = %2669, %2673
  %.str.5.sink3099 = phi ptr [ @.str.5, %2673 ], [ @.str.2, %2669 ]
  store i32 %2664, ptr %377, align 4, !tbaa !5
  %2675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2676 = load i32, ptr @test_count, align 4, !tbaa !5
  %2677 = load i32, ptr %323, align 4, !tbaa !5
  %2678 = call ptr @s2n_strerror(i32 noundef %2677, ptr noundef nonnull @.str.4) #13
  %2679 = load i32, ptr %323, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror_debug(i32 noundef %2679, ptr noundef nonnull @.str.4) #13
  %2681 = load i32, ptr %377, align 4, !tbaa !5
  %2682 = call ptr @strerror(i32 noundef %2681) #13
  %2683 = load i32, ptr %377, align 4, !tbaa !5
  %2684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2675, ptr noundef nonnull %.str.5.sink3099, i32 noundef %2676, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 434, ptr noundef %2678, ptr noundef %2680, ptr noundef %2682, i32 noundef %2683) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2685:                                             ; preds = %2763, %.preheader2260
  %2686 = load i32, ptr %377, align 4, !tbaa !5
  %2687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2688 = call i32 @s2n_print_stacktrace(ptr noundef %2687) #13
  %2689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2690 = trunc nuw i8 %2689 to i1
  br i1 %2690, label %2691, label %2695

2691:                                             ; preds = %2685
  %2692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2693 = call i32 @fileno(ptr noundef %2692) #13
  %2694 = call i32 @isatty(i32 noundef %2693) #13
  %.not2193 = icmp eq i32 %2694, 0
  br i1 %.not2193, label %2695, label %2696

2695:                                             ; preds = %2691, %2685
  br label %2696

2696:                                             ; preds = %2691, %2695
  %.str.5.sink3108 = phi ptr [ @.str.5, %2695 ], [ @.str.2, %2691 ]
  store i32 %2686, ptr %377, align 4, !tbaa !5
  %2697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2698 = load i32, ptr @test_count, align 4, !tbaa !5
  %2699 = load i32, ptr %323, align 4, !tbaa !5
  %2700 = call ptr @s2n_strerror(i32 noundef %2699, ptr noundef nonnull @.str.4) #13
  %2701 = load i32, ptr %323, align 4, !tbaa !5
  %2702 = call ptr @s2n_strerror_debug(i32 noundef %2701, ptr noundef nonnull @.str.4) #13
  %2703 = load i32, ptr %377, align 4, !tbaa !5
  %2704 = call ptr @strerror(i32 noundef %2703) #13
  %2705 = load i32, ptr %377, align 4, !tbaa !5
  %2706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2697, ptr noundef nonnull %.str.5.sink3108, i32 noundef %2698, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %2700, ptr noundef %2702, ptr noundef %2704, i32 noundef %2705) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2707:                                             ; preds = %.preheader2260
  %2708 = load i32, ptr @test_count, align 4, !tbaa !5
  %2709 = add nsw i32 %2708, 1
  store i32 %2709, ptr @test_count, align 4, !tbaa !5
  %2710 = load ptr, ptr %30, align 8, !tbaa !9
  %2711 = call i32 @s2n_psk_init(ptr noundef %2710, i32 noundef 1) #13
  %2712 = call zeroext i1 @s2n_result_is_ok(i32 %2711)
  br i1 %2712, label %2735, label %2713

2713:                                             ; preds = %2770, %2707
  %2714 = load i32, ptr %377, align 4, !tbaa !5
  %2715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2716 = call i32 @s2n_print_stacktrace(ptr noundef %2715) #13
  %2717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2718 = trunc nuw i8 %2717 to i1
  br i1 %2718, label %2719, label %2723

2719:                                             ; preds = %2713
  %2720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2721 = call i32 @fileno(ptr noundef %2720) #13
  %2722 = call i32 @isatty(i32 noundef %2721) #13
  %.not2194 = icmp eq i32 %2722, 0
  br i1 %.not2194, label %2723, label %2724

2723:                                             ; preds = %2719, %2713
  br label %2724

2724:                                             ; preds = %2719, %2723
  %.str.5.sink3117 = phi ptr [ @.str.5, %2723 ], [ @.str.2, %2719 ]
  store i32 %2714, ptr %377, align 4, !tbaa !5
  %2725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2726 = load i32, ptr @test_count, align 4, !tbaa !5
  %2727 = load i32, ptr %323, align 4, !tbaa !5
  %2728 = call ptr @s2n_strerror(i32 noundef %2727, ptr noundef nonnull @.str.4) #13
  %2729 = load i32, ptr %323, align 4, !tbaa !5
  %2730 = call ptr @s2n_strerror_debug(i32 noundef %2729, ptr noundef nonnull @.str.4) #13
  %2731 = load i32, ptr %377, align 4, !tbaa !5
  %2732 = call ptr @strerror(i32 noundef %2731) #13
  %2733 = load i32, ptr %377, align 4, !tbaa !5
  %2734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2725, ptr noundef nonnull %.str.5.sink3117, i32 noundef %2726, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 439, ptr noundef %2728, ptr noundef %2730, ptr noundef %2732, i32 noundef %2733) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2735:                                             ; preds = %2707
  %2736 = load i32, ptr @test_count, align 4, !tbaa !5
  %2737 = add nsw i32 %2736, 1
  store i32 %2737, ptr @test_count, align 4, !tbaa !5
  %2738 = load ptr, ptr %30, align 8, !tbaa !9
  %2739 = call i32 @s2n_psk_set_identity(ptr noundef %2738, ptr noundef nonnull %5, i16 noundef zeroext 14) #13
  %2740 = icmp eq i32 %2739, -1
  br i1 %2740, label %2741, label %2763

2741:                                             ; preds = %2776, %2735
  %2742 = load i32, ptr %377, align 4, !tbaa !5
  %2743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2744 = call i32 @s2n_print_stacktrace(ptr noundef %2743) #13
  %2745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2746 = trunc nuw i8 %2745 to i1
  br i1 %2746, label %2747, label %2751

2747:                                             ; preds = %2741
  %2748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2749 = call i32 @fileno(ptr noundef %2748) #13
  %2750 = call i32 @isatty(i32 noundef %2749) #13
  %.not2195 = icmp eq i32 %2750, 0
  br i1 %.not2195, label %2751, label %2752

2751:                                             ; preds = %2747, %2741
  br label %2752

2752:                                             ; preds = %2747, %2751
  %.str.5.sink3126 = phi ptr [ @.str.5, %2751 ], [ @.str.2, %2747 ]
  store i32 %2742, ptr %377, align 4, !tbaa !5
  %2753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2754 = load i32, ptr @test_count, align 4, !tbaa !5
  %2755 = load i32, ptr %323, align 4, !tbaa !5
  %2756 = call ptr @s2n_strerror(i32 noundef %2755, ptr noundef nonnull @.str.4) #13
  %2757 = load i32, ptr %323, align 4, !tbaa !5
  %2758 = call ptr @s2n_strerror_debug(i32 noundef %2757, ptr noundef nonnull @.str.4) #13
  %2759 = load i32, ptr %377, align 4, !tbaa !5
  %2760 = call ptr @strerror(i32 noundef %2759) #13
  %2761 = load i32, ptr %377, align 4, !tbaa !5
  %2762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2753, ptr noundef nonnull %.str.5.sink3126, i32 noundef %2754, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 440, ptr noundef %2756, ptr noundef %2758, ptr noundef %2760, i32 noundef %2761) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2763:                                             ; preds = %2735
  %2764 = load ptr, ptr %30, align 8, !tbaa !9
  %2765 = getelementptr inbounds i8, ptr %2764, i64 56
  store i32 5, ptr %2765, align 8, !tbaa !55
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #13
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #13
  store ptr null, ptr %30, align 8, !tbaa !9
  %2766 = load i32, ptr @test_count, align 4, !tbaa !5
  %2767 = add nsw i32 %2766, 1
  store i32 %2767, ptr @test_count, align 4, !tbaa !5
  %2768 = call i32 @s2n_array_pushback(ptr noundef nonnull %2659, ptr noundef nonnull %30) #13
  %2769 = call zeroext i1 @s2n_result_is_ok(i32 %2768)
  br i1 %2769, label %2770, label %2685

2770:                                             ; preds = %2763
  %2771 = load i32, ptr @test_count, align 4, !tbaa !5
  %2772 = add nsw i32 %2771, 1
  store i32 %2772, ptr @test_count, align 4, !tbaa !5
  %2773 = load ptr, ptr %30, align 8, !tbaa !9
  %2774 = call i32 @s2n_psk_init(ptr noundef %2773, i32 noundef 1) #13
  %2775 = call zeroext i1 @s2n_result_is_ok(i32 %2774)
  br i1 %2775, label %2776, label %2713

2776:                                             ; preds = %2770
  %2777 = load i32, ptr @test_count, align 4, !tbaa !5
  %2778 = add nsw i32 %2777, 1
  store i32 %2778, ptr @test_count, align 4, !tbaa !5
  %2779 = load ptr, ptr %30, align 8, !tbaa !9
  %2780 = call i32 @s2n_psk_set_identity(ptr noundef %2779, ptr noundef nonnull %5, i16 noundef zeroext 14) #13
  %2781 = icmp eq i32 %2780, -1
  br i1 %2781, label %2741, label %2782

2782:                                             ; preds = %2776
  %2783 = load ptr, ptr %30, align 8, !tbaa !9
  %2784 = getelementptr inbounds i8, ptr %2783, i64 56
  store i32 3, ptr %2784, align 8, !tbaa !55
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #13
  %2785 = load i32, ptr @test_count, align 4, !tbaa !5
  %2786 = add nsw i32 %2785, 1
  store i32 %2786, ptr @test_count, align 4, !tbaa !5
  %2787 = call i32 %1299(ptr noundef nonnull %2627, ptr noundef nonnull %29) #13
  %2788 = icmp eq i32 %2787, -1
  br i1 %2788, label %2789, label %2811

2789:                                             ; preds = %2782
  %2790 = load i32, ptr %377, align 4, !tbaa !5
  %2791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2792 = call i32 @s2n_print_stacktrace(ptr noundef %2791) #13
  %2793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2794 = trunc nuw i8 %2793 to i1
  br i1 %2794, label %2795, label %2799

2795:                                             ; preds = %2789
  %2796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2797 = call i32 @fileno(ptr noundef %2796) #13
  %2798 = call i32 @isatty(i32 noundef %2797) #13
  %.not2192 = icmp eq i32 %2798, 0
  br i1 %.not2192, label %2799, label %2800

2799:                                             ; preds = %2795, %2789
  br label %2800

2800:                                             ; preds = %2795, %2799
  %.str.5.sink3135 = phi ptr [ @.str.5, %2799 ], [ @.str.2, %2795 ]
  store i32 %2790, ptr %377, align 4, !tbaa !5
  %2801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2802 = load i32, ptr @test_count, align 4, !tbaa !5
  %2803 = load i32, ptr %323, align 4, !tbaa !5
  %2804 = call ptr @s2n_strerror(i32 noundef %2803, ptr noundef nonnull @.str.4) #13
  %2805 = load i32, ptr %323, align 4, !tbaa !5
  %2806 = call ptr @s2n_strerror_debug(i32 noundef %2805, ptr noundef nonnull @.str.4) #13
  %2807 = load i32, ptr %377, align 4, !tbaa !5
  %2808 = call ptr @strerror(i32 noundef %2807) #13
  %2809 = load i32, ptr %377, align 4, !tbaa !5
  %2810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2801, ptr noundef nonnull %.str.5.sink3135, i32 noundef %2802, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %2804, ptr noundef %2806, ptr noundef %2808, i32 noundef %2809) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2811:                                             ; preds = %2782
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %31) #13
  store i16 0, ptr %31, align 2, !tbaa !69
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %32) #13
  store i16 0, ptr %32, align 2, !tbaa !69
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #13
  store i32 0, ptr %33, align 4, !tbaa !5
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = add nsw i32 %2812, 1
  store i32 %2813, ptr @test_count, align 4, !tbaa !5
  %2814 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %29, ptr noundef nonnull %31) #13
  %2815 = icmp eq i32 %2814, -1
  br i1 %2815, label %2816, label %2838

2816:                                             ; preds = %2811
  %2817 = load i32, ptr %377, align 4, !tbaa !5
  %2818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2819 = call i32 @s2n_print_stacktrace(ptr noundef %2818) #13
  %2820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2821 = trunc nuw i8 %2820 to i1
  br i1 %2821, label %2822, label %2826

2822:                                             ; preds = %2816
  %2823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2824 = call i32 @fileno(ptr noundef %2823) #13
  %2825 = call i32 @isatty(i32 noundef %2824) #13
  %.not2191 = icmp eq i32 %2825, 0
  br i1 %.not2191, label %2826, label %2827

2826:                                             ; preds = %2822, %2816
  br label %2827

2827:                                             ; preds = %2822, %2826
  %.str.5.sink3144 = phi ptr [ @.str.5, %2826 ], [ @.str.2, %2822 ]
  store i32 %2817, ptr %377, align 4, !tbaa !5
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = load i32, ptr @test_count, align 4, !tbaa !5
  %2830 = load i32, ptr %323, align 4, !tbaa !5
  %2831 = call ptr @s2n_strerror(i32 noundef %2830, ptr noundef nonnull @.str.4) #13
  %2832 = load i32, ptr %323, align 4, !tbaa !5
  %2833 = call ptr @s2n_strerror_debug(i32 noundef %2832, ptr noundef nonnull @.str.4) #13
  %2834 = load i32, ptr %377, align 4, !tbaa !5
  %2835 = call ptr @strerror(i32 noundef %2834) #13
  %2836 = load i32, ptr %377, align 4, !tbaa !5
  %2837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2828, ptr noundef nonnull %.str.5.sink3144, i32 noundef %2829, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 454, ptr noundef %2831, ptr noundef %2833, ptr noundef %2835, i32 noundef %2836) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2838:                                             ; preds = %2811
  %2839 = load i32, ptr @test_count, align 4, !tbaa !5
  %2840 = add nsw i32 %2839, 1
  store i32 %2840, ptr @test_count, align 4, !tbaa !5
  %2841 = load i16, ptr %31, align 2, !tbaa !69
  %2842 = icmp eq i16 %2841, 20
  br i1 %2842, label %2865, label %2843

2843:                                             ; preds = %2838
  %2844 = load i32, ptr %377, align 4, !tbaa !5
  %2845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2846 = call i32 @s2n_print_stacktrace(ptr noundef %2845) #13
  %2847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2848 = trunc nuw i8 %2847 to i1
  br i1 %2848, label %2849, label %2853

2849:                                             ; preds = %2843
  %2850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2851 = call i32 @fileno(ptr noundef %2850) #13
  %2852 = call i32 @isatty(i32 noundef %2851) #13
  %.not1719 = icmp eq i32 %2852, 0
  br i1 %.not1719, label %2853, label %2854

2853:                                             ; preds = %2849, %2843
  br label %2854

2854:                                             ; preds = %2849, %2853
  %.str.5.sink3153 = phi ptr [ @.str.5, %2853 ], [ @.str.2, %2849 ]
  store i32 %2844, ptr %377, align 4, !tbaa !5
  %2855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2856 = load i32, ptr @test_count, align 4, !tbaa !5
  %2857 = load i32, ptr %323, align 4, !tbaa !5
  %2858 = call ptr @s2n_strerror(i32 noundef %2857, ptr noundef nonnull @.str.4) #13
  %2859 = load i32, ptr %323, align 4, !tbaa !5
  %2860 = call ptr @s2n_strerror_debug(i32 noundef %2859, ptr noundef nonnull @.str.4) #13
  %2861 = load i32, ptr %377, align 4, !tbaa !5
  %2862 = call ptr @strerror(i32 noundef %2861) #13
  %2863 = load i32, ptr %377, align 4, !tbaa !5
  %2864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2855, ptr noundef nonnull %.str.5.sink3153, i32 noundef %2856, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 455, ptr noundef %2858, ptr noundef %2860, ptr noundef %2862, i32 noundef %2863) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2865:                                             ; preds = %2838
  %2866 = add nsw i32 %2839, 2
  store i32 %2866, ptr @test_count, align 4, !tbaa !5
  %2867 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %29, ptr noundef nonnull %32) #13
  %2868 = icmp eq i32 %2867, -1
  br i1 %2868, label %2869, label %2891

2869:                                             ; preds = %2865
  %2870 = load i32, ptr %377, align 4, !tbaa !5
  %2871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2872 = call i32 @s2n_print_stacktrace(ptr noundef %2871) #13
  %2873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2874 = trunc nuw i8 %2873 to i1
  br i1 %2874, label %2875, label %2879

2875:                                             ; preds = %2869
  %2876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2877 = call i32 @fileno(ptr noundef %2876) #13
  %2878 = call i32 @isatty(i32 noundef %2877) #13
  %.not2190 = icmp eq i32 %2878, 0
  br i1 %.not2190, label %2879, label %2880

2879:                                             ; preds = %2875, %2869
  br label %2880

2880:                                             ; preds = %2875, %2879
  %.str.5.sink3162 = phi ptr [ @.str.5, %2879 ], [ @.str.2, %2875 ]
  store i32 %2870, ptr %377, align 4, !tbaa !5
  %2881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2882 = load i32, ptr @test_count, align 4, !tbaa !5
  %2883 = load i32, ptr %323, align 4, !tbaa !5
  %2884 = call ptr @s2n_strerror(i32 noundef %2883, ptr noundef nonnull @.str.4) #13
  %2885 = load i32, ptr %323, align 4, !tbaa !5
  %2886 = call ptr @s2n_strerror_debug(i32 noundef %2885, ptr noundef nonnull @.str.4) #13
  %2887 = load i32, ptr %377, align 4, !tbaa !5
  %2888 = call ptr @strerror(i32 noundef %2887) #13
  %2889 = load i32, ptr %377, align 4, !tbaa !5
  %2890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2881, ptr noundef nonnull %.str.5.sink3162, i32 noundef %2882, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %2884, ptr noundef %2886, ptr noundef %2888, i32 noundef %2889) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2891:                                             ; preds = %2865
  %2892 = load i32, ptr @test_count, align 4, !tbaa !5
  %2893 = add nsw i32 %2892, 1
  store i32 %2893, ptr @test_count, align 4, !tbaa !5
  %2894 = load i16, ptr %32, align 2, !tbaa !69
  %2895 = icmp eq i16 %2894, 14
  br i1 %2895, label %2918, label %2896

2896:                                             ; preds = %2891
  %2897 = load i32, ptr %377, align 4, !tbaa !5
  %2898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2899 = call i32 @s2n_print_stacktrace(ptr noundef %2898) #13
  %2900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2901 = trunc nuw i8 %2900 to i1
  br i1 %2901, label %2902, label %2906

2902:                                             ; preds = %2896
  %2903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2904 = call i32 @fileno(ptr noundef %2903) #13
  %2905 = call i32 @isatty(i32 noundef %2904) #13
  %.not1720 = icmp eq i32 %2905, 0
  br i1 %.not1720, label %2906, label %2907

2906:                                             ; preds = %2902, %2896
  br label %2907

2907:                                             ; preds = %2902, %2906
  %.str.5.sink3171 = phi ptr [ @.str.5, %2906 ], [ @.str.2, %2902 ]
  store i32 %2897, ptr %377, align 4, !tbaa !5
  %2908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2909 = load i32, ptr @test_count, align 4, !tbaa !5
  %2910 = load i32, ptr %323, align 4, !tbaa !5
  %2911 = call ptr @s2n_strerror(i32 noundef %2910, ptr noundef nonnull @.str.4) #13
  %2912 = load i32, ptr %323, align 4, !tbaa !5
  %2913 = call ptr @s2n_strerror_debug(i32 noundef %2912, ptr noundef nonnull @.str.4) #13
  %2914 = load i32, ptr %377, align 4, !tbaa !5
  %2915 = call ptr @strerror(i32 noundef %2914) #13
  %2916 = load i32, ptr %377, align 4, !tbaa !5
  %2917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2908, ptr noundef nonnull %.str.5.sink3171, i32 noundef %2909, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %2911, ptr noundef %2913, ptr noundef %2915, i32 noundef %2916) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2918:                                             ; preds = %2891
  %2919 = add nsw i32 %2892, 2
  store i32 %2919, ptr @test_count, align 4, !tbaa !5
  %2920 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %29, i32 noundef 14) #13
  %2921 = icmp eq ptr %2920, null
  br i1 %2921, label %2922, label %2944

2922:                                             ; preds = %2918
  %2923 = load i32, ptr %377, align 4, !tbaa !5
  %2924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2925 = call i32 @s2n_print_stacktrace(ptr noundef %2924) #13
  %2926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2927 = trunc nuw i8 %2926 to i1
  br i1 %2927, label %2928, label %2932

2928:                                             ; preds = %2922
  %2929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2930 = call i32 @fileno(ptr noundef %2929) #13
  %2931 = call i32 @isatty(i32 noundef %2930) #13
  %.not2189 = icmp eq i32 %2931, 0
  br i1 %.not2189, label %2932, label %2933

2932:                                             ; preds = %2928, %2922
  br label %2933

2933:                                             ; preds = %2928, %2932
  %.str.5.sink3180 = phi ptr [ @.str.5, %2932 ], [ @.str.2, %2928 ]
  store i32 %2923, ptr %377, align 4, !tbaa !5
  %2934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2935 = load i32, ptr @test_count, align 4, !tbaa !5
  %2936 = load i32, ptr %323, align 4, !tbaa !5
  %2937 = call ptr @s2n_strerror(i32 noundef %2936, ptr noundef nonnull @.str.4) #13
  %2938 = load i32, ptr %323, align 4, !tbaa !5
  %2939 = call ptr @s2n_strerror_debug(i32 noundef %2938, ptr noundef nonnull @.str.4) #13
  %2940 = load i32, ptr %377, align 4, !tbaa !5
  %2941 = call ptr @strerror(i32 noundef %2940) #13
  %2942 = load i32, ptr %377, align 4, !tbaa !5
  %2943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2934, ptr noundef nonnull %.str.5.sink3180, i32 noundef %2935, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 459, ptr noundef %2937, ptr noundef %2939, ptr noundef %2941, i32 noundef %2942) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2944:                                             ; preds = %2918
  %2945 = load i32, ptr @test_count, align 4, !tbaa !5
  %2946 = add nsw i32 %2945, 1
  store i32 %2946, ptr @test_count, align 4, !tbaa !5
  %bcmp1721 = call i32 @bcmp(ptr noundef nonnull dereferenceable(14) %2920, ptr noundef nonnull dereferenceable(14) %5, i64 14)
  %2947 = icmp eq i32 %bcmp1721, 0
  br i1 %2947, label %2970, label %2948

2948:                                             ; preds = %2944
  %2949 = load i32, ptr %377, align 4, !tbaa !5
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = call i32 @s2n_print_stacktrace(ptr noundef %2950) #13
  %2952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2953 = trunc nuw i8 %2952 to i1
  br i1 %2953, label %2954, label %2958

2954:                                             ; preds = %2948
  %2955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2956 = call i32 @fileno(ptr noundef %2955) #13
  %2957 = call i32 @isatty(i32 noundef %2956) #13
  %.not1722 = icmp eq i32 %2957, 0
  br i1 %.not1722, label %2958, label %2959

2958:                                             ; preds = %2954, %2948
  br label %2959

2959:                                             ; preds = %2954, %2958
  %.str.5.sink3189 = phi ptr [ @.str.5, %2958 ], [ @.str.2, %2954 ]
  store i32 %2949, ptr %377, align 4, !tbaa !5
  %2960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2961 = load i32, ptr @test_count, align 4, !tbaa !5
  %2962 = load i32, ptr %323, align 4, !tbaa !5
  %2963 = call ptr @s2n_strerror(i32 noundef %2962, ptr noundef nonnull @.str.4) #13
  %2964 = load i32, ptr %323, align 4, !tbaa !5
  %2965 = call ptr @s2n_strerror_debug(i32 noundef %2964, ptr noundef nonnull @.str.4) #13
  %2966 = load i32, ptr %377, align 4, !tbaa !5
  %2967 = call ptr @strerror(i32 noundef %2966) #13
  %2968 = load i32, ptr %377, align 4, !tbaa !5
  %2969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2960, ptr noundef nonnull %.str.5.sink3189, i32 noundef %2961, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 460, ptr noundef %2963, ptr noundef %2965, ptr noundef %2967, i32 noundef %2968) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2970:                                             ; preds = %2944
  %2971 = add nsw i32 %2945, 2
  store i32 %2971, ptr @test_count, align 4, !tbaa !5
  %2972 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %29, ptr noundef nonnull %33) #13
  %2973 = icmp eq i32 %2972, -1
  br i1 %2973, label %2974, label %2996

2974:                                             ; preds = %2970
  %2975 = load i32, ptr %377, align 4, !tbaa !5
  %2976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2977 = call i32 @s2n_print_stacktrace(ptr noundef %2976) #13
  %2978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2979 = trunc nuw i8 %2978 to i1
  br i1 %2979, label %2980, label %2984

2980:                                             ; preds = %2974
  %2981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2982 = call i32 @fileno(ptr noundef %2981) #13
  %2983 = call i32 @isatty(i32 noundef %2982) #13
  %.not2188 = icmp eq i32 %2983, 0
  br i1 %.not2188, label %2984, label %2985

2984:                                             ; preds = %2980, %2974
  br label %2985

2985:                                             ; preds = %2980, %2984
  %.str.5.sink3198 = phi ptr [ @.str.5, %2984 ], [ @.str.2, %2980 ]
  store i32 %2975, ptr %377, align 4, !tbaa !5
  %2986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2987 = load i32, ptr @test_count, align 4, !tbaa !5
  %2988 = load i32, ptr %323, align 4, !tbaa !5
  %2989 = call ptr @s2n_strerror(i32 noundef %2988, ptr noundef nonnull @.str.4) #13
  %2990 = load i32, ptr %323, align 4, !tbaa !5
  %2991 = call ptr @s2n_strerror_debug(i32 noundef %2990, ptr noundef nonnull @.str.4) #13
  %2992 = load i32, ptr %377, align 4, !tbaa !5
  %2993 = call ptr @strerror(i32 noundef %2992) #13
  %2994 = load i32, ptr %377, align 4, !tbaa !5
  %2995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2986, ptr noundef nonnull %.str.5.sink3198, i32 noundef %2987, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 462, ptr noundef %2989, ptr noundef %2991, ptr noundef %2993, i32 noundef %2994) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2996:                                             ; preds = %2970
  %2997 = load i32, ptr @test_count, align 4, !tbaa !5
  %2998 = add nsw i32 %2997, 1
  store i32 %2998, ptr @test_count, align 4, !tbaa !5
  %2999 = getelementptr inbounds i8, ptr %29, i64 28
  %3000 = load i32, ptr %2999, align 4, !tbaa !67
  %3001 = getelementptr inbounds i8, ptr %29, i64 24
  %3002 = load i32, ptr %3001, align 8, !tbaa !68
  %3003 = sub i32 %3000, %3002
  %3004 = icmp eq i32 %3003, 51
  br i1 %3004, label %3027, label %3005

3005:                                             ; preds = %2996
  %3006 = load i32, ptr %377, align 4, !tbaa !5
  %3007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3008 = call i32 @s2n_print_stacktrace(ptr noundef %3007) #13
  %3009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3010 = trunc nuw i8 %3009 to i1
  br i1 %3010, label %3011, label %3015

3011:                                             ; preds = %3005
  %3012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3013 = call i32 @fileno(ptr noundef %3012) #13
  %3014 = call i32 @isatty(i32 noundef %3013) #13
  %.not1723 = icmp eq i32 %3014, 0
  br i1 %.not1723, label %3015, label %3016

3015:                                             ; preds = %3011, %3005
  br label %3016

3016:                                             ; preds = %3011, %3015
  %.str.5.sink3207 = phi ptr [ @.str.5, %3015 ], [ @.str.2, %3011 ]
  store i32 %3006, ptr %377, align 4, !tbaa !5
  %3017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3018 = load i32, ptr @test_count, align 4, !tbaa !5
  %3019 = load i32, ptr %323, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror(i32 noundef %3019, ptr noundef nonnull @.str.4) #13
  %3021 = load i32, ptr %323, align 4, !tbaa !5
  %3022 = call ptr @s2n_strerror_debug(i32 noundef %3021, ptr noundef nonnull @.str.4) #13
  %3023 = load i32, ptr %377, align 4, !tbaa !5
  %3024 = call ptr @strerror(i32 noundef %3023) #13
  %3025 = load i32, ptr %377, align 4, !tbaa !5
  %3026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3017, ptr noundef nonnull %.str.5.sink3207, i32 noundef %3018, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 469, ptr noundef %3020, ptr noundef %3022, ptr noundef %3024, i32 noundef %3025) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3027:                                             ; preds = %2996
  %3028 = add nsw i32 %2997, 2
  store i32 %3028, ptr @test_count, align 4, !tbaa !5
  %3029 = call i32 @s2n_connection_free(ptr noundef nonnull %2627) #13
  %3030 = icmp eq i32 %3029, -1
  br i1 %3030, label %3031, label %3053

3031:                                             ; preds = %3027
  %3032 = load i32, ptr %377, align 4, !tbaa !5
  %3033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3034 = call i32 @s2n_print_stacktrace(ptr noundef %3033) #13
  %3035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3036 = trunc nuw i8 %3035 to i1
  br i1 %3036, label %3037, label %3041

3037:                                             ; preds = %3031
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = call i32 @fileno(ptr noundef %3038) #13
  %3040 = call i32 @isatty(i32 noundef %3039) #13
  %.not2187 = icmp eq i32 %3040, 0
  br i1 %.not2187, label %3041, label %3042

3041:                                             ; preds = %3037, %3031
  br label %3042

3042:                                             ; preds = %3037, %3041
  %.str.5.sink3216 = phi ptr [ @.str.5, %3041 ], [ @.str.2, %3037 ]
  store i32 %3032, ptr %377, align 4, !tbaa !5
  %3043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3044 = load i32, ptr @test_count, align 4, !tbaa !5
  %3045 = load i32, ptr %323, align 4, !tbaa !5
  %3046 = call ptr @s2n_strerror(i32 noundef %3045, ptr noundef nonnull @.str.4) #13
  %3047 = load i32, ptr %323, align 4, !tbaa !5
  %3048 = call ptr @s2n_strerror_debug(i32 noundef %3047, ptr noundef nonnull @.str.4) #13
  %3049 = load i32, ptr %377, align 4, !tbaa !5
  %3050 = call ptr @strerror(i32 noundef %3049) #13
  %3051 = load i32, ptr %377, align 4, !tbaa !5
  %3052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3043, ptr noundef nonnull %.str.5.sink3216, i32 noundef %3044, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 472, ptr noundef %3046, ptr noundef %3048, ptr noundef %3050, i32 noundef %3051) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3053:                                             ; preds = %3027
  %3054 = load i32, ptr @test_count, align 4, !tbaa !5
  %3055 = add nsw i32 %3054, 1
  store i32 %3055, ptr @test_count, align 4, !tbaa !5
  %3056 = call i32 @s2n_stuffer_free(ptr noundef nonnull %29) #13
  %3057 = icmp eq i32 %3056, -1
  br i1 %3057, label %3058, label %3080

3058:                                             ; preds = %3053
  %3059 = load i32, ptr %377, align 4, !tbaa !5
  %3060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3061 = call i32 @s2n_print_stacktrace(ptr noundef %3060) #13
  %3062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3063 = trunc nuw i8 %3062 to i1
  br i1 %3063, label %3064, label %3068

3064:                                             ; preds = %3058
  %3065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3066 = call i32 @fileno(ptr noundef %3065) #13
  %3067 = call i32 @isatty(i32 noundef %3066) #13
  %.not2186 = icmp eq i32 %3067, 0
  br i1 %.not2186, label %3068, label %3069

3068:                                             ; preds = %3064, %3058
  br label %3069

3069:                                             ; preds = %3064, %3068
  %.str.5.sink3225 = phi ptr [ @.str.5, %3068 ], [ @.str.2, %3064 ]
  store i32 %3059, ptr %377, align 4, !tbaa !5
  %3070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3071 = load i32, ptr @test_count, align 4, !tbaa !5
  %3072 = load i32, ptr %323, align 4, !tbaa !5
  %3073 = call ptr @s2n_strerror(i32 noundef %3072, ptr noundef nonnull @.str.4) #13
  %3074 = load i32, ptr %323, align 4, !tbaa !5
  %3075 = call ptr @s2n_strerror_debug(i32 noundef %3074, ptr noundef nonnull @.str.4) #13
  %3076 = load i32, ptr %377, align 4, !tbaa !5
  %3077 = call ptr @strerror(i32 noundef %3076) #13
  %3078 = load i32, ptr %377, align 4, !tbaa !5
  %3079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3070, ptr noundef nonnull %.str.5.sink3225, i32 noundef %3071, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 473, ptr noundef %3073, ptr noundef %3075, ptr noundef %3077, i32 noundef %3078) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3080:                                             ; preds = %3053
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %32) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %31) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %29) #13
  %3081 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #13
  br i1 %3081, label %3082, label %3593

3082:                                             ; preds = %3080
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #13
  store ptr null, ptr %34, align 8, !tbaa !9
  %3083 = load i32, ptr @test_count, align 4, !tbaa !5
  %3084 = add nsw i32 %3083, 1
  store i32 %3084, ptr @test_count, align 4, !tbaa !5
  %3085 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %34, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.59) #13
  %3086 = icmp eq i32 %3085, -1
  br i1 %3086, label %3087, label %3109

3087:                                             ; preds = %3082
  %3088 = load i32, ptr %377, align 4, !tbaa !5
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = call i32 @s2n_print_stacktrace(ptr noundef %3089) #13
  %3091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3092 = trunc nuw i8 %3091 to i1
  br i1 %3092, label %3093, label %3097

3093:                                             ; preds = %3087
  %3094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3095 = call i32 @fileno(ptr noundef %3094) #13
  %3096 = call i32 @isatty(i32 noundef %3095) #13
  %.not2185 = icmp eq i32 %3096, 0
  br i1 %.not2185, label %3097, label %3098

3097:                                             ; preds = %3093, %3087
  br label %3098

3098:                                             ; preds = %3093, %3097
  %.str.5.sink3234 = phi ptr [ @.str.5, %3097 ], [ @.str.2, %3093 ]
  store i32 %3088, ptr %377, align 4, !tbaa !5
  %3099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3100 = load i32, ptr @test_count, align 4, !tbaa !5
  %3101 = load i32, ptr %323, align 4, !tbaa !5
  %3102 = call ptr @s2n_strerror(i32 noundef %3101, ptr noundef nonnull @.str.4) #13
  %3103 = load i32, ptr %323, align 4, !tbaa !5
  %3104 = call ptr @s2n_strerror_debug(i32 noundef %3103, ptr noundef nonnull @.str.4) #13
  %3105 = load i32, ptr %377, align 4, !tbaa !5
  %3106 = call ptr @strerror(i32 noundef %3105) #13
  %3107 = load i32, ptr %377, align 4, !tbaa !5
  %3108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3099, ptr noundef nonnull %.str.5.sink3234, i32 noundef %3100, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 489, ptr noundef %3102, ptr noundef %3104, ptr noundef %3106, i32 noundef %3107) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3109:                                             ; preds = %3082
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #13
  %3110 = call ptr @s2n_config_new() #13
  store ptr %3110, ptr %35, align 8, !tbaa !9
  %3111 = load i32, ptr @test_count, align 4, !tbaa !5
  %3112 = add nsw i32 %3111, 1
  store i32 %3112, ptr @test_count, align 4, !tbaa !5
  %3113 = load ptr, ptr %34, align 8, !tbaa !9
  %3114 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %3110, ptr noundef %3113) #13
  %3115 = icmp eq i32 %3114, -1
  br i1 %3115, label %3116, label %3138

3116:                                             ; preds = %3109
  %3117 = load i32, ptr %377, align 4, !tbaa !5
  %3118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3119 = call i32 @s2n_print_stacktrace(ptr noundef %3118) #13
  %3120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3121 = trunc nuw i8 %3120 to i1
  br i1 %3121, label %3122, label %3126

3122:                                             ; preds = %3116
  %3123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3124 = call i32 @fileno(ptr noundef %3123) #13
  %3125 = call i32 @isatty(i32 noundef %3124) #13
  %.not2184 = icmp eq i32 %3125, 0
  br i1 %.not2184, label %3126, label %3127

3126:                                             ; preds = %3122, %3116
  br label %3127

3127:                                             ; preds = %3122, %3126
  %.str.5.sink3243 = phi ptr [ @.str.5, %3126 ], [ @.str.2, %3122 ]
  store i32 %3117, ptr %377, align 4, !tbaa !5
  %3128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3129 = load i32, ptr @test_count, align 4, !tbaa !5
  %3130 = load i32, ptr %323, align 4, !tbaa !5
  %3131 = call ptr @s2n_strerror(i32 noundef %3130, ptr noundef nonnull @.str.4) #13
  %3132 = load i32, ptr %323, align 4, !tbaa !5
  %3133 = call ptr @s2n_strerror_debug(i32 noundef %3132, ptr noundef nonnull @.str.4) #13
  %3134 = load i32, ptr %377, align 4, !tbaa !5
  %3135 = call ptr @strerror(i32 noundef %3134) #13
  %3136 = load i32, ptr %377, align 4, !tbaa !5
  %3137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3128, ptr noundef nonnull %.str.5.sink3243, i32 noundef %3129, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 493, ptr noundef %3131, ptr noundef %3133, ptr noundef %3135, i32 noundef %3136) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3138:                                             ; preds = %3109
  %3139 = load i32, ptr @test_count, align 4, !tbaa !5
  %3140 = add nsw i32 %3139, 1
  store i32 %3140, ptr @test_count, align 4, !tbaa !5
  %3141 = load ptr, ptr %35, align 8, !tbaa !9
  %3142 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %3141, ptr noundef nonnull @.str.62) #13
  %3143 = icmp eq i32 %3142, -1
  br i1 %3143, label %3144, label %3166

3144:                                             ; preds = %3138
  %3145 = load i32, ptr %377, align 4, !tbaa !5
  %3146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3147 = call i32 @s2n_print_stacktrace(ptr noundef %3146) #13
  %3148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3149 = trunc nuw i8 %3148 to i1
  br i1 %3149, label %3150, label %3154

3150:                                             ; preds = %3144
  %3151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3152 = call i32 @fileno(ptr noundef %3151) #13
  %3153 = call i32 @isatty(i32 noundef %3152) #13
  %.not2183 = icmp eq i32 %3153, 0
  br i1 %.not2183, label %3154, label %3155

3154:                                             ; preds = %3150, %3144
  br label %3155

3155:                                             ; preds = %3150, %3154
  %.str.5.sink3252 = phi ptr [ @.str.5, %3154 ], [ @.str.2, %3150 ]
  store i32 %3145, ptr %377, align 4, !tbaa !5
  %3156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3157 = load i32, ptr @test_count, align 4, !tbaa !5
  %3158 = load i32, ptr %323, align 4, !tbaa !5
  %3159 = call ptr @s2n_strerror(i32 noundef %3158, ptr noundef nonnull @.str.4) #13
  %3160 = load i32, ptr %323, align 4, !tbaa !5
  %3161 = call ptr @s2n_strerror_debug(i32 noundef %3160, ptr noundef nonnull @.str.4) #13
  %3162 = load i32, ptr %377, align 4, !tbaa !5
  %3163 = call ptr @strerror(i32 noundef %3162) #13
  %3164 = load i32, ptr %377, align 4, !tbaa !5
  %3165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3156, ptr noundef nonnull %.str.5.sink3252, i32 noundef %3157, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 494, ptr noundef %3159, ptr noundef %3161, ptr noundef %3163, i32 noundef %3164) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3166:                                             ; preds = %3138
  %3167 = load i32, ptr @test_count, align 4, !tbaa !5
  %3168 = add nsw i32 %3167, 1
  store i32 %3168, ptr @test_count, align 4, !tbaa !5
  %3169 = load ptr, ptr %35, align 8, !tbaa !9
  %3170 = call i32 @s2n_config_disable_x509_verification(ptr noundef %3169) #13
  %3171 = icmp eq i32 %3170, -1
  br i1 %3171, label %3172, label %3194

3172:                                             ; preds = %3166
  %3173 = load i32, ptr %377, align 4, !tbaa !5
  %3174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3175 = call i32 @s2n_print_stacktrace(ptr noundef %3174) #13
  %3176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3177 = trunc nuw i8 %3176 to i1
  br i1 %3177, label %3178, label %3182

3178:                                             ; preds = %3172
  %3179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3180 = call i32 @fileno(ptr noundef %3179) #13
  %3181 = call i32 @isatty(i32 noundef %3180) #13
  %.not2182 = icmp eq i32 %3181, 0
  br i1 %.not2182, label %3182, label %3183

3182:                                             ; preds = %3178, %3172
  br label %3183

3183:                                             ; preds = %3178, %3182
  %.str.5.sink3261 = phi ptr [ @.str.5, %3182 ], [ @.str.2, %3178 ]
  store i32 %3173, ptr %377, align 4, !tbaa !5
  %3184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3185 = load i32, ptr @test_count, align 4, !tbaa !5
  %3186 = load i32, ptr %323, align 4, !tbaa !5
  %3187 = call ptr @s2n_strerror(i32 noundef %3186, ptr noundef nonnull @.str.4) #13
  %3188 = load i32, ptr %323, align 4, !tbaa !5
  %3189 = call ptr @s2n_strerror_debug(i32 noundef %3188, ptr noundef nonnull @.str.4) #13
  %3190 = load i32, ptr %377, align 4, !tbaa !5
  %3191 = call ptr @strerror(i32 noundef %3190) #13
  %3192 = load i32, ptr %377, align 4, !tbaa !5
  %3193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3184, ptr noundef nonnull %.str.5.sink3261, i32 noundef %3185, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 495, ptr noundef %3187, ptr noundef %3189, ptr noundef %3191, i32 noundef %3192) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3194:                                             ; preds = %3166
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #13
  %3195 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %3195, ptr %36, align 8, !tbaa !9
  %3196 = load i32, ptr @test_count, align 4, !tbaa !5
  %3197 = add nsw i32 %3196, 1
  store i32 %3197, ptr @test_count, align 4, !tbaa !5
  %3198 = icmp eq ptr %3195, null
  br i1 %3198, label %3199, label %3221

3199:                                             ; preds = %3194
  %3200 = load i32, ptr %377, align 4, !tbaa !5
  %3201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3202 = call i32 @s2n_print_stacktrace(ptr noundef %3201) #13
  %3203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3204 = trunc nuw i8 %3203 to i1
  br i1 %3204, label %3205, label %3209

3205:                                             ; preds = %3199
  %3206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3207 = call i32 @fileno(ptr noundef %3206) #13
  %3208 = call i32 @isatty(i32 noundef %3207) #13
  %.not2181 = icmp eq i32 %3208, 0
  br i1 %.not2181, label %3209, label %3210

3209:                                             ; preds = %3205, %3199
  br label %3210

3210:                                             ; preds = %3205, %3209
  %.str.5.sink3270 = phi ptr [ @.str.5, %3209 ], [ @.str.2, %3205 ]
  store i32 %3200, ptr %377, align 4, !tbaa !5
  %3211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3212 = load i32, ptr @test_count, align 4, !tbaa !5
  %3213 = load i32, ptr %323, align 4, !tbaa !5
  %3214 = call ptr @s2n_strerror(i32 noundef %3213, ptr noundef nonnull @.str.4) #13
  %3215 = load i32, ptr %323, align 4, !tbaa !5
  %3216 = call ptr @s2n_strerror_debug(i32 noundef %3215, ptr noundef nonnull @.str.4) #13
  %3217 = load i32, ptr %377, align 4, !tbaa !5
  %3218 = call ptr @strerror(i32 noundef %3217) #13
  %3219 = load i32, ptr %377, align 4, !tbaa !5
  %3220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3211, ptr noundef nonnull %.str.5.sink3270, i32 noundef %3212, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 499, ptr noundef %3214, ptr noundef %3216, ptr noundef %3218, i32 noundef %3219) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3221:                                             ; preds = %3194
  %3222 = add nsw i32 %3196, 2
  store i32 %3222, ptr @test_count, align 4, !tbaa !5
  %3223 = load ptr, ptr %35, align 8, !tbaa !9
  %3224 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3195, ptr noundef %3223) #13
  %3225 = icmp eq i32 %3224, -1
  br i1 %3225, label %3226, label %3248

3226:                                             ; preds = %3221
  %3227 = load i32, ptr %377, align 4, !tbaa !5
  %3228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3229 = call i32 @s2n_print_stacktrace(ptr noundef %3228) #13
  %3230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3231 = trunc nuw i8 %3230 to i1
  br i1 %3231, label %3232, label %3236

3232:                                             ; preds = %3226
  %3233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3234 = call i32 @fileno(ptr noundef %3233) #13
  %3235 = call i32 @isatty(i32 noundef %3234) #13
  %.not2180 = icmp eq i32 %3235, 0
  br i1 %.not2180, label %3236, label %3237

3236:                                             ; preds = %3232, %3226
  br label %3237

3237:                                             ; preds = %3232, %3236
  %.str.5.sink3279 = phi ptr [ @.str.5, %3236 ], [ @.str.2, %3232 ]
  store i32 %3227, ptr %377, align 4, !tbaa !5
  %3238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3239 = load i32, ptr @test_count, align 4, !tbaa !5
  %3240 = load i32, ptr %323, align 4, !tbaa !5
  %3241 = call ptr @s2n_strerror(i32 noundef %3240, ptr noundef nonnull @.str.4) #13
  %3242 = load i32, ptr %323, align 4, !tbaa !5
  %3243 = call ptr @s2n_strerror_debug(i32 noundef %3242, ptr noundef nonnull @.str.4) #13
  %3244 = load i32, ptr %377, align 4, !tbaa !5
  %3245 = call ptr @strerror(i32 noundef %3244) #13
  %3246 = load i32, ptr %377, align 4, !tbaa !5
  %3247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3238, ptr noundef nonnull %.str.5.sink3279, i32 noundef %3239, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 500, ptr noundef %3241, ptr noundef %3243, ptr noundef %3245, i32 noundef %3246) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3248:                                             ; preds = %3221
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #13
  %3249 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %3249, ptr %37, align 8, !tbaa !9
  %3250 = load i32, ptr @test_count, align 4, !tbaa !5
  %3251 = add nsw i32 %3250, 1
  store i32 %3251, ptr @test_count, align 4, !tbaa !5
  %3252 = load ptr, ptr %36, align 8, !tbaa !9
  %3253 = icmp eq ptr %3252, null
  br i1 %3253, label %3254, label %3276

3254:                                             ; preds = %3248
  %3255 = load i32, ptr %377, align 4, !tbaa !5
  %3256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3257 = call i32 @s2n_print_stacktrace(ptr noundef %3256) #13
  %3258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3259 = trunc nuw i8 %3258 to i1
  br i1 %3259, label %3260, label %3264

3260:                                             ; preds = %3254
  %3261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3262 = call i32 @fileno(ptr noundef %3261) #13
  %3263 = call i32 @isatty(i32 noundef %3262) #13
  %.not2179 = icmp eq i32 %3263, 0
  br i1 %.not2179, label %3264, label %3265

3264:                                             ; preds = %3260, %3254
  br label %3265

3265:                                             ; preds = %3260, %3264
  %.str.5.sink3288 = phi ptr [ @.str.5, %3264 ], [ @.str.2, %3260 ]
  store i32 %3255, ptr %377, align 4, !tbaa !5
  %3266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3267 = load i32, ptr @test_count, align 4, !tbaa !5
  %3268 = load i32, ptr %323, align 4, !tbaa !5
  %3269 = call ptr @s2n_strerror(i32 noundef %3268, ptr noundef nonnull @.str.4) #13
  %3270 = load i32, ptr %323, align 4, !tbaa !5
  %3271 = call ptr @s2n_strerror_debug(i32 noundef %3270, ptr noundef nonnull @.str.4) #13
  %3272 = load i32, ptr %377, align 4, !tbaa !5
  %3273 = call ptr @strerror(i32 noundef %3272) #13
  %3274 = load i32, ptr %377, align 4, !tbaa !5
  %3275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3266, ptr noundef nonnull %.str.5.sink3288, i32 noundef %3267, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 504, ptr noundef %3269, ptr noundef %3271, ptr noundef %3273, i32 noundef %3274) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3276:                                             ; preds = %3248
  %3277 = add nsw i32 %3250, 2
  store i32 %3277, ptr @test_count, align 4, !tbaa !5
  %3278 = load ptr, ptr %35, align 8, !tbaa !9
  %3279 = call i32 @s2n_connection_set_config(ptr noundef %3249, ptr noundef %3278) #13
  %3280 = icmp eq i32 %3279, -1
  br i1 %3280, label %3281, label %3303

3281:                                             ; preds = %3276
  %3282 = load i32, ptr %377, align 4, !tbaa !5
  %3283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3284 = call i32 @s2n_print_stacktrace(ptr noundef %3283) #13
  %3285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3286 = trunc nuw i8 %3285 to i1
  br i1 %3286, label %3287, label %3291

3287:                                             ; preds = %3281
  %3288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3289 = call i32 @fileno(ptr noundef %3288) #13
  %3290 = call i32 @isatty(i32 noundef %3289) #13
  %.not2178 = icmp eq i32 %3290, 0
  br i1 %.not2178, label %3291, label %3292

3291:                                             ; preds = %3287, %3281
  br label %3292

3292:                                             ; preds = %3287, %3291
  %.str.5.sink3297 = phi ptr [ @.str.5, %3291 ], [ @.str.2, %3287 ]
  store i32 %3282, ptr %377, align 4, !tbaa !5
  %3293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3294 = load i32, ptr @test_count, align 4, !tbaa !5
  %3295 = load i32, ptr %323, align 4, !tbaa !5
  %3296 = call ptr @s2n_strerror(i32 noundef %3295, ptr noundef nonnull @.str.4) #13
  %3297 = load i32, ptr %323, align 4, !tbaa !5
  %3298 = call ptr @s2n_strerror_debug(i32 noundef %3297, ptr noundef nonnull @.str.4) #13
  %3299 = load i32, ptr %377, align 4, !tbaa !5
  %3300 = call ptr @strerror(i32 noundef %3299) #13
  %3301 = load i32, ptr %377, align 4, !tbaa !5
  %3302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3293, ptr noundef nonnull %.str.5.sink3297, i32 noundef %3294, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 505, ptr noundef %3296, ptr noundef %3298, ptr noundef %3300, i32 noundef %3301) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3303:                                             ; preds = %3276
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #13
  store i64 0, ptr %38, align 8
  %3304 = load i32, ptr @test_count, align 4, !tbaa !5
  %3305 = add nsw i32 %3304, 1
  store i32 %3305, ptr @test_count, align 4, !tbaa !5
  %3306 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %38) #13
  %3307 = icmp eq i32 %3306, -1
  br i1 %3307, label %3308, label %3330

3308:                                             ; preds = %3303
  %3309 = load i32, ptr %377, align 4, !tbaa !5
  %3310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3311 = call i32 @s2n_print_stacktrace(ptr noundef %3310) #13
  %3312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3313 = trunc nuw i8 %3312 to i1
  br i1 %3313, label %3314, label %3318

3314:                                             ; preds = %3308
  %3315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3316 = call i32 @fileno(ptr noundef %3315) #13
  %3317 = call i32 @isatty(i32 noundef %3316) #13
  %.not2177 = icmp eq i32 %3317, 0
  br i1 %.not2177, label %3318, label %3319

3318:                                             ; preds = %3314, %3308
  br label %3319

3319:                                             ; preds = %3314, %3318
  %.str.5.sink3306 = phi ptr [ @.str.5, %3318 ], [ @.str.2, %3314 ]
  store i32 %3309, ptr %377, align 4, !tbaa !5
  %3320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3321 = load i32, ptr @test_count, align 4, !tbaa !5
  %3322 = load i32, ptr %323, align 4, !tbaa !5
  %3323 = call ptr @s2n_strerror(i32 noundef %3322, ptr noundef nonnull @.str.4) #13
  %3324 = load i32, ptr %323, align 4, !tbaa !5
  %3325 = call ptr @s2n_strerror_debug(i32 noundef %3324, ptr noundef nonnull @.str.4) #13
  %3326 = load i32, ptr %377, align 4, !tbaa !5
  %3327 = call ptr @strerror(i32 noundef %3326) #13
  %3328 = load i32, ptr %377, align 4, !tbaa !5
  %3329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3320, ptr noundef nonnull %.str.5.sink3306, i32 noundef %3321, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 508, ptr noundef %3323, ptr noundef %3325, ptr noundef %3327, i32 noundef %3328) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3330:                                             ; preds = %3303
  %3331 = load i32, ptr @test_count, align 4, !tbaa !5
  %3332 = add nsw i32 %3331, 1
  store i32 %3332, ptr @test_count, align 4, !tbaa !5
  %3333 = load ptr, ptr %37, align 8, !tbaa !9
  %3334 = load ptr, ptr %36, align 8, !tbaa !9
  %3335 = call i32 @s2n_connections_set_io_pair(ptr noundef %3333, ptr noundef %3334, ptr noundef nonnull %38) #13
  %3336 = icmp eq i32 %3335, -1
  br i1 %3336, label %3337, label %3359

3337:                                             ; preds = %3330
  %3338 = load i32, ptr %377, align 4, !tbaa !5
  %3339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3340 = call i32 @s2n_print_stacktrace(ptr noundef %3339) #13
  %3341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3342 = trunc nuw i8 %3341 to i1
  br i1 %3342, label %3343, label %3347

3343:                                             ; preds = %3337
  %3344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3345 = call i32 @fileno(ptr noundef %3344) #13
  %3346 = call i32 @isatty(i32 noundef %3345) #13
  %.not2176 = icmp eq i32 %3346, 0
  br i1 %.not2176, label %3347, label %3348

3347:                                             ; preds = %3343, %3337
  br label %3348

3348:                                             ; preds = %3343, %3347
  %.str.5.sink3315 = phi ptr [ @.str.5, %3347 ], [ @.str.2, %3343 ]
  store i32 %3338, ptr %377, align 4, !tbaa !5
  %3349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3350 = load i32, ptr @test_count, align 4, !tbaa !5
  %3351 = load i32, ptr %323, align 4, !tbaa !5
  %3352 = call ptr @s2n_strerror(i32 noundef %3351, ptr noundef nonnull @.str.4) #13
  %3353 = load i32, ptr %323, align 4, !tbaa !5
  %3354 = call ptr @s2n_strerror_debug(i32 noundef %3353, ptr noundef nonnull @.str.4) #13
  %3355 = load i32, ptr %377, align 4, !tbaa !5
  %3356 = call ptr @strerror(i32 noundef %3355) #13
  %3357 = load i32, ptr %377, align 4, !tbaa !5
  %3358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3349, ptr noundef nonnull %.str.5.sink3315, i32 noundef %3350, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 509, ptr noundef %3352, ptr noundef %3354, ptr noundef %3356, i32 noundef %3357) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3359:                                             ; preds = %3330
  %3360 = load ptr, ptr %37, align 8, !tbaa !9
  %3361 = getelementptr inbounds i8, ptr %3360, i64 16
  store ptr @security_policy_test_tls13_retry, ptr %3361, align 8, !tbaa !70
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #13
  %3362 = call ptr @s2n_test_psk_new(ptr noundef %3360) #13
  store ptr %3362, ptr %39, align 8, !tbaa !9
  %3363 = getelementptr inbounds i8, ptr %3362, i64 56
  store i32 5, ptr %3363, align 8, !tbaa !55
  %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 = load ptr, ptr %37, align 8, !tbaa !9
  %3367 = call i32 @s2n_connection_append_psk(ptr noundef %3366, ptr noundef %3362) #13
  %3368 = icmp eq i32 %3367, -1
  br i1 %3368, label %3369, label %3391

3369:                                             ; preds = %3359
  %3370 = load i32, ptr %377, align 4, !tbaa !5
  %3371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3372 = call i32 @s2n_print_stacktrace(ptr noundef %3371) #13
  %3373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3374 = trunc nuw i8 %3373 to i1
  br i1 %3374, label %3375, label %3379

3375:                                             ; preds = %3369
  %3376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3377 = call i32 @fileno(ptr noundef %3376) #13
  %3378 = call i32 @isatty(i32 noundef %3377) #13
  %.not2175 = icmp eq i32 %3378, 0
  br i1 %.not2175, label %3379, label %3380

3379:                                             ; preds = %3375, %3369
  br label %3380

3380:                                             ; preds = %3375, %3379
  %.str.5.sink3324 = phi ptr [ @.str.5, %3379 ], [ @.str.2, %3375 ]
  store i32 %3370, ptr %377, align 4, !tbaa !5
  %3381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3382 = load i32, ptr @test_count, align 4, !tbaa !5
  %3383 = load i32, ptr %323, align 4, !tbaa !5
  %3384 = call ptr @s2n_strerror(i32 noundef %3383, ptr noundef nonnull @.str.4) #13
  %3385 = load i32, ptr %323, align 4, !tbaa !5
  %3386 = call ptr @s2n_strerror_debug(i32 noundef %3385, ptr noundef nonnull @.str.4) #13
  %3387 = load i32, ptr %377, align 4, !tbaa !5
  %3388 = call ptr @strerror(i32 noundef %3387) #13
  %3389 = load i32, ptr %377, align 4, !tbaa !5
  %3390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3381, ptr noundef nonnull %.str.5.sink3324, i32 noundef %3382, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 520, ptr noundef %3384, ptr noundef %3386, ptr noundef %3388, i32 noundef %3389) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3391:                                             ; preds = %3359
  %3392 = load i32, ptr @test_count, align 4, !tbaa !5
  %3393 = add nsw i32 %3392, 1
  store i32 %3393, ptr @test_count, align 4, !tbaa !5
  %3394 = load ptr, ptr %37, align 8, !tbaa !9
  %3395 = call zeroext i1 %434(ptr noundef %3394) #13
  br i1 %3395, label %3418, label %3396

3396:                                             ; preds = %3391
  %3397 = load i32, ptr %377, align 4, !tbaa !5
  %3398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3399 = call i32 @s2n_print_stacktrace(ptr noundef %3398) #13
  %3400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3401 = trunc nuw i8 %3400 to i1
  br i1 %3401, label %3402, label %3406

3402:                                             ; preds = %3396
  %3403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3404 = call i32 @fileno(ptr noundef %3403) #13
  %3405 = call i32 @isatty(i32 noundef %3404) #13
  %.not1724 = icmp eq i32 %3405, 0
  br i1 %.not1724, label %3406, label %3407

3406:                                             ; preds = %3402, %3396
  br label %3407

3407:                                             ; preds = %3402, %3406
  %.str.5.sink3333 = phi ptr [ @.str.5, %3406 ], [ @.str.2, %3402 ]
  store i32 %3397, ptr %377, align 4, !tbaa !5
  %3408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3409 = load i32, ptr @test_count, align 4, !tbaa !5
  %3410 = load i32, ptr %323, align 4, !tbaa !5
  %3411 = call ptr @s2n_strerror(i32 noundef %3410, ptr noundef nonnull @.str.4) #13
  %3412 = load i32, ptr %323, align 4, !tbaa !5
  %3413 = call ptr @s2n_strerror_debug(i32 noundef %3412, ptr noundef nonnull @.str.4) #13
  %3414 = load i32, ptr %377, align 4, !tbaa !5
  %3415 = call ptr @strerror(i32 noundef %3414) #13
  %3416 = load i32, ptr %377, align 4, !tbaa !5
  %3417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3408, ptr noundef nonnull %.str.5.sink3333, i32 noundef %3409, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 521, ptr noundef %3411, ptr noundef %3413, ptr noundef %3415, i32 noundef %3416) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3418:                                             ; preds = %3391
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #13
  store i32 0, ptr %40, align 4, !tbaa !5
  %3419 = load i32, ptr @test_count, align 4, !tbaa !5
  %3420 = add nsw i32 %3419, 1
  store i32 %3420, ptr @test_count, align 4, !tbaa !5
  %3421 = load ptr, ptr %37, align 8, !tbaa !9
  %3422 = call i32 @s2n_negotiate_until_message(ptr noundef %3421, ptr noundef nonnull %40, i32 noundef 1) #13
  %3423 = call zeroext i1 @s2n_result_is_ok(i32 %3422)
  br i1 %3423, label %3446, label %3424

3424:                                             ; preds = %3418
  %3425 = load i32, ptr %377, align 4, !tbaa !5
  %3426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3427 = call i32 @s2n_print_stacktrace(ptr noundef %3426) #13
  %3428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3429 = trunc nuw i8 %3428 to i1
  br i1 %3429, label %3430, label %3434

3430:                                             ; preds = %3424
  %3431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3432 = call i32 @fileno(ptr noundef %3431) #13
  %3433 = call i32 @isatty(i32 noundef %3432) #13
  %.not1725 = icmp eq i32 %3433, 0
  br i1 %.not1725, label %3434, label %3435

3434:                                             ; preds = %3430, %3424
  br label %3435

3435:                                             ; preds = %3430, %3434
  %.str.5.sink3342 = phi ptr [ @.str.5, %3434 ], [ @.str.2, %3430 ]
  store i32 %3425, ptr %377, align 4, !tbaa !5
  %3436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3437 = load i32, ptr @test_count, align 4, !tbaa !5
  %3438 = load i32, ptr %323, align 4, !tbaa !5
  %3439 = call ptr @s2n_strerror(i32 noundef %3438, ptr noundef nonnull @.str.4) #13
  %3440 = load i32, ptr %323, align 4, !tbaa !5
  %3441 = call ptr @s2n_strerror_debug(i32 noundef %3440, ptr noundef nonnull @.str.4) #13
  %3442 = load i32, ptr %377, align 4, !tbaa !5
  %3443 = call ptr @strerror(i32 noundef %3442) #13
  %3444 = load i32, ptr %377, align 4, !tbaa !5
  %3445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3436, ptr noundef nonnull %.str.5.sink3342, i32 noundef %3437, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 525, ptr noundef %3439, ptr noundef %3441, ptr noundef %3443, i32 noundef %3444) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3446:                                             ; preds = %3418
  %3447 = load i32, ptr @test_count, align 4, !tbaa !5
  %3448 = add nsw i32 %3447, 1
  store i32 %3448, ptr @test_count, align 4, !tbaa !5
  %3449 = load ptr, ptr %36, align 8, !tbaa !9
  %3450 = call i32 @s2n_negotiate_until_message(ptr noundef %3449, ptr noundef nonnull %40, i32 noundef 18) #13
  %3451 = call zeroext i1 @s2n_result_is_ok(i32 %3450)
  br i1 %3451, label %3474, label %3452

3452:                                             ; preds = %3446
  %3453 = load i32, ptr %377, align 4, !tbaa !5
  %3454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3455 = call i32 @s2n_print_stacktrace(ptr noundef %3454) #13
  %3456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3457 = trunc nuw i8 %3456 to i1
  br i1 %3457, label %3458, label %3462

3458:                                             ; preds = %3452
  %3459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3460 = call i32 @fileno(ptr noundef %3459) #13
  %3461 = call i32 @isatty(i32 noundef %3460) #13
  %.not1726 = icmp eq i32 %3461, 0
  br i1 %.not1726, label %3462, label %3463

3462:                                             ; preds = %3458, %3452
  br label %3463

3463:                                             ; preds = %3458, %3462
  %.str.5.sink3351 = phi ptr [ @.str.5, %3462 ], [ @.str.2, %3458 ]
  store i32 %3453, ptr %377, align 4, !tbaa !5
  %3464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3465 = load i32, ptr @test_count, align 4, !tbaa !5
  %3466 = load i32, ptr %323, align 4, !tbaa !5
  %3467 = call ptr @s2n_strerror(i32 noundef %3466, ptr noundef nonnull @.str.4) #13
  %3468 = load i32, ptr %323, align 4, !tbaa !5
  %3469 = call ptr @s2n_strerror_debug(i32 noundef %3468, ptr noundef nonnull @.str.4) #13
  %3470 = load i32, ptr %377, align 4, !tbaa !5
  %3471 = call ptr @strerror(i32 noundef %3470) #13
  %3472 = load i32, ptr %377, align 4, !tbaa !5
  %3473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3464, ptr noundef nonnull %.str.5.sink3351, i32 noundef %3465, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %3467, ptr noundef %3469, ptr noundef %3471, i32 noundef %3472) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3474:                                             ; preds = %3446
  %3475 = load i32, ptr @test_count, align 4, !tbaa !5
  %3476 = add nsw i32 %3475, 1
  store i32 %3476, ptr @test_count, align 4, !tbaa !5
  %3477 = load ptr, ptr %36, align 8, !tbaa !9
  %3478 = call i32 @s2n_negotiate_until_message(ptr noundef %3477, ptr noundef nonnull %40, i32 noundef 0) #13
  %3479 = call zeroext i1 @s2n_result_is_ok(i32 %3478)
  br i1 %3479, label %3502, label %3480

3480:                                             ; preds = %3474
  %3481 = load i32, ptr %377, align 4, !tbaa !5
  %3482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3483 = call i32 @s2n_print_stacktrace(ptr noundef %3482) #13
  %3484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3485 = trunc nuw i8 %3484 to i1
  br i1 %3485, label %3486, label %3490

3486:                                             ; preds = %3480
  %3487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3488 = call i32 @fileno(ptr noundef %3487) #13
  %3489 = call i32 @isatty(i32 noundef %3488) #13
  %.not1727 = icmp eq i32 %3489, 0
  br i1 %.not1727, label %3490, label %3491

3490:                                             ; preds = %3486, %3480
  br label %3491

3491:                                             ; preds = %3486, %3490
  %.str.5.sink3360 = phi ptr [ @.str.5, %3490 ], [ @.str.2, %3486 ]
  store i32 %3481, ptr %377, align 4, !tbaa !5
  %3492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3493 = load i32, ptr @test_count, align 4, !tbaa !5
  %3494 = load i32, ptr %323, align 4, !tbaa !5
  %3495 = call ptr @s2n_strerror(i32 noundef %3494, ptr noundef nonnull @.str.4) #13
  %3496 = load i32, ptr %323, align 4, !tbaa !5
  %3497 = call ptr @s2n_strerror_debug(i32 noundef %3496, ptr noundef nonnull @.str.4) #13
  %3498 = load i32, ptr %377, align 4, !tbaa !5
  %3499 = call ptr @strerror(i32 noundef %3498) #13
  %3500 = load i32, ptr %377, align 4, !tbaa !5
  %3501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3492, ptr noundef nonnull %.str.5.sink3360, i32 noundef %3493, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 527, ptr noundef %3495, ptr noundef %3497, ptr noundef %3499, i32 noundef %3500) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3502:                                             ; preds = %3474
  %3503 = load i32, ptr @test_count, align 4, !tbaa !5
  %3504 = add nsw i32 %3503, 1
  store i32 %3504, ptr @test_count, align 4, !tbaa !5
  %3505 = load ptr, ptr %37, align 8, !tbaa !9
  %3506 = call i32 @s2n_negotiate_until_message(ptr noundef %3505, ptr noundef nonnull %40, i32 noundef 0) #13
  %3507 = call zeroext i1 @s2n_result_is_ok(i32 %3506)
  br i1 %3507, label %3530, label %3508

3508:                                             ; preds = %3502
  %3509 = load i32, ptr %377, align 4, !tbaa !5
  %3510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3511 = call i32 @s2n_print_stacktrace(ptr noundef %3510) #13
  %3512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3513 = trunc nuw i8 %3512 to i1
  br i1 %3513, label %3514, label %3518

3514:                                             ; preds = %3508
  %3515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3516 = call i32 @fileno(ptr noundef %3515) #13
  %3517 = call i32 @isatty(i32 noundef %3516) #13
  %.not1728 = icmp eq i32 %3517, 0
  br i1 %.not1728, label %3518, label %3519

3518:                                             ; preds = %3514, %3508
  br label %3519

3519:                                             ; preds = %3514, %3518
  %.str.5.sink3369 = phi ptr [ @.str.5, %3518 ], [ @.str.2, %3514 ]
  store i32 %3509, ptr %377, align 4, !tbaa !5
  %3520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3521 = load i32, ptr @test_count, align 4, !tbaa !5
  %3522 = load i32, ptr %323, align 4, !tbaa !5
  %3523 = call ptr @s2n_strerror(i32 noundef %3522, ptr noundef nonnull @.str.4) #13
  %3524 = load i32, ptr %323, align 4, !tbaa !5
  %3525 = call ptr @s2n_strerror_debug(i32 noundef %3524, ptr noundef nonnull @.str.4) #13
  %3526 = load i32, ptr %377, align 4, !tbaa !5
  %3527 = call ptr @strerror(i32 noundef %3526) #13
  %3528 = load i32, ptr %377, align 4, !tbaa !5
  %3529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3520, ptr noundef nonnull %.str.5.sink3369, i32 noundef %3521, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 528, ptr noundef %3523, ptr noundef %3525, ptr noundef %3527, i32 noundef %3528) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3530:                                             ; preds = %3502
  %3531 = load i32, ptr @test_count, align 4, !tbaa !5
  %3532 = add nsw i32 %3531, 1
  store i32 %3532, ptr @test_count, align 4, !tbaa !5
  %3533 = load ptr, ptr %37, align 8, !tbaa !9
  %3534 = call zeroext i1 %434(ptr noundef %3533) #13
  br i1 %3534, label %3535, label %3557

3535:                                             ; preds = %3530
  %3536 = load i32, ptr %377, align 4, !tbaa !5
  %3537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3538 = call i32 @s2n_print_stacktrace(ptr noundef %3537) #13
  %3539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3540 = trunc nuw i8 %3539 to i1
  br i1 %3540, label %3541, label %3545

3541:                                             ; preds = %3535
  %3542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3543 = call i32 @fileno(ptr noundef %3542) #13
  %3544 = call i32 @isatty(i32 noundef %3543) #13
  %.not2174 = icmp eq i32 %3544, 0
  br i1 %.not2174, label %3545, label %3546

3545:                                             ; preds = %3541, %3535
  br label %3546

3546:                                             ; preds = %3541, %3545
  %.str.5.sink3378 = phi ptr [ @.str.5, %3545 ], [ @.str.2, %3541 ]
  store i32 %3536, ptr %377, align 4, !tbaa !5
  %3547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3548 = load i32, ptr @test_count, align 4, !tbaa !5
  %3549 = load i32, ptr %323, align 4, !tbaa !5
  %3550 = call ptr @s2n_strerror(i32 noundef %3549, ptr noundef nonnull @.str.4) #13
  %3551 = load i32, ptr %323, align 4, !tbaa !5
  %3552 = call ptr @s2n_strerror_debug(i32 noundef %3551, ptr noundef nonnull @.str.4) #13
  %3553 = load i32, ptr %377, align 4, !tbaa !5
  %3554 = call ptr @strerror(i32 noundef %3553) #13
  %3555 = load i32, ptr %377, align 4, !tbaa !5
  %3556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3547, ptr noundef nonnull %.str.5.sink3378, i32 noundef %3548, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %3550, ptr noundef %3552, ptr noundef %3554, i32 noundef %3555) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3557:                                             ; preds = %3530
  %3558 = load i32, ptr @test_count, align 4, !tbaa !5
  %3559 = add nsw i32 %3558, 1
  store i32 %3559, ptr @test_count, align 4, !tbaa !5
  %3560 = load ptr, ptr %36, align 8, !tbaa !9
  %3561 = load ptr, ptr %37, align 8, !tbaa !9
  %3562 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3560, ptr noundef %3561) #13
  %3563 = icmp eq i32 %3562, -1
  br i1 %3563, label %3564, label %3586

3564:                                             ; preds = %3557
  %3565 = load i32, ptr %377, align 4, !tbaa !5
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = call i32 @s2n_print_stacktrace(ptr noundef %3566) #13
  %3568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3569 = trunc nuw i8 %3568 to i1
  br i1 %3569, label %3570, label %3574

3570:                                             ; preds = %3564
  %3571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3572 = call i32 @fileno(ptr noundef %3571) #13
  %3573 = call i32 @isatty(i32 noundef %3572) #13
  %.not2173 = icmp eq i32 %3573, 0
  br i1 %.not2173, label %3574, label %3575

3574:                                             ; preds = %3570, %3564
  br label %3575

3575:                                             ; preds = %3570, %3574
  %.str.5.sink3387 = phi ptr [ @.str.5, %3574 ], [ @.str.2, %3570 ]
  store i32 %3565, ptr %377, align 4, !tbaa !5
  %3576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3577 = load i32, ptr @test_count, align 4, !tbaa !5
  %3578 = load i32, ptr %323, align 4, !tbaa !5
  %3579 = call ptr @s2n_strerror(i32 noundef %3578, ptr noundef nonnull @.str.4) #13
  %3580 = load i32, ptr %323, align 4, !tbaa !5
  %3581 = call ptr @s2n_strerror_debug(i32 noundef %3580, ptr noundef nonnull @.str.4) #13
  %3582 = load i32, ptr %377, align 4, !tbaa !5
  %3583 = call ptr @strerror(i32 noundef %3582) #13
  %3584 = load i32, ptr %377, align 4, !tbaa !5
  %3585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3576, ptr noundef nonnull %.str.5.sink3387, i32 noundef %3577, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 534, ptr noundef %3579, ptr noundef %3581, ptr noundef %3583, i32 noundef %3584) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3586:                                             ; preds = %3557
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #13
  %3587 = call i32 @s2n_psk_free(ptr noundef nonnull %39) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #13
  %3588 = call i32 @s2n_io_pair_close(ptr noundef nonnull %38) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #13
  %3589 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %37) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #13
  %3590 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %36) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #13
  %3591 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %35) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #13
  %3592 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %34) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #13
  br label %3593

3593:                                             ; preds = %3586, %3080
  %3594 = load i32, ptr @test_count, align 4, !tbaa !5
  %3595 = add nsw i32 %3594, 1
  store i32 %3595, ptr @test_count, align 4, !tbaa !5
  %3596 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %3597 = icmp eq ptr %3596, null
  br i1 %3597, label %3598, label %3620

3598:                                             ; preds = %3593
  %3599 = load i32, ptr %377, align 4, !tbaa !5
  %3600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3601 = call i32 @s2n_print_stacktrace(ptr noundef %3600) #13
  %3602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3603 = trunc nuw i8 %3602 to i1
  br i1 %3603, label %3604, label %3608

3604:                                             ; preds = %3598
  %3605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3606 = call i32 @fileno(ptr noundef %3605) #13
  %3607 = call i32 @isatty(i32 noundef %3606) #13
  %.not2172 = icmp eq i32 %3607, 0
  br i1 %.not2172, label %3608, label %3609

3608:                                             ; preds = %3604, %3598
  br label %3609

3609:                                             ; preds = %3604, %3608
  %.str.5.sink3396 = phi ptr [ @.str.5, %3608 ], [ @.str.2, %3604 ]
  store i32 %3599, ptr %377, align 4, !tbaa !5
  %3610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3611 = load i32, ptr @test_count, align 4, !tbaa !5
  %3612 = load i32, ptr %323, align 4, !tbaa !5
  %3613 = call ptr @s2n_strerror(i32 noundef %3612, ptr noundef nonnull @.str.4) #13
  %3614 = load i32, ptr %323, align 4, !tbaa !5
  %3615 = call ptr @s2n_strerror_debug(i32 noundef %3614, ptr noundef nonnull @.str.4) #13
  %3616 = load i32, ptr %377, align 4, !tbaa !5
  %3617 = call ptr @strerror(i32 noundef %3616) #13
  %3618 = load i32, ptr %377, align 4, !tbaa !5
  %3619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3610, ptr noundef nonnull %.str.5.sink3396, i32 noundef %3611, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 543, ptr noundef %3613, ptr noundef %3615, ptr noundef %3617, i32 noundef %3618) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3620:                                             ; preds = %3593
  %3621 = load i32, ptr @test_count, align 4, !tbaa !5
  %3622 = add nsw i32 %3621, 1
  store i32 %3622, ptr @test_count, align 4, !tbaa !5
  %3623 = call i32 @s2n_select_external_psk(ptr noundef nonnull %3596, ptr noundef null)
  %3624 = call zeroext i1 @s2n_result_is_error(i32 %3623)
  br i1 %3624, label %3647, label %3625

3625:                                             ; preds = %3620
  %3626 = load i32, ptr %377, align 4, !tbaa !5
  %3627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3628 = call i32 @s2n_print_stacktrace(ptr noundef %3627) #13
  %3629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3630 = trunc nuw i8 %3629 to i1
  br i1 %3630, label %3631, label %3635

3631:                                             ; preds = %3625
  %3632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3633 = call i32 @fileno(ptr noundef %3632) #13
  %3634 = call i32 @isatty(i32 noundef %3633) #13
  %.not1729 = icmp eq i32 %3634, 0
  br i1 %.not1729, label %3635, label %3636

3635:                                             ; preds = %3631, %3625
  br label %3636

3636:                                             ; preds = %3631, %3635
  %.str.5.sink3405 = phi ptr [ @.str.5, %3635 ], [ @.str.2, %3631 ]
  store i32 %3626, ptr %377, align 4, !tbaa !5
  %3637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3638 = load i32, ptr @test_count, align 4, !tbaa !5
  %3639 = load i32, ptr %323, align 4, !tbaa !5
  %3640 = call ptr @s2n_strerror(i32 noundef %3639, ptr noundef nonnull @.str.4) #13
  %3641 = load i32, ptr %323, align 4, !tbaa !5
  %3642 = call ptr @s2n_strerror_debug(i32 noundef %3641, ptr noundef nonnull @.str.4) #13
  %3643 = load i32, ptr %377, align 4, !tbaa !5
  %3644 = call ptr @strerror(i32 noundef %3643) #13
  %3645 = load i32, ptr %377, align 4, !tbaa !5
  %3646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3637, ptr noundef nonnull %.str.5.sink3405, i32 noundef %3638, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 545, ptr noundef %3640, ptr noundef %3642, ptr noundef %3644, i32 noundef %3645) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3647:                                             ; preds = %3620
  %3648 = load i32, ptr @test_count, align 4, !tbaa !5
  %3649 = add nsw i32 %3648, 1
  store i32 %3649, ptr @test_count, align 4, !tbaa !5
  %3650 = load i32, ptr %323, align 4, !tbaa !5
  %3651 = icmp eq i32 %3650, 402653193
  br i1 %3651, label %3674, label %3652

3652:                                             ; preds = %3647
  %3653 = load i32, ptr %377, align 4, !tbaa !5
  %3654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3655 = call i32 @s2n_print_stacktrace(ptr noundef %3654) #13
  %3656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3657 = trunc nuw i8 %3656 to i1
  br i1 %3657, label %3658, label %3662

3658:                                             ; preds = %3652
  %3659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3660 = call i32 @fileno(ptr noundef %3659) #13
  %3661 = call i32 @isatty(i32 noundef %3660) #13
  %.not1730 = icmp eq i32 %3661, 0
  br i1 %.not1730, label %3662, label %3663

3662:                                             ; preds = %3658, %3652
  br label %3663

3663:                                             ; preds = %3658, %3662
  %.str.5.sink3414 = phi ptr [ @.str.5, %3662 ], [ @.str.2, %3658 ]
  store i32 %3653, ptr %377, align 4, !tbaa !5
  %3664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3665 = load i32, ptr @test_count, align 4, !tbaa !5
  %3666 = load i32, ptr %323, align 4, !tbaa !5
  %3667 = call ptr @s2n_strerror(i32 noundef %3666, ptr noundef nonnull @.str.4) #13
  %3668 = load i32, ptr %323, align 4, !tbaa !5
  %3669 = call ptr @s2n_strerror_debug(i32 noundef %3668, ptr noundef nonnull @.str.4) #13
  %3670 = load i32, ptr %377, align 4, !tbaa !5
  %3671 = call ptr @strerror(i32 noundef %3670) #13
  %3672 = load i32, ptr %377, align 4, !tbaa !5
  %3673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3664, ptr noundef nonnull %.str.5.sink3414, i32 noundef %3665, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 545, ptr noundef %3667, ptr noundef %3669, ptr noundef %3671, i32 noundef %3672) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3674:                                             ; preds = %3647
  %3675 = add nsw i32 %3648, 2
  store i32 %3675, ptr @test_count, align 4, !tbaa !5
  %3676 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %3677 = icmp eq ptr %3676, null
  br i1 %3677, label %3678, label %3700

3678:                                             ; preds = %3674
  %3679 = load i32, ptr %377, align 4, !tbaa !5
  %3680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3681 = call i32 @s2n_print_stacktrace(ptr noundef %3680) #13
  %3682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3683 = trunc nuw i8 %3682 to i1
  br i1 %3683, label %3684, label %3688

3684:                                             ; preds = %3678
  %3685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3686 = call i32 @fileno(ptr noundef %3685) #13
  %3687 = call i32 @isatty(i32 noundef %3686) #13
  %.not2171 = icmp eq i32 %3687, 0
  br i1 %.not2171, label %3688, label %3689

3688:                                             ; preds = %3684, %3678
  br label %3689

3689:                                             ; preds = %3684, %3688
  %.str.5.sink3423 = phi ptr [ @.str.5, %3688 ], [ @.str.2, %3684 ]
  store i32 %3679, ptr %377, align 4, !tbaa !5
  %3690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3691 = load i32, ptr @test_count, align 4, !tbaa !5
  %3692 = load i32, ptr %323, align 4, !tbaa !5
  %3693 = call ptr @s2n_strerror(i32 noundef %3692, ptr noundef nonnull @.str.4) #13
  %3694 = load i32, ptr %323, align 4, !tbaa !5
  %3695 = call ptr @s2n_strerror_debug(i32 noundef %3694, ptr noundef nonnull @.str.4) #13
  %3696 = load i32, ptr %377, align 4, !tbaa !5
  %3697 = call ptr @strerror(i32 noundef %3696) #13
  %3698 = load i32, ptr %377, align 4, !tbaa !5
  %3699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3690, ptr noundef nonnull %.str.5.sink3423, i32 noundef %3691, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 545, ptr noundef %3693, ptr noundef %3695, ptr noundef %3697, i32 noundef %3698) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3700:                                             ; preds = %3674
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %41) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %41, i8 0, i64 56, i1 false)
  %3701 = load i32, ptr @test_count, align 4, !tbaa !5
  %3702 = add nsw i32 %3701, 1
  store i32 %3702, ptr @test_count, align 4, !tbaa !5
  %3703 = call i32 @s2n_select_external_psk(ptr noundef null, ptr noundef nonnull %41)
  %3704 = call zeroext i1 @s2n_result_is_error(i32 %3703)
  br i1 %3704, label %3727, label %3705

3705:                                             ; preds = %3700
  %3706 = load i32, ptr %377, align 4, !tbaa !5
  %3707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3708 = call i32 @s2n_print_stacktrace(ptr noundef %3707) #13
  %3709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3710 = trunc nuw i8 %3709 to i1
  br i1 %3710, label %3711, label %3715

3711:                                             ; preds = %3705
  %3712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3713 = call i32 @fileno(ptr noundef %3712) #13
  %3714 = call i32 @isatty(i32 noundef %3713) #13
  %.not1731 = icmp eq i32 %3714, 0
  br i1 %.not1731, label %3715, label %3716

3715:                                             ; preds = %3711, %3705
  br label %3716

3716:                                             ; preds = %3711, %3715
  %.str.5.sink3432 = phi ptr [ @.str.5, %3715 ], [ @.str.2, %3711 ]
  store i32 %3706, ptr %377, align 4, !tbaa !5
  %3717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3718 = load i32, ptr @test_count, align 4, !tbaa !5
  %3719 = load i32, ptr %323, align 4, !tbaa !5
  %3720 = call ptr @s2n_strerror(i32 noundef %3719, ptr noundef nonnull @.str.4) #13
  %3721 = load i32, ptr %323, align 4, !tbaa !5
  %3722 = call ptr @s2n_strerror_debug(i32 noundef %3721, ptr noundef nonnull @.str.4) #13
  %3723 = load i32, ptr %377, align 4, !tbaa !5
  %3724 = call ptr @strerror(i32 noundef %3723) #13
  %3725 = load i32, ptr %377, align 4, !tbaa !5
  %3726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3717, ptr noundef nonnull %.str.5.sink3432, i32 noundef %3718, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %3720, ptr noundef %3722, ptr noundef %3724, i32 noundef %3725) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3727:                                             ; preds = %3700
  %3728 = load i32, ptr @test_count, align 4, !tbaa !5
  %3729 = add nsw i32 %3728, 1
  store i32 %3729, ptr @test_count, align 4, !tbaa !5
  %3730 = load i32, ptr %323, align 4, !tbaa !5
  %3731 = icmp eq i32 %3730, 402653193
  br i1 %3731, label %3754, label %3732

3732:                                             ; preds = %3727
  %3733 = load i32, ptr %377, align 4, !tbaa !5
  %3734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3735 = call i32 @s2n_print_stacktrace(ptr noundef %3734) #13
  %3736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3737 = trunc nuw i8 %3736 to i1
  br i1 %3737, label %3738, label %3742

3738:                                             ; preds = %3732
  %3739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3740 = call i32 @fileno(ptr noundef %3739) #13
  %3741 = call i32 @isatty(i32 noundef %3740) #13
  %.not1732 = icmp eq i32 %3741, 0
  br i1 %.not1732, label %3742, label %3743

3742:                                             ; preds = %3738, %3732
  br label %3743

3743:                                             ; preds = %3738, %3742
  %.str.5.sink3441 = phi ptr [ @.str.5, %3742 ], [ @.str.2, %3738 ]
  store i32 %3733, ptr %377, align 4, !tbaa !5
  %3744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3745 = load i32, ptr @test_count, align 4, !tbaa !5
  %3746 = load i32, ptr %323, align 4, !tbaa !5
  %3747 = call ptr @s2n_strerror(i32 noundef %3746, ptr noundef nonnull @.str.4) #13
  %3748 = load i32, ptr %323, align 4, !tbaa !5
  %3749 = call ptr @s2n_strerror_debug(i32 noundef %3748, ptr noundef nonnull @.str.4) #13
  %3750 = load i32, ptr %377, align 4, !tbaa !5
  %3751 = call ptr @strerror(i32 noundef %3750) #13
  %3752 = load i32, ptr %377, align 4, !tbaa !5
  %3753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3744, ptr noundef nonnull %.str.5.sink3441, i32 noundef %3745, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %3747, ptr noundef %3749, ptr noundef %3751, i32 noundef %3752) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3754:                                             ; preds = %3727
  %3755 = add nsw i32 %3728, 2
  store i32 %3755, ptr @test_count, align 4, !tbaa !5
  %3756 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %3757 = icmp eq ptr %3756, null
  br i1 %3757, label %3758, label %3780

3758:                                             ; preds = %3754
  %3759 = load i32, ptr %377, align 4, !tbaa !5
  %3760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3761 = call i32 @s2n_print_stacktrace(ptr noundef %3760) #13
  %3762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3763 = trunc nuw i8 %3762 to i1
  br i1 %3763, label %3764, label %3768

3764:                                             ; preds = %3758
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3766 = call i32 @fileno(ptr noundef %3765) #13
  %3767 = call i32 @isatty(i32 noundef %3766) #13
  %.not2170 = icmp eq i32 %3767, 0
  br i1 %.not2170, label %3768, label %3769

3768:                                             ; preds = %3764, %3758
  br label %3769

3769:                                             ; preds = %3764, %3768
  %.str.5.sink3450 = phi ptr [ @.str.5, %3768 ], [ @.str.2, %3764 ]
  store i32 %3759, ptr %377, align 4, !tbaa !5
  %3770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3771 = load i32, ptr @test_count, align 4, !tbaa !5
  %3772 = load i32, ptr %323, align 4, !tbaa !5
  %3773 = call ptr @s2n_strerror(i32 noundef %3772, ptr noundef nonnull @.str.4) #13
  %3774 = load i32, ptr %323, align 4, !tbaa !5
  %3775 = call ptr @s2n_strerror_debug(i32 noundef %3774, ptr noundef nonnull @.str.4) #13
  %3776 = load i32, ptr %377, align 4, !tbaa !5
  %3777 = call ptr @strerror(i32 noundef %3776) #13
  %3778 = load i32, ptr %377, align 4, !tbaa !5
  %3779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3770, ptr noundef nonnull %.str.5.sink3450, i32 noundef %3771, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %3773, ptr noundef %3775, ptr noundef %3777, i32 noundef %3778) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3780:                                             ; preds = %3754
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %3781 = load i32, ptr @test_count, align 4, !tbaa !5
  %3782 = add nsw i32 %3781, 1
  store i32 %3782, ptr @test_count, align 4, !tbaa !5
  %3783 = call i32 @s2n_connection_free(ptr noundef nonnull %3596) #13
  %3784 = icmp eq i32 %3783, -1
  br i1 %3784, label %3785, label %3807

3785:                                             ; preds = %3780
  %3786 = load i32, ptr %377, align 4, !tbaa !5
  %3787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3788 = call i32 @s2n_print_stacktrace(ptr noundef %3787) #13
  %3789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3790 = trunc nuw i8 %3789 to i1
  br i1 %3790, label %3791, label %3795

3791:                                             ; preds = %3785
  %3792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3793 = call i32 @fileno(ptr noundef %3792) #13
  %3794 = call i32 @isatty(i32 noundef %3793) #13
  %.not2169 = icmp eq i32 %3794, 0
  br i1 %.not2169, label %3795, label %3796

3795:                                             ; preds = %3791, %3785
  br label %3796

3796:                                             ; preds = %3791, %3795
  %.str.5.sink3459 = phi ptr [ @.str.5, %3795 ], [ @.str.2, %3791 ]
  store i32 %3786, ptr %377, align 4, !tbaa !5
  %3797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3798 = load i32, ptr @test_count, align 4, !tbaa !5
  %3799 = load i32, ptr %323, align 4, !tbaa !5
  %3800 = call ptr @s2n_strerror(i32 noundef %3799, ptr noundef nonnull @.str.4) #13
  %3801 = load i32, ptr %323, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror_debug(i32 noundef %3801, ptr noundef nonnull @.str.4) #13
  %3803 = load i32, ptr %377, align 4, !tbaa !5
  %3804 = call ptr @strerror(i32 noundef %3803) #13
  %3805 = load i32, ptr %377, align 4, !tbaa !5
  %3806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3797, ptr noundef nonnull %.str.5.sink3459, i32 noundef %3798, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 550, ptr noundef %3800, ptr noundef %3802, ptr noundef %3804, i32 noundef %3805) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3807:                                             ; preds = %3780
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %41) #13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %42, i8 0, i64 24, i1 false)
  %3808 = load i32, ptr @test_count, align 4, !tbaa !5
  %3809 = add nsw i32 %3808, 1
  store i32 %3809, ptr @test_count, align 4, !tbaa !5
  %3810 = call i32 @s2n_blob_init(ptr noundef nonnull %42, ptr noundef nonnull %5, i32 noundef 14) #13
  %3811 = icmp eq i32 %3810, -1
  br i1 %3811, label %3812, label %3834

3812:                                             ; preds = %3807
  %3813 = load i32, ptr %377, align 4, !tbaa !5
  %3814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3815 = call i32 @s2n_print_stacktrace(ptr noundef %3814) #13
  %3816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3817 = trunc nuw i8 %3816 to i1
  br i1 %3817, label %3818, label %3822

3818:                                             ; preds = %3812
  %3819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3820 = call i32 @fileno(ptr noundef %3819) #13
  %3821 = call i32 @isatty(i32 noundef %3820) #13
  %.not2168 = icmp eq i32 %3821, 0
  br i1 %.not2168, label %3822, label %3823

3822:                                             ; preds = %3818, %3812
  br label %3823

3823:                                             ; preds = %3818, %3822
  %.str.5.sink3468 = phi ptr [ @.str.5, %3822 ], [ @.str.2, %3818 ]
  store i32 %3813, ptr %377, align 4, !tbaa !5
  %3824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3825 = load i32, ptr @test_count, align 4, !tbaa !5
  %3826 = load i32, ptr %323, align 4, !tbaa !5
  %3827 = call ptr @s2n_strerror(i32 noundef %3826, ptr noundef nonnull @.str.4) #13
  %3828 = load i32, ptr %323, align 4, !tbaa !5
  %3829 = call ptr @s2n_strerror_debug(i32 noundef %3828, ptr noundef nonnull @.str.4) #13
  %3830 = load i32, ptr %377, align 4, !tbaa !5
  %3831 = call ptr @strerror(i32 noundef %3830) #13
  %3832 = load i32, ptr %377, align 4, !tbaa !5
  %3833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3824, ptr noundef nonnull %.str.5.sink3468, i32 noundef %3825, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 554, ptr noundef %3827, ptr noundef %3829, ptr noundef %3831, i32 noundef %3832) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3834:                                             ; preds = %3807
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %43) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %43, i8 0, i64 24, i1 false)
  %3835 = load i32, ptr @test_count, align 4, !tbaa !5
  %3836 = add nsw i32 %3835, 1
  store i32 %3836, ptr @test_count, align 4, !tbaa !5
  %3837 = call i32 @s2n_blob_init(ptr noundef nonnull %43, ptr noundef nonnull %6, i32 noundef 17) #13
  %3838 = icmp eq i32 %3837, -1
  br i1 %3838, label %3839, label %3861

3839:                                             ; preds = %3834
  %3840 = load i32, ptr %377, align 4, !tbaa !5
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = call i32 @s2n_print_stacktrace(ptr noundef %3841) #13
  %3843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3844 = trunc nuw i8 %3843 to i1
  br i1 %3844, label %3845, label %3849

3845:                                             ; preds = %3839
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = call i32 @fileno(ptr noundef %3846) #13
  %3848 = call i32 @isatty(i32 noundef %3847) #13
  %.not2167 = icmp eq i32 %3848, 0
  br i1 %.not2167, label %3849, label %3850

3849:                                             ; preds = %3845, %3839
  br label %3850

3850:                                             ; preds = %3845, %3849
  %.str.5.sink3477 = phi ptr [ @.str.5, %3849 ], [ @.str.2, %3845 ]
  store i32 %3840, ptr %377, align 4, !tbaa !5
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = load i32, ptr @test_count, align 4, !tbaa !5
  %3853 = load i32, ptr %323, align 4, !tbaa !5
  %3854 = call ptr @s2n_strerror(i32 noundef %3853, ptr noundef nonnull @.str.4) #13
  %3855 = load i32, ptr %323, align 4, !tbaa !5
  %3856 = call ptr @s2n_strerror_debug(i32 noundef %3855, ptr noundef nonnull @.str.4) #13
  %3857 = load i32, ptr %377, align 4, !tbaa !5
  %3858 = call ptr @strerror(i32 noundef %3857) #13
  %3859 = load i32, ptr %377, align 4, !tbaa !5
  %3860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3851, ptr noundef nonnull %.str.5.sink3477, i32 noundef %3852, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 556, ptr noundef %3854, ptr noundef %3856, ptr noundef %3858, i32 noundef %3859) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3861:                                             ; preds = %3834
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %44, i8 0, i64 24, i1 false)
  %3862 = load i32, ptr @test_count, align 4, !tbaa !5
  %3863 = add nsw i32 %3862, 1
  store i32 %3863, ptr @test_count, align 4, !tbaa !5
  %3864 = call i32 @s2n_blob_init(ptr noundef nonnull %44, ptr noundef nonnull %7, i32 noundef 11) #13
  %3865 = icmp eq i32 %3864, -1
  br i1 %3865, label %3866, label %3888

3866:                                             ; preds = %3861
  %3867 = load i32, ptr %377, align 4, !tbaa !5
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = call i32 @s2n_print_stacktrace(ptr noundef %3868) #13
  %3870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3871 = trunc nuw i8 %3870 to i1
  br i1 %3871, label %3872, label %3876

3872:                                             ; preds = %3866
  %3873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3874 = call i32 @fileno(ptr noundef %3873) #13
  %3875 = call i32 @isatty(i32 noundef %3874) #13
  %.not2166 = icmp eq i32 %3875, 0
  br i1 %.not2166, label %3876, label %3877

3876:                                             ; preds = %3872, %3866
  br label %3877

3877:                                             ; preds = %3872, %3876
  %.str.5.sink3486 = phi ptr [ @.str.5, %3876 ], [ @.str.2, %3872 ]
  store i32 %3867, ptr %377, align 4, !tbaa !5
  %3878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3879 = load i32, ptr @test_count, align 4, !tbaa !5
  %3880 = load i32, ptr %323, align 4, !tbaa !5
  %3881 = call ptr @s2n_strerror(i32 noundef %3880, ptr noundef nonnull @.str.4) #13
  %3882 = load i32, ptr %323, align 4, !tbaa !5
  %3883 = call ptr @s2n_strerror_debug(i32 noundef %3882, ptr noundef nonnull @.str.4) #13
  %3884 = load i32, ptr %377, align 4, !tbaa !5
  %3885 = call ptr @strerror(i32 noundef %3884) #13
  %3886 = load i32, ptr %377, align 4, !tbaa !5
  %3887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3878, ptr noundef nonnull %.str.5.sink3486, i32 noundef %3879, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 558, ptr noundef %3881, ptr noundef %3883, ptr noundef %3885, i32 noundef %3886) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3888:                                             ; preds = %3861
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %45) #13
  store ptr %42, ptr %45, align 16, !tbaa !9
  %3889 = getelementptr inbounds i8, ptr %45, i64 8
  store ptr %43, ptr %3889, align 8, !tbaa !9
  %3890 = getelementptr inbounds i8, ptr %45, i64 16
  store ptr %44, ptr %3890, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #13
  store ptr %44, ptr %46, align 16, !tbaa !9
  %3891 = getelementptr inbounds i8, ptr %46, i64 8
  store ptr %43, ptr %3891, align 8, !tbaa !9
  %3892 = getelementptr inbounds i8, ptr %46, i64 16
  store ptr %42, ptr %3892, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %47) #13
  store ptr %43, ptr %47, align 16, !tbaa !9
  %3893 = getelementptr inbounds i8, ptr %47, i64 8
  store ptr %44, ptr %3893, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #13
  store ptr %42, ptr %48, align 16, !tbaa !9
  %3894 = getelementptr inbounds i8, ptr %48, i64 8
  store ptr %42, ptr %3894, align 8, !tbaa !9
  %3895 = getelementptr inbounds i8, ptr %48, i64 16
  store ptr %42, ptr %3895, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #13
  store ptr %43, ptr %49, align 16, !tbaa !9
  %3896 = getelementptr inbounds i8, ptr %49, i64 8
  store ptr %43, ptr %3896, align 8, !tbaa !9
  %3897 = getelementptr inbounds i8, ptr %49, i64 16
  store ptr %43, ptr %3897, align 16, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #13
  store ptr %42, ptr %50, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #13
  store ptr %43, ptr %51, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #13
  store ptr %44, ptr %52, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1568, ptr nonnull %53) #13
  %3898 = getelementptr inbounds i8, ptr %53, i64 64
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(57) %53, i8 0, i64 57, i1 false)
  store ptr %50, ptr %3898, align 16, !tbaa !71
  %3899 = getelementptr inbounds i8, ptr %53, i64 72
  store i64 1, ptr %3899, align 8, !tbaa !73
  %3900 = getelementptr inbounds i8, ptr %53, i64 80
  %3901 = getelementptr inbounds i8, ptr %53, i64 120
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(33) %3900, i8 0, i64 33, i1 false)
  store ptr %45, ptr %3901, align 8, !tbaa !71
  %3902 = getelementptr inbounds i8, ptr %53, i64 128
  store i64 3, ptr %3902, align 16, !tbaa !73
  %3903 = getelementptr inbounds i8, ptr %53, i64 136
  %3904 = getelementptr inbounds i8, ptr %53, i64 176
  %3905 = getelementptr inbounds i8, ptr %53, i64 192
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(33) %3903, i8 0, i64 33, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %3904, i8 0, i64 16, i1 false)
  store ptr %50, ptr %3905, align 16, !tbaa !74
  %3906 = getelementptr inbounds i8, ptr %53, i64 200
  store i64 1, ptr %3906, align 8, !tbaa !75
  %3907 = getelementptr inbounds i8, ptr %53, i64 208
  %3908 = getelementptr inbounds i8, ptr %53, i64 232
  %3909 = getelementptr inbounds i8, ptr %53, i64 248
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(17) %3907, i8 0, i64 17, i1 false)
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3908, i8 0, i64 16, i1 false)
  store ptr %45, ptr %3909, align 8, !tbaa !74
  %3910 = getelementptr inbounds i8, ptr %53, i64 256
  store i64 3, ptr %3910, align 16, !tbaa !75
  %3911 = getelementptr inbounds i8, ptr %53, i64 264
  %3912 = getelementptr inbounds i8, ptr %53, i64 288
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %3911, i8 0, i64 17, i1 false)
  store ptr %50, ptr %3912, align 16, !tbaa !71
  %3913 = getelementptr inbounds i8, ptr %53, i64 296
  store i64 1, ptr %3913, align 8, !tbaa !73
  %3914 = getelementptr inbounds i8, ptr %53, i64 304
  store ptr %51, ptr %3914, align 16, !tbaa !74
  %3915 = getelementptr inbounds i8, ptr %53, i64 312
  store i64 1, ptr %3915, align 8, !tbaa !75
  %3916 = getelementptr inbounds i8, ptr %53, i64 320
  %3917 = getelementptr inbounds i8, ptr %53, i64 344
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(17) %3916, i8 0, i64 17, i1 false)
  store ptr %50, ptr %3917, align 8, !tbaa !71
  %3918 = getelementptr inbounds i8, ptr %53, i64 352
  store i64 1, ptr %3918, align 16, !tbaa !73
  %3919 = getelementptr inbounds i8, ptr %53, i64 360
  store ptr %47, ptr %3919, align 8, !tbaa !74
  %3920 = getelementptr inbounds i8, ptr %53, i64 368
  store i64 2, ptr %3920, align 16, !tbaa !75
  %3921 = getelementptr inbounds i8, ptr %53, i64 376
  %3922 = getelementptr inbounds i8, ptr %53, i64 400
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %3921, i8 0, i64 17, i1 false)
  store ptr %47, ptr %3922, align 16, !tbaa !71
  %3923 = getelementptr inbounds i8, ptr %53, i64 408
  store i64 2, ptr %3923, align 8, !tbaa !73
  %3924 = getelementptr inbounds i8, ptr %53, i64 416
  store ptr %50, ptr %3924, align 16, !tbaa !74
  %3925 = getelementptr inbounds i8, ptr %53, i64 424
  store i64 1, ptr %3925, align 8, !tbaa !75
  %3926 = getelementptr inbounds i8, ptr %53, i64 432
  %3927 = getelementptr inbounds i8, ptr %53, i64 448
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %3926, i8 0, i64 16, i1 false)
  store i8 1, ptr %3927, align 16, !tbaa !76
  %3928 = getelementptr inbounds i8, ptr %53, i64 456
  store ptr %50, ptr %3928, align 8, !tbaa !71
  %3929 = getelementptr inbounds i8, ptr %53, i64 464
  store i64 1, ptr %3929, align 16, !tbaa !73
  %3930 = getelementptr inbounds i8, ptr %53, i64 472
  store ptr %50, ptr %3930, align 8, !tbaa !74
  %3931 = getelementptr inbounds i8, ptr %53, i64 480
  store i64 1, ptr %3931, align 16, !tbaa !75
  %3932 = getelementptr inbounds i8, ptr %53, i64 488
  %3933 = getelementptr inbounds i8, ptr %53, i64 504
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3932, i8 0, i64 16, i1 false)
  store i8 1, ptr %3933, align 8, !tbaa !76
  %3934 = getelementptr inbounds i8, ptr %53, i64 512
  store ptr %50, ptr %3934, align 16, !tbaa !71
  %3935 = getelementptr inbounds i8, ptr %53, i64 520
  store i64 1, ptr %3935, align 8, !tbaa !73
  %3936 = getelementptr inbounds i8, ptr %53, i64 528
  store ptr %45, ptr %3936, align 16, !tbaa !74
  %3937 = getelementptr inbounds i8, ptr %53, i64 536
  store i64 3, ptr %3937, align 8, !tbaa !75
  %3938 = getelementptr inbounds i8, ptr %53, i64 544
  %3939 = getelementptr inbounds i8, ptr %53, i64 560
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %3938, i8 0, i64 16, i1 false)
  store i8 1, ptr %3939, align 16, !tbaa !76
  %3940 = getelementptr inbounds i8, ptr %53, i64 568
  store ptr %51, ptr %3940, align 8, !tbaa !71
  %3941 = getelementptr inbounds i8, ptr %53, i64 576
  store i64 1, ptr %3941, align 16, !tbaa !73
  %3942 = getelementptr inbounds i8, ptr %53, i64 584
  store ptr %45, ptr %3942, align 8, !tbaa !74
  %3943 = getelementptr inbounds i8, ptr %53, i64 592
  store i64 3, ptr %3943, align 16, !tbaa !75
  %3944 = getelementptr inbounds i8, ptr %53, i64 600
  store i64 0, ptr %3944, align 8, !tbaa !77
  %3945 = getelementptr inbounds i8, ptr %53, i64 608
  store i64 1, ptr %3945, align 16, !tbaa !78
  %3946 = getelementptr inbounds i8, ptr %53, i64 616
  store i8 1, ptr %3946, align 8, !tbaa !76
  %3947 = getelementptr inbounds i8, ptr %53, i64 624
  store ptr %52, ptr %3947, align 16, !tbaa !71
  %3948 = getelementptr inbounds i8, ptr %53, i64 632
  store i64 1, ptr %3948, align 8, !tbaa !73
  %3949 = getelementptr inbounds i8, ptr %53, i64 640
  store ptr %45, ptr %3949, align 16, !tbaa !74
  %3950 = getelementptr inbounds i8, ptr %53, i64 648
  store i64 3, ptr %3950, align 8, !tbaa !75
  %3951 = getelementptr inbounds i8, ptr %53, i64 656
  store i64 0, ptr %3951, align 16, !tbaa !77
  %3952 = getelementptr inbounds i8, ptr %53, i64 664
  store i64 2, ptr %3952, align 8, !tbaa !78
  %3953 = getelementptr inbounds i8, ptr %53, i64 672
  store i8 1, ptr %3953, align 16, !tbaa !76
  %3954 = getelementptr inbounds i8, ptr %53, i64 680
  store ptr %45, ptr %3954, align 8, !tbaa !71
  %3955 = getelementptr inbounds i8, ptr %53, i64 688
  store i64 3, ptr %3955, align 16, !tbaa !73
  %3956 = getelementptr inbounds i8, ptr %53, i64 696
  store ptr %50, ptr %3956, align 8, !tbaa !74
  %3957 = getelementptr inbounds i8, ptr %53, i64 704
  store i64 1, ptr %3957, align 16, !tbaa !75
  %3958 = getelementptr inbounds i8, ptr %53, i64 712
  %3959 = getelementptr inbounds i8, ptr %53, i64 728
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %3958, i8 0, i64 16, i1 false)
  store i8 1, ptr %3959, align 8, !tbaa !76
  %3960 = getelementptr inbounds i8, ptr %53, i64 736
  store ptr %45, ptr %3960, align 16, !tbaa !71
  %3961 = getelementptr inbounds i8, ptr %53, i64 744
  store i64 3, ptr %3961, align 8, !tbaa !73
  %3962 = getelementptr inbounds i8, ptr %53, i64 752
  store ptr %51, ptr %3962, align 16, !tbaa !74
  %3963 = getelementptr inbounds i8, ptr %53, i64 760
  store i64 1, ptr %3963, align 8, !tbaa !75
  %3964 = getelementptr inbounds i8, ptr %53, i64 768
  store i64 1, ptr %3964, align 16, !tbaa !77
  %3965 = getelementptr inbounds i8, ptr %53, i64 776
  store i64 0, ptr %3965, align 8, !tbaa !78
  %3966 = getelementptr inbounds i8, ptr %53, i64 784
  store i8 1, ptr %3966, align 16, !tbaa !76
  %3967 = getelementptr inbounds i8, ptr %53, i64 792
  store ptr %45, ptr %3967, align 8, !tbaa !71
  %3968 = getelementptr inbounds i8, ptr %53, i64 800
  store i64 3, ptr %3968, align 16, !tbaa !73
  %3969 = getelementptr inbounds i8, ptr %53, i64 808
  store ptr %52, ptr %3969, align 8, !tbaa !74
  %3970 = getelementptr inbounds i8, ptr %53, i64 816
  store i64 1, ptr %3970, align 16, !tbaa !75
  %3971 = getelementptr inbounds i8, ptr %53, i64 824
  store i64 2, ptr %3971, align 8, !tbaa !77
  %3972 = getelementptr inbounds i8, ptr %53, i64 832
  store i64 0, ptr %3972, align 16, !tbaa !78
  %3973 = getelementptr inbounds i8, ptr %53, i64 840
  store i8 1, ptr %3973, align 8, !tbaa !76
  %3974 = getelementptr inbounds i8, ptr %53, i64 848
  store ptr %45, ptr %3974, align 16, !tbaa !71
  %3975 = getelementptr inbounds i8, ptr %53, i64 856
  store i64 3, ptr %3975, align 8, !tbaa !73
  %3976 = getelementptr inbounds i8, ptr %53, i64 864
  store ptr %45, ptr %3976, align 16, !tbaa !74
  %3977 = getelementptr inbounds i8, ptr %53, i64 872
  store i64 3, ptr %3977, align 8, !tbaa !75
  %3978 = getelementptr inbounds i8, ptr %53, i64 880
  %3979 = getelementptr inbounds i8, ptr %53, i64 896
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %3978, i8 0, i64 16, i1 false)
  store i8 1, ptr %3979, align 16, !tbaa !76
  %3980 = getelementptr inbounds i8, ptr %53, i64 904
  store ptr %46, ptr %3980, align 8, !tbaa !71
  %3981 = getelementptr inbounds i8, ptr %53, i64 912
  store i64 3, ptr %3981, align 16, !tbaa !73
  %3982 = getelementptr inbounds i8, ptr %53, i64 920
  store ptr %45, ptr %3982, align 8, !tbaa !74
  %3983 = getelementptr inbounds i8, ptr %53, i64 928
  store i64 3, ptr %3983, align 16, !tbaa !75
  %3984 = getelementptr inbounds i8, ptr %53, i64 936
  store i64 2, ptr %3984, align 8, !tbaa !77
  %3985 = getelementptr inbounds i8, ptr %53, i64 944
  store i64 0, ptr %3985, align 16, !tbaa !78
  %3986 = getelementptr inbounds i8, ptr %53, i64 952
  store i8 1, ptr %3986, align 8, !tbaa !76
  %3987 = getelementptr inbounds i8, ptr %53, i64 960
  store ptr %45, ptr %3987, align 16, !tbaa !71
  %3988 = getelementptr inbounds i8, ptr %53, i64 968
  store i64 3, ptr %3988, align 8, !tbaa !73
  %3989 = getelementptr inbounds i8, ptr %53, i64 976
  store ptr %46, ptr %3989, align 16, !tbaa !74
  %3990 = getelementptr inbounds i8, ptr %53, i64 984
  store i64 3, ptr %3990, align 8, !tbaa !75
  %3991 = getelementptr inbounds i8, ptr %53, i64 992
  store i64 2, ptr %3991, align 16, !tbaa !77
  %3992 = getelementptr inbounds i8, ptr %53, i64 1000
  store i64 0, ptr %3992, align 8, !tbaa !78
  %3993 = getelementptr inbounds i8, ptr %53, i64 1008
  store i8 1, ptr %3993, align 16, !tbaa !76
  %3994 = getelementptr inbounds i8, ptr %53, i64 1016
  store ptr %47, ptr %3994, align 8, !tbaa !71
  %3995 = getelementptr inbounds i8, ptr %53, i64 1024
  store i64 2, ptr %3995, align 16, !tbaa !73
  %3996 = getelementptr inbounds i8, ptr %53, i64 1032
  store ptr %45, ptr %3996, align 8, !tbaa !74
  %3997 = getelementptr inbounds i8, ptr %53, i64 1040
  store i64 3, ptr %3997, align 16, !tbaa !75
  %3998 = getelementptr inbounds i8, ptr %53, i64 1048
  store i64 0, ptr %3998, align 8, !tbaa !77
  %3999 = getelementptr inbounds i8, ptr %53, i64 1056
  store i64 1, ptr %3999, align 16, !tbaa !78
  %4000 = getelementptr inbounds i8, ptr %53, i64 1064
  store i8 1, ptr %4000, align 8, !tbaa !76
  %4001 = getelementptr inbounds i8, ptr %53, i64 1072
  store ptr %45, ptr %4001, align 16, !tbaa !71
  %4002 = getelementptr inbounds i8, ptr %53, i64 1080
  store i64 3, ptr %4002, align 8, !tbaa !73
  %4003 = getelementptr inbounds i8, ptr %53, i64 1088
  store ptr %47, ptr %4003, align 16, !tbaa !74
  %4004 = getelementptr inbounds i8, ptr %53, i64 1096
  store i64 2, ptr %4004, align 8, !tbaa !75
  %4005 = getelementptr inbounds i8, ptr %53, i64 1104
  store i64 1, ptr %4005, align 16, !tbaa !77
  %4006 = getelementptr inbounds i8, ptr %53, i64 1112
  store i64 0, ptr %4006, align 8, !tbaa !78
  %4007 = getelementptr inbounds i8, ptr %53, i64 1120
  store i8 1, ptr %4007, align 16, !tbaa !76
  %4008 = getelementptr inbounds i8, ptr %53, i64 1128
  store ptr %47, ptr %4008, align 8, !tbaa !71
  %4009 = getelementptr inbounds i8, ptr %53, i64 1136
  store i64 2, ptr %4009, align 16, !tbaa !73
  %4010 = getelementptr inbounds i8, ptr %53, i64 1144
  store ptr %46, ptr %4010, align 8, !tbaa !74
  %4011 = getelementptr inbounds i8, ptr %53, i64 1152
  store i64 3, ptr %4011, align 16, !tbaa !75
  %4012 = getelementptr inbounds i8, ptr %53, i64 1160
  store i64 1, ptr %4012, align 8, !tbaa !77
  %4013 = getelementptr inbounds i8, ptr %53, i64 1168
  store i64 0, ptr %4013, align 16, !tbaa !78
  %4014 = getelementptr inbounds i8, ptr %53, i64 1176
  store i8 1, ptr %4014, align 8, !tbaa !76
  %4015 = getelementptr inbounds i8, ptr %53, i64 1184
  store ptr %46, ptr %4015, align 16, !tbaa !71
  %4016 = getelementptr inbounds i8, ptr %53, i64 1192
  store i64 3, ptr %4016, align 8, !tbaa !73
  %4017 = getelementptr inbounds i8, ptr %53, i64 1200
  store ptr %47, ptr %4017, align 16, !tbaa !74
  %4018 = getelementptr inbounds i8, ptr %53, i64 1208
  store i64 2, ptr %4018, align 8, !tbaa !75
  %4019 = getelementptr inbounds i8, ptr %53, i64 1216
  store i64 1, ptr %4019, align 16, !tbaa !77
  %4020 = getelementptr inbounds i8, ptr %53, i64 1224
  store i64 0, ptr %4020, align 8, !tbaa !78
  %4021 = getelementptr inbounds i8, ptr %53, i64 1232
  store i8 1, ptr %4021, align 16, !tbaa !76
  %4022 = getelementptr inbounds i8, ptr %53, i64 1240
  store ptr %48, ptr %4022, align 8, !tbaa !71
  %4023 = getelementptr inbounds i8, ptr %53, i64 1248
  store i64 3, ptr %4023, align 16, !tbaa !73
  %4024 = getelementptr inbounds i8, ptr %53, i64 1256
  store ptr %48, ptr %4024, align 8, !tbaa !74
  %4025 = getelementptr inbounds i8, ptr %53, i64 1264
  store i64 3, ptr %4025, align 16, !tbaa !75
  %4026 = getelementptr inbounds i8, ptr %53, i64 1272
  %4027 = getelementptr inbounds i8, ptr %53, i64 1296
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(17) %4026, i8 0, i64 17, i1 false)
  store ptr %48, ptr %4027, align 16, !tbaa !71
  %4028 = getelementptr inbounds i8, ptr %53, i64 1304
  store i64 3, ptr %4028, align 8, !tbaa !73
  %4029 = getelementptr inbounds i8, ptr %53, i64 1312
  store ptr %49, ptr %4029, align 16, !tbaa !74
  %4030 = getelementptr inbounds i8, ptr %53, i64 1320
  store i64 3, ptr %4030, align 8, !tbaa !75
  %4031 = getelementptr inbounds i8, ptr %53, i64 1328
  %4032 = getelementptr inbounds i8, ptr %53, i64 1344
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %4031, i8 0, i64 16, i1 false)
  store i8 1, ptr %4032, align 16, !tbaa !76
  %4033 = getelementptr inbounds i8, ptr %53, i64 1352
  store ptr %48, ptr %4033, align 8, !tbaa !71
  %4034 = getelementptr inbounds i8, ptr %53, i64 1360
  store i64 3, ptr %4034, align 16, !tbaa !73
  %4035 = getelementptr inbounds i8, ptr %53, i64 1368
  store ptr %45, ptr %4035, align 8, !tbaa !74
  %4036 = getelementptr inbounds i8, ptr %53, i64 1376
  store i64 3, ptr %4036, align 16, !tbaa !75
  %4037 = getelementptr inbounds i8, ptr %53, i64 1384
  %4038 = getelementptr inbounds i8, ptr %53, i64 1400
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %4037, i8 0, i64 16, i1 false)
  store i8 1, ptr %4038, align 8, !tbaa !76
  %4039 = getelementptr inbounds i8, ptr %53, i64 1408
  store ptr %45, ptr %4039, align 16, !tbaa !71
  %4040 = getelementptr inbounds i8, ptr %53, i64 1416
  store i64 3, ptr %4040, align 8, !tbaa !73
  %4041 = getelementptr inbounds i8, ptr %53, i64 1424
  store ptr %48, ptr %4041, align 16, !tbaa !74
  %4042 = getelementptr inbounds i8, ptr %53, i64 1432
  store i64 3, ptr %4042, align 8, !tbaa !75
  %4043 = getelementptr inbounds i8, ptr %53, i64 1440
  %4044 = getelementptr inbounds i8, ptr %53, i64 1456
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %4043, i8 0, i64 16, i1 false)
  store i8 1, ptr %4044, align 16, !tbaa !76
  %4045 = getelementptr inbounds i8, ptr %53, i64 1464
  store ptr %48, ptr %4045, align 8, !tbaa !71
  %4046 = getelementptr inbounds i8, ptr %53, i64 1472
  store i64 3, ptr %4046, align 16, !tbaa !73
  %4047 = getelementptr inbounds i8, ptr %53, i64 1480
  store ptr %46, ptr %4047, align 8, !tbaa !74
  %4048 = getelementptr inbounds i8, ptr %53, i64 1488
  store i64 3, ptr %4048, align 16, !tbaa !75
  %4049 = getelementptr inbounds i8, ptr %53, i64 1496
  store i64 0, ptr %4049, align 8, !tbaa !77
  %4050 = getelementptr inbounds i8, ptr %53, i64 1504
  store i64 2, ptr %4050, align 16, !tbaa !78
  %4051 = getelementptr inbounds i8, ptr %53, i64 1512
  store i8 1, ptr %4051, align 8, !tbaa !76
  %4052 = getelementptr inbounds i8, ptr %53, i64 1520
  store ptr %46, ptr %4052, align 16, !tbaa !71
  %4053 = getelementptr inbounds i8, ptr %53, i64 1528
  store i64 3, ptr %4053, align 8, !tbaa !73
  %4054 = getelementptr inbounds i8, ptr %53, i64 1536
  store ptr %48, ptr %4054, align 16, !tbaa !74
  %4055 = getelementptr inbounds i8, ptr %53, i64 1544
  store i64 3, ptr %4055, align 8, !tbaa !75
  %4056 = getelementptr inbounds i8, ptr %53, i64 1552
  store i64 2, ptr %4056, align 16, !tbaa !77
  %4057 = getelementptr inbounds i8, ptr %53, i64 1560
  store i64 0, ptr %4057, align 8, !tbaa !78
  %4058 = getelementptr inbounds i8, ptr %54, i64 8
  %4059 = getelementptr inbounds i8, ptr %54, i64 8
  br label %4065

4060:                                             ; preds = %4503
  call void @llvm.lifetime.end.p0(i64 1568, ptr nonnull %53) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #13
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %47) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %43) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #13
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %56) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %56, i8 0, i64 56, i1 false)
  %4061 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %4062 = load i32, ptr @test_count, align 4, !tbaa !5
  %4063 = add nsw i32 %4062, 1
  store i32 %4063, ptr @test_count, align 4, !tbaa !5
  %4064 = icmp eq ptr %4061, null
  br i1 %4064, label %4505, label %4527

4065:                                             ; preds = %3888, %4503
  %.016372280 = phi i64 [ 0, %3888 ], [ %4504, %4503 ]
  %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 ptr @s2n_connection_new(i32 noundef 0) #13
  %4069 = icmp eq ptr %4068, null
  br i1 %4069, label %4070, label %4092

4070:                                             ; preds = %4065
  %4071 = load i32, ptr %377, align 4, !tbaa !5
  %4072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4073 = call i32 @s2n_print_stacktrace(ptr noundef %4072) #13
  %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) #13
  %4079 = call i32 @isatty(i32 noundef %4078) #13
  %.not2165 = icmp eq i32 %4079, 0
  br i1 %.not2165, label %4080, label %4081

4080:                                             ; preds = %4076, %4070
  br label %4081

4081:                                             ; preds = %4076, %4080
  %.str.5.sink3495 = phi ptr [ @.str.5, %4080 ], [ @.str.2, %4076 ]
  store i32 %4071, ptr %377, 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 %323, align 4, !tbaa !5
  %4085 = call ptr @s2n_strerror(i32 noundef %4084, ptr noundef nonnull @.str.4) #13
  %4086 = load i32, ptr %323, align 4, !tbaa !5
  %4087 = call ptr @s2n_strerror_debug(i32 noundef %4086, ptr noundef nonnull @.str.4) #13
  %4088 = load i32, ptr %377, align 4, !tbaa !5
  %4089 = call ptr @strerror(i32 noundef %4088) #13
  %4090 = load i32, ptr %377, align 4, !tbaa !5
  %4091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4082, ptr noundef nonnull %.str.5.sink3495, i32 noundef %4083, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 629, ptr noundef %4085, ptr noundef %4087, ptr noundef %4089, i32 noundef %4090) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4092:                                             ; preds = %4065
  %4093 = getelementptr inbounds i8, ptr %4068, i64 1688
  store i32 1, ptr %4093, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %54) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %4059, i8 0, i64 48, i1 false)
  store ptr %4068, ptr %54, align 8, !tbaa !80
  %4094 = load i32, ptr @test_count, align 4, !tbaa !5
  %4095 = add nsw i32 %4094, 1
  store i32 %4095, ptr @test_count, align 4, !tbaa !5
  %4096 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %4058, i32 noundef 0) #13
  %4097 = icmp eq i32 %4096, -1
  br i1 %4097, label %4102, label %.preheader2259

.preheader2259:                                   ; preds = %4092
  %4098 = getelementptr inbounds [28 x %struct.anon.1], ptr %53, i64 0, i64 %.016372280
  %4099 = getelementptr inbounds i8, ptr %4098, i64 16
  %4100 = load i64, ptr %4099, align 8, !tbaa !73
  %.not2283 = icmp eq i64 %4100, 0
  br i1 %.not2283, label %.preheader2258, label %.lr.ph

.lr.ph:                                           ; preds = %.preheader2259
  %4101 = getelementptr inbounds i8, ptr %4098, i64 8
  br label %4133

4102:                                             ; preds = %4092
  %4103 = load i32, ptr %377, align 4, !tbaa !5
  %4104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4105 = call i32 @s2n_print_stacktrace(ptr noundef %4104) #13
  %4106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4107 = trunc nuw i8 %4106 to i1
  br i1 %4107, label %4108, label %4112

4108:                                             ; preds = %4102
  %4109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4110 = call i32 @fileno(ptr noundef %4109) #13
  %4111 = call i32 @isatty(i32 noundef %4110) #13
  %.not2164 = icmp eq i32 %4111, 0
  br i1 %.not2164, label %4112, label %4113

4112:                                             ; preds = %4108, %4102
  br label %4113

4113:                                             ; preds = %4108, %4112
  %.str.5.sink3504 = phi ptr [ @.str.5, %4112 ], [ @.str.2, %4108 ]
  store i32 %4103, ptr %377, align 4, !tbaa !5
  %4114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4115 = load i32, ptr @test_count, align 4, !tbaa !5
  %4116 = load i32, ptr %323, align 4, !tbaa !5
  %4117 = call ptr @s2n_strerror(i32 noundef %4116, ptr noundef nonnull @.str.4) #13
  %4118 = load i32, ptr %323, align 4, !tbaa !5
  %4119 = call ptr @s2n_strerror_debug(i32 noundef %4118, ptr noundef nonnull @.str.4) #13
  %4120 = load i32, ptr %377, align 4, !tbaa !5
  %4121 = call ptr @strerror(i32 noundef %4120) #13
  %4122 = load i32, ptr %377, align 4, !tbaa !5
  %4123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4114, ptr noundef nonnull %.str.5.sink3504, i32 noundef %4115, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 633, ptr noundef %4117, ptr noundef %4119, ptr noundef %4121, i32 noundef %4122) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4124:                                             ; preds = %4133
  %4125 = add nuw i64 %.016382275, 1
  %4126 = load i64, ptr %4099, align 8, !tbaa !73
  %4127 = icmp ult i64 %4125, %4126
  br i1 %4127, label %4133, label %.preheader2258, !llvm.loop !82

.preheader2258:                                   ; preds = %4124, %.preheader2259
  %4128 = getelementptr inbounds i8, ptr %4098, i64 32
  %4129 = load i64, ptr %4128, align 8, !tbaa !75
  %.not2284 = icmp eq i64 %4129, 0
  br i1 %.not2284, label %._crit_edge, label %.lr.ph2278

.lr.ph2278:                                       ; preds = %.preheader2258
  %4130 = getelementptr inbounds i8, ptr %4068, i64 1696
  %4131 = getelementptr inbounds i8, ptr %4098, i64 24
  %4132 = getelementptr inbounds i8, ptr %4098, i64 48
  br label %4168

4133:                                             ; preds = %.lr.ph, %4124
  %.016382275 = phi i64 [ 0, %.lr.ph ], [ %4125, %4124 ]
  %4134 = load i32, ptr @test_count, align 4, !tbaa !5
  %4135 = add nsw i32 %4134, 1
  store i32 %4135, ptr @test_count, align 4, !tbaa !5
  %4136 = load ptr, ptr %4101, align 8, !tbaa !71
  %4137 = getelementptr inbounds ptr, ptr %4136, i64 %.016382275
  %4138 = load ptr, ptr %4137, align 8, !tbaa !9
  %4139 = call i32 @s2n_write_test_identity(ptr noundef nonnull %4058, ptr noundef %4138)
  %4140 = call zeroext i1 @s2n_result_is_ok(i32 %4139)
  br i1 %4140, label %4124, label %4141

4141:                                             ; preds = %4133
  %4142 = load i32, ptr %377, align 4, !tbaa !5
  %4143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4144 = call i32 @s2n_print_stacktrace(ptr noundef %4143) #13
  %4145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4146 = trunc nuw i8 %4145 to i1
  br i1 %4146, label %4147, label %4151

4147:                                             ; preds = %4141
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = call i32 @fileno(ptr noundef %4148) #13
  %4150 = call i32 @isatty(i32 noundef %4149) #13
  %.not2163 = icmp eq i32 %4150, 0
  br i1 %.not2163, label %4151, label %4152

4151:                                             ; preds = %4147, %4141
  br label %4152

4152:                                             ; preds = %4147, %4151
  %.str.5.sink3513 = phi ptr [ @.str.5, %4151 ], [ @.str.2, %4147 ]
  store i32 %4142, ptr %377, align 4, !tbaa !5
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = load i32, ptr @test_count, align 4, !tbaa !5
  %4155 = load i32, ptr %323, align 4, !tbaa !5
  %4156 = call ptr @s2n_strerror(i32 noundef %4155, ptr noundef nonnull @.str.4) #13
  %4157 = load i32, ptr %323, align 4, !tbaa !5
  %4158 = call ptr @s2n_strerror_debug(i32 noundef %4157, ptr noundef nonnull @.str.4) #13
  %4159 = load i32, ptr %377, align 4, !tbaa !5
  %4160 = call ptr @strerror(i32 noundef %4159) #13
  %4161 = load i32, ptr %377, align 4, !tbaa !5
  %4162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4153, ptr noundef nonnull %.str.5.sink3513, i32 noundef %4154, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 635, ptr noundef %4156, ptr noundef %4158, ptr noundef %4160, i32 noundef %4161) #15
  call void @exit(i32 noundef 1) #16
  unreachable

._crit_edge:                                      ; preds = %4255, %.preheader2258
  %.01639.lcssa = phi ptr [ null, %.preheader2258 ], [ %spec.select, %4255 ]
  %4163 = load i8, ptr %4098, align 8, !tbaa !76, !range !13, !noundef !14
  %4164 = trunc nuw i8 %4163 to i1
  %4165 = load i32, ptr @test_count, align 4, !tbaa !5
  %4166 = add nsw i32 %4165, 1
  store i32 %4166, ptr @test_count, align 4, !tbaa !5
  %4167 = call i32 @s2n_select_external_psk(ptr noundef nonnull %4068, ptr noundef nonnull %54)
  br i1 %4164, label %4262, label %4344

4168:                                             ; preds = %.lr.ph2278, %4255
  %.016392277 = phi ptr [ null, %.lr.ph2278 ], [ %spec.select, %4255 ]
  %.016402276 = phi i64 [ 0, %.lr.ph2278 ], [ %4259, %4255 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #13
  store ptr null, ptr %55, align 8, !tbaa !9
  %4169 = load i32, ptr @test_count, align 4, !tbaa !5
  %4170 = add nsw i32 %4169, 1
  store i32 %4170, ptr @test_count, align 4, !tbaa !5
  %4171 = call i32 @s2n_array_pushback(ptr noundef nonnull %4130, ptr noundef nonnull %55) #13
  %4172 = call zeroext i1 @s2n_result_is_ok(i32 %4171)
  br i1 %4172, label %4195, label %4173

4173:                                             ; preds = %4168
  %4174 = load i32, ptr %377, align 4, !tbaa !5
  %4175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4176 = call i32 @s2n_print_stacktrace(ptr noundef %4175) #13
  %4177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4178 = trunc nuw i8 %4177 to i1
  br i1 %4178, label %4179, label %4183

4179:                                             ; preds = %4173
  %4180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4181 = call i32 @fileno(ptr noundef %4180) #13
  %4182 = call i32 @isatty(i32 noundef %4181) #13
  %.not2160 = icmp eq i32 %4182, 0
  br i1 %.not2160, label %4183, label %4184

4183:                                             ; preds = %4179, %4173
  br label %4184

4184:                                             ; preds = %4179, %4183
  %.str.5.sink3522 = phi ptr [ @.str.5, %4183 ], [ @.str.2, %4179 ]
  store i32 %4174, ptr %377, align 4, !tbaa !5
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = load i32, ptr @test_count, align 4, !tbaa !5
  %4187 = load i32, ptr %323, align 4, !tbaa !5
  %4188 = call ptr @s2n_strerror(i32 noundef %4187, ptr noundef nonnull @.str.4) #13
  %4189 = load i32, ptr %323, align 4, !tbaa !5
  %4190 = call ptr @s2n_strerror_debug(i32 noundef %4189, ptr noundef nonnull @.str.4) #13
  %4191 = load i32, ptr %377, align 4, !tbaa !5
  %4192 = call ptr @strerror(i32 noundef %4191) #13
  %4193 = load i32, ptr %377, align 4, !tbaa !5
  %4194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4185, ptr noundef nonnull %.str.5.sink3522, i32 noundef %4186, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 641, ptr noundef %4188, ptr noundef %4190, ptr noundef %4192, i32 noundef %4193) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4195:                                             ; preds = %4168
  %4196 = load i32, ptr @test_count, align 4, !tbaa !5
  %4197 = add nsw i32 %4196, 1
  store i32 %4197, ptr @test_count, align 4, !tbaa !5
  %4198 = load ptr, ptr %55, align 8, !tbaa !9
  %4199 = icmp eq ptr %4198, null
  br i1 %4199, label %4200, label %4222

4200:                                             ; preds = %4195
  %4201 = load i32, ptr %377, align 4, !tbaa !5
  %4202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4203 = call i32 @s2n_print_stacktrace(ptr noundef %4202) #13
  %4204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4205 = trunc nuw i8 %4204 to i1
  br i1 %4205, label %4206, label %4210

4206:                                             ; preds = %4200
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = call i32 @fileno(ptr noundef %4207) #13
  %4209 = call i32 @isatty(i32 noundef %4208) #13
  %.not2162 = icmp eq i32 %4209, 0
  br i1 %.not2162, label %4210, label %4211

4210:                                             ; preds = %4206, %4200
  br label %4211

4211:                                             ; preds = %4206, %4210
  %.str.5.sink3531 = phi ptr [ @.str.5, %4210 ], [ @.str.2, %4206 ]
  store i32 %4201, ptr %377, align 4, !tbaa !5
  %4212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4213 = load i32, ptr @test_count, align 4, !tbaa !5
  %4214 = load i32, ptr %323, align 4, !tbaa !5
  %4215 = call ptr @s2n_strerror(i32 noundef %4214, ptr noundef nonnull @.str.4) #13
  %4216 = load i32, ptr %323, align 4, !tbaa !5
  %4217 = call ptr @s2n_strerror_debug(i32 noundef %4216, ptr noundef nonnull @.str.4) #13
  %4218 = load i32, ptr %377, align 4, !tbaa !5
  %4219 = call ptr @strerror(i32 noundef %4218) #13
  %4220 = load i32, ptr %377, align 4, !tbaa !5
  %4221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4212, ptr noundef nonnull %.str.5.sink3531, i32 noundef %4213, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 642, ptr noundef %4215, ptr noundef %4217, ptr noundef %4219, i32 noundef %4220) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4222:                                             ; preds = %4195
  %4223 = add nsw i32 %4196, 2
  store i32 %4223, ptr @test_count, align 4, !tbaa !5
  %4224 = load ptr, ptr %4131, align 8, !tbaa !74
  %4225 = getelementptr inbounds ptr, ptr %4224, i64 %.016402276
  %4226 = load ptr, ptr %4225, align 8, !tbaa !9
  %4227 = load ptr, ptr %4226, align 8, !tbaa !84
  %4228 = getelementptr inbounds i8, ptr %4226, i64 8
  %4229 = load i32, ptr %4228, align 8, !tbaa !85
  %4230 = trunc i32 %4229 to i16
  %4231 = call i32 @s2n_psk_set_identity(ptr noundef nonnull %4198, ptr noundef %4227, i16 noundef zeroext %4230) #13
  %4232 = icmp eq i32 %4231, -1
  br i1 %4232, label %4233, label %4255

4233:                                             ; preds = %4222
  %4234 = load i32, ptr %377, align 4, !tbaa !5
  %4235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4236 = call i32 @s2n_print_stacktrace(ptr noundef %4235) #13
  %4237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4238 = trunc nuw i8 %4237 to i1
  br i1 %4238, label %4239, label %4243

4239:                                             ; preds = %4233
  %4240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4241 = call i32 @fileno(ptr noundef %4240) #13
  %4242 = call i32 @isatty(i32 noundef %4241) #13
  %.not2161 = icmp eq i32 %4242, 0
  br i1 %.not2161, label %4243, label %4244

4243:                                             ; preds = %4239, %4233
  br label %4244

4244:                                             ; preds = %4239, %4243
  %.str.5.sink3540 = phi ptr [ @.str.5, %4243 ], [ @.str.2, %4239 ]
  store i32 %4234, ptr %377, align 4, !tbaa !5
  %4245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4246 = load i32, ptr @test_count, align 4, !tbaa !5
  %4247 = load i32, ptr %323, align 4, !tbaa !5
  %4248 = call ptr @s2n_strerror(i32 noundef %4247, ptr noundef nonnull @.str.4) #13
  %4249 = load i32, ptr %323, align 4, !tbaa !5
  %4250 = call ptr @s2n_strerror_debug(i32 noundef %4249, ptr noundef nonnull @.str.4) #13
  %4251 = load i32, ptr %377, align 4, !tbaa !5
  %4252 = call ptr @strerror(i32 noundef %4251) #13
  %4253 = load i32, ptr %377, align 4, !tbaa !5
  %4254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4245, ptr noundef nonnull %.str.5.sink3540, i32 noundef %4246, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 644, ptr noundef %4248, ptr noundef %4250, ptr noundef %4252, i32 noundef %4253) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4255:                                             ; preds = %4222
  %4256 = load i64, ptr %4132, align 8, !tbaa !78
  %4257 = icmp eq i64 %.016402276, %4256
  %4258 = load ptr, ptr %55, align 8
  %spec.select = select i1 %4257, ptr %4258, ptr %.016392277
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #13
  %4259 = add nuw i64 %.016402276, 1
  %4260 = load i64, ptr %4128, align 8, !tbaa !75
  %4261 = icmp ult i64 %4259, %4260
  br i1 %4261, label %4168, label %._crit_edge, !llvm.loop !86

4262:                                             ; preds = %._crit_edge
  %4263 = call zeroext i1 @s2n_result_is_ok(i32 %4167)
  br i1 %4263, label %4286, label %4264

4264:                                             ; preds = %4262
  %4265 = load i32, ptr %377, align 4, !tbaa !5
  %4266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4267 = call i32 @s2n_print_stacktrace(ptr noundef %4266) #13
  %4268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4269 = trunc nuw i8 %4268 to i1
  br i1 %4269, label %4270, label %4274

4270:                                             ; preds = %4264
  %4271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4272 = call i32 @fileno(ptr noundef %4271) #13
  %4273 = call i32 @isatty(i32 noundef %4272) #13
  %.not2155 = icmp eq i32 %4273, 0
  br i1 %.not2155, label %4274, label %4275

4274:                                             ; preds = %4270, %4264
  br label %4275

4275:                                             ; preds = %4270, %4274
  %.str.5.sink3549 = phi ptr [ @.str.5, %4274 ], [ @.str.2, %4270 ]
  store i32 %4265, ptr %377, align 4, !tbaa !5
  %4276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4277 = load i32, ptr @test_count, align 4, !tbaa !5
  %4278 = load i32, ptr %323, align 4, !tbaa !5
  %4279 = call ptr @s2n_strerror(i32 noundef %4278, ptr noundef nonnull @.str.4) #13
  %4280 = load i32, ptr %323, align 4, !tbaa !5
  %4281 = call ptr @s2n_strerror_debug(i32 noundef %4280, ptr noundef nonnull @.str.4) #13
  %4282 = load i32, ptr %377, align 4, !tbaa !5
  %4283 = call ptr @strerror(i32 noundef %4282) #13
  %4284 = load i32, ptr %377, align 4, !tbaa !5
  %4285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4276, ptr noundef nonnull %.str.5.sink3549, i32 noundef %4277, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 652, ptr noundef %4279, ptr noundef %4281, ptr noundef %4283, i32 noundef %4284) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4286:                                             ; preds = %4262
  %4287 = load i32, ptr @test_count, align 4, !tbaa !5
  %4288 = add nsw i32 %4287, 1
  store i32 %4288, ptr @test_count, align 4, !tbaa !5
  %4289 = getelementptr inbounds i8, ptr %4068, i64 1730
  %4290 = load i16, ptr %4289, align 2, !tbaa !87
  %4291 = zext i16 %4290 to i64
  %4292 = getelementptr inbounds i8, ptr %4098, i64 40
  %4293 = load i64, ptr %4292, align 8, !tbaa !77
  %4294 = icmp eq i64 %4293, %4291
  br i1 %4294, label %4317, label %4295

4295:                                             ; preds = %4286
  %4296 = load i32, ptr %377, align 4, !tbaa !5
  %4297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4298 = call i32 @s2n_print_stacktrace(ptr noundef %4297) #13
  %4299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4300 = trunc nuw i8 %4299 to i1
  br i1 %4300, label %4301, label %4305

4301:                                             ; preds = %4295
  %4302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4303 = call i32 @fileno(ptr noundef %4302) #13
  %4304 = call i32 @isatty(i32 noundef %4303) #13
  %.not2156 = icmp eq i32 %4304, 0
  br i1 %.not2156, label %4305, label %4306

4305:                                             ; preds = %4301, %4295
  br label %4306

4306:                                             ; preds = %4301, %4305
  %.str.5.sink3558 = phi ptr [ @.str.5, %4305 ], [ @.str.2, %4301 ]
  store i32 %4296, ptr %377, align 4, !tbaa !5
  %4307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4308 = load i32, ptr @test_count, align 4, !tbaa !5
  %4309 = load i32, ptr %323, align 4, !tbaa !5
  %4310 = call ptr @s2n_strerror(i32 noundef %4309, ptr noundef nonnull @.str.4) #13
  %4311 = load i32, ptr %323, align 4, !tbaa !5
  %4312 = call ptr @s2n_strerror_debug(i32 noundef %4311, ptr noundef nonnull @.str.4) #13
  %4313 = load i32, ptr %377, align 4, !tbaa !5
  %4314 = call ptr @strerror(i32 noundef %4313) #13
  %4315 = load i32, ptr %377, align 4, !tbaa !5
  %4316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4307, ptr noundef nonnull %.str.5.sink3558, i32 noundef %4308, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 653, ptr noundef %4310, ptr noundef %4312, ptr noundef %4314, i32 noundef %4315) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4317:                                             ; preds = %4286
  %4318 = add nsw i32 %4287, 2
  store i32 %4318, ptr @test_count, align 4, !tbaa !5
  %4319 = getelementptr inbounds i8, ptr %4068, i64 1736
  %4320 = load ptr, ptr %4319, align 8, !tbaa !88
  %4321 = icmp eq ptr %4320, %.01639.lcssa
  br i1 %4321, label %4449, label %4322

4322:                                             ; preds = %4317
  %4323 = load i32, ptr %377, align 4, !tbaa !5
  %4324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4325 = call i32 @s2n_print_stacktrace(ptr noundef %4324) #13
  %4326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4327 = trunc nuw i8 %4326 to i1
  br i1 %4327, label %4328, label %4332

4328:                                             ; preds = %4322
  %4329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4330 = call i32 @fileno(ptr noundef %4329) #13
  %4331 = call i32 @isatty(i32 noundef %4330) #13
  %.not2157 = icmp eq i32 %4331, 0
  br i1 %.not2157, label %4332, label %4333

4332:                                             ; preds = %4328, %4322
  br label %4333

4333:                                             ; preds = %4328, %4332
  %.str.5.sink3567 = phi ptr [ @.str.5, %4332 ], [ @.str.2, %4328 ]
  store i32 %4323, ptr %377, align 4, !tbaa !5
  %4334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4335 = load i32, ptr @test_count, align 4, !tbaa !5
  %4336 = load i32, ptr %323, align 4, !tbaa !5
  %4337 = call ptr @s2n_strerror(i32 noundef %4336, ptr noundef nonnull @.str.4) #13
  %4338 = load i32, ptr %323, align 4, !tbaa !5
  %4339 = call ptr @s2n_strerror_debug(i32 noundef %4338, ptr noundef nonnull @.str.4) #13
  %4340 = load i32, ptr %377, align 4, !tbaa !5
  %4341 = call ptr @strerror(i32 noundef %4340) #13
  %4342 = load i32, ptr %377, align 4, !tbaa !5
  %4343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4334, ptr noundef nonnull %.str.5.sink3567, i32 noundef %4335, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 654, ptr noundef %4337, ptr noundef %4339, ptr noundef %4341, i32 noundef %4342) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4344:                                             ; preds = %._crit_edge
  %4345 = call zeroext i1 @s2n_result_is_error(i32 %4167)
  br i1 %4345, label %4368, label %4346

4346:                                             ; preds = %4344
  %4347 = load i32, ptr %377, align 4, !tbaa !5
  %4348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4349 = call i32 @s2n_print_stacktrace(ptr noundef %4348) #13
  %4350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4351 = trunc nuw i8 %4350 to i1
  br i1 %4351, label %4352, label %4356

4352:                                             ; preds = %4346
  %4353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4354 = call i32 @fileno(ptr noundef %4353) #13
  %4355 = call i32 @isatty(i32 noundef %4354) #13
  %.not2151 = icmp eq i32 %4355, 0
  br i1 %.not2151, label %4356, label %4357

4356:                                             ; preds = %4352, %4346
  br label %4357

4357:                                             ; preds = %4352, %4356
  %.str.5.sink3576 = phi ptr [ @.str.5, %4356 ], [ @.str.2, %4352 ]
  store i32 %4347, ptr %377, align 4, !tbaa !5
  %4358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4359 = load i32, ptr @test_count, align 4, !tbaa !5
  %4360 = load i32, ptr %323, align 4, !tbaa !5
  %4361 = call ptr @s2n_strerror(i32 noundef %4360, ptr noundef nonnull @.str.4) #13
  %4362 = load i32, ptr %323, align 4, !tbaa !5
  %4363 = call ptr @s2n_strerror_debug(i32 noundef %4362, ptr noundef nonnull @.str.4) #13
  %4364 = load i32, ptr %377, align 4, !tbaa !5
  %4365 = call ptr @strerror(i32 noundef %4364) #13
  %4366 = load i32, ptr %377, align 4, !tbaa !5
  %4367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4358, ptr noundef nonnull %.str.5.sink3576, i32 noundef %4359, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 656, ptr noundef %4361, ptr noundef %4363, ptr noundef %4365, i32 noundef %4366) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4368:                                             ; preds = %4344
  %4369 = load i32, ptr @test_count, align 4, !tbaa !5
  %4370 = add nsw i32 %4369, 1
  store i32 %4370, ptr @test_count, align 4, !tbaa !5
  %4371 = load i32, ptr %323, align 4, !tbaa !5
  %4372 = icmp eq i32 %4371, 402653193
  br i1 %4372, label %4395, label %4373

4373:                                             ; preds = %4368
  %4374 = load i32, ptr %377, align 4, !tbaa !5
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4376 = call i32 @s2n_print_stacktrace(ptr noundef %4375) #13
  %4377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4378 = trunc nuw i8 %4377 to i1
  br i1 %4378, label %4379, label %4383

4379:                                             ; preds = %4373
  %4380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4381 = call i32 @fileno(ptr noundef %4380) #13
  %4382 = call i32 @isatty(i32 noundef %4381) #13
  %.not2152 = icmp eq i32 %4382, 0
  br i1 %.not2152, label %4383, label %4384

4383:                                             ; preds = %4379, %4373
  br label %4384

4384:                                             ; preds = %4379, %4383
  %.str.5.sink3585 = phi ptr [ @.str.5, %4383 ], [ @.str.2, %4379 ]
  store i32 %4374, ptr %377, align 4, !tbaa !5
  %4385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4386 = load i32, ptr @test_count, align 4, !tbaa !5
  %4387 = load i32, ptr %323, align 4, !tbaa !5
  %4388 = call ptr @s2n_strerror(i32 noundef %4387, ptr noundef nonnull @.str.4) #13
  %4389 = load i32, ptr %323, align 4, !tbaa !5
  %4390 = call ptr @s2n_strerror_debug(i32 noundef %4389, ptr noundef nonnull @.str.4) #13
  %4391 = load i32, ptr %377, align 4, !tbaa !5
  %4392 = call ptr @strerror(i32 noundef %4391) #13
  %4393 = load i32, ptr %377, align 4, !tbaa !5
  %4394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4385, ptr noundef nonnull %.str.5.sink3585, i32 noundef %4386, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 656, ptr noundef %4388, ptr noundef %4390, ptr noundef %4392, i32 noundef %4393) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4395:                                             ; preds = %4368
  %4396 = add nsw i32 %4369, 2
  store i32 %4396, ptr @test_count, align 4, !tbaa !5
  %4397 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %4398 = icmp eq ptr %4397, null
  br i1 %4398, label %4399, label %4421

4399:                                             ; preds = %4395
  %4400 = load i32, ptr %377, align 4, !tbaa !5
  %4401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4402 = call i32 @s2n_print_stacktrace(ptr noundef %4401) #13
  %4403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4404 = trunc nuw i8 %4403 to i1
  br i1 %4404, label %4405, label %4409

4405:                                             ; preds = %4399
  %4406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4407 = call i32 @fileno(ptr noundef %4406) #13
  %4408 = call i32 @isatty(i32 noundef %4407) #13
  %.not2154 = icmp eq i32 %4408, 0
  br i1 %.not2154, label %4409, label %4410

4409:                                             ; preds = %4405, %4399
  br label %4410

4410:                                             ; preds = %4405, %4409
  %.str.5.sink3594 = phi ptr [ @.str.5, %4409 ], [ @.str.2, %4405 ]
  store i32 %4400, ptr %377, align 4, !tbaa !5
  %4411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4412 = load i32, ptr @test_count, align 4, !tbaa !5
  %4413 = load i32, ptr %323, align 4, !tbaa !5
  %4414 = call ptr @s2n_strerror(i32 noundef %4413, ptr noundef nonnull @.str.4) #13
  %4415 = load i32, ptr %323, align 4, !tbaa !5
  %4416 = call ptr @s2n_strerror_debug(i32 noundef %4415, ptr noundef nonnull @.str.4) #13
  %4417 = load i32, ptr %377, align 4, !tbaa !5
  %4418 = call ptr @strerror(i32 noundef %4417) #13
  %4419 = load i32, ptr %377, align 4, !tbaa !5
  %4420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4411, ptr noundef nonnull %.str.5.sink3594, i32 noundef %4412, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 656, ptr noundef %4414, ptr noundef %4416, ptr noundef %4418, i32 noundef %4419) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4421:                                             ; preds = %4395
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %4422 = load i32, ptr @test_count, align 4, !tbaa !5
  %4423 = add nsw i32 %4422, 1
  store i32 %4423, ptr @test_count, align 4, !tbaa !5
  %4424 = getelementptr inbounds i8, ptr %4068, i64 1736
  %4425 = load ptr, ptr %4424, align 8, !tbaa !88
  %4426 = icmp eq ptr %4425, null
  br i1 %4426, label %4449, label %4427

4427:                                             ; preds = %4421
  %4428 = load i32, ptr %377, align 4, !tbaa !5
  %4429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4430 = call i32 @s2n_print_stacktrace(ptr noundef %4429) #13
  %4431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4432 = trunc nuw i8 %4431 to i1
  br i1 %4432, label %4433, label %4437

4433:                                             ; preds = %4427
  %4434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4435 = call i32 @fileno(ptr noundef %4434) #13
  %4436 = call i32 @isatty(i32 noundef %4435) #13
  %.not2153 = icmp eq i32 %4436, 0
  br i1 %.not2153, label %4437, label %4438

4437:                                             ; preds = %4433, %4427
  br label %4438

4438:                                             ; preds = %4433, %4437
  %.str.5.sink3603 = phi ptr [ @.str.5, %4437 ], [ @.str.2, %4433 ]
  store i32 %4428, ptr %377, align 4, !tbaa !5
  %4439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4440 = load i32, ptr @test_count, align 4, !tbaa !5
  %4441 = load i32, ptr %323, align 4, !tbaa !5
  %4442 = call ptr @s2n_strerror(i32 noundef %4441, ptr noundef nonnull @.str.4) #13
  %4443 = load i32, ptr %323, align 4, !tbaa !5
  %4444 = call ptr @s2n_strerror_debug(i32 noundef %4443, ptr noundef nonnull @.str.4) #13
  %4445 = load i32, ptr %377, align 4, !tbaa !5
  %4446 = call ptr @strerror(i32 noundef %4445) #13
  %4447 = load i32, ptr %377, align 4, !tbaa !5
  %4448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4439, ptr noundef nonnull %.str.5.sink3603, i32 noundef %4440, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %4442, ptr noundef %4444, ptr noundef %4446, i32 noundef %4447) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4449:                                             ; preds = %4317, %4421
  %4450 = phi i32 [ %4318, %4317 ], [ %4423, %4421 ]
  %4451 = add nsw i32 %4450, 1
  store i32 %4451, ptr @test_count, align 4, !tbaa !5
  %4452 = call i32 @s2n_connection_free(ptr noundef nonnull %4068) #13
  %4453 = icmp eq i32 %4452, -1
  br i1 %4453, label %4454, label %4476

4454:                                             ; preds = %4449
  %4455 = load i32, ptr %377, align 4, !tbaa !5
  %4456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4457 = call i32 @s2n_print_stacktrace(ptr noundef %4456) #13
  %4458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4459 = trunc nuw i8 %4458 to i1
  br i1 %4459, label %4460, label %4464

4460:                                             ; preds = %4454
  %4461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4462 = call i32 @fileno(ptr noundef %4461) #13
  %4463 = call i32 @isatty(i32 noundef %4462) #13
  %.not2159 = icmp eq i32 %4463, 0
  br i1 %.not2159, label %4464, label %4465

4464:                                             ; preds = %4460, %4454
  br label %4465

4465:                                             ; preds = %4460, %4464
  %.str.5.sink3612 = phi ptr [ @.str.5, %4464 ], [ @.str.2, %4460 ]
  store i32 %4455, ptr %377, align 4, !tbaa !5
  %4466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4467 = load i32, ptr @test_count, align 4, !tbaa !5
  %4468 = load i32, ptr %323, align 4, !tbaa !5
  %4469 = call ptr @s2n_strerror(i32 noundef %4468, ptr noundef nonnull @.str.4) #13
  %4470 = load i32, ptr %323, align 4, !tbaa !5
  %4471 = call ptr @s2n_strerror_debug(i32 noundef %4470, ptr noundef nonnull @.str.4) #13
  %4472 = load i32, ptr %377, align 4, !tbaa !5
  %4473 = call ptr @strerror(i32 noundef %4472) #13
  %4474 = load i32, ptr %377, align 4, !tbaa !5
  %4475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4466, ptr noundef nonnull %.str.5.sink3612, i32 noundef %4467, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 660, ptr noundef %4469, ptr noundef %4471, ptr noundef %4473, i32 noundef %4474) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4476:                                             ; preds = %4449
  %4477 = load i32, ptr @test_count, align 4, !tbaa !5
  %4478 = add nsw i32 %4477, 1
  store i32 %4478, ptr @test_count, align 4, !tbaa !5
  %4479 = call i32 @s2n_stuffer_free(ptr noundef nonnull %4058) #13
  %4480 = icmp eq i32 %4479, -1
  br i1 %4480, label %4481, label %4503

4481:                                             ; preds = %4476
  %4482 = load i32, ptr %377, align 4, !tbaa !5
  %4483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4484 = call i32 @s2n_print_stacktrace(ptr noundef %4483) #13
  %4485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4486 = trunc nuw i8 %4485 to i1
  br i1 %4486, label %4487, label %4491

4487:                                             ; preds = %4481
  %4488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4489 = call i32 @fileno(ptr noundef %4488) #13
  %4490 = call i32 @isatty(i32 noundef %4489) #13
  %.not2158 = icmp eq i32 %4490, 0
  br i1 %.not2158, label %4491, label %4492

4491:                                             ; preds = %4487, %4481
  br label %4492

4492:                                             ; preds = %4487, %4491
  %.str.5.sink3621 = phi ptr [ @.str.5, %4491 ], [ @.str.2, %4487 ]
  store i32 %4482, ptr %377, align 4, !tbaa !5
  %4493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4494 = load i32, ptr @test_count, align 4, !tbaa !5
  %4495 = load i32, ptr %323, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror(i32 noundef %4495, ptr noundef nonnull @.str.4) #13
  %4497 = load i32, ptr %323, align 4, !tbaa !5
  %4498 = call ptr @s2n_strerror_debug(i32 noundef %4497, ptr noundef nonnull @.str.4) #13
  %4499 = load i32, ptr %377, align 4, !tbaa !5
  %4500 = call ptr @strerror(i32 noundef %4499) #13
  %4501 = load i32, ptr %377, align 4, !tbaa !5
  %4502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4493, ptr noundef nonnull %.str.5.sink3621, i32 noundef %4494, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 661, ptr noundef %4496, ptr noundef %4498, ptr noundef %4500, i32 noundef %4501) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4503:                                             ; preds = %4476
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %54) #13
  %4504 = add nuw nsw i64 %.016372280, 1
  %exitcond.not = icmp eq i64 %4504, 28
  br i1 %exitcond.not, label %4060, label %4065, !llvm.loop !89

4505:                                             ; preds = %4060
  %4506 = load i32, ptr %377, align 4, !tbaa !5
  %4507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4508 = call i32 @s2n_print_stacktrace(ptr noundef %4507) #13
  %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) #13
  %4514 = call i32 @isatty(i32 noundef %4513) #13
  %.not2150 = icmp eq i32 %4514, 0
  br i1 %.not2150, label %4515, label %4516

4515:                                             ; preds = %4511, %4505
  br label %4516

4516:                                             ; preds = %4511, %4515
  %.str.5.sink3630 = phi ptr [ @.str.5, %4515 ], [ @.str.2, %4511 ]
  store i32 %4506, ptr %377, 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 %323, align 4, !tbaa !5
  %4520 = call ptr @s2n_strerror(i32 noundef %4519, ptr noundef nonnull @.str.4) #13
  %4521 = load i32, ptr %323, align 4, !tbaa !5
  %4522 = call ptr @s2n_strerror_debug(i32 noundef %4521, ptr noundef nonnull @.str.4) #13
  %4523 = load i32, ptr %377, align 4, !tbaa !5
  %4524 = call ptr @strerror(i32 noundef %4523) #13
  %4525 = load i32, ptr %377, align 4, !tbaa !5
  %4526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4517, ptr noundef nonnull %.str.5.sink3630, i32 noundef %4518, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 671, ptr noundef %4520, ptr noundef %4522, ptr noundef %4524, i32 noundef %4525) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4527:                                             ; preds = %4060
  %4528 = add nsw i32 %4062, 2
  store i32 %4528, ptr @test_count, align 4, !tbaa !5
  %4529 = call i32 @s2n_select_resumption_psk(ptr noundef null, ptr noundef nonnull %56)
  %4530 = call zeroext i1 @s2n_result_is_error(i32 %4529)
  br i1 %4530, label %4553, label %4531

4531:                                             ; preds = %4527
  %4532 = load i32, ptr %377, align 4, !tbaa !5
  %4533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4534 = call i32 @s2n_print_stacktrace(ptr noundef %4533) #13
  %4535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4536 = trunc nuw i8 %4535 to i1
  br i1 %4536, label %4537, label %4541

4537:                                             ; preds = %4531
  %4538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4539 = call i32 @fileno(ptr noundef %4538) #13
  %4540 = call i32 @isatty(i32 noundef %4539) #13
  %.not1733 = icmp eq i32 %4540, 0
  br i1 %.not1733, label %4541, label %4542

4541:                                             ; preds = %4537, %4531
  br label %4542

4542:                                             ; preds = %4537, %4541
  %.str.5.sink3639 = phi ptr [ @.str.5, %4541 ], [ @.str.2, %4537 ]
  store i32 %4532, ptr %377, align 4, !tbaa !5
  %4543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4544 = load i32, ptr @test_count, align 4, !tbaa !5
  %4545 = load i32, ptr %323, align 4, !tbaa !5
  %4546 = call ptr @s2n_strerror(i32 noundef %4545, ptr noundef nonnull @.str.4) #13
  %4547 = load i32, ptr %323, align 4, !tbaa !5
  %4548 = call ptr @s2n_strerror_debug(i32 noundef %4547, ptr noundef nonnull @.str.4) #13
  %4549 = load i32, ptr %377, align 4, !tbaa !5
  %4550 = call ptr @strerror(i32 noundef %4549) #13
  %4551 = load i32, ptr %377, align 4, !tbaa !5
  %4552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4543, ptr noundef nonnull %.str.5.sink3639, i32 noundef %4544, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 673, ptr noundef %4546, ptr noundef %4548, ptr noundef %4550, i32 noundef %4551) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4553:                                             ; preds = %4527
  %4554 = load i32, ptr @test_count, align 4, !tbaa !5
  %4555 = add nsw i32 %4554, 1
  store i32 %4555, ptr @test_count, align 4, !tbaa !5
  %4556 = load i32, ptr %323, align 4, !tbaa !5
  %4557 = icmp eq i32 %4556, 402653193
  br i1 %4557, label %4580, label %4558

4558:                                             ; preds = %4553
  %4559 = load i32, ptr %377, align 4, !tbaa !5
  %4560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4561 = call i32 @s2n_print_stacktrace(ptr noundef %4560) #13
  %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) #13
  %4567 = call i32 @isatty(i32 noundef %4566) #13
  %.not1734 = icmp eq i32 %4567, 0
  br i1 %.not1734, label %4568, label %4569

4568:                                             ; preds = %4564, %4558
  br label %4569

4569:                                             ; preds = %4564, %4568
  %.str.5.sink3648 = phi ptr [ @.str.5, %4568 ], [ @.str.2, %4564 ]
  store i32 %4559, ptr %377, 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 %323, align 4, !tbaa !5
  %4573 = call ptr @s2n_strerror(i32 noundef %4572, ptr noundef nonnull @.str.4) #13
  %4574 = load i32, ptr %323, align 4, !tbaa !5
  %4575 = call ptr @s2n_strerror_debug(i32 noundef %4574, ptr noundef nonnull @.str.4) #13
  %4576 = load i32, ptr %377, align 4, !tbaa !5
  %4577 = call ptr @strerror(i32 noundef %4576) #13
  %4578 = load i32, ptr %377, align 4, !tbaa !5
  %4579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4570, ptr noundef nonnull %.str.5.sink3648, i32 noundef %4571, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 673, ptr noundef %4573, ptr noundef %4575, ptr noundef %4577, i32 noundef %4578) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4580:                                             ; preds = %4553
  %4581 = add nsw i32 %4554, 2
  store i32 %4581, ptr @test_count, align 4, !tbaa !5
  %4582 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %4583 = icmp eq ptr %4582, null
  br i1 %4583, label %4584, label %4606

4584:                                             ; preds = %4580
  %4585 = load i32, ptr %377, align 4, !tbaa !5
  %4586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4587 = call i32 @s2n_print_stacktrace(ptr noundef %4586) #13
  %4588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4589 = trunc nuw i8 %4588 to i1
  br i1 %4589, label %4590, label %4594

4590:                                             ; preds = %4584
  %4591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4592 = call i32 @fileno(ptr noundef %4591) #13
  %4593 = call i32 @isatty(i32 noundef %4592) #13
  %.not2149 = icmp eq i32 %4593, 0
  br i1 %.not2149, label %4594, label %4595

4594:                                             ; preds = %4590, %4584
  br label %4595

4595:                                             ; preds = %4590, %4594
  %.str.5.sink3657 = phi ptr [ @.str.5, %4594 ], [ @.str.2, %4590 ]
  store i32 %4585, ptr %377, align 4, !tbaa !5
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = load i32, ptr @test_count, align 4, !tbaa !5
  %4598 = load i32, ptr %323, align 4, !tbaa !5
  %4599 = call ptr @s2n_strerror(i32 noundef %4598, ptr noundef nonnull @.str.4) #13
  %4600 = load i32, ptr %323, align 4, !tbaa !5
  %4601 = call ptr @s2n_strerror_debug(i32 noundef %4600, ptr noundef nonnull @.str.4) #13
  %4602 = load i32, ptr %377, align 4, !tbaa !5
  %4603 = call ptr @strerror(i32 noundef %4602) #13
  %4604 = load i32, ptr %377, align 4, !tbaa !5
  %4605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4596, ptr noundef nonnull %.str.5.sink3657, i32 noundef %4597, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 673, ptr noundef %4599, ptr noundef %4601, ptr noundef %4603, i32 noundef %4604) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4606:                                             ; preds = %4580
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %4607 = load i32, ptr @test_count, align 4, !tbaa !5
  %4608 = add nsw i32 %4607, 1
  store i32 %4608, ptr @test_count, align 4, !tbaa !5
  %4609 = call i32 @s2n_select_resumption_psk(ptr noundef nonnull %4061, ptr noundef null)
  %4610 = call zeroext i1 @s2n_result_is_error(i32 %4609)
  br i1 %4610, label %4633, label %4611

4611:                                             ; preds = %4606
  %4612 = load i32, ptr %377, align 4, !tbaa !5
  %4613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4614 = call i32 @s2n_print_stacktrace(ptr noundef %4613) #13
  %4615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4616 = trunc nuw i8 %4615 to i1
  br i1 %4616, label %4617, label %4621

4617:                                             ; preds = %4611
  %4618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4619 = call i32 @fileno(ptr noundef %4618) #13
  %4620 = call i32 @isatty(i32 noundef %4619) #13
  %.not1735 = icmp eq i32 %4620, 0
  br i1 %.not1735, label %4621, label %4622

4621:                                             ; preds = %4617, %4611
  br label %4622

4622:                                             ; preds = %4617, %4621
  %.str.5.sink3666 = phi ptr [ @.str.5, %4621 ], [ @.str.2, %4617 ]
  store i32 %4612, ptr %377, align 4, !tbaa !5
  %4623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4624 = load i32, ptr @test_count, align 4, !tbaa !5
  %4625 = load i32, ptr %323, align 4, !tbaa !5
  %4626 = call ptr @s2n_strerror(i32 noundef %4625, ptr noundef nonnull @.str.4) #13
  %4627 = load i32, ptr %323, align 4, !tbaa !5
  %4628 = call ptr @s2n_strerror_debug(i32 noundef %4627, ptr noundef nonnull @.str.4) #13
  %4629 = load i32, ptr %377, align 4, !tbaa !5
  %4630 = call ptr @strerror(i32 noundef %4629) #13
  %4631 = load i32, ptr %377, align 4, !tbaa !5
  %4632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4623, ptr noundef nonnull %.str.5.sink3666, i32 noundef %4624, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 674, ptr noundef %4626, ptr noundef %4628, ptr noundef %4630, i32 noundef %4631) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4633:                                             ; preds = %4606
  %4634 = load i32, ptr @test_count, align 4, !tbaa !5
  %4635 = add nsw i32 %4634, 1
  store i32 %4635, ptr @test_count, align 4, !tbaa !5
  %4636 = load i32, ptr %323, align 4, !tbaa !5
  %4637 = icmp eq i32 %4636, 402653193
  br i1 %4637, label %4660, label %4638

4638:                                             ; preds = %4633
  %4639 = load i32, ptr %377, align 4, !tbaa !5
  %4640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4641 = call i32 @s2n_print_stacktrace(ptr noundef %4640) #13
  %4642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4643 = trunc nuw i8 %4642 to i1
  br i1 %4643, label %4644, label %4648

4644:                                             ; preds = %4638
  %4645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4646 = call i32 @fileno(ptr noundef %4645) #13
  %4647 = call i32 @isatty(i32 noundef %4646) #13
  %.not1736 = icmp eq i32 %4647, 0
  br i1 %.not1736, label %4648, label %4649

4648:                                             ; preds = %4644, %4638
  br label %4649

4649:                                             ; preds = %4644, %4648
  %.str.5.sink3675 = phi ptr [ @.str.5, %4648 ], [ @.str.2, %4644 ]
  store i32 %4639, ptr %377, align 4, !tbaa !5
  %4650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4651 = load i32, ptr @test_count, align 4, !tbaa !5
  %4652 = load i32, ptr %323, align 4, !tbaa !5
  %4653 = call ptr @s2n_strerror(i32 noundef %4652, ptr noundef nonnull @.str.4) #13
  %4654 = load i32, ptr %323, align 4, !tbaa !5
  %4655 = call ptr @s2n_strerror_debug(i32 noundef %4654, ptr noundef nonnull @.str.4) #13
  %4656 = load i32, ptr %377, align 4, !tbaa !5
  %4657 = call ptr @strerror(i32 noundef %4656) #13
  %4658 = load i32, ptr %377, align 4, !tbaa !5
  %4659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4650, ptr noundef nonnull %.str.5.sink3675, i32 noundef %4651, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 674, ptr noundef %4653, ptr noundef %4655, ptr noundef %4657, i32 noundef %4658) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4660:                                             ; preds = %4633
  %4661 = add nsw i32 %4634, 2
  store i32 %4661, ptr @test_count, align 4, !tbaa !5
  %4662 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %4663 = icmp eq ptr %4662, null
  br i1 %4663, label %4664, label %4686

4664:                                             ; preds = %4660
  %4665 = load i32, ptr %377, align 4, !tbaa !5
  %4666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4667 = call i32 @s2n_print_stacktrace(ptr noundef %4666) #13
  %4668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4669 = trunc nuw i8 %4668 to i1
  br i1 %4669, label %4670, label %4674

4670:                                             ; preds = %4664
  %4671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4672 = call i32 @fileno(ptr noundef %4671) #13
  %4673 = call i32 @isatty(i32 noundef %4672) #13
  %.not2148 = icmp eq i32 %4673, 0
  br i1 %.not2148, label %4674, label %4675

4674:                                             ; preds = %4670, %4664
  br label %4675

4675:                                             ; preds = %4670, %4674
  %.str.5.sink3684 = phi ptr [ @.str.5, %4674 ], [ @.str.2, %4670 ]
  store i32 %4665, ptr %377, align 4, !tbaa !5
  %4676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4677 = load i32, ptr @test_count, align 4, !tbaa !5
  %4678 = load i32, ptr %323, align 4, !tbaa !5
  %4679 = call ptr @s2n_strerror(i32 noundef %4678, ptr noundef nonnull @.str.4) #13
  %4680 = load i32, ptr %323, align 4, !tbaa !5
  %4681 = call ptr @s2n_strerror_debug(i32 noundef %4680, ptr noundef nonnull @.str.4) #13
  %4682 = load i32, ptr %377, align 4, !tbaa !5
  %4683 = call ptr @strerror(i32 noundef %4682) #13
  %4684 = load i32, ptr %377, align 4, !tbaa !5
  %4685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4676, ptr noundef nonnull %.str.5.sink3684, i32 noundef %4677, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 674, ptr noundef %4679, ptr noundef %4681, ptr noundef %4683, i32 noundef %4684) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4686:                                             ; preds = %4660
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %4687 = load i32, ptr @test_count, align 4, !tbaa !5
  %4688 = add nsw i32 %4687, 1
  store i32 %4688, ptr @test_count, align 4, !tbaa !5
  %4689 = call i32 @s2n_connection_free(ptr noundef nonnull %4061) #13
  %4690 = icmp eq i32 %4689, -1
  br i1 %4690, label %4691, label %4713

4691:                                             ; preds = %4686
  %4692 = load i32, ptr %377, align 4, !tbaa !5
  %4693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4694 = call i32 @s2n_print_stacktrace(ptr noundef %4693) #13
  %4695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4696 = trunc nuw i8 %4695 to i1
  br i1 %4696, label %4697, label %4701

4697:                                             ; preds = %4691
  %4698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4699 = call i32 @fileno(ptr noundef %4698) #13
  %4700 = call i32 @isatty(i32 noundef %4699) #13
  %.not2147 = icmp eq i32 %4700, 0
  br i1 %.not2147, label %4701, label %4702

4701:                                             ; preds = %4697, %4691
  br label %4702

4702:                                             ; preds = %4697, %4701
  %.str.5.sink3693 = phi ptr [ @.str.5, %4701 ], [ @.str.2, %4697 ]
  store i32 %4692, ptr %377, align 4, !tbaa !5
  %4703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4704 = load i32, ptr @test_count, align 4, !tbaa !5
  %4705 = load i32, ptr %323, align 4, !tbaa !5
  %4706 = call ptr @s2n_strerror(i32 noundef %4705, ptr noundef nonnull @.str.4) #13
  %4707 = load i32, ptr %323, align 4, !tbaa !5
  %4708 = call ptr @s2n_strerror_debug(i32 noundef %4707, ptr noundef nonnull @.str.4) #13
  %4709 = load i32, ptr %377, align 4, !tbaa !5
  %4710 = call ptr @strerror(i32 noundef %4709) #13
  %4711 = load i32, ptr %377, align 4, !tbaa !5
  %4712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4703, ptr noundef nonnull %.str.5.sink3693, i32 noundef %4704, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 676, ptr noundef %4706, ptr noundef %4708, ptr noundef %4710, i32 noundef %4711) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4713:                                             ; preds = %4686
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %56) #13
  %4714 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %4715 = load i32, ptr @test_count, align 4, !tbaa !5
  %4716 = add nsw i32 %4715, 1
  store i32 %4716, ptr @test_count, align 4, !tbaa !5
  %4717 = icmp eq ptr %4714, null
  br i1 %4717, label %4718, label %4740

4718:                                             ; preds = %4713
  %4719 = load i32, ptr %377, align 4, !tbaa !5
  %4720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4721 = call i32 @s2n_print_stacktrace(ptr noundef %4720) #13
  %4722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4723 = trunc nuw i8 %4722 to i1
  br i1 %4723, label %4724, label %4728

4724:                                             ; preds = %4718
  %4725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4726 = call i32 @fileno(ptr noundef %4725) #13
  %4727 = call i32 @isatty(i32 noundef %4726) #13
  %.not2146 = icmp eq i32 %4727, 0
  br i1 %.not2146, label %4728, label %4729

4728:                                             ; preds = %4724, %4718
  br label %4729

4729:                                             ; preds = %4724, %4728
  %.str.5.sink3702 = phi ptr [ @.str.5, %4728 ], [ @.str.2, %4724 ]
  store i32 %4719, ptr %377, align 4, !tbaa !5
  %4730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4731 = load i32, ptr @test_count, align 4, !tbaa !5
  %4732 = load i32, ptr %323, align 4, !tbaa !5
  %4733 = call ptr @s2n_strerror(i32 noundef %4732, ptr noundef nonnull @.str.4) #13
  %4734 = load i32, ptr %323, align 4, !tbaa !5
  %4735 = call ptr @s2n_strerror_debug(i32 noundef %4734, ptr noundef nonnull @.str.4) #13
  %4736 = load i32, ptr %377, align 4, !tbaa !5
  %4737 = call ptr @strerror(i32 noundef %4736) #13
  %4738 = load i32, ptr %377, align 4, !tbaa !5
  %4739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4730, ptr noundef nonnull %.str.5.sink3702, i32 noundef %4731, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 682, ptr noundef %4733, ptr noundef %4735, ptr noundef %4737, i32 noundef %4738) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4740:                                             ; preds = %4713
  %4741 = call ptr @s2n_config_new() #13
  %4742 = load i32, ptr @test_count, align 4, !tbaa !5
  %4743 = add nsw i32 %4742, 1
  store i32 %4743, ptr @test_count, align 4, !tbaa !5
  %4744 = icmp eq ptr %4741, null
  br i1 %4744, label %4745, label %4767

4745:                                             ; preds = %4740
  %4746 = load i32, ptr %377, align 4, !tbaa !5
  %4747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4748 = call i32 @s2n_print_stacktrace(ptr noundef %4747) #13
  %4749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4750 = trunc nuw i8 %4749 to i1
  br i1 %4750, label %4751, label %4755

4751:                                             ; preds = %4745
  %4752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4753 = call i32 @fileno(ptr noundef %4752) #13
  %4754 = call i32 @isatty(i32 noundef %4753) #13
  %.not2145 = icmp eq i32 %4754, 0
  br i1 %.not2145, label %4755, label %4756

4755:                                             ; preds = %4751, %4745
  br label %4756

4756:                                             ; preds = %4751, %4755
  %.str.5.sink3711 = phi ptr [ @.str.5, %4755 ], [ @.str.2, %4751 ]
  store i32 %4746, ptr %377, align 4, !tbaa !5
  %4757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4758 = load i32, ptr @test_count, align 4, !tbaa !5
  %4759 = load i32, ptr %323, align 4, !tbaa !5
  %4760 = call ptr @s2n_strerror(i32 noundef %4759, ptr noundef nonnull @.str.4) #13
  %4761 = load i32, ptr %323, align 4, !tbaa !5
  %4762 = call ptr @s2n_strerror_debug(i32 noundef %4761, ptr noundef nonnull @.str.4) #13
  %4763 = load i32, ptr %377, align 4, !tbaa !5
  %4764 = call ptr @strerror(i32 noundef %4763) #13
  %4765 = load i32, ptr %377, align 4, !tbaa !5
  %4766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4757, ptr noundef nonnull %.str.5.sink3711, i32 noundef %4758, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 685, ptr noundef %4760, ptr noundef %4762, ptr noundef %4764, i32 noundef %4765) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4767:                                             ; preds = %4740
  %4768 = add nsw i32 %4742, 2
  store i32 %4768, ptr @test_count, align 4, !tbaa !5
  %4769 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %4741) #13
  %4770 = call zeroext i1 @s2n_result_is_ok(i32 %4769)
  br i1 %4770, label %4793, label %4771

4771:                                             ; preds = %4767
  %4772 = load i32, ptr %377, align 4, !tbaa !5
  %4773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4774 = call i32 @s2n_print_stacktrace(ptr noundef %4773) #13
  %4775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4776 = trunc nuw i8 %4775 to i1
  br i1 %4776, label %4777, label %4781

4777:                                             ; preds = %4771
  %4778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4779 = call i32 @fileno(ptr noundef %4778) #13
  %4780 = call i32 @isatty(i32 noundef %4779) #13
  %.not1737 = icmp eq i32 %4780, 0
  br i1 %.not1737, label %4781, label %4782

4781:                                             ; preds = %4777, %4771
  br label %4782

4782:                                             ; preds = %4777, %4781
  %.str.5.sink3720 = phi ptr [ @.str.5, %4781 ], [ @.str.2, %4777 ]
  store i32 %4772, ptr %377, align 4, !tbaa !5
  %4783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4784 = load i32, ptr @test_count, align 4, !tbaa !5
  %4785 = load i32, ptr %323, align 4, !tbaa !5
  %4786 = call ptr @s2n_strerror(i32 noundef %4785, ptr noundef nonnull @.str.4) #13
  %4787 = load i32, ptr %323, align 4, !tbaa !5
  %4788 = call ptr @s2n_strerror_debug(i32 noundef %4787, ptr noundef nonnull @.str.4) #13
  %4789 = load i32, ptr %377, align 4, !tbaa !5
  %4790 = call ptr @strerror(i32 noundef %4789) #13
  %4791 = load i32, ptr %377, align 4, !tbaa !5
  %4792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4783, ptr noundef nonnull %.str.5.sink3720, i32 noundef %4784, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 686, ptr noundef %4786, ptr noundef %4788, ptr noundef %4790, i32 noundef %4791) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4793:                                             ; preds = %4767
  %4794 = load i32, ptr @test_count, align 4, !tbaa !5
  %4795 = add nsw i32 %4794, 1
  store i32 %4795, ptr @test_count, align 4, !tbaa !5
  %4796 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4714, ptr noundef nonnull %4741) #13
  %4797 = icmp eq i32 %4796, -1
  br i1 %4797, label %4798, label %4820

4798:                                             ; preds = %4793
  %4799 = load i32, ptr %377, align 4, !tbaa !5
  %4800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4801 = call i32 @s2n_print_stacktrace(ptr noundef %4800) #13
  %4802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4803 = trunc nuw i8 %4802 to i1
  br i1 %4803, label %4804, label %4808

4804:                                             ; preds = %4798
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = call i32 @fileno(ptr noundef %4805) #13
  %4807 = call i32 @isatty(i32 noundef %4806) #13
  %.not2144 = icmp eq i32 %4807, 0
  br i1 %.not2144, label %4808, label %4809

4808:                                             ; preds = %4804, %4798
  br label %4809

4809:                                             ; preds = %4804, %4808
  %.str.5.sink3729 = phi ptr [ @.str.5, %4808 ], [ @.str.2, %4804 ]
  store i32 %4799, ptr %377, align 4, !tbaa !5
  %4810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4811 = load i32, ptr @test_count, align 4, !tbaa !5
  %4812 = load i32, ptr %323, align 4, !tbaa !5
  %4813 = call ptr @s2n_strerror(i32 noundef %4812, ptr noundef nonnull @.str.4) #13
  %4814 = load i32, ptr %323, align 4, !tbaa !5
  %4815 = call ptr @s2n_strerror_debug(i32 noundef %4814, ptr noundef nonnull @.str.4) #13
  %4816 = load i32, ptr %377, align 4, !tbaa !5
  %4817 = call ptr @strerror(i32 noundef %4816) #13
  %4818 = load i32, ptr %377, align 4, !tbaa !5
  %4819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4810, ptr noundef nonnull %.str.5.sink3729, i32 noundef %4811, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 687, ptr noundef %4813, ptr noundef %4815, ptr noundef %4817, i32 noundef %4818) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4820:                                             ; preds = %4793
  %4821 = getelementptr inbounds i8, ptr %4714, i64 220
  store i8 34, ptr %4821, align 4, !tbaa !45
  %4822 = getelementptr inbounds i8, ptr %4714, i64 232
  %4823 = load ptr, ptr %4822, align 8, !tbaa !46
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %4823, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %57) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %57, i8 0, i64 40, i1 false)
  %4824 = load i32, ptr @test_count, align 4, !tbaa !5
  %4825 = add nsw i32 %4824, 1
  store i32 %4825, ptr @test_count, align 4, !tbaa !5
  %4826 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %57, i32 noundef 0) #13
  %4827 = icmp eq i32 %4826, -1
  br i1 %4827, label %4828, label %4850

4828:                                             ; preds = %4820
  %4829 = load i32, ptr %377, align 4, !tbaa !5
  %4830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4831 = call i32 @s2n_print_stacktrace(ptr noundef %4830) #13
  %4832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4833 = trunc nuw i8 %4832 to i1
  br i1 %4833, label %4834, label %4838

4834:                                             ; preds = %4828
  %4835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4836 = call i32 @fileno(ptr noundef %4835) #13
  %4837 = call i32 @isatty(i32 noundef %4836) #13
  %.not2143 = icmp eq i32 %4837, 0
  br i1 %.not2143, label %4838, label %4839

4838:                                             ; preds = %4834, %4828
  br label %4839

4839:                                             ; preds = %4834, %4838
  %.str.5.sink3738 = phi ptr [ @.str.5, %4838 ], [ @.str.2, %4834 ]
  store i32 %4829, ptr %377, align 4, !tbaa !5
  %4840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4841 = load i32, ptr @test_count, align 4, !tbaa !5
  %4842 = load i32, ptr %323, align 4, !tbaa !5
  %4843 = call ptr @s2n_strerror(i32 noundef %4842, ptr noundef nonnull @.str.4) #13
  %4844 = load i32, ptr %323, align 4, !tbaa !5
  %4845 = call ptr @s2n_strerror_debug(i32 noundef %4844, ptr noundef nonnull @.str.4) #13
  %4846 = load i32, ptr %377, align 4, !tbaa !5
  %4847 = call ptr @strerror(i32 noundef %4846) #13
  %4848 = load i32, ptr %377, align 4, !tbaa !5
  %4849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4840, ptr noundef nonnull %.str.5.sink3738, i32 noundef %4841, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 693, ptr noundef %4843, ptr noundef %4845, ptr noundef %4847, i32 noundef %4848) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4850:                                             ; preds = %4820
  %4851 = load i32, ptr @test_count, align 4, !tbaa !5
  %4852 = add nsw i32 %4851, 1
  store i32 %4852, ptr @test_count, align 4, !tbaa !5
  %4853 = call i32 @s2n_setup_encrypted_ticket(ptr noundef nonnull %4714, ptr noundef nonnull %57)
  %4854 = call zeroext i1 @s2n_result_is_ok(i32 %4853)
  br i1 %4854, label %4877, label %4855

4855:                                             ; preds = %4850
  %4856 = load i32, ptr %377, align 4, !tbaa !5
  %4857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4858 = call i32 @s2n_print_stacktrace(ptr noundef %4857) #13
  %4859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4860 = trunc nuw i8 %4859 to i1
  br i1 %4860, label %4861, label %4865

4861:                                             ; preds = %4855
  %4862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4863 = call i32 @fileno(ptr noundef %4862) #13
  %4864 = call i32 @isatty(i32 noundef %4863) #13
  %.not1738 = icmp eq i32 %4864, 0
  br i1 %.not1738, label %4865, label %4866

4865:                                             ; preds = %4861, %4855
  br label %4866

4866:                                             ; preds = %4861, %4865
  %.str.5.sink3747 = phi ptr [ @.str.5, %4865 ], [ @.str.2, %4861 ]
  store i32 %4856, ptr %377, align 4, !tbaa !5
  %4867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4868 = load i32, ptr @test_count, align 4, !tbaa !5
  %4869 = load i32, ptr %323, align 4, !tbaa !5
  %4870 = call ptr @s2n_strerror(i32 noundef %4869, ptr noundef nonnull @.str.4) #13
  %4871 = load i32, ptr %323, align 4, !tbaa !5
  %4872 = call ptr @s2n_strerror_debug(i32 noundef %4871, ptr noundef nonnull @.str.4) #13
  %4873 = load i32, ptr %377, align 4, !tbaa !5
  %4874 = call ptr @strerror(i32 noundef %4873) #13
  %4875 = load i32, ptr %377, align 4, !tbaa !5
  %4876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4867, ptr noundef nonnull %.str.5.sink3747, i32 noundef %4868, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 694, ptr noundef %4870, ptr noundef %4872, ptr noundef %4874, i32 noundef %4875) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4877:                                             ; preds = %4850
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %58) #13
  %4878 = getelementptr inbounds i8, ptr %58, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %4878, i8 0, i64 48, i1 false)
  store ptr %4714, ptr %58, align 8, !tbaa !80
  %4879 = load i32, ptr @test_count, align 4, !tbaa !5
  %4880 = add nsw i32 %4879, 1
  store i32 %4880, ptr @test_count, align 4, !tbaa !5
  %4881 = getelementptr inbounds i8, ptr %58, i64 8
  %4882 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %4881, i32 noundef 0) #13
  %4883 = icmp eq i32 %4882, -1
  br i1 %4883, label %4884, label %4906

4884:                                             ; preds = %4877
  %4885 = load i32, ptr %377, align 4, !tbaa !5
  %4886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4887 = call i32 @s2n_print_stacktrace(ptr noundef %4886) #13
  %4888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4889 = trunc nuw i8 %4888 to i1
  br i1 %4889, label %4890, label %4894

4890:                                             ; preds = %4884
  %4891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4892 = call i32 @fileno(ptr noundef %4891) #13
  %4893 = call i32 @isatty(i32 noundef %4892) #13
  %.not2142 = icmp eq i32 %4893, 0
  br i1 %.not2142, label %4894, label %4895

4894:                                             ; preds = %4890, %4884
  br label %4895

4895:                                             ; preds = %4890, %4894
  %.str.5.sink3756 = phi ptr [ @.str.5, %4894 ], [ @.str.2, %4890 ]
  store i32 %4885, ptr %377, align 4, !tbaa !5
  %4896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4897 = load i32, ptr @test_count, align 4, !tbaa !5
  %4898 = load i32, ptr %323, align 4, !tbaa !5
  %4899 = call ptr @s2n_strerror(i32 noundef %4898, ptr noundef nonnull @.str.4) #13
  %4900 = load i32, ptr %323, align 4, !tbaa !5
  %4901 = call ptr @s2n_strerror_debug(i32 noundef %4900, ptr noundef nonnull @.str.4) #13
  %4902 = load i32, ptr %377, align 4, !tbaa !5
  %4903 = call ptr @strerror(i32 noundef %4902) #13
  %4904 = load i32, ptr %377, align 4, !tbaa !5
  %4905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4896, ptr noundef nonnull %.str.5.sink3756, i32 noundef %4897, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 697, ptr noundef %4899, ptr noundef %4901, ptr noundef %4903, i32 noundef %4904) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4906:                                             ; preds = %4877
  %4907 = load i32, ptr @test_count, align 4, !tbaa !5
  %4908 = add nsw i32 %4907, 1
  store i32 %4908, ptr @test_count, align 4, !tbaa !5
  %4909 = call i32 @s2n_write_test_identity(ptr noundef nonnull %4881, ptr noundef nonnull %57)
  %4910 = call zeroext i1 @s2n_result_is_ok(i32 %4909)
  br i1 %4910, label %4933, label %4911

4911:                                             ; preds = %4906
  %4912 = load i32, ptr %377, align 4, !tbaa !5
  %4913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4914 = call i32 @s2n_print_stacktrace(ptr noundef %4913) #13
  %4915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4916 = trunc nuw i8 %4915 to i1
  br i1 %4916, label %4917, label %4921

4917:                                             ; preds = %4911
  %4918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4919 = call i32 @fileno(ptr noundef %4918) #13
  %4920 = call i32 @isatty(i32 noundef %4919) #13
  %.not1739 = icmp eq i32 %4920, 0
  br i1 %.not1739, label %4921, label %4922

4921:                                             ; preds = %4917, %4911
  br label %4922

4922:                                             ; preds = %4917, %4921
  %.str.5.sink3765 = phi ptr [ @.str.5, %4921 ], [ @.str.2, %4917 ]
  store i32 %4912, ptr %377, align 4, !tbaa !5
  %4923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4924 = load i32, ptr @test_count, align 4, !tbaa !5
  %4925 = load i32, ptr %323, align 4, !tbaa !5
  %4926 = call ptr @s2n_strerror(i32 noundef %4925, ptr noundef nonnull @.str.4) #13
  %4927 = load i32, ptr %323, align 4, !tbaa !5
  %4928 = call ptr @s2n_strerror_debug(i32 noundef %4927, ptr noundef nonnull @.str.4) #13
  %4929 = load i32, ptr %377, align 4, !tbaa !5
  %4930 = call ptr @strerror(i32 noundef %4929) #13
  %4931 = load i32, ptr %377, align 4, !tbaa !5
  %4932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4923, ptr noundef nonnull %.str.5.sink3765, i32 noundef %4924, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 699, ptr noundef %4926, ptr noundef %4928, ptr noundef %4930, i32 noundef %4931) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4933:                                             ; preds = %4906
  %4934 = load i32, ptr @test_count, align 4, !tbaa !5
  %4935 = add nsw i32 %4934, 1
  store i32 %4935, ptr @test_count, align 4, !tbaa !5
  %4936 = call i32 @s2n_select_resumption_psk(ptr noundef nonnull %4714, ptr noundef nonnull %58)
  %4937 = call zeroext i1 @s2n_result_is_ok(i32 %4936)
  br i1 %4937, label %4960, label %4938

4938:                                             ; preds = %4933
  %4939 = load i32, ptr %377, align 4, !tbaa !5
  %4940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4941 = call i32 @s2n_print_stacktrace(ptr noundef %4940) #13
  %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) #13
  %4947 = call i32 @isatty(i32 noundef %4946) #13
  %.not1740 = icmp eq i32 %4947, 0
  br i1 %.not1740, label %4948, label %4949

4948:                                             ; preds = %4944, %4938
  br label %4949

4949:                                             ; preds = %4944, %4948
  %.str.5.sink3774 = phi ptr [ @.str.5, %4948 ], [ @.str.2, %4944 ]
  store i32 %4939, ptr %377, 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 %323, align 4, !tbaa !5
  %4953 = call ptr @s2n_strerror(i32 noundef %4952, ptr noundef nonnull @.str.4) #13
  %4954 = load i32, ptr %323, align 4, !tbaa !5
  %4955 = call ptr @s2n_strerror_debug(i32 noundef %4954, ptr noundef nonnull @.str.4) #13
  %4956 = load i32, ptr %377, align 4, !tbaa !5
  %4957 = call ptr @strerror(i32 noundef %4956) #13
  %4958 = load i32, ptr %377, align 4, !tbaa !5
  %4959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4950, ptr noundef nonnull %.str.5.sink3774, i32 noundef %4951, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 701, ptr noundef %4953, ptr noundef %4955, ptr noundef %4957, i32 noundef %4958) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4960:                                             ; preds = %4933
  %4961 = load i32, ptr @test_count, align 4, !tbaa !5
  %4962 = add nsw i32 %4961, 1
  store i32 %4962, ptr @test_count, align 4, !tbaa !5
  %4963 = getelementptr inbounds i8, ptr %4714, i64 1730
  %4964 = load i16, ptr %4963, align 2, !tbaa !87
  %4965 = icmp eq i16 %4964, 0
  br i1 %4965, label %4988, label %4966

4966:                                             ; preds = %4960
  %4967 = load i32, ptr %377, align 4, !tbaa !5
  %4968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4969 = call i32 @s2n_print_stacktrace(ptr noundef %4968) #13
  %4970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4971 = trunc nuw i8 %4970 to i1
  br i1 %4971, label %4972, label %4976

4972:                                             ; preds = %4966
  %4973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4974 = call i32 @fileno(ptr noundef %4973) #13
  %4975 = call i32 @isatty(i32 noundef %4974) #13
  %.not1741 = icmp eq i32 %4975, 0
  br i1 %.not1741, label %4976, label %4977

4976:                                             ; preds = %4972, %4966
  br label %4977

4977:                                             ; preds = %4972, %4976
  %.str.5.sink3783 = phi ptr [ @.str.5, %4976 ], [ @.str.2, %4972 ]
  store i32 %4967, ptr %377, align 4, !tbaa !5
  %4978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4979 = load i32, ptr @test_count, align 4, !tbaa !5
  %4980 = load i32, ptr %323, align 4, !tbaa !5
  %4981 = call ptr @s2n_strerror(i32 noundef %4980, ptr noundef nonnull @.str.4) #13
  %4982 = load i32, ptr %323, align 4, !tbaa !5
  %4983 = call ptr @s2n_strerror_debug(i32 noundef %4982, ptr noundef nonnull @.str.4) #13
  %4984 = load i32, ptr %377, align 4, !tbaa !5
  %4985 = call ptr @strerror(i32 noundef %4984) #13
  %4986 = load i32, ptr %377, align 4, !tbaa !5
  %4987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4978, ptr noundef nonnull %.str.5.sink3783, i32 noundef %4979, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 703, ptr noundef %4981, ptr noundef %4983, ptr noundef %4985, i32 noundef %4986) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4988:                                             ; preds = %4960
  %4989 = add nsw i32 %4961, 2
  store i32 %4989, ptr @test_count, align 4, !tbaa !5
  %4990 = getelementptr inbounds i8, ptr %4714, i64 1736
  %4991 = load ptr, ptr %4990, align 8, !tbaa !88
  %4992 = icmp eq ptr %4991, null
  br i1 %4992, label %4993, label %5015

4993:                                             ; preds = %4988
  %4994 = load i32, ptr %377, align 4, !tbaa !5
  %4995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4996 = call i32 @s2n_print_stacktrace(ptr noundef %4995) #13
  %4997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4998 = trunc nuw i8 %4997 to i1
  br i1 %4998, label %4999, label %5003

4999:                                             ; preds = %4993
  %5000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5001 = call i32 @fileno(ptr noundef %5000) #13
  %5002 = call i32 @isatty(i32 noundef %5001) #13
  %.not2141 = icmp eq i32 %5002, 0
  br i1 %.not2141, label %5003, label %5004

5003:                                             ; preds = %4999, %4993
  br label %5004

5004:                                             ; preds = %4999, %5003
  %.str.5.sink3792 = phi ptr [ @.str.5, %5003 ], [ @.str.2, %4999 ]
  store i32 %4994, ptr %377, align 4, !tbaa !5
  %5005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5006 = load i32, ptr @test_count, align 4, !tbaa !5
  %5007 = load i32, ptr %323, align 4, !tbaa !5
  %5008 = call ptr @s2n_strerror(i32 noundef %5007, ptr noundef nonnull @.str.4) #13
  %5009 = load i32, ptr %323, align 4, !tbaa !5
  %5010 = call ptr @s2n_strerror_debug(i32 noundef %5009, ptr noundef nonnull @.str.4) #13
  %5011 = load i32, ptr %377, align 4, !tbaa !5
  %5012 = call ptr @strerror(i32 noundef %5011) #13
  %5013 = load i32, ptr %377, align 4, !tbaa !5
  %5014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5005, ptr noundef nonnull %.str.5.sink3792, i32 noundef %5006, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 704, ptr noundef %5008, ptr noundef %5010, ptr noundef %5012, i32 noundef %5013) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5015:                                             ; preds = %4988
  %5016 = add nsw i32 %4961, 3
  store i32 %5016, ptr @test_count, align 4, !tbaa !5
  %5017 = getelementptr inbounds i8, ptr %4991, i64 56
  %5018 = load i32, ptr %5017, align 8, !tbaa !55
  %5019 = load i32, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_128_gcm_sha256, i64 96), align 8, !tbaa !52
  %5020 = icmp eq i32 %5018, %5019
  br i1 %5020, label %5043, label %5021

5021:                                             ; preds = %5015
  %5022 = load i32, ptr %377, align 4, !tbaa !5
  %5023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5024 = call i32 @s2n_print_stacktrace(ptr noundef %5023) #13
  %5025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5026 = trunc nuw i8 %5025 to i1
  br i1 %5026, label %5027, label %5031

5027:                                             ; preds = %5021
  %5028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5029 = call i32 @fileno(ptr noundef %5028) #13
  %5030 = call i32 @isatty(i32 noundef %5029) #13
  %.not1742 = icmp eq i32 %5030, 0
  br i1 %.not1742, label %5031, label %5032

5031:                                             ; preds = %5027, %5021
  br label %5032

5032:                                             ; preds = %5027, %5031
  %.str.5.sink3801 = phi ptr [ @.str.5, %5031 ], [ @.str.2, %5027 ]
  store i32 %5022, ptr %377, align 4, !tbaa !5
  %5033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5034 = load i32, ptr @test_count, align 4, !tbaa !5
  %5035 = load i32, ptr %323, align 4, !tbaa !5
  %5036 = call ptr @s2n_strerror(i32 noundef %5035, ptr noundef nonnull @.str.4) #13
  %5037 = load i32, ptr %323, align 4, !tbaa !5
  %5038 = call ptr @s2n_strerror_debug(i32 noundef %5037, ptr noundef nonnull @.str.4) #13
  %5039 = load i32, ptr %377, align 4, !tbaa !5
  %5040 = call ptr @strerror(i32 noundef %5039) #13
  %5041 = load i32, ptr %377, align 4, !tbaa !5
  %5042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5033, ptr noundef nonnull %.str.5.sink3801, i32 noundef %5034, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 707, ptr noundef %5036, ptr noundef %5038, ptr noundef %5040, i32 noundef %5041) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5043:                                             ; preds = %5015
  %5044 = add nsw i32 %4961, 4
  store i32 %5044, ptr @test_count, align 4, !tbaa !5
  %5045 = call i32 @s2n_stuffer_free(ptr noundef nonnull %4881) #13
  %5046 = icmp eq i32 %5045, -1
  br i1 %5046, label %5047, label %5069

5047:                                             ; preds = %5043
  %5048 = load i32, ptr %377, align 4, !tbaa !5
  %5049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5050 = call i32 @s2n_print_stacktrace(ptr noundef %5049) #13
  %5051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5052 = trunc nuw i8 %5051 to i1
  br i1 %5052, label %5053, label %5057

5053:                                             ; preds = %5047
  %5054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5055 = call i32 @fileno(ptr noundef %5054) #13
  %5056 = call i32 @isatty(i32 noundef %5055) #13
  %.not2140 = icmp eq i32 %5056, 0
  br i1 %.not2140, label %5057, label %5058

5057:                                             ; preds = %5053, %5047
  br label %5058

5058:                                             ; preds = %5053, %5057
  %.str.5.sink3810 = phi ptr [ @.str.5, %5057 ], [ @.str.2, %5053 ]
  store i32 %5048, ptr %377, align 4, !tbaa !5
  %5059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5060 = load i32, ptr @test_count, align 4, !tbaa !5
  %5061 = load i32, ptr %323, align 4, !tbaa !5
  %5062 = call ptr @s2n_strerror(i32 noundef %5061, ptr noundef nonnull @.str.4) #13
  %5063 = load i32, ptr %323, align 4, !tbaa !5
  %5064 = call ptr @s2n_strerror_debug(i32 noundef %5063, ptr noundef nonnull @.str.4) #13
  %5065 = load i32, ptr %377, align 4, !tbaa !5
  %5066 = call ptr @strerror(i32 noundef %5065) #13
  %5067 = load i32, ptr %377, align 4, !tbaa !5
  %5068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5059, ptr noundef nonnull %.str.5.sink3810, i32 noundef %5060, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 709, ptr noundef %5062, ptr noundef %5064, ptr noundef %5066, i32 noundef %5067) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5069:                                             ; preds = %5043
  %5070 = load i32, ptr @test_count, align 4, !tbaa !5
  %5071 = add nsw i32 %5070, 1
  store i32 %5071, ptr @test_count, align 4, !tbaa !5
  %5072 = call i32 @s2n_connection_free(ptr noundef nonnull %4714) #13
  %5073 = icmp eq i32 %5072, -1
  br i1 %5073, label %5074, label %5096

5074:                                             ; preds = %5069
  %5075 = load i32, ptr %377, align 4, !tbaa !5
  %5076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5077 = call i32 @s2n_print_stacktrace(ptr noundef %5076) #13
  %5078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5079 = trunc nuw i8 %5078 to i1
  br i1 %5079, label %5080, label %5084

5080:                                             ; preds = %5074
  %5081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5082 = call i32 @fileno(ptr noundef %5081) #13
  %5083 = call i32 @isatty(i32 noundef %5082) #13
  %.not2139 = icmp eq i32 %5083, 0
  br i1 %.not2139, label %5084, label %5085

5084:                                             ; preds = %5080, %5074
  br label %5085

5085:                                             ; preds = %5080, %5084
  %.str.5.sink3819 = phi ptr [ @.str.5, %5084 ], [ @.str.2, %5080 ]
  store i32 %5075, ptr %377, align 4, !tbaa !5
  %5086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5087 = load i32, ptr @test_count, align 4, !tbaa !5
  %5088 = load i32, ptr %323, align 4, !tbaa !5
  %5089 = call ptr @s2n_strerror(i32 noundef %5088, ptr noundef nonnull @.str.4) #13
  %5090 = load i32, ptr %323, align 4, !tbaa !5
  %5091 = call ptr @s2n_strerror_debug(i32 noundef %5090, ptr noundef nonnull @.str.4) #13
  %5092 = load i32, ptr %377, align 4, !tbaa !5
  %5093 = call ptr @strerror(i32 noundef %5092) #13
  %5094 = load i32, ptr %377, align 4, !tbaa !5
  %5095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5086, ptr noundef nonnull %.str.5.sink3819, i32 noundef %5087, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 710, ptr noundef %5089, ptr noundef %5091, ptr noundef %5093, i32 noundef %5094) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5096:                                             ; preds = %5069
  %5097 = load i32, ptr @test_count, align 4, !tbaa !5
  %5098 = add nsw i32 %5097, 1
  store i32 %5098, ptr @test_count, align 4, !tbaa !5
  %5099 = call i32 @s2n_config_free(ptr noundef nonnull %4741) #13
  %5100 = icmp eq i32 %5099, -1
  br i1 %5100, label %5101, label %5123

5101:                                             ; preds = %5096
  %5102 = load i32, ptr %377, align 4, !tbaa !5
  %5103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5104 = call i32 @s2n_print_stacktrace(ptr noundef %5103) #13
  %5105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5106 = trunc nuw i8 %5105 to i1
  br i1 %5106, label %5107, label %5111

5107:                                             ; preds = %5101
  %5108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5109 = call i32 @fileno(ptr noundef %5108) #13
  %5110 = call i32 @isatty(i32 noundef %5109) #13
  %.not2138 = icmp eq i32 %5110, 0
  br i1 %.not2138, label %5111, label %5112

5111:                                             ; preds = %5107, %5101
  br label %5112

5112:                                             ; preds = %5107, %5111
  %.str.5.sink3828 = phi ptr [ @.str.5, %5111 ], [ @.str.2, %5107 ]
  store i32 %5102, ptr %377, align 4, !tbaa !5
  %5113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5114 = load i32, ptr @test_count, align 4, !tbaa !5
  %5115 = load i32, ptr %323, align 4, !tbaa !5
  %5116 = call ptr @s2n_strerror(i32 noundef %5115, ptr noundef nonnull @.str.4) #13
  %5117 = load i32, ptr %323, align 4, !tbaa !5
  %5118 = call ptr @s2n_strerror_debug(i32 noundef %5117, ptr noundef nonnull @.str.4) #13
  %5119 = load i32, ptr %377, align 4, !tbaa !5
  %5120 = call ptr @strerror(i32 noundef %5119) #13
  %5121 = load i32, ptr %377, align 4, !tbaa !5
  %5122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5113, ptr noundef nonnull %.str.5.sink3828, i32 noundef %5114, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 711, ptr noundef %5116, ptr noundef %5118, ptr noundef %5120, i32 noundef %5121) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5123:                                             ; preds = %5096
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %58) #13
  %5124 = call i32 @s2n_stuffer_free(ptr noundef nonnull %57) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %57) #13
  %5125 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %5126 = load i32, ptr @test_count, align 4, !tbaa !5
  %5127 = add nsw i32 %5126, 1
  store i32 %5127, ptr @test_count, align 4, !tbaa !5
  %5128 = icmp eq ptr %5125, null
  br i1 %5128, label %5129, label %5151

5129:                                             ; preds = %5123
  %5130 = load i32, ptr %377, align 4, !tbaa !5
  %5131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5132 = call i32 @s2n_print_stacktrace(ptr noundef %5131) #13
  %5133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5134 = trunc nuw i8 %5133 to i1
  br i1 %5134, label %5135, label %5139

5135:                                             ; preds = %5129
  %5136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5137 = call i32 @fileno(ptr noundef %5136) #13
  %5138 = call i32 @isatty(i32 noundef %5137) #13
  %.not2137 = icmp eq i32 %5138, 0
  br i1 %.not2137, label %5139, label %5140

5139:                                             ; preds = %5135, %5129
  br label %5140

5140:                                             ; preds = %5135, %5139
  %.str.5.sink3837 = phi ptr [ @.str.5, %5139 ], [ @.str.2, %5135 ]
  store i32 %5130, ptr %377, align 4, !tbaa !5
  %5141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5142 = load i32, ptr @test_count, align 4, !tbaa !5
  %5143 = load i32, ptr %323, align 4, !tbaa !5
  %5144 = call ptr @s2n_strerror(i32 noundef %5143, ptr noundef nonnull @.str.4) #13
  %5145 = load i32, ptr %323, align 4, !tbaa !5
  %5146 = call ptr @s2n_strerror_debug(i32 noundef %5145, ptr noundef nonnull @.str.4) #13
  %5147 = load i32, ptr %377, align 4, !tbaa !5
  %5148 = call ptr @strerror(i32 noundef %5147) #13
  %5149 = load i32, ptr %377, align 4, !tbaa !5
  %5150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5141, ptr noundef nonnull %.str.5.sink3837, i32 noundef %5142, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 717, ptr noundef %5144, ptr noundef %5146, ptr noundef %5148, i32 noundef %5149) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5151:                                             ; preds = %5123
  %5152 = call ptr @s2n_config_new() #13
  %5153 = load i32, ptr @test_count, align 4, !tbaa !5
  %5154 = add nsw i32 %5153, 1
  store i32 %5154, ptr @test_count, align 4, !tbaa !5
  %5155 = icmp eq ptr %5152, null
  br i1 %5155, label %5156, label %5178

5156:                                             ; preds = %5151
  %5157 = load i32, ptr %377, align 4, !tbaa !5
  %5158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5159 = call i32 @s2n_print_stacktrace(ptr noundef %5158) #13
  %5160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5161 = trunc nuw i8 %5160 to i1
  br i1 %5161, label %5162, label %5166

5162:                                             ; preds = %5156
  %5163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5164 = call i32 @fileno(ptr noundef %5163) #13
  %5165 = call i32 @isatty(i32 noundef %5164) #13
  %.not2136 = icmp eq i32 %5165, 0
  br i1 %.not2136, label %5166, label %5167

5166:                                             ; preds = %5162, %5156
  br label %5167

5167:                                             ; preds = %5162, %5166
  %.str.5.sink3846 = phi ptr [ @.str.5, %5166 ], [ @.str.2, %5162 ]
  store i32 %5157, ptr %377, align 4, !tbaa !5
  %5168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5169 = load i32, ptr @test_count, align 4, !tbaa !5
  %5170 = load i32, ptr %323, align 4, !tbaa !5
  %5171 = call ptr @s2n_strerror(i32 noundef %5170, ptr noundef nonnull @.str.4) #13
  %5172 = load i32, ptr %323, align 4, !tbaa !5
  %5173 = call ptr @s2n_strerror_debug(i32 noundef %5172, ptr noundef nonnull @.str.4) #13
  %5174 = load i32, ptr %377, align 4, !tbaa !5
  %5175 = call ptr @strerror(i32 noundef %5174) #13
  %5176 = load i32, ptr %377, align 4, !tbaa !5
  %5177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5168, ptr noundef nonnull %.str.5.sink3846, i32 noundef %5169, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 720, ptr noundef %5171, ptr noundef %5173, ptr noundef %5175, i32 noundef %5176) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5178:                                             ; preds = %5151
  %5179 = add nsw i32 %5153, 2
  store i32 %5179, ptr @test_count, align 4, !tbaa !5
  %5180 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %5152) #13
  %5181 = call zeroext i1 @s2n_result_is_ok(i32 %5180)
  br i1 %5181, label %5204, label %5182

5182:                                             ; preds = %5178
  %5183 = load i32, ptr %377, align 4, !tbaa !5
  %5184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5185 = call i32 @s2n_print_stacktrace(ptr noundef %5184) #13
  %5186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5187 = trunc nuw i8 %5186 to i1
  br i1 %5187, label %5188, label %5192

5188:                                             ; preds = %5182
  %5189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5190 = call i32 @fileno(ptr noundef %5189) #13
  %5191 = call i32 @isatty(i32 noundef %5190) #13
  %.not1743 = icmp eq i32 %5191, 0
  br i1 %.not1743, label %5192, label %5193

5192:                                             ; preds = %5188, %5182
  br label %5193

5193:                                             ; preds = %5188, %5192
  %.str.5.sink3855 = phi ptr [ @.str.5, %5192 ], [ @.str.2, %5188 ]
  store i32 %5183, ptr %377, align 4, !tbaa !5
  %5194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5195 = load i32, ptr @test_count, align 4, !tbaa !5
  %5196 = load i32, ptr %323, align 4, !tbaa !5
  %5197 = call ptr @s2n_strerror(i32 noundef %5196, ptr noundef nonnull @.str.4) #13
  %5198 = load i32, ptr %323, align 4, !tbaa !5
  %5199 = call ptr @s2n_strerror_debug(i32 noundef %5198, ptr noundef nonnull @.str.4) #13
  %5200 = load i32, ptr %377, align 4, !tbaa !5
  %5201 = call ptr @strerror(i32 noundef %5200) #13
  %5202 = load i32, ptr %377, align 4, !tbaa !5
  %5203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5194, ptr noundef nonnull %.str.5.sink3855, i32 noundef %5195, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 721, ptr noundef %5197, ptr noundef %5199, ptr noundef %5201, i32 noundef %5202) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5204:                                             ; preds = %5178
  %5205 = load i32, ptr @test_count, align 4, !tbaa !5
  %5206 = add nsw i32 %5205, 1
  store i32 %5206, ptr @test_count, align 4, !tbaa !5
  %5207 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5125, ptr noundef nonnull %5152) #13
  %5208 = icmp eq i32 %5207, -1
  br i1 %5208, label %5209, label %5231

5209:                                             ; preds = %5204
  %5210 = load i32, ptr %377, align 4, !tbaa !5
  %5211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5212 = call i32 @s2n_print_stacktrace(ptr noundef %5211) #13
  %5213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5214 = trunc nuw i8 %5213 to i1
  br i1 %5214, label %5215, label %5219

5215:                                             ; preds = %5209
  %5216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5217 = call i32 @fileno(ptr noundef %5216) #13
  %5218 = call i32 @isatty(i32 noundef %5217) #13
  %.not2135 = icmp eq i32 %5218, 0
  br i1 %.not2135, label %5219, label %5220

5219:                                             ; preds = %5215, %5209
  br label %5220

5220:                                             ; preds = %5215, %5219
  %.str.5.sink3864 = phi ptr [ @.str.5, %5219 ], [ @.str.2, %5215 ]
  store i32 %5210, ptr %377, align 4, !tbaa !5
  %5221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5222 = load i32, ptr @test_count, align 4, !tbaa !5
  %5223 = load i32, ptr %323, align 4, !tbaa !5
  %5224 = call ptr @s2n_strerror(i32 noundef %5223, ptr noundef nonnull @.str.4) #13
  %5225 = load i32, ptr %323, align 4, !tbaa !5
  %5226 = call ptr @s2n_strerror_debug(i32 noundef %5225, ptr noundef nonnull @.str.4) #13
  %5227 = load i32, ptr %377, align 4, !tbaa !5
  %5228 = call ptr @strerror(i32 noundef %5227) #13
  %5229 = load i32, ptr %377, align 4, !tbaa !5
  %5230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5221, ptr noundef nonnull %.str.5.sink3864, i32 noundef %5222, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 722, ptr noundef %5224, ptr noundef %5226, ptr noundef %5228, i32 noundef %5229) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5231:                                             ; preds = %5204
  %5232 = getelementptr inbounds i8, ptr %5125, i64 220
  store i8 34, ptr %5232, align 4, !tbaa !45
  %5233 = getelementptr inbounds i8, ptr %5125, i64 232
  %5234 = load ptr, ptr %5233, align 8, !tbaa !46
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5234, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %59) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %59, i8 0, i64 40, i1 false)
  %5235 = load i32, ptr @test_count, align 4, !tbaa !5
  %5236 = add nsw i32 %5235, 1
  store i32 %5236, ptr @test_count, align 4, !tbaa !5
  %5237 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %59, i32 noundef 0) #13
  %5238 = icmp eq i32 %5237, -1
  br i1 %5238, label %5239, label %5261

5239:                                             ; preds = %5231
  %5240 = load i32, ptr %377, align 4, !tbaa !5
  %5241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5242 = call i32 @s2n_print_stacktrace(ptr noundef %5241) #13
  %5243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5244 = trunc nuw i8 %5243 to i1
  br i1 %5244, label %5245, label %5249

5245:                                             ; preds = %5239
  %5246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5247 = call i32 @fileno(ptr noundef %5246) #13
  %5248 = call i32 @isatty(i32 noundef %5247) #13
  %.not2134 = icmp eq i32 %5248, 0
  br i1 %.not2134, label %5249, label %5250

5249:                                             ; preds = %5245, %5239
  br label %5250

5250:                                             ; preds = %5245, %5249
  %.str.5.sink3873 = phi ptr [ @.str.5, %5249 ], [ @.str.2, %5245 ]
  store i32 %5240, ptr %377, align 4, !tbaa !5
  %5251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5252 = load i32, ptr @test_count, align 4, !tbaa !5
  %5253 = load i32, ptr %323, align 4, !tbaa !5
  %5254 = call ptr @s2n_strerror(i32 noundef %5253, ptr noundef nonnull @.str.4) #13
  %5255 = load i32, ptr %323, align 4, !tbaa !5
  %5256 = call ptr @s2n_strerror_debug(i32 noundef %5255, ptr noundef nonnull @.str.4) #13
  %5257 = load i32, ptr %377, align 4, !tbaa !5
  %5258 = call ptr @strerror(i32 noundef %5257) #13
  %5259 = load i32, ptr %377, align 4, !tbaa !5
  %5260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5251, ptr noundef nonnull %.str.5.sink3873, i32 noundef %5252, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 728, ptr noundef %5254, ptr noundef %5256, ptr noundef %5258, i32 noundef %5259) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5261:                                             ; preds = %5231
  %5262 = load i32, ptr @test_count, align 4, !tbaa !5
  %5263 = add nsw i32 %5262, 1
  store i32 %5263, ptr @test_count, align 4, !tbaa !5
  %5264 = call i32 @s2n_setup_encrypted_ticket(ptr noundef nonnull %5125, ptr noundef nonnull %59)
  %5265 = call zeroext i1 @s2n_result_is_ok(i32 %5264)
  br i1 %5265, label %5288, label %5266

5266:                                             ; preds = %5261
  %5267 = load i32, ptr %377, align 4, !tbaa !5
  %5268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5269 = call i32 @s2n_print_stacktrace(ptr noundef %5268) #13
  %5270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5271 = trunc nuw i8 %5270 to i1
  br i1 %5271, label %5272, label %5276

5272:                                             ; preds = %5266
  %5273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5274 = call i32 @fileno(ptr noundef %5273) #13
  %5275 = call i32 @isatty(i32 noundef %5274) #13
  %.not1744 = icmp eq i32 %5275, 0
  br i1 %.not1744, label %5276, label %5277

5276:                                             ; preds = %5272, %5266
  br label %5277

5277:                                             ; preds = %5272, %5276
  %.str.5.sink3882 = phi ptr [ @.str.5, %5276 ], [ @.str.2, %5272 ]
  store i32 %5267, ptr %377, align 4, !tbaa !5
  %5278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5279 = load i32, ptr @test_count, align 4, !tbaa !5
  %5280 = load i32, ptr %323, align 4, !tbaa !5
  %5281 = call ptr @s2n_strerror(i32 noundef %5280, ptr noundef nonnull @.str.4) #13
  %5282 = load i32, ptr %323, align 4, !tbaa !5
  %5283 = call ptr @s2n_strerror_debug(i32 noundef %5282, ptr noundef nonnull @.str.4) #13
  %5284 = load i32, ptr %377, align 4, !tbaa !5
  %5285 = call ptr @strerror(i32 noundef %5284) #13
  %5286 = load i32, ptr %377, align 4, !tbaa !5
  %5287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5278, ptr noundef nonnull %.str.5.sink3882, i32 noundef %5279, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 729, ptr noundef %5281, ptr noundef %5283, ptr noundef %5285, i32 noundef %5286) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5288:                                             ; preds = %5261
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %60) #13
  %5289 = getelementptr inbounds i8, ptr %60, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %5289, i8 0, i64 48, i1 false)
  store ptr %5125, ptr %60, align 8, !tbaa !80
  %5290 = load i32, ptr @test_count, align 4, !tbaa !5
  %5291 = add nsw i32 %5290, 1
  store i32 %5291, ptr @test_count, align 4, !tbaa !5
  %5292 = getelementptr inbounds i8, ptr %60, i64 8
  %5293 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %5292, i32 noundef 0) #13
  %5294 = icmp eq i32 %5293, -1
  br i1 %5294, label %5295, label %5317

5295:                                             ; preds = %5288
  %5296 = load i32, ptr %377, align 4, !tbaa !5
  %5297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5298 = call i32 @s2n_print_stacktrace(ptr noundef %5297) #13
  %5299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5300 = trunc nuw i8 %5299 to i1
  br i1 %5300, label %5301, label %5305

5301:                                             ; preds = %5295
  %5302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5303 = call i32 @fileno(ptr noundef %5302) #13
  %5304 = call i32 @isatty(i32 noundef %5303) #13
  %.not2133 = icmp eq i32 %5304, 0
  br i1 %.not2133, label %5305, label %5306

5305:                                             ; preds = %5301, %5295
  br label %5306

5306:                                             ; preds = %5301, %5305
  %.str.5.sink3891 = phi ptr [ @.str.5, %5305 ], [ @.str.2, %5301 ]
  store i32 %5296, ptr %377, align 4, !tbaa !5
  %5307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5308 = load i32, ptr @test_count, align 4, !tbaa !5
  %5309 = load i32, ptr %323, align 4, !tbaa !5
  %5310 = call ptr @s2n_strerror(i32 noundef %5309, ptr noundef nonnull @.str.4) #13
  %5311 = load i32, ptr %323, align 4, !tbaa !5
  %5312 = call ptr @s2n_strerror_debug(i32 noundef %5311, ptr noundef nonnull @.str.4) #13
  %5313 = load i32, ptr %377, align 4, !tbaa !5
  %5314 = call ptr @strerror(i32 noundef %5313) #13
  %5315 = load i32, ptr %377, align 4, !tbaa !5
  %5316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5307, ptr noundef nonnull %.str.5.sink3891, i32 noundef %5308, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 732, ptr noundef %5310, ptr noundef %5312, ptr noundef %5314, i32 noundef %5315) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5317:                                             ; preds = %5288
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %61) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %61, ptr noundef nonnull align 1 dereferenceable(6) @__const.main.bad_identity_data, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %62) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %62, i8 0, i64 24, i1 false)
  %5318 = load i32, ptr @test_count, align 4, !tbaa !5
  %5319 = add nsw i32 %5318, 1
  store i32 %5319, ptr @test_count, align 4, !tbaa !5
  %5320 = call i32 @s2n_blob_init(ptr noundef nonnull %62, ptr noundef nonnull %61, i32 noundef 6) #13
  %5321 = icmp eq i32 %5320, -1
  br i1 %5321, label %5326, label %.preheader2257.preheader

.preheader2257.preheader:                         ; preds = %5317
  %5322 = load i32, ptr @test_count, align 4, !tbaa !5
  %5323 = add nsw i32 %5322, 1
  store i32 %5323, ptr @test_count, align 4, !tbaa !5
  %5324 = call i32 @s2n_write_test_identity(ptr noundef nonnull %5292, ptr noundef nonnull %62)
  %5325 = call zeroext i1 @s2n_result_is_ok(i32 %5324)
  br i1 %5325, label %.preheader2257.1, label %5357

5326:                                             ; preds = %5317
  %5327 = load i32, ptr %377, align 4, !tbaa !5
  %5328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5329 = call i32 @s2n_print_stacktrace(ptr noundef %5328) #13
  %5330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5331 = trunc nuw i8 %5330 to i1
  br i1 %5331, label %5332, label %5336

5332:                                             ; preds = %5326
  %5333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5334 = call i32 @fileno(ptr noundef %5333) #13
  %5335 = call i32 @isatty(i32 noundef %5334) #13
  %.not2132 = icmp eq i32 %5335, 0
  br i1 %.not2132, label %5336, label %5337

5336:                                             ; preds = %5332, %5326
  br label %5337

5337:                                             ; preds = %5332, %5336
  %.str.5.sink3900 = phi ptr [ @.str.5, %5336 ], [ @.str.2, %5332 ]
  store i32 %5327, ptr %377, align 4, !tbaa !5
  %5338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5339 = load i32, ptr @test_count, align 4, !tbaa !5
  %5340 = load i32, ptr %323, align 4, !tbaa !5
  %5341 = call ptr @s2n_strerror(i32 noundef %5340, ptr noundef nonnull @.str.4) #13
  %5342 = load i32, ptr %323, align 4, !tbaa !5
  %5343 = call ptr @s2n_strerror_debug(i32 noundef %5342, ptr noundef nonnull @.str.4) #13
  %5344 = load i32, ptr %377, align 4, !tbaa !5
  %5345 = call ptr @strerror(i32 noundef %5344) #13
  %5346 = load i32, ptr %377, align 4, !tbaa !5
  %5347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5338, ptr noundef nonnull %.str.5.sink3900, i32 noundef %5339, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %5341, ptr noundef %5343, ptr noundef %5345, i32 noundef %5346) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader2257.1:                                 ; preds = %.preheader2257.preheader
  %5348 = load i32, ptr @test_count, align 4, !tbaa !5
  %5349 = add nsw i32 %5348, 1
  store i32 %5349, ptr @test_count, align 4, !tbaa !5
  %5350 = call i32 @s2n_write_test_identity(ptr noundef nonnull %5292, ptr noundef nonnull %62)
  %5351 = call zeroext i1 @s2n_result_is_ok(i32 %5350)
  br i1 %5351, label %5352, label %5357

5352:                                             ; preds = %.preheader2257.1
  %5353 = load i32, ptr @test_count, align 4, !tbaa !5
  %5354 = add nsw i32 %5353, 1
  store i32 %5354, ptr @test_count, align 4, !tbaa !5
  %5355 = call i32 @s2n_write_test_identity(ptr noundef nonnull %5292, ptr noundef nonnull %59)
  %5356 = call zeroext i1 @s2n_result_is_ok(i32 %5355)
  br i1 %5356, label %5401, label %5379

5357:                                             ; preds = %.preheader2257.1, %.preheader2257.preheader
  %5358 = load i32, ptr %377, align 4, !tbaa !5
  %5359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5360 = call i32 @s2n_print_stacktrace(ptr noundef %5359) #13
  %5361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5362 = trunc nuw i8 %5361 to i1
  br i1 %5362, label %5363, label %5367

5363:                                             ; preds = %5357
  %5364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5365 = call i32 @fileno(ptr noundef %5364) #13
  %5366 = call i32 @isatty(i32 noundef %5365) #13
  %.not2131 = icmp eq i32 %5366, 0
  br i1 %.not2131, label %5367, label %5368

5367:                                             ; preds = %5363, %5357
  br label %5368

5368:                                             ; preds = %5363, %5367
  %.str.5.sink3909 = phi ptr [ @.str.5, %5367 ], [ @.str.2, %5363 ]
  store i32 %5358, ptr %377, align 4, !tbaa !5
  %5369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5370 = load i32, ptr @test_count, align 4, !tbaa !5
  %5371 = load i32, ptr %323, align 4, !tbaa !5
  %5372 = call ptr @s2n_strerror(i32 noundef %5371, ptr noundef nonnull @.str.4) #13
  %5373 = load i32, ptr %323, align 4, !tbaa !5
  %5374 = call ptr @s2n_strerror_debug(i32 noundef %5373, ptr noundef nonnull @.str.4) #13
  %5375 = load i32, ptr %377, align 4, !tbaa !5
  %5376 = call ptr @strerror(i32 noundef %5375) #13
  %5377 = load i32, ptr %377, align 4, !tbaa !5
  %5378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5369, ptr noundef nonnull %.str.5.sink3909, i32 noundef %5370, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 741, ptr noundef %5372, ptr noundef %5374, ptr noundef %5376, i32 noundef %5377) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5379:                                             ; preds = %5352
  %5380 = load i32, ptr %377, align 4, !tbaa !5
  %5381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5382 = call i32 @s2n_print_stacktrace(ptr noundef %5381) #13
  %5383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5384 = trunc nuw i8 %5383 to i1
  br i1 %5384, label %5385, label %5389

5385:                                             ; preds = %5379
  %5386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5387 = call i32 @fileno(ptr noundef %5386) #13
  %5388 = call i32 @isatty(i32 noundef %5387) #13
  %.not1745 = icmp eq i32 %5388, 0
  br i1 %.not1745, label %5389, label %5390

5389:                                             ; preds = %5385, %5379
  br label %5390

5390:                                             ; preds = %5385, %5389
  %.str.5.sink3918 = phi ptr [ @.str.5, %5389 ], [ @.str.2, %5385 ]
  store i32 %5380, ptr %377, align 4, !tbaa !5
  %5391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5392 = load i32, ptr @test_count, align 4, !tbaa !5
  %5393 = load i32, ptr %323, align 4, !tbaa !5
  %5394 = call ptr @s2n_strerror(i32 noundef %5393, ptr noundef nonnull @.str.4) #13
  %5395 = load i32, ptr %323, align 4, !tbaa !5
  %5396 = call ptr @s2n_strerror_debug(i32 noundef %5395, ptr noundef nonnull @.str.4) #13
  %5397 = load i32, ptr %377, align 4, !tbaa !5
  %5398 = call ptr @strerror(i32 noundef %5397) #13
  %5399 = load i32, ptr %377, align 4, !tbaa !5
  %5400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5391, ptr noundef nonnull %.str.5.sink3918, i32 noundef %5392, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 745, ptr noundef %5394, ptr noundef %5396, ptr noundef %5398, i32 noundef %5399) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5401:                                             ; preds = %5352
  %5402 = load i32, ptr @test_count, align 4, !tbaa !5
  %5403 = add nsw i32 %5402, 1
  store i32 %5403, ptr @test_count, align 4, !tbaa !5
  %5404 = call i32 @s2n_write_test_identity(ptr noundef nonnull %5292, ptr noundef nonnull %59)
  %5405 = call zeroext i1 @s2n_result_is_ok(i32 %5404)
  br i1 %5405, label %5428, label %5406

5406:                                             ; preds = %5401
  %5407 = load i32, ptr %377, align 4, !tbaa !5
  %5408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5409 = call i32 @s2n_print_stacktrace(ptr noundef %5408) #13
  %5410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5411 = trunc nuw i8 %5410 to i1
  br i1 %5411, label %5412, label %5416

5412:                                             ; preds = %5406
  %5413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5414 = call i32 @fileno(ptr noundef %5413) #13
  %5415 = call i32 @isatty(i32 noundef %5414) #13
  %.not1746 = icmp eq i32 %5415, 0
  br i1 %.not1746, label %5416, label %5417

5416:                                             ; preds = %5412, %5406
  br label %5417

5417:                                             ; preds = %5412, %5416
  %.str.5.sink3927 = phi ptr [ @.str.5, %5416 ], [ @.str.2, %5412 ]
  store i32 %5407, ptr %377, align 4, !tbaa !5
  %5418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5419 = load i32, ptr @test_count, align 4, !tbaa !5
  %5420 = load i32, ptr %323, align 4, !tbaa !5
  %5421 = call ptr @s2n_strerror(i32 noundef %5420, ptr noundef nonnull @.str.4) #13
  %5422 = load i32, ptr %323, align 4, !tbaa !5
  %5423 = call ptr @s2n_strerror_debug(i32 noundef %5422, ptr noundef nonnull @.str.4) #13
  %5424 = load i32, ptr %377, align 4, !tbaa !5
  %5425 = call ptr @strerror(i32 noundef %5424) #13
  %5426 = load i32, ptr %377, align 4, !tbaa !5
  %5427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5418, ptr noundef nonnull %.str.5.sink3927, i32 noundef %5419, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 748, ptr noundef %5421, ptr noundef %5423, ptr noundef %5425, i32 noundef %5426) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5428:                                             ; preds = %5401
  %5429 = load i32, ptr @test_count, align 4, !tbaa !5
  %5430 = add nsw i32 %5429, 1
  store i32 %5430, ptr @test_count, align 4, !tbaa !5
  %5431 = call i32 @s2n_select_resumption_psk(ptr noundef nonnull %5125, ptr noundef nonnull %60)
  %5432 = call zeroext i1 @s2n_result_is_ok(i32 %5431)
  br i1 %5432, label %5455, label %5433

5433:                                             ; preds = %5428
  %5434 = load i32, ptr %377, align 4, !tbaa !5
  %5435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5436 = call i32 @s2n_print_stacktrace(ptr noundef %5435) #13
  %5437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5438 = trunc nuw i8 %5437 to i1
  br i1 %5438, label %5439, label %5443

5439:                                             ; preds = %5433
  %5440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5441 = call i32 @fileno(ptr noundef %5440) #13
  %5442 = call i32 @isatty(i32 noundef %5441) #13
  %.not1747 = icmp eq i32 %5442, 0
  br i1 %.not1747, label %5443, label %5444

5443:                                             ; preds = %5439, %5433
  br label %5444

5444:                                             ; preds = %5439, %5443
  %.str.5.sink3936 = phi ptr [ @.str.5, %5443 ], [ @.str.2, %5439 ]
  store i32 %5434, ptr %377, align 4, !tbaa !5
  %5445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5446 = load i32, ptr @test_count, align 4, !tbaa !5
  %5447 = load i32, ptr %323, align 4, !tbaa !5
  %5448 = call ptr @s2n_strerror(i32 noundef %5447, ptr noundef nonnull @.str.4) #13
  %5449 = load i32, ptr %323, align 4, !tbaa !5
  %5450 = call ptr @s2n_strerror_debug(i32 noundef %5449, ptr noundef nonnull @.str.4) #13
  %5451 = load i32, ptr %377, align 4, !tbaa !5
  %5452 = call ptr @strerror(i32 noundef %5451) #13
  %5453 = load i32, ptr %377, align 4, !tbaa !5
  %5454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5445, ptr noundef nonnull %.str.5.sink3936, i32 noundef %5446, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 750, ptr noundef %5448, ptr noundef %5450, ptr noundef %5452, i32 noundef %5453) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5455:                                             ; preds = %5428
  %5456 = load i32, ptr @test_count, align 4, !tbaa !5
  %5457 = add nsw i32 %5456, 1
  store i32 %5457, ptr @test_count, align 4, !tbaa !5
  %5458 = getelementptr inbounds i8, ptr %5125, i64 1730
  %5459 = load i16, ptr %5458, align 2, !tbaa !87
  %5460 = icmp eq i16 %5459, 2
  br i1 %5460, label %5483, label %5461

5461:                                             ; preds = %5455
  %5462 = load i32, ptr %377, align 4, !tbaa !5
  %5463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5464 = call i32 @s2n_print_stacktrace(ptr noundef %5463) #13
  %5465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5466 = trunc nuw i8 %5465 to i1
  br i1 %5466, label %5467, label %5471

5467:                                             ; preds = %5461
  %5468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5469 = call i32 @fileno(ptr noundef %5468) #13
  %5470 = call i32 @isatty(i32 noundef %5469) #13
  %.not1748 = icmp eq i32 %5470, 0
  br i1 %.not1748, label %5471, label %5472

5471:                                             ; preds = %5467, %5461
  br label %5472

5472:                                             ; preds = %5467, %5471
  %.str.5.sink3945 = phi ptr [ @.str.5, %5471 ], [ @.str.2, %5467 ]
  store i32 %5462, ptr %377, align 4, !tbaa !5
  %5473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5474 = load i32, ptr @test_count, align 4, !tbaa !5
  %5475 = load i32, ptr %323, align 4, !tbaa !5
  %5476 = call ptr @s2n_strerror(i32 noundef %5475, ptr noundef nonnull @.str.4) #13
  %5477 = load i32, ptr %323, align 4, !tbaa !5
  %5478 = call ptr @s2n_strerror_debug(i32 noundef %5477, ptr noundef nonnull @.str.4) #13
  %5479 = load i32, ptr %377, align 4, !tbaa !5
  %5480 = call ptr @strerror(i32 noundef %5479) #13
  %5481 = load i32, ptr %377, align 4, !tbaa !5
  %5482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5473, ptr noundef nonnull %.str.5.sink3945, i32 noundef %5474, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 752, ptr noundef %5476, ptr noundef %5478, ptr noundef %5480, i32 noundef %5481) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5483:                                             ; preds = %5455
  %5484 = add nsw i32 %5456, 2
  store i32 %5484, ptr @test_count, align 4, !tbaa !5
  %5485 = getelementptr inbounds i8, ptr %5125, i64 1736
  %5486 = load ptr, ptr %5485, align 8, !tbaa !88
  %5487 = icmp eq ptr %5486, null
  br i1 %5487, label %5488, label %5510

5488:                                             ; preds = %5483
  %5489 = load i32, ptr %377, align 4, !tbaa !5
  %5490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5491 = call i32 @s2n_print_stacktrace(ptr noundef %5490) #13
  %5492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5493 = trunc nuw i8 %5492 to i1
  br i1 %5493, label %5494, label %5498

5494:                                             ; preds = %5488
  %5495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5496 = call i32 @fileno(ptr noundef %5495) #13
  %5497 = call i32 @isatty(i32 noundef %5496) #13
  %.not2130 = icmp eq i32 %5497, 0
  br i1 %.not2130, label %5498, label %5499

5498:                                             ; preds = %5494, %5488
  br label %5499

5499:                                             ; preds = %5494, %5498
  %.str.5.sink3954 = phi ptr [ @.str.5, %5498 ], [ @.str.2, %5494 ]
  store i32 %5489, ptr %377, align 4, !tbaa !5
  %5500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5501 = load i32, ptr @test_count, align 4, !tbaa !5
  %5502 = load i32, ptr %323, align 4, !tbaa !5
  %5503 = call ptr @s2n_strerror(i32 noundef %5502, ptr noundef nonnull @.str.4) #13
  %5504 = load i32, ptr %323, align 4, !tbaa !5
  %5505 = call ptr @s2n_strerror_debug(i32 noundef %5504, ptr noundef nonnull @.str.4) #13
  %5506 = load i32, ptr %377, align 4, !tbaa !5
  %5507 = call ptr @strerror(i32 noundef %5506) #13
  %5508 = load i32, ptr %377, align 4, !tbaa !5
  %5509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5500, ptr noundef nonnull %.str.5.sink3954, i32 noundef %5501, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 753, ptr noundef %5503, ptr noundef %5505, ptr noundef %5507, i32 noundef %5508) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5510:                                             ; preds = %5483
  %5511 = add nsw i32 %5456, 3
  store i32 %5511, ptr @test_count, align 4, !tbaa !5
  %5512 = getelementptr inbounds i8, ptr %5486, i64 56
  %5513 = load i32, ptr %5512, align 8, !tbaa !55
  %5514 = load i32, ptr getelementptr inbounds (i8, ptr @s2n_tls13_aes_128_gcm_sha256, i64 96), align 8, !tbaa !52
  %5515 = icmp eq i32 %5513, %5514
  br i1 %5515, label %5538, label %5516

5516:                                             ; preds = %5510
  %5517 = load i32, ptr %377, align 4, !tbaa !5
  %5518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5519 = call i32 @s2n_print_stacktrace(ptr noundef %5518) #13
  %5520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5521 = trunc nuw i8 %5520 to i1
  br i1 %5521, label %5522, label %5526

5522:                                             ; preds = %5516
  %5523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5524 = call i32 @fileno(ptr noundef %5523) #13
  %5525 = call i32 @isatty(i32 noundef %5524) #13
  %.not1749 = icmp eq i32 %5525, 0
  br i1 %.not1749, label %5526, label %5527

5526:                                             ; preds = %5522, %5516
  br label %5527

5527:                                             ; preds = %5522, %5526
  %.str.5.sink3963 = phi ptr [ @.str.5, %5526 ], [ @.str.2, %5522 ]
  store i32 %5517, ptr %377, align 4, !tbaa !5
  %5528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5529 = load i32, ptr @test_count, align 4, !tbaa !5
  %5530 = load i32, ptr %323, align 4, !tbaa !5
  %5531 = call ptr @s2n_strerror(i32 noundef %5530, ptr noundef nonnull @.str.4) #13
  %5532 = load i32, ptr %323, align 4, !tbaa !5
  %5533 = call ptr @s2n_strerror_debug(i32 noundef %5532, ptr noundef nonnull @.str.4) #13
  %5534 = load i32, ptr %377, align 4, !tbaa !5
  %5535 = call ptr @strerror(i32 noundef %5534) #13
  %5536 = load i32, ptr %377, align 4, !tbaa !5
  %5537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5528, ptr noundef nonnull %.str.5.sink3963, i32 noundef %5529, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 756, ptr noundef %5531, ptr noundef %5533, ptr noundef %5535, i32 noundef %5536) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5538:                                             ; preds = %5510
  %5539 = add nsw i32 %5456, 4
  store i32 %5539, ptr @test_count, align 4, !tbaa !5
  %5540 = call i32 @s2n_stuffer_free(ptr noundef nonnull %5292) #13
  %5541 = icmp eq i32 %5540, -1
  br i1 %5541, label %5542, label %5564

5542:                                             ; preds = %5538
  %5543 = load i32, ptr %377, align 4, !tbaa !5
  %5544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5545 = call i32 @s2n_print_stacktrace(ptr noundef %5544) #13
  %5546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5547 = trunc nuw i8 %5546 to i1
  br i1 %5547, label %5548, label %5552

5548:                                             ; preds = %5542
  %5549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5550 = call i32 @fileno(ptr noundef %5549) #13
  %5551 = call i32 @isatty(i32 noundef %5550) #13
  %.not2129 = icmp eq i32 %5551, 0
  br i1 %.not2129, label %5552, label %5553

5552:                                             ; preds = %5548, %5542
  br label %5553

5553:                                             ; preds = %5548, %5552
  %.str.5.sink3972 = phi ptr [ @.str.5, %5552 ], [ @.str.2, %5548 ]
  store i32 %5543, ptr %377, align 4, !tbaa !5
  %5554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5555 = load i32, ptr @test_count, align 4, !tbaa !5
  %5556 = load i32, ptr %323, align 4, !tbaa !5
  %5557 = call ptr @s2n_strerror(i32 noundef %5556, ptr noundef nonnull @.str.4) #13
  %5558 = load i32, ptr %323, align 4, !tbaa !5
  %5559 = call ptr @s2n_strerror_debug(i32 noundef %5558, ptr noundef nonnull @.str.4) #13
  %5560 = load i32, ptr %377, align 4, !tbaa !5
  %5561 = call ptr @strerror(i32 noundef %5560) #13
  %5562 = load i32, ptr %377, align 4, !tbaa !5
  %5563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5554, ptr noundef nonnull %.str.5.sink3972, i32 noundef %5555, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 758, ptr noundef %5557, ptr noundef %5559, ptr noundef %5561, i32 noundef %5562) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5564:                                             ; preds = %5538
  %5565 = load i32, ptr @test_count, align 4, !tbaa !5
  %5566 = add nsw i32 %5565, 1
  store i32 %5566, ptr @test_count, align 4, !tbaa !5
  %5567 = call i32 @s2n_connection_free(ptr noundef nonnull %5125) #13
  %5568 = icmp eq i32 %5567, -1
  br i1 %5568, label %5569, label %5591

5569:                                             ; preds = %5564
  %5570 = load i32, ptr %377, align 4, !tbaa !5
  %5571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5572 = call i32 @s2n_print_stacktrace(ptr noundef %5571) #13
  %5573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5574 = trunc nuw i8 %5573 to i1
  br i1 %5574, label %5575, label %5579

5575:                                             ; preds = %5569
  %5576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5577 = call i32 @fileno(ptr noundef %5576) #13
  %5578 = call i32 @isatty(i32 noundef %5577) #13
  %.not2128 = icmp eq i32 %5578, 0
  br i1 %.not2128, label %5579, label %5580

5579:                                             ; preds = %5575, %5569
  br label %5580

5580:                                             ; preds = %5575, %5579
  %.str.5.sink3981 = phi ptr [ @.str.5, %5579 ], [ @.str.2, %5575 ]
  store i32 %5570, ptr %377, align 4, !tbaa !5
  %5581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5582 = load i32, ptr @test_count, align 4, !tbaa !5
  %5583 = load i32, ptr %323, align 4, !tbaa !5
  %5584 = call ptr @s2n_strerror(i32 noundef %5583, ptr noundef nonnull @.str.4) #13
  %5585 = load i32, ptr %323, align 4, !tbaa !5
  %5586 = call ptr @s2n_strerror_debug(i32 noundef %5585, ptr noundef nonnull @.str.4) #13
  %5587 = load i32, ptr %377, align 4, !tbaa !5
  %5588 = call ptr @strerror(i32 noundef %5587) #13
  %5589 = load i32, ptr %377, align 4, !tbaa !5
  %5590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5581, ptr noundef nonnull %.str.5.sink3981, i32 noundef %5582, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 759, ptr noundef %5584, ptr noundef %5586, ptr noundef %5588, i32 noundef %5589) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5591:                                             ; preds = %5564
  %5592 = load i32, ptr @test_count, align 4, !tbaa !5
  %5593 = add nsw i32 %5592, 1
  store i32 %5593, ptr @test_count, align 4, !tbaa !5
  %5594 = call i32 @s2n_config_free(ptr noundef nonnull %5152) #13
  %5595 = icmp eq i32 %5594, -1
  br i1 %5595, label %5596, label %5618

5596:                                             ; preds = %5591
  %5597 = load i32, ptr %377, align 4, !tbaa !5
  %5598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5599 = call i32 @s2n_print_stacktrace(ptr noundef %5598) #13
  %5600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5601 = trunc nuw i8 %5600 to i1
  br i1 %5601, label %5602, label %5606

5602:                                             ; preds = %5596
  %5603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5604 = call i32 @fileno(ptr noundef %5603) #13
  %5605 = call i32 @isatty(i32 noundef %5604) #13
  %.not2127 = icmp eq i32 %5605, 0
  br i1 %.not2127, label %5606, label %5607

5606:                                             ; preds = %5602, %5596
  br label %5607

5607:                                             ; preds = %5602, %5606
  %.str.5.sink3990 = phi ptr [ @.str.5, %5606 ], [ @.str.2, %5602 ]
  store i32 %5597, ptr %377, align 4, !tbaa !5
  %5608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5609 = load i32, ptr @test_count, align 4, !tbaa !5
  %5610 = load i32, ptr %323, align 4, !tbaa !5
  %5611 = call ptr @s2n_strerror(i32 noundef %5610, ptr noundef nonnull @.str.4) #13
  %5612 = load i32, ptr %323, align 4, !tbaa !5
  %5613 = call ptr @s2n_strerror_debug(i32 noundef %5612, ptr noundef nonnull @.str.4) #13
  %5614 = load i32, ptr %377, align 4, !tbaa !5
  %5615 = call ptr @strerror(i32 noundef %5614) #13
  %5616 = load i32, ptr %377, align 4, !tbaa !5
  %5617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5608, ptr noundef nonnull %.str.5.sink3990, i32 noundef %5609, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 760, ptr noundef %5611, ptr noundef %5613, ptr noundef %5615, i32 noundef %5616) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5618:                                             ; preds = %5591
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %62) #13
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %61) #13
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %60) #13
  %5619 = call i32 @s2n_stuffer_free(ptr noundef nonnull %59) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %59) #13
  %5620 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %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 = icmp eq ptr %5620, null
  br i1 %5623, label %5624, label %5646

5624:                                             ; preds = %5618
  %5625 = load i32, ptr %377, align 4, !tbaa !5
  %5626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5627 = call i32 @s2n_print_stacktrace(ptr noundef %5626) #13
  %5628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5629 = trunc nuw i8 %5628 to i1
  br i1 %5629, label %5630, label %5634

5630:                                             ; preds = %5624
  %5631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5632 = call i32 @fileno(ptr noundef %5631) #13
  %5633 = call i32 @isatty(i32 noundef %5632) #13
  %.not2126 = icmp eq i32 %5633, 0
  br i1 %.not2126, label %5634, label %5635

5634:                                             ; preds = %5630, %5624
  br label %5635

5635:                                             ; preds = %5630, %5634
  %.str.5.sink3999 = phi ptr [ @.str.5, %5634 ], [ @.str.2, %5630 ]
  store i32 %5625, ptr %377, align 4, !tbaa !5
  %5636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5637 = load i32, ptr @test_count, align 4, !tbaa !5
  %5638 = load i32, ptr %323, align 4, !tbaa !5
  %5639 = call ptr @s2n_strerror(i32 noundef %5638, ptr noundef nonnull @.str.4) #13
  %5640 = load i32, ptr %323, align 4, !tbaa !5
  %5641 = call ptr @s2n_strerror_debug(i32 noundef %5640, ptr noundef nonnull @.str.4) #13
  %5642 = load i32, ptr %377, align 4, !tbaa !5
  %5643 = call ptr @strerror(i32 noundef %5642) #13
  %5644 = load i32, ptr %377, align 4, !tbaa !5
  %5645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5636, ptr noundef nonnull %.str.5.sink3999, i32 noundef %5637, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 766, ptr noundef %5639, ptr noundef %5641, ptr noundef %5643, i32 noundef %5644) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5646:                                             ; preds = %5618
  %5647 = getelementptr inbounds i8, ptr %5620, i64 220
  store i8 34, ptr %5647, align 4, !tbaa !45
  %5648 = getelementptr inbounds i8, ptr %5620, i64 232
  %5649 = load ptr, ptr %5648, align 8, !tbaa !46
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %5649, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %63) #13
  %5650 = getelementptr inbounds i8, ptr %63, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %5650, i8 0, i64 48, i1 false)
  store ptr %5620, ptr %63, align 8, !tbaa !80
  %5651 = add nsw i32 %5621, 2
  store i32 %5651, ptr @test_count, align 4, !tbaa !5
  %5652 = getelementptr inbounds i8, ptr %63, i64 8
  %5653 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %5652, i32 noundef 0) #13
  %5654 = icmp eq i32 %5653, -1
  br i1 %5654, label %5655, label %5677

5655:                                             ; preds = %5646
  %5656 = load i32, ptr %377, align 4, !tbaa !5
  %5657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5658 = call i32 @s2n_print_stacktrace(ptr noundef %5657) #13
  %5659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5660 = trunc nuw i8 %5659 to i1
  br i1 %5660, label %5661, label %5665

5661:                                             ; preds = %5655
  %5662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5663 = call i32 @fileno(ptr noundef %5662) #13
  %5664 = call i32 @isatty(i32 noundef %5663) #13
  %.not2125 = icmp eq i32 %5664, 0
  br i1 %.not2125, label %5665, label %5666

5665:                                             ; preds = %5661, %5655
  br label %5666

5666:                                             ; preds = %5661, %5665
  %.str.5.sink4008 = phi ptr [ @.str.5, %5665 ], [ @.str.2, %5661 ]
  store i32 %5656, ptr %377, align 4, !tbaa !5
  %5667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5668 = load i32, ptr @test_count, align 4, !tbaa !5
  %5669 = load i32, ptr %323, align 4, !tbaa !5
  %5670 = call ptr @s2n_strerror(i32 noundef %5669, ptr noundef nonnull @.str.4) #13
  %5671 = load i32, ptr %323, align 4, !tbaa !5
  %5672 = call ptr @s2n_strerror_debug(i32 noundef %5671, ptr noundef nonnull @.str.4) #13
  %5673 = load i32, ptr %377, align 4, !tbaa !5
  %5674 = call ptr @strerror(i32 noundef %5673) #13
  %5675 = load i32, ptr %377, align 4, !tbaa !5
  %5676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5667, ptr noundef nonnull %.str.5.sink4008, i32 noundef %5668, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 772, ptr noundef %5670, ptr noundef %5672, ptr noundef %5674, i32 noundef %5675) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5677:                                             ; preds = %5646
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %64) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %64, ptr noundef nonnull align 1 dereferenceable(6) @__const.main.bad_identity_data.111, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %65) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %65, i8 0, i64 24, i1 false)
  %5678 = load i32, ptr @test_count, align 4, !tbaa !5
  %5679 = add nsw i32 %5678, 1
  store i32 %5679, ptr @test_count, align 4, !tbaa !5
  %5680 = call i32 @s2n_blob_init(ptr noundef nonnull %65, ptr noundef nonnull %64, i32 noundef 6) #13
  %5681 = icmp eq i32 %5680, -1
  br i1 %5681, label %5682, label %5704

5682:                                             ; preds = %5677
  %5683 = load i32, ptr %377, align 4, !tbaa !5
  %5684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5685 = call i32 @s2n_print_stacktrace(ptr noundef %5684) #13
  %5686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5687 = trunc nuw i8 %5686 to i1
  br i1 %5687, label %5688, label %5692

5688:                                             ; preds = %5682
  %5689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5690 = call i32 @fileno(ptr noundef %5689) #13
  %5691 = call i32 @isatty(i32 noundef %5690) #13
  %.not2124 = icmp eq i32 %5691, 0
  br i1 %.not2124, label %5692, label %5693

5692:                                             ; preds = %5688, %5682
  br label %5693

5693:                                             ; preds = %5688, %5692
  %.str.5.sink4017 = phi ptr [ @.str.5, %5692 ], [ @.str.2, %5688 ]
  store i32 %5683, ptr %377, align 4, !tbaa !5
  %5694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5695 = load i32, ptr @test_count, align 4, !tbaa !5
  %5696 = load i32, ptr %323, align 4, !tbaa !5
  %5697 = call ptr @s2n_strerror(i32 noundef %5696, ptr noundef nonnull @.str.4) #13
  %5698 = load i32, ptr %323, align 4, !tbaa !5
  %5699 = call ptr @s2n_strerror_debug(i32 noundef %5698, ptr noundef nonnull @.str.4) #13
  %5700 = load i32, ptr %377, align 4, !tbaa !5
  %5701 = call ptr @strerror(i32 noundef %5700) #13
  %5702 = load i32, ptr %377, align 4, !tbaa !5
  %5703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5694, ptr noundef nonnull %.str.5.sink4017, i32 noundef %5695, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 777, ptr noundef %5697, ptr noundef %5699, ptr noundef %5701, i32 noundef %5702) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5704:                                             ; preds = %5677
  %5705 = load i32, ptr @test_count, align 4, !tbaa !5
  %5706 = add nsw i32 %5705, 1
  store i32 %5706, ptr @test_count, align 4, !tbaa !5
  %5707 = call i32 @s2n_write_test_identity(ptr noundef nonnull %5652, ptr noundef nonnull %65)
  %5708 = call zeroext i1 @s2n_result_is_ok(i32 %5707)
  br i1 %5708, label %5731, label %5709

5709:                                             ; preds = %5704
  %5710 = load i32, ptr %377, align 4, !tbaa !5
  %5711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5712 = call i32 @s2n_print_stacktrace(ptr noundef %5711) #13
  %5713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5714 = trunc nuw i8 %5713 to i1
  br i1 %5714, label %5715, label %5719

5715:                                             ; preds = %5709
  %5716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5717 = call i32 @fileno(ptr noundef %5716) #13
  %5718 = call i32 @isatty(i32 noundef %5717) #13
  %.not1750 = icmp eq i32 %5718, 0
  br i1 %.not1750, label %5719, label %5720

5719:                                             ; preds = %5715, %5709
  br label %5720

5720:                                             ; preds = %5715, %5719
  %.str.5.sink4026 = phi ptr [ @.str.5, %5719 ], [ @.str.2, %5715 ]
  store i32 %5710, ptr %377, align 4, !tbaa !5
  %5721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5722 = load i32, ptr @test_count, align 4, !tbaa !5
  %5723 = load i32, ptr %323, align 4, !tbaa !5
  %5724 = call ptr @s2n_strerror(i32 noundef %5723, ptr noundef nonnull @.str.4) #13
  %5725 = load i32, ptr %323, align 4, !tbaa !5
  %5726 = call ptr @s2n_strerror_debug(i32 noundef %5725, ptr noundef nonnull @.str.4) #13
  %5727 = load i32, ptr %377, align 4, !tbaa !5
  %5728 = call ptr @strerror(i32 noundef %5727) #13
  %5729 = load i32, ptr %377, align 4, !tbaa !5
  %5730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5721, ptr noundef nonnull %.str.5.sink4026, i32 noundef %5722, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 778, ptr noundef %5724, ptr noundef %5726, ptr noundef %5728, i32 noundef %5729) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5731:                                             ; preds = %5704
  %5732 = load i32, ptr @test_count, align 4, !tbaa !5
  %5733 = add nsw i32 %5732, 1
  store i32 %5733, ptr @test_count, align 4, !tbaa !5
  %5734 = call i32 @s2n_select_resumption_psk(ptr noundef nonnull %5620, ptr noundef nonnull %63)
  %5735 = call zeroext i1 @s2n_result_is_error(i32 %5734)
  br i1 %5735, label %5758, label %5736

5736:                                             ; preds = %5731
  %5737 = load i32, ptr %377, align 4, !tbaa !5
  %5738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5739 = call i32 @s2n_print_stacktrace(ptr noundef %5738) #13
  %5740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5741 = trunc nuw i8 %5740 to i1
  br i1 %5741, label %5742, label %5746

5742:                                             ; preds = %5736
  %5743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5744 = call i32 @fileno(ptr noundef %5743) #13
  %5745 = call i32 @isatty(i32 noundef %5744) #13
  %.not1751 = icmp eq i32 %5745, 0
  br i1 %.not1751, label %5746, label %5747

5746:                                             ; preds = %5742, %5736
  br label %5747

5747:                                             ; preds = %5742, %5746
  %.str.5.sink4035 = phi ptr [ @.str.5, %5746 ], [ @.str.2, %5742 ]
  store i32 %5737, ptr %377, align 4, !tbaa !5
  %5748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5749 = load i32, ptr @test_count, align 4, !tbaa !5
  %5750 = load i32, ptr %323, align 4, !tbaa !5
  %5751 = call ptr @s2n_strerror(i32 noundef %5750, ptr noundef nonnull @.str.4) #13
  %5752 = load i32, ptr %323, align 4, !tbaa !5
  %5753 = call ptr @s2n_strerror_debug(i32 noundef %5752, ptr noundef nonnull @.str.4) #13
  %5754 = load i32, ptr %377, align 4, !tbaa !5
  %5755 = call ptr @strerror(i32 noundef %5754) #13
  %5756 = load i32, ptr %377, align 4, !tbaa !5
  %5757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5748, ptr noundef nonnull %.str.5.sink4035, i32 noundef %5749, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 780, ptr noundef %5751, ptr noundef %5753, ptr noundef %5755, i32 noundef %5756) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5758:                                             ; preds = %5731
  %5759 = load i32, ptr @test_count, align 4, !tbaa !5
  %5760 = add nsw i32 %5759, 1
  store i32 %5760, ptr @test_count, align 4, !tbaa !5
  %5761 = load i32, ptr %323, align 4, !tbaa !5
  %5762 = icmp eq i32 %5761, 469762110
  br i1 %5762, label %5785, label %5763

5763:                                             ; preds = %5758
  %5764 = load i32, ptr %377, align 4, !tbaa !5
  %5765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5766 = call i32 @s2n_print_stacktrace(ptr noundef %5765) #13
  %5767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5768 = trunc nuw i8 %5767 to i1
  br i1 %5768, label %5769, label %5773

5769:                                             ; preds = %5763
  %5770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5771 = call i32 @fileno(ptr noundef %5770) #13
  %5772 = call i32 @isatty(i32 noundef %5771) #13
  %.not1752 = icmp eq i32 %5772, 0
  br i1 %.not1752, label %5773, label %5774

5773:                                             ; preds = %5769, %5763
  br label %5774

5774:                                             ; preds = %5769, %5773
  %.str.5.sink4044 = phi ptr [ @.str.5, %5773 ], [ @.str.2, %5769 ]
  store i32 %5764, ptr %377, align 4, !tbaa !5
  %5775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5776 = load i32, ptr @test_count, align 4, !tbaa !5
  %5777 = load i32, ptr %323, align 4, !tbaa !5
  %5778 = call ptr @s2n_strerror(i32 noundef %5777, ptr noundef nonnull @.str.4) #13
  %5779 = load i32, ptr %323, align 4, !tbaa !5
  %5780 = call ptr @s2n_strerror_debug(i32 noundef %5779, ptr noundef nonnull @.str.4) #13
  %5781 = load i32, ptr %377, align 4, !tbaa !5
  %5782 = call ptr @strerror(i32 noundef %5781) #13
  %5783 = load i32, ptr %377, align 4, !tbaa !5
  %5784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5775, ptr noundef nonnull %.str.5.sink4044, i32 noundef %5776, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 780, ptr noundef %5778, ptr noundef %5780, ptr noundef %5782, i32 noundef %5783) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5785:                                             ; preds = %5758
  %5786 = add nsw i32 %5759, 2
  store i32 %5786, ptr @test_count, align 4, !tbaa !5
  %5787 = call ptr @s2n_strerror_debug(i32 noundef 469762110, ptr noundef nonnull @.str.4) #13
  %5788 = icmp eq ptr %5787, null
  br i1 %5788, label %5789, label %5811

5789:                                             ; preds = %5785
  %5790 = load i32, ptr %377, align 4, !tbaa !5
  %5791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5792 = call i32 @s2n_print_stacktrace(ptr noundef %5791) #13
  %5793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5794 = trunc nuw i8 %5793 to i1
  br i1 %5794, label %5795, label %5799

5795:                                             ; preds = %5789
  %5796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5797 = call i32 @fileno(ptr noundef %5796) #13
  %5798 = call i32 @isatty(i32 noundef %5797) #13
  %.not2123 = icmp eq i32 %5798, 0
  br i1 %.not2123, label %5799, label %5800

5799:                                             ; preds = %5795, %5789
  br label %5800

5800:                                             ; preds = %5795, %5799
  %.str.5.sink4053 = phi ptr [ @.str.5, %5799 ], [ @.str.2, %5795 ]
  store i32 %5790, ptr %377, align 4, !tbaa !5
  %5801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5802 = load i32, ptr @test_count, align 4, !tbaa !5
  %5803 = load i32, ptr %323, align 4, !tbaa !5
  %5804 = call ptr @s2n_strerror(i32 noundef %5803, ptr noundef nonnull @.str.4) #13
  %5805 = load i32, ptr %323, align 4, !tbaa !5
  %5806 = call ptr @s2n_strerror_debug(i32 noundef %5805, ptr noundef nonnull @.str.4) #13
  %5807 = load i32, ptr %377, align 4, !tbaa !5
  %5808 = call ptr @strerror(i32 noundef %5807) #13
  %5809 = load i32, ptr %377, align 4, !tbaa !5
  %5810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5801, ptr noundef nonnull %.str.5.sink4053, i32 noundef %5802, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 780, ptr noundef %5804, ptr noundef %5806, ptr noundef %5808, i32 noundef %5809) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5811:                                             ; preds = %5785
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %5812 = load i32, ptr @test_count, align 4, !tbaa !5
  %5813 = add nsw i32 %5812, 1
  store i32 %5813, ptr @test_count, align 4, !tbaa !5
  %5814 = getelementptr inbounds i8, ptr %5620, i64 1736
  %5815 = load ptr, ptr %5814, align 8, !tbaa !88
  %5816 = icmp eq ptr %5815, null
  br i1 %5816, label %5839, label %5817

5817:                                             ; preds = %5811
  %5818 = load i32, ptr %377, align 4, !tbaa !5
  %5819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5820 = call i32 @s2n_print_stacktrace(ptr noundef %5819) #13
  %5821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5822 = trunc nuw i8 %5821 to i1
  br i1 %5822, label %5823, label %5827

5823:                                             ; preds = %5817
  %5824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5825 = call i32 @fileno(ptr noundef %5824) #13
  %5826 = call i32 @isatty(i32 noundef %5825) #13
  %.not1753 = icmp eq i32 %5826, 0
  br i1 %.not1753, label %5827, label %5828

5827:                                             ; preds = %5823, %5817
  br label %5828

5828:                                             ; preds = %5823, %5827
  %.str.5.sink4062 = phi ptr [ @.str.5, %5827 ], [ @.str.2, %5823 ]
  store i32 %5818, ptr %377, align 4, !tbaa !5
  %5829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5830 = load i32, ptr @test_count, align 4, !tbaa !5
  %5831 = load i32, ptr %323, align 4, !tbaa !5
  %5832 = call ptr @s2n_strerror(i32 noundef %5831, ptr noundef nonnull @.str.4) #13
  %5833 = load i32, ptr %323, align 4, !tbaa !5
  %5834 = call ptr @s2n_strerror_debug(i32 noundef %5833, ptr noundef nonnull @.str.4) #13
  %5835 = load i32, ptr %377, align 4, !tbaa !5
  %5836 = call ptr @strerror(i32 noundef %5835) #13
  %5837 = load i32, ptr %377, align 4, !tbaa !5
  %5838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5829, ptr noundef nonnull %.str.5.sink4062, i32 noundef %5830, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 781, ptr noundef %5832, ptr noundef %5834, ptr noundef %5836, i32 noundef %5837) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5839:                                             ; preds = %5811
  %5840 = add nsw i32 %5812, 2
  store i32 %5840, ptr @test_count, align 4, !tbaa !5
  %5841 = call i32 @s2n_stuffer_free(ptr noundef nonnull %5652) #13
  %5842 = icmp eq i32 %5841, -1
  br i1 %5842, label %5843, label %5865

5843:                                             ; preds = %5839
  %5844 = load i32, ptr %377, align 4, !tbaa !5
  %5845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5846 = call i32 @s2n_print_stacktrace(ptr noundef %5845) #13
  %5847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5848 = trunc nuw i8 %5847 to i1
  br i1 %5848, label %5849, label %5853

5849:                                             ; preds = %5843
  %5850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5851 = call i32 @fileno(ptr noundef %5850) #13
  %5852 = call i32 @isatty(i32 noundef %5851) #13
  %.not2122 = icmp eq i32 %5852, 0
  br i1 %.not2122, label %5853, label %5854

5853:                                             ; preds = %5849, %5843
  br label %5854

5854:                                             ; preds = %5849, %5853
  %.str.5.sink4071 = phi ptr [ @.str.5, %5853 ], [ @.str.2, %5849 ]
  store i32 %5844, ptr %377, align 4, !tbaa !5
  %5855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5856 = load i32, ptr @test_count, align 4, !tbaa !5
  %5857 = load i32, ptr %323, align 4, !tbaa !5
  %5858 = call ptr @s2n_strerror(i32 noundef %5857, ptr noundef nonnull @.str.4) #13
  %5859 = load i32, ptr %323, align 4, !tbaa !5
  %5860 = call ptr @s2n_strerror_debug(i32 noundef %5859, ptr noundef nonnull @.str.4) #13
  %5861 = load i32, ptr %377, align 4, !tbaa !5
  %5862 = call ptr @strerror(i32 noundef %5861) #13
  %5863 = load i32, ptr %377, align 4, !tbaa !5
  %5864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5855, ptr noundef nonnull %.str.5.sink4071, i32 noundef %5856, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 783, ptr noundef %5858, ptr noundef %5860, ptr noundef %5862, i32 noundef %5863) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5865:                                             ; preds = %5839
  %5866 = load i32, ptr @test_count, align 4, !tbaa !5
  %5867 = add nsw i32 %5866, 1
  store i32 %5867, ptr @test_count, align 4, !tbaa !5
  %5868 = call i32 @s2n_connection_free(ptr noundef nonnull %5620) #13
  %5869 = icmp eq i32 %5868, -1
  br i1 %5869, label %5870, label %5892

5870:                                             ; preds = %5865
  %5871 = load i32, ptr %377, align 4, !tbaa !5
  %5872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5873 = call i32 @s2n_print_stacktrace(ptr noundef %5872) #13
  %5874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5875 = trunc nuw i8 %5874 to i1
  br i1 %5875, label %5876, label %5880

5876:                                             ; preds = %5870
  %5877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5878 = call i32 @fileno(ptr noundef %5877) #13
  %5879 = call i32 @isatty(i32 noundef %5878) #13
  %.not2121 = icmp eq i32 %5879, 0
  br i1 %.not2121, label %5880, label %5881

5880:                                             ; preds = %5876, %5870
  br label %5881

5881:                                             ; preds = %5876, %5880
  %.str.5.sink4080 = phi ptr [ @.str.5, %5880 ], [ @.str.2, %5876 ]
  store i32 %5871, ptr %377, align 4, !tbaa !5
  %5882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5883 = load i32, ptr @test_count, align 4, !tbaa !5
  %5884 = load i32, ptr %323, align 4, !tbaa !5
  %5885 = call ptr @s2n_strerror(i32 noundef %5884, ptr noundef nonnull @.str.4) #13
  %5886 = load i32, ptr %323, align 4, !tbaa !5
  %5887 = call ptr @s2n_strerror_debug(i32 noundef %5886, ptr noundef nonnull @.str.4) #13
  %5888 = load i32, ptr %377, align 4, !tbaa !5
  %5889 = call ptr @strerror(i32 noundef %5888) #13
  %5890 = load i32, ptr %377, align 4, !tbaa !5
  %5891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5882, ptr noundef nonnull %.str.5.sink4080, i32 noundef %5883, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 784, ptr noundef %5885, ptr noundef %5887, ptr noundef %5889, i32 noundef %5890) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5892:                                             ; preds = %5865
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %65) #13
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %64) #13
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %63) #13
  %5893 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %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 = icmp eq ptr %5893, null
  br i1 %5896, label %5897, label %5919

5897:                                             ; preds = %5892
  %5898 = load i32, ptr %377, align 4, !tbaa !5
  %5899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5900 = call i32 @s2n_print_stacktrace(ptr noundef %5899) #13
  %5901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5902 = trunc nuw i8 %5901 to i1
  br i1 %5902, label %5903, label %5907

5903:                                             ; preds = %5897
  %5904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5905 = call i32 @fileno(ptr noundef %5904) #13
  %5906 = call i32 @isatty(i32 noundef %5905) #13
  %.not2120 = icmp eq i32 %5906, 0
  br i1 %.not2120, label %5907, label %5908

5907:                                             ; preds = %5903, %5897
  br label %5908

5908:                                             ; preds = %5903, %5907
  %.str.5.sink4089 = phi ptr [ @.str.5, %5907 ], [ @.str.2, %5903 ]
  store i32 %5898, ptr %377, align 4, !tbaa !5
  %5909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5910 = load i32, ptr @test_count, align 4, !tbaa !5
  %5911 = load i32, ptr %323, align 4, !tbaa !5
  %5912 = call ptr @s2n_strerror(i32 noundef %5911, ptr noundef nonnull @.str.4) #13
  %5913 = load i32, ptr %323, align 4, !tbaa !5
  %5914 = call ptr @s2n_strerror_debug(i32 noundef %5913, ptr noundef nonnull @.str.4) #13
  %5915 = load i32, ptr %377, align 4, !tbaa !5
  %5916 = call ptr @strerror(i32 noundef %5915) #13
  %5917 = load i32, ptr %377, align 4, !tbaa !5
  %5918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5909, ptr noundef nonnull %.str.5.sink4089, i32 noundef %5910, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 790, ptr noundef %5912, ptr noundef %5914, ptr noundef %5916, i32 noundef %5917) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5919:                                             ; preds = %5892
  %5920 = call ptr @s2n_config_new() #13
  %5921 = load i32, ptr @test_count, align 4, !tbaa !5
  %5922 = add nsw i32 %5921, 1
  store i32 %5922, ptr @test_count, align 4, !tbaa !5
  %5923 = icmp eq ptr %5920, null
  br i1 %5923, label %5924, label %5946

5924:                                             ; preds = %5919
  %5925 = load i32, ptr %377, align 4, !tbaa !5
  %5926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5927 = call i32 @s2n_print_stacktrace(ptr noundef %5926) #13
  %5928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5929 = trunc nuw i8 %5928 to i1
  br i1 %5929, label %5930, label %5934

5930:                                             ; preds = %5924
  %5931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5932 = call i32 @fileno(ptr noundef %5931) #13
  %5933 = call i32 @isatty(i32 noundef %5932) #13
  %.not2119 = icmp eq i32 %5933, 0
  br i1 %.not2119, label %5934, label %5935

5934:                                             ; preds = %5930, %5924
  br label %5935

5935:                                             ; preds = %5930, %5934
  %.str.5.sink4098 = phi ptr [ @.str.5, %5934 ], [ @.str.2, %5930 ]
  store i32 %5925, ptr %377, align 4, !tbaa !5
  %5936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5937 = load i32, ptr @test_count, align 4, !tbaa !5
  %5938 = load i32, ptr %323, align 4, !tbaa !5
  %5939 = call ptr @s2n_strerror(i32 noundef %5938, ptr noundef nonnull @.str.4) #13
  %5940 = load i32, ptr %323, align 4, !tbaa !5
  %5941 = call ptr @s2n_strerror_debug(i32 noundef %5940, ptr noundef nonnull @.str.4) #13
  %5942 = load i32, ptr %377, align 4, !tbaa !5
  %5943 = call ptr @strerror(i32 noundef %5942) #13
  %5944 = load i32, ptr %377, align 4, !tbaa !5
  %5945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5936, ptr noundef nonnull %.str.5.sink4098, i32 noundef %5937, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 793, ptr noundef %5939, ptr noundef %5941, ptr noundef %5943, i32 noundef %5944) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5946:                                             ; preds = %5919
  %5947 = add nsw i32 %5921, 2
  store i32 %5947, ptr @test_count, align 4, !tbaa !5
  %5948 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %5920) #13
  %5949 = call zeroext i1 @s2n_result_is_ok(i32 %5948)
  br i1 %5949, label %5972, label %5950

5950:                                             ; preds = %5946
  %5951 = load i32, ptr %377, align 4, !tbaa !5
  %5952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5953 = call i32 @s2n_print_stacktrace(ptr noundef %5952) #13
  %5954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5955 = trunc nuw i8 %5954 to i1
  br i1 %5955, label %5956, label %5960

5956:                                             ; preds = %5950
  %5957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5958 = call i32 @fileno(ptr noundef %5957) #13
  %5959 = call i32 @isatty(i32 noundef %5958) #13
  %.not1754 = icmp eq i32 %5959, 0
  br i1 %.not1754, label %5960, label %5961

5960:                                             ; preds = %5956, %5950
  br label %5961

5961:                                             ; preds = %5956, %5960
  %.str.5.sink4107 = phi ptr [ @.str.5, %5960 ], [ @.str.2, %5956 ]
  store i32 %5951, ptr %377, align 4, !tbaa !5
  %5962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5963 = load i32, ptr @test_count, align 4, !tbaa !5
  %5964 = load i32, ptr %323, align 4, !tbaa !5
  %5965 = call ptr @s2n_strerror(i32 noundef %5964, ptr noundef nonnull @.str.4) #13
  %5966 = load i32, ptr %323, align 4, !tbaa !5
  %5967 = call ptr @s2n_strerror_debug(i32 noundef %5966, ptr noundef nonnull @.str.4) #13
  %5968 = load i32, ptr %377, align 4, !tbaa !5
  %5969 = call ptr @strerror(i32 noundef %5968) #13
  %5970 = load i32, ptr %377, align 4, !tbaa !5
  %5971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5962, ptr noundef nonnull %.str.5.sink4107, i32 noundef %5963, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 794, ptr noundef %5965, ptr noundef %5967, ptr noundef %5969, i32 noundef %5970) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5972:                                             ; preds = %5946
  %5973 = load i32, ptr @test_count, align 4, !tbaa !5
  %5974 = add nsw i32 %5973, 1
  store i32 %5974, ptr @test_count, align 4, !tbaa !5
  %5975 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5893, ptr noundef nonnull %5920) #13
  %5976 = icmp eq i32 %5975, -1
  br i1 %5976, label %5977, label %5999

5977:                                             ; preds = %5972
  %5978 = load i32, ptr %377, align 4, !tbaa !5
  %5979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5980 = call i32 @s2n_print_stacktrace(ptr noundef %5979) #13
  %5981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5982 = trunc nuw i8 %5981 to i1
  br i1 %5982, label %5983, label %5987

5983:                                             ; preds = %5977
  %5984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5985 = call i32 @fileno(ptr noundef %5984) #13
  %5986 = call i32 @isatty(i32 noundef %5985) #13
  %.not2118 = icmp eq i32 %5986, 0
  br i1 %.not2118, label %5987, label %5988

5987:                                             ; preds = %5983, %5977
  br label %5988

5988:                                             ; preds = %5983, %5987
  %.str.5.sink4116 = phi ptr [ @.str.5, %5987 ], [ @.str.2, %5983 ]
  store i32 %5978, ptr %377, align 4, !tbaa !5
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = load i32, ptr @test_count, align 4, !tbaa !5
  %5991 = load i32, ptr %323, align 4, !tbaa !5
  %5992 = call ptr @s2n_strerror(i32 noundef %5991, ptr noundef nonnull @.str.4) #13
  %5993 = load i32, ptr %323, align 4, !tbaa !5
  %5994 = call ptr @s2n_strerror_debug(i32 noundef %5993, ptr noundef nonnull @.str.4) #13
  %5995 = load i32, ptr %377, align 4, !tbaa !5
  %5996 = call ptr @strerror(i32 noundef %5995) #13
  %5997 = load i32, ptr %377, align 4, !tbaa !5
  %5998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5989, ptr noundef nonnull %.str.5.sink4116, i32 noundef %5990, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 795, ptr noundef %5992, ptr noundef %5994, ptr noundef %5996, i32 noundef %5997) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5999:                                             ; preds = %5972
  %6000 = getelementptr inbounds i8, ptr %5893, i64 220
  store i8 34, ptr %6000, align 4, !tbaa !45
  %6001 = getelementptr inbounds i8, ptr %5893, i64 232
  %6002 = load ptr, ptr %6001, align 8, !tbaa !46
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %6002, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %66) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %66, i8 0, i64 40, i1 false)
  %6003 = load i32, ptr @test_count, align 4, !tbaa !5
  %6004 = add nsw i32 %6003, 1
  store i32 %6004, ptr @test_count, align 4, !tbaa !5
  %6005 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %66, i32 noundef 0) #13
  %6006 = icmp eq i32 %6005, -1
  br i1 %6006, label %6007, label %6029

6007:                                             ; preds = %5999
  %6008 = load i32, ptr %377, align 4, !tbaa !5
  %6009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6010 = call i32 @s2n_print_stacktrace(ptr noundef %6009) #13
  %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) #13
  %6016 = call i32 @isatty(i32 noundef %6015) #13
  %.not2117 = icmp eq i32 %6016, 0
  br i1 %.not2117, label %6017, label %6018

6017:                                             ; preds = %6013, %6007
  br label %6018

6018:                                             ; preds = %6013, %6017
  %.str.5.sink4125 = phi ptr [ @.str.5, %6017 ], [ @.str.2, %6013 ]
  store i32 %6008, ptr %377, 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 %323, align 4, !tbaa !5
  %6022 = call ptr @s2n_strerror(i32 noundef %6021, ptr noundef nonnull @.str.4) #13
  %6023 = load i32, ptr %323, align 4, !tbaa !5
  %6024 = call ptr @s2n_strerror_debug(i32 noundef %6023, ptr noundef nonnull @.str.4) #13
  %6025 = load i32, ptr %377, align 4, !tbaa !5
  %6026 = call ptr @strerror(i32 noundef %6025) #13
  %6027 = load i32, ptr %377, align 4, !tbaa !5
  %6028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6019, ptr noundef nonnull %.str.5.sink4125, i32 noundef %6020, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 801, ptr noundef %6022, ptr noundef %6024, ptr noundef %6026, i32 noundef %6027) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6029:                                             ; preds = %5999
  %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 = call i32 @s2n_setup_encrypted_ticket(ptr noundef nonnull %5893, ptr noundef nonnull %66)
  %6033 = call zeroext i1 @s2n_result_is_ok(i32 %6032)
  br i1 %6033, label %6056, label %6034

6034:                                             ; preds = %6029
  %6035 = load i32, ptr %377, align 4, !tbaa !5
  %6036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6037 = call i32 @s2n_print_stacktrace(ptr noundef %6036) #13
  %6038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6039 = trunc nuw i8 %6038 to i1
  br i1 %6039, label %6040, label %6044

6040:                                             ; preds = %6034
  %6041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6042 = call i32 @fileno(ptr noundef %6041) #13
  %6043 = call i32 @isatty(i32 noundef %6042) #13
  %.not1755 = icmp eq i32 %6043, 0
  br i1 %.not1755, label %6044, label %6045

6044:                                             ; preds = %6040, %6034
  br label %6045

6045:                                             ; preds = %6040, %6044
  %.str.5.sink4134 = phi ptr [ @.str.5, %6044 ], [ @.str.2, %6040 ]
  store i32 %6035, ptr %377, align 4, !tbaa !5
  %6046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6047 = load i32, ptr @test_count, align 4, !tbaa !5
  %6048 = load i32, ptr %323, align 4, !tbaa !5
  %6049 = call ptr @s2n_strerror(i32 noundef %6048, ptr noundef nonnull @.str.4) #13
  %6050 = load i32, ptr %323, align 4, !tbaa !5
  %6051 = call ptr @s2n_strerror_debug(i32 noundef %6050, ptr noundef nonnull @.str.4) #13
  %6052 = load i32, ptr %377, align 4, !tbaa !5
  %6053 = call ptr @strerror(i32 noundef %6052) #13
  %6054 = load i32, ptr %377, align 4, !tbaa !5
  %6055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6046, ptr noundef nonnull %.str.5.sink4134, i32 noundef %6047, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 802, ptr noundef %6049, ptr noundef %6051, ptr noundef %6053, i32 noundef %6054) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6056:                                             ; preds = %6029
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %67) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %67, ptr noundef nonnull align 1 dereferenceable(6) @__const.main.bad_identity_data.114, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %68) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %68, i8 0, i64 24, i1 false)
  %6057 = load i32, ptr @test_count, align 4, !tbaa !5
  %6058 = add nsw i32 %6057, 1
  store i32 %6058, ptr @test_count, align 4, !tbaa !5
  %6059 = call i32 @s2n_blob_init(ptr noundef nonnull %68, ptr noundef nonnull %67, i32 noundef 6) #13
  %6060 = icmp eq i32 %6059, -1
  br i1 %6060, label %6061, label %6083

6061:                                             ; preds = %6056
  %6062 = load i32, ptr %377, align 4, !tbaa !5
  %6063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6064 = call i32 @s2n_print_stacktrace(ptr noundef %6063) #13
  %6065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6066 = trunc nuw i8 %6065 to i1
  br i1 %6066, label %6067, label %6071

6067:                                             ; preds = %6061
  %6068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6069 = call i32 @fileno(ptr noundef %6068) #13
  %6070 = call i32 @isatty(i32 noundef %6069) #13
  %.not2116 = icmp eq i32 %6070, 0
  br i1 %.not2116, label %6071, label %6072

6071:                                             ; preds = %6067, %6061
  br label %6072

6072:                                             ; preds = %6067, %6071
  %.str.5.sink4143 = phi ptr [ @.str.5, %6071 ], [ @.str.2, %6067 ]
  store i32 %6062, ptr %377, align 4, !tbaa !5
  %6073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6074 = load i32, ptr @test_count, align 4, !tbaa !5
  %6075 = load i32, ptr %323, align 4, !tbaa !5
  %6076 = call ptr @s2n_strerror(i32 noundef %6075, ptr noundef nonnull @.str.4) #13
  %6077 = load i32, ptr %323, align 4, !tbaa !5
  %6078 = call ptr @s2n_strerror_debug(i32 noundef %6077, ptr noundef nonnull @.str.4) #13
  %6079 = load i32, ptr %377, align 4, !tbaa !5
  %6080 = call ptr @strerror(i32 noundef %6079) #13
  %6081 = load i32, ptr %377, align 4, !tbaa !5
  %6082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6073, ptr noundef nonnull %.str.5.sink4143, i32 noundef %6074, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 807, ptr noundef %6076, ptr noundef %6078, ptr noundef %6080, i32 noundef %6081) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6083:                                             ; preds = %6056
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %69) #13
  %6084 = getelementptr inbounds i8, ptr %69, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %6084, i8 0, i64 48, i1 false)
  store ptr %5893, ptr %69, align 8, !tbaa !80
  %6085 = load i32, ptr @test_count, align 4, !tbaa !5
  %6086 = add nsw i32 %6085, 1
  store i32 %6086, ptr @test_count, align 4, !tbaa !5
  %6087 = getelementptr inbounds i8, ptr %69, i64 8
  %6088 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %6087, i32 noundef 0) #13
  %6089 = icmp eq i32 %6088, -1
  br i1 %6089, label %6094, label %.preheader.preheader

.preheader.preheader:                             ; preds = %6083
  %6090 = load i32, ptr @test_count, align 4, !tbaa !5
  %6091 = add nsw i32 %6090, 1
  store i32 %6091, ptr @test_count, align 4, !tbaa !5
  %6092 = call i32 @s2n_write_test_identity(ptr noundef nonnull %6087, ptr noundef nonnull %68)
  %6093 = call zeroext i1 @s2n_result_is_ok(i32 %6092)
  br i1 %6093, label %.preheader.1, label %6129

6094:                                             ; preds = %6083
  %6095 = load i32, ptr %377, align 4, !tbaa !5
  %6096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6097 = call i32 @s2n_print_stacktrace(ptr noundef %6096) #13
  %6098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6099 = trunc nuw i8 %6098 to i1
  br i1 %6099, label %6100, label %6104

6100:                                             ; preds = %6094
  %6101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6102 = call i32 @fileno(ptr noundef %6101) #13
  %6103 = call i32 @isatty(i32 noundef %6102) #13
  %.not2115 = icmp eq i32 %6103, 0
  br i1 %.not2115, label %6104, label %6105

6104:                                             ; preds = %6100, %6094
  br label %6105

6105:                                             ; preds = %6100, %6104
  %.str.5.sink4152 = phi ptr [ @.str.5, %6104 ], [ @.str.2, %6100 ]
  store i32 %6095, ptr %377, align 4, !tbaa !5
  %6106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6107 = load i32, ptr @test_count, align 4, !tbaa !5
  %6108 = load i32, ptr %323, align 4, !tbaa !5
  %6109 = call ptr @s2n_strerror(i32 noundef %6108, ptr noundef nonnull @.str.4) #13
  %6110 = load i32, ptr %323, align 4, !tbaa !5
  %6111 = call ptr @s2n_strerror_debug(i32 noundef %6110, ptr noundef nonnull @.str.4) #13
  %6112 = load i32, ptr %377, align 4, !tbaa !5
  %6113 = call ptr @strerror(i32 noundef %6112) #13
  %6114 = load i32, ptr %377, align 4, !tbaa !5
  %6115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6106, ptr noundef nonnull %.str.5.sink4152, i32 noundef %6107, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 810, ptr noundef %6109, ptr noundef %6111, ptr noundef %6113, i32 noundef %6114) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader.1:                                     ; preds = %.preheader.preheader
  %6116 = load i32, ptr @test_count, align 4, !tbaa !5
  %6117 = add nsw i32 %6116, 1
  store i32 %6117, ptr @test_count, align 4, !tbaa !5
  %6118 = call i32 @s2n_write_test_identity(ptr noundef nonnull %6087, ptr noundef nonnull %68)
  %6119 = call zeroext i1 @s2n_result_is_ok(i32 %6118)
  br i1 %6119, label %.preheader.2, label %6129

.preheader.2:                                     ; preds = %.preheader.1
  %6120 = load i32, ptr @test_count, align 4, !tbaa !5
  %6121 = add nsw i32 %6120, 1
  store i32 %6121, ptr @test_count, align 4, !tbaa !5
  %6122 = call i32 @s2n_write_test_identity(ptr noundef nonnull %6087, ptr noundef nonnull %68)
  %6123 = call zeroext i1 @s2n_result_is_ok(i32 %6122)
  br i1 %6123, label %6124, label %6129

6124:                                             ; preds = %.preheader.2
  %6125 = load i32, ptr @test_count, align 4, !tbaa !5
  %6126 = add nsw i32 %6125, 1
  store i32 %6126, ptr @test_count, align 4, !tbaa !5
  %6127 = call i32 @s2n_write_test_identity(ptr noundef nonnull %6087, ptr noundef nonnull %66)
  %6128 = call zeroext i1 @s2n_result_is_ok(i32 %6127)
  br i1 %6128, label %6173, label %6151

6129:                                             ; preds = %.preheader.2, %.preheader.1, %.preheader.preheader
  %6130 = load i32, ptr %377, align 4, !tbaa !5
  %6131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6132 = call i32 @s2n_print_stacktrace(ptr noundef %6131) #13
  %6133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6134 = trunc nuw i8 %6133 to i1
  br i1 %6134, label %6135, label %6139

6135:                                             ; preds = %6129
  %6136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6137 = call i32 @fileno(ptr noundef %6136) #13
  %6138 = call i32 @isatty(i32 noundef %6137) #13
  %.not2114 = icmp eq i32 %6138, 0
  br i1 %.not2114, label %6139, label %6140

6139:                                             ; preds = %6135, %6129
  br label %6140

6140:                                             ; preds = %6135, %6139
  %.str.5.sink4161 = phi ptr [ @.str.5, %6139 ], [ @.str.2, %6135 ]
  store i32 %6130, ptr %377, align 4, !tbaa !5
  %6141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6142 = load i32, ptr @test_count, align 4, !tbaa !5
  %6143 = load i32, ptr %323, align 4, !tbaa !5
  %6144 = call ptr @s2n_strerror(i32 noundef %6143, ptr noundef nonnull @.str.4) #13
  %6145 = load i32, ptr %323, align 4, !tbaa !5
  %6146 = call ptr @s2n_strerror_debug(i32 noundef %6145, ptr noundef nonnull @.str.4) #13
  %6147 = load i32, ptr %377, align 4, !tbaa !5
  %6148 = call ptr @strerror(i32 noundef %6147) #13
  %6149 = load i32, ptr %377, align 4, !tbaa !5
  %6150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6141, ptr noundef nonnull %.str.5.sink4161, i32 noundef %6142, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 814, ptr noundef %6144, ptr noundef %6146, ptr noundef %6148, i32 noundef %6149) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6151:                                             ; preds = %6124
  %6152 = load i32, ptr %377, align 4, !tbaa !5
  %6153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6154 = call i32 @s2n_print_stacktrace(ptr noundef %6153) #13
  %6155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6156 = trunc nuw i8 %6155 to i1
  br i1 %6156, label %6157, label %6161

6157:                                             ; preds = %6151
  %6158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6159 = call i32 @fileno(ptr noundef %6158) #13
  %6160 = call i32 @isatty(i32 noundef %6159) #13
  %.not1756 = icmp eq i32 %6160, 0
  br i1 %.not1756, label %6161, label %6162

6161:                                             ; preds = %6157, %6151
  br label %6162

6162:                                             ; preds = %6157, %6161
  %.str.5.sink4170 = phi ptr [ @.str.5, %6161 ], [ @.str.2, %6157 ]
  store i32 %6152, ptr %377, align 4, !tbaa !5
  %6163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6164 = load i32, ptr @test_count, align 4, !tbaa !5
  %6165 = load i32, ptr %323, align 4, !tbaa !5
  %6166 = call ptr @s2n_strerror(i32 noundef %6165, ptr noundef nonnull @.str.4) #13
  %6167 = load i32, ptr %323, align 4, !tbaa !5
  %6168 = call ptr @s2n_strerror_debug(i32 noundef %6167, ptr noundef nonnull @.str.4) #13
  %6169 = load i32, ptr %377, align 4, !tbaa !5
  %6170 = call ptr @strerror(i32 noundef %6169) #13
  %6171 = load i32, ptr %377, align 4, !tbaa !5
  %6172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6163, ptr noundef nonnull %.str.5.sink4170, i32 noundef %6164, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 816, ptr noundef %6166, ptr noundef %6168, ptr noundef %6170, i32 noundef %6171) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6173:                                             ; preds = %6124
  %6174 = load i32, ptr @test_count, align 4, !tbaa !5
  %6175 = add nsw i32 %6174, 1
  store i32 %6175, ptr @test_count, align 4, !tbaa !5
  %6176 = call i32 @s2n_select_resumption_psk(ptr noundef nonnull %5893, ptr noundef nonnull %69)
  %6177 = call zeroext i1 @s2n_result_is_error(i32 %6176)
  br i1 %6177, label %6200, label %6178

6178:                                             ; preds = %6173
  %6179 = load i32, ptr %377, align 4, !tbaa !5
  %6180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6181 = call i32 @s2n_print_stacktrace(ptr noundef %6180) #13
  %6182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6183 = trunc nuw i8 %6182 to i1
  br i1 %6183, label %6184, label %6188

6184:                                             ; preds = %6178
  %6185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6186 = call i32 @fileno(ptr noundef %6185) #13
  %6187 = call i32 @isatty(i32 noundef %6186) #13
  %.not1757 = icmp eq i32 %6187, 0
  br i1 %.not1757, label %6188, label %6189

6188:                                             ; preds = %6184, %6178
  br label %6189

6189:                                             ; preds = %6184, %6188
  %.str.5.sink4179 = phi ptr [ @.str.5, %6188 ], [ @.str.2, %6184 ]
  store i32 %6179, ptr %377, align 4, !tbaa !5
  %6190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6191 = load i32, ptr @test_count, align 4, !tbaa !5
  %6192 = load i32, ptr %323, align 4, !tbaa !5
  %6193 = call ptr @s2n_strerror(i32 noundef %6192, ptr noundef nonnull @.str.4) #13
  %6194 = load i32, ptr %323, align 4, !tbaa !5
  %6195 = call ptr @s2n_strerror_debug(i32 noundef %6194, ptr noundef nonnull @.str.4) #13
  %6196 = load i32, ptr %377, align 4, !tbaa !5
  %6197 = call ptr @strerror(i32 noundef %6196) #13
  %6198 = load i32, ptr %377, align 4, !tbaa !5
  %6199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6190, ptr noundef nonnull %.str.5.sink4179, i32 noundef %6191, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 818, ptr noundef %6193, ptr noundef %6195, ptr noundef %6197, i32 noundef %6198) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6200:                                             ; preds = %6173
  %6201 = load i32, ptr @test_count, align 4, !tbaa !5
  %6202 = add nsw i32 %6201, 1
  store i32 %6202, ptr @test_count, align 4, !tbaa !5
  %6203 = load i32, ptr %323, align 4, !tbaa !5
  %6204 = icmp eq i32 %6203, 469762110
  br i1 %6204, label %6227, label %6205

6205:                                             ; preds = %6200
  %6206 = load i32, ptr %377, align 4, !tbaa !5
  %6207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6208 = call i32 @s2n_print_stacktrace(ptr noundef %6207) #13
  %6209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6210 = trunc nuw i8 %6209 to i1
  br i1 %6210, label %6211, label %6215

6211:                                             ; preds = %6205
  %6212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6213 = call i32 @fileno(ptr noundef %6212) #13
  %6214 = call i32 @isatty(i32 noundef %6213) #13
  %.not1758 = icmp eq i32 %6214, 0
  br i1 %.not1758, label %6215, label %6216

6215:                                             ; preds = %6211, %6205
  br label %6216

6216:                                             ; preds = %6211, %6215
  %.str.5.sink4188 = phi ptr [ @.str.5, %6215 ], [ @.str.2, %6211 ]
  store i32 %6206, ptr %377, align 4, !tbaa !5
  %6217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6218 = load i32, ptr @test_count, align 4, !tbaa !5
  %6219 = load i32, ptr %323, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror(i32 noundef %6219, ptr noundef nonnull @.str.4) #13
  %6221 = load i32, ptr %323, align 4, !tbaa !5
  %6222 = call ptr @s2n_strerror_debug(i32 noundef %6221, ptr noundef nonnull @.str.4) #13
  %6223 = load i32, ptr %377, align 4, !tbaa !5
  %6224 = call ptr @strerror(i32 noundef %6223) #13
  %6225 = load i32, ptr %377, align 4, !tbaa !5
  %6226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6217, ptr noundef nonnull %.str.5.sink4188, i32 noundef %6218, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 818, ptr noundef %6220, ptr noundef %6222, ptr noundef %6224, i32 noundef %6225) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6227:                                             ; preds = %6200
  %6228 = add nsw i32 %6201, 2
  store i32 %6228, ptr @test_count, align 4, !tbaa !5
  %6229 = call ptr @s2n_strerror_debug(i32 noundef 469762110, ptr noundef nonnull @.str.4) #13
  %6230 = icmp eq ptr %6229, null
  br i1 %6230, label %6231, label %6253

6231:                                             ; preds = %6227
  %6232 = load i32, ptr %377, align 4, !tbaa !5
  %6233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6234 = call i32 @s2n_print_stacktrace(ptr noundef %6233) #13
  %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) #13
  %6240 = call i32 @isatty(i32 noundef %6239) #13
  %.not2113 = icmp eq i32 %6240, 0
  br i1 %.not2113, label %6241, label %6242

6241:                                             ; preds = %6237, %6231
  br label %6242

6242:                                             ; preds = %6237, %6241
  %.str.5.sink4197 = phi ptr [ @.str.5, %6241 ], [ @.str.2, %6237 ]
  store i32 %6232, ptr %377, 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 %323, align 4, !tbaa !5
  %6246 = call ptr @s2n_strerror(i32 noundef %6245, ptr noundef nonnull @.str.4) #13
  %6247 = load i32, ptr %323, align 4, !tbaa !5
  %6248 = call ptr @s2n_strerror_debug(i32 noundef %6247, ptr noundef nonnull @.str.4) #13
  %6249 = load i32, ptr %377, align 4, !tbaa !5
  %6250 = call ptr @strerror(i32 noundef %6249) #13
  %6251 = load i32, ptr %377, align 4, !tbaa !5
  %6252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6243, ptr noundef nonnull %.str.5.sink4197, i32 noundef %6244, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 818, ptr noundef %6246, ptr noundef %6248, ptr noundef %6250, i32 noundef %6251) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6253:                                             ; preds = %6227
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %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 = getelementptr inbounds i8, ptr %5893, i64 1736
  %6257 = load ptr, ptr %6256, align 8, !tbaa !88
  %6258 = icmp eq ptr %6257, null
  br i1 %6258, label %6281, label %6259

6259:                                             ; preds = %6253
  %6260 = load i32, ptr %377, align 4, !tbaa !5
  %6261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6262 = call i32 @s2n_print_stacktrace(ptr noundef %6261) #13
  %6263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6264 = trunc nuw i8 %6263 to i1
  br i1 %6264, label %6265, label %6269

6265:                                             ; preds = %6259
  %6266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6267 = call i32 @fileno(ptr noundef %6266) #13
  %6268 = call i32 @isatty(i32 noundef %6267) #13
  %.not1759 = icmp eq i32 %6268, 0
  br i1 %.not1759, label %6269, label %6270

6269:                                             ; preds = %6265, %6259
  br label %6270

6270:                                             ; preds = %6265, %6269
  %.str.5.sink4206 = phi ptr [ @.str.5, %6269 ], [ @.str.2, %6265 ]
  store i32 %6260, ptr %377, align 4, !tbaa !5
  %6271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6272 = load i32, ptr @test_count, align 4, !tbaa !5
  %6273 = load i32, ptr %323, align 4, !tbaa !5
  %6274 = call ptr @s2n_strerror(i32 noundef %6273, ptr noundef nonnull @.str.4) #13
  %6275 = load i32, ptr %323, align 4, !tbaa !5
  %6276 = call ptr @s2n_strerror_debug(i32 noundef %6275, ptr noundef nonnull @.str.4) #13
  %6277 = load i32, ptr %377, align 4, !tbaa !5
  %6278 = call ptr @strerror(i32 noundef %6277) #13
  %6279 = load i32, ptr %377, align 4, !tbaa !5
  %6280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6271, ptr noundef nonnull %.str.5.sink4206, i32 noundef %6272, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 819, ptr noundef %6274, ptr noundef %6276, ptr noundef %6278, i32 noundef %6279) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6281:                                             ; preds = %6253
  %6282 = add nsw i32 %6254, 2
  store i32 %6282, ptr @test_count, align 4, !tbaa !5
  %6283 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6087) #13
  %6284 = icmp eq i32 %6283, -1
  br i1 %6284, label %6285, label %6307

6285:                                             ; preds = %6281
  %6286 = load i32, ptr %377, align 4, !tbaa !5
  %6287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6288 = call i32 @s2n_print_stacktrace(ptr noundef %6287) #13
  %6289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6290 = trunc nuw i8 %6289 to i1
  br i1 %6290, label %6291, label %6295

6291:                                             ; preds = %6285
  %6292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6293 = call i32 @fileno(ptr noundef %6292) #13
  %6294 = call i32 @isatty(i32 noundef %6293) #13
  %.not2112 = icmp eq i32 %6294, 0
  br i1 %.not2112, label %6295, label %6296

6295:                                             ; preds = %6291, %6285
  br label %6296

6296:                                             ; preds = %6291, %6295
  %.str.5.sink4215 = phi ptr [ @.str.5, %6295 ], [ @.str.2, %6291 ]
  store i32 %6286, ptr %377, align 4, !tbaa !5
  %6297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6298 = load i32, ptr @test_count, align 4, !tbaa !5
  %6299 = load i32, ptr %323, align 4, !tbaa !5
  %6300 = call ptr @s2n_strerror(i32 noundef %6299, ptr noundef nonnull @.str.4) #13
  %6301 = load i32, ptr %323, align 4, !tbaa !5
  %6302 = call ptr @s2n_strerror_debug(i32 noundef %6301, ptr noundef nonnull @.str.4) #13
  %6303 = load i32, ptr %377, align 4, !tbaa !5
  %6304 = call ptr @strerror(i32 noundef %6303) #13
  %6305 = load i32, ptr %377, align 4, !tbaa !5
  %6306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6297, ptr noundef nonnull %.str.5.sink4215, i32 noundef %6298, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 821, ptr noundef %6300, ptr noundef %6302, ptr noundef %6304, i32 noundef %6305) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6307:                                             ; preds = %6281
  %6308 = load i32, ptr @test_count, align 4, !tbaa !5
  %6309 = add nsw i32 %6308, 1
  store i32 %6309, ptr @test_count, align 4, !tbaa !5
  %6310 = call i32 @s2n_connection_free(ptr noundef nonnull %5893) #13
  %6311 = icmp eq i32 %6310, -1
  br i1 %6311, label %6312, label %6334

6312:                                             ; preds = %6307
  %6313 = load i32, ptr %377, align 4, !tbaa !5
  %6314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6315 = call i32 @s2n_print_stacktrace(ptr noundef %6314) #13
  %6316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6317 = trunc nuw i8 %6316 to i1
  br i1 %6317, label %6318, label %6322

6318:                                             ; preds = %6312
  %6319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6320 = call i32 @fileno(ptr noundef %6319) #13
  %6321 = call i32 @isatty(i32 noundef %6320) #13
  %.not2111 = icmp eq i32 %6321, 0
  br i1 %.not2111, label %6322, label %6323

6322:                                             ; preds = %6318, %6312
  br label %6323

6323:                                             ; preds = %6318, %6322
  %.str.5.sink4224 = phi ptr [ @.str.5, %6322 ], [ @.str.2, %6318 ]
  store i32 %6313, ptr %377, align 4, !tbaa !5
  %6324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6325 = load i32, ptr @test_count, align 4, !tbaa !5
  %6326 = load i32, ptr %323, align 4, !tbaa !5
  %6327 = call ptr @s2n_strerror(i32 noundef %6326, ptr noundef nonnull @.str.4) #13
  %6328 = load i32, ptr %323, align 4, !tbaa !5
  %6329 = call ptr @s2n_strerror_debug(i32 noundef %6328, ptr noundef nonnull @.str.4) #13
  %6330 = load i32, ptr %377, align 4, !tbaa !5
  %6331 = call ptr @strerror(i32 noundef %6330) #13
  %6332 = load i32, ptr %377, align 4, !tbaa !5
  %6333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6324, ptr noundef nonnull %.str.5.sink4224, i32 noundef %6325, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 822, ptr noundef %6327, ptr noundef %6329, ptr noundef %6331, i32 noundef %6332) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6334:                                             ; preds = %6307
  %6335 = load i32, ptr @test_count, align 4, !tbaa !5
  %6336 = add nsw i32 %6335, 1
  store i32 %6336, ptr @test_count, align 4, !tbaa !5
  %6337 = call i32 @s2n_config_free(ptr noundef nonnull %5920) #13
  %6338 = icmp eq i32 %6337, -1
  br i1 %6338, label %6339, label %6361

6339:                                             ; preds = %6334
  %6340 = load i32, ptr %377, align 4, !tbaa !5
  %6341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6342 = call i32 @s2n_print_stacktrace(ptr noundef %6341) #13
  %6343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6344 = trunc nuw i8 %6343 to i1
  br i1 %6344, label %6345, label %6349

6345:                                             ; preds = %6339
  %6346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6347 = call i32 @fileno(ptr noundef %6346) #13
  %6348 = call i32 @isatty(i32 noundef %6347) #13
  %.not2110 = icmp eq i32 %6348, 0
  br i1 %.not2110, label %6349, label %6350

6349:                                             ; preds = %6345, %6339
  br label %6350

6350:                                             ; preds = %6345, %6349
  %.str.5.sink4233 = phi ptr [ @.str.5, %6349 ], [ @.str.2, %6345 ]
  store i32 %6340, ptr %377, align 4, !tbaa !5
  %6351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6352 = load i32, ptr @test_count, align 4, !tbaa !5
  %6353 = load i32, ptr %323, align 4, !tbaa !5
  %6354 = call ptr @s2n_strerror(i32 noundef %6353, ptr noundef nonnull @.str.4) #13
  %6355 = load i32, ptr %323, align 4, !tbaa !5
  %6356 = call ptr @s2n_strerror_debug(i32 noundef %6355, ptr noundef nonnull @.str.4) #13
  %6357 = load i32, ptr %377, align 4, !tbaa !5
  %6358 = call ptr @strerror(i32 noundef %6357) #13
  %6359 = load i32, ptr %377, align 4, !tbaa !5
  %6360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6351, ptr noundef nonnull %.str.5.sink4233, i32 noundef %6352, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 823, ptr noundef %6354, ptr noundef %6356, ptr noundef %6358, i32 noundef %6359) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6361:                                             ; preds = %6334
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %69) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %68) #13
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %67) #13
  %6362 = call i32 @s2n_stuffer_free(ptr noundef nonnull %66) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %66) #13
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %70) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %70, i8 0, i64 40, i1 false)
  %6363 = load i32, ptr @test_count, align 4, !tbaa !5
  %6364 = add nsw i32 %6363, 1
  store i32 %6364, ptr @test_count, align 4, !tbaa !5
  %6365 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %6366 = icmp eq ptr %6365, null
  br i1 %6366, label %6367, label %6389

6367:                                             ; preds = %6361
  %6368 = load i32, ptr %377, align 4, !tbaa !5
  %6369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6370 = call i32 @s2n_print_stacktrace(ptr noundef %6369) #13
  %6371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6372 = trunc nuw i8 %6371 to i1
  br i1 %6372, label %6373, label %6377

6373:                                             ; preds = %6367
  %6374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6375 = call i32 @fileno(ptr noundef %6374) #13
  %6376 = call i32 @isatty(i32 noundef %6375) #13
  %.not2109 = icmp eq i32 %6376, 0
  br i1 %.not2109, label %6377, label %6378

6377:                                             ; preds = %6373, %6367
  br label %6378

6378:                                             ; preds = %6373, %6377
  %.str.5.sink4242 = phi ptr [ @.str.5, %6377 ], [ @.str.2, %6373 ]
  store i32 %6368, ptr %377, align 4, !tbaa !5
  %6379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6380 = load i32, ptr @test_count, align 4, !tbaa !5
  %6381 = load i32, ptr %323, align 4, !tbaa !5
  %6382 = call ptr @s2n_strerror(i32 noundef %6381, ptr noundef nonnull @.str.4) #13
  %6383 = load i32, ptr %323, align 4, !tbaa !5
  %6384 = call ptr @s2n_strerror_debug(i32 noundef %6383, ptr noundef nonnull @.str.4) #13
  %6385 = load i32, ptr %377, align 4, !tbaa !5
  %6386 = call ptr @strerror(i32 noundef %6385) #13
  %6387 = load i32, ptr %377, align 4, !tbaa !5
  %6388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6379, ptr noundef nonnull %.str.5.sink4242, i32 noundef %6380, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 834, ptr noundef %6382, ptr noundef %6384, ptr noundef %6386, i32 noundef %6387) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6389:                                             ; preds = %6361
  %6390 = load i32, ptr @test_count, align 4, !tbaa !5
  %6391 = add nsw i32 %6390, 1
  store i32 %6391, ptr @test_count, align 4, !tbaa !5
  %6392 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %6365, ptr noundef null)
  %6393 = call zeroext i1 @s2n_result_is_error(i32 %6392)
  br i1 %6393, label %6416, label %6394

6394:                                             ; preds = %6389
  %6395 = load i32, ptr %377, align 4, !tbaa !5
  %6396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6397 = call i32 @s2n_print_stacktrace(ptr noundef %6396) #13
  %6398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6399 = trunc nuw i8 %6398 to i1
  br i1 %6399, label %6400, label %6404

6400:                                             ; preds = %6394
  %6401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6402 = call i32 @fileno(ptr noundef %6401) #13
  %6403 = call i32 @isatty(i32 noundef %6402) #13
  %.not1760 = icmp eq i32 %6403, 0
  br i1 %.not1760, label %6404, label %6405

6404:                                             ; preds = %6400, %6394
  br label %6405

6405:                                             ; preds = %6400, %6404
  %.str.5.sink4251 = phi ptr [ @.str.5, %6404 ], [ @.str.2, %6400 ]
  store i32 %6395, ptr %377, align 4, !tbaa !5
  %6406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6407 = load i32, ptr @test_count, align 4, !tbaa !5
  %6408 = load i32, ptr %323, align 4, !tbaa !5
  %6409 = call ptr @s2n_strerror(i32 noundef %6408, ptr noundef nonnull @.str.4) #13
  %6410 = load i32, ptr %323, align 4, !tbaa !5
  %6411 = call ptr @s2n_strerror_debug(i32 noundef %6410, ptr noundef nonnull @.str.4) #13
  %6412 = load i32, ptr %377, align 4, !tbaa !5
  %6413 = call ptr @strerror(i32 noundef %6412) #13
  %6414 = load i32, ptr %377, align 4, !tbaa !5
  %6415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6406, ptr noundef nonnull %.str.5.sink4251, i32 noundef %6407, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 836, ptr noundef %6409, ptr noundef %6411, ptr noundef %6413, i32 noundef %6414) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6416:                                             ; preds = %6389
  %6417 = load i32, ptr @test_count, align 4, !tbaa !5
  %6418 = add nsw i32 %6417, 1
  store i32 %6418, ptr @test_count, align 4, !tbaa !5
  %6419 = load i32, ptr %323, align 4, !tbaa !5
  %6420 = icmp eq i32 %6419, 402653193
  br i1 %6420, label %6443, label %6421

6421:                                             ; preds = %6416
  %6422 = load i32, ptr %377, align 4, !tbaa !5
  %6423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6424 = call i32 @s2n_print_stacktrace(ptr noundef %6423) #13
  %6425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6426 = trunc nuw i8 %6425 to i1
  br i1 %6426, label %6427, label %6431

6427:                                             ; preds = %6421
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = call i32 @fileno(ptr noundef %6428) #13
  %6430 = call i32 @isatty(i32 noundef %6429) #13
  %.not1761 = icmp eq i32 %6430, 0
  br i1 %.not1761, label %6431, label %6432

6431:                                             ; preds = %6427, %6421
  br label %6432

6432:                                             ; preds = %6427, %6431
  %.str.5.sink4260 = phi ptr [ @.str.5, %6431 ], [ @.str.2, %6427 ]
  store i32 %6422, ptr %377, align 4, !tbaa !5
  %6433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6434 = load i32, ptr @test_count, align 4, !tbaa !5
  %6435 = load i32, ptr %323, align 4, !tbaa !5
  %6436 = call ptr @s2n_strerror(i32 noundef %6435, ptr noundef nonnull @.str.4) #13
  %6437 = load i32, ptr %323, align 4, !tbaa !5
  %6438 = call ptr @s2n_strerror_debug(i32 noundef %6437, ptr noundef nonnull @.str.4) #13
  %6439 = load i32, ptr %377, align 4, !tbaa !5
  %6440 = call ptr @strerror(i32 noundef %6439) #13
  %6441 = load i32, ptr %377, align 4, !tbaa !5
  %6442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6433, ptr noundef nonnull %.str.5.sink4260, i32 noundef %6434, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 836, ptr noundef %6436, ptr noundef %6438, ptr noundef %6440, i32 noundef %6441) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6443:                                             ; preds = %6416
  %6444 = add nsw i32 %6417, 2
  store i32 %6444, ptr @test_count, align 4, !tbaa !5
  %6445 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %6446 = icmp eq ptr %6445, null
  br i1 %6446, label %6447, label %6469

6447:                                             ; preds = %6443
  %6448 = load i32, ptr %377, align 4, !tbaa !5
  %6449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6450 = call i32 @s2n_print_stacktrace(ptr noundef %6449) #13
  %6451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6452 = trunc nuw i8 %6451 to i1
  br i1 %6452, label %6453, label %6457

6453:                                             ; preds = %6447
  %6454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6455 = call i32 @fileno(ptr noundef %6454) #13
  %6456 = call i32 @isatty(i32 noundef %6455) #13
  %.not2108 = icmp eq i32 %6456, 0
  br i1 %.not2108, label %6457, label %6458

6457:                                             ; preds = %6453, %6447
  br label %6458

6458:                                             ; preds = %6453, %6457
  %.str.5.sink4269 = phi ptr [ @.str.5, %6457 ], [ @.str.2, %6453 ]
  store i32 %6448, ptr %377, align 4, !tbaa !5
  %6459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6460 = load i32, ptr @test_count, align 4, !tbaa !5
  %6461 = load i32, ptr %323, align 4, !tbaa !5
  %6462 = call ptr @s2n_strerror(i32 noundef %6461, ptr noundef nonnull @.str.4) #13
  %6463 = load i32, ptr %323, align 4, !tbaa !5
  %6464 = call ptr @s2n_strerror_debug(i32 noundef %6463, ptr noundef nonnull @.str.4) #13
  %6465 = load i32, ptr %377, align 4, !tbaa !5
  %6466 = call ptr @strerror(i32 noundef %6465) #13
  %6467 = load i32, ptr %377, align 4, !tbaa !5
  %6468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6459, ptr noundef nonnull %.str.5.sink4269, i32 noundef %6460, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 836, ptr noundef %6462, ptr noundef %6464, ptr noundef %6466, i32 noundef %6467) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6469:                                             ; preds = %6443
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %6470 = load i32, ptr @test_count, align 4, !tbaa !5
  %6471 = add nsw i32 %6470, 1
  store i32 %6471, ptr @test_count, align 4, !tbaa !5
  %6472 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef null, ptr noundef nonnull %70)
  %6473 = call zeroext i1 @s2n_result_is_error(i32 %6472)
  br i1 %6473, label %6496, label %6474

6474:                                             ; preds = %6469
  %6475 = load i32, ptr %377, align 4, !tbaa !5
  %6476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6477 = call i32 @s2n_print_stacktrace(ptr noundef %6476) #13
  %6478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6479 = trunc nuw i8 %6478 to i1
  br i1 %6479, label %6480, label %6484

6480:                                             ; preds = %6474
  %6481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6482 = call i32 @fileno(ptr noundef %6481) #13
  %6483 = call i32 @isatty(i32 noundef %6482) #13
  %.not1762 = icmp eq i32 %6483, 0
  br i1 %.not1762, label %6484, label %6485

6484:                                             ; preds = %6480, %6474
  br label %6485

6485:                                             ; preds = %6480, %6484
  %.str.5.sink4278 = phi ptr [ @.str.5, %6484 ], [ @.str.2, %6480 ]
  store i32 %6475, ptr %377, align 4, !tbaa !5
  %6486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6487 = load i32, ptr @test_count, align 4, !tbaa !5
  %6488 = load i32, ptr %323, align 4, !tbaa !5
  %6489 = call ptr @s2n_strerror(i32 noundef %6488, ptr noundef nonnull @.str.4) #13
  %6490 = load i32, ptr %323, align 4, !tbaa !5
  %6491 = call ptr @s2n_strerror_debug(i32 noundef %6490, ptr noundef nonnull @.str.4) #13
  %6492 = load i32, ptr %377, align 4, !tbaa !5
  %6493 = call ptr @strerror(i32 noundef %6492) #13
  %6494 = load i32, ptr %377, align 4, !tbaa !5
  %6495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6486, ptr noundef nonnull %.str.5.sink4278, i32 noundef %6487, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 837, ptr noundef %6489, ptr noundef %6491, ptr noundef %6493, i32 noundef %6494) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6496:                                             ; preds = %6469
  %6497 = load i32, ptr @test_count, align 4, !tbaa !5
  %6498 = add nsw i32 %6497, 1
  store i32 %6498, ptr @test_count, align 4, !tbaa !5
  %6499 = load i32, ptr %323, align 4, !tbaa !5
  %6500 = icmp eq i32 %6499, 402653193
  br i1 %6500, label %6523, label %6501

6501:                                             ; preds = %6496
  %6502 = load i32, ptr %377, align 4, !tbaa !5
  %6503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6504 = call i32 @s2n_print_stacktrace(ptr noundef %6503) #13
  %6505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6506 = trunc nuw i8 %6505 to i1
  br i1 %6506, label %6507, label %6511

6507:                                             ; preds = %6501
  %6508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6509 = call i32 @fileno(ptr noundef %6508) #13
  %6510 = call i32 @isatty(i32 noundef %6509) #13
  %.not1763 = icmp eq i32 %6510, 0
  br i1 %.not1763, label %6511, label %6512

6511:                                             ; preds = %6507, %6501
  br label %6512

6512:                                             ; preds = %6507, %6511
  %.str.5.sink4287 = phi ptr [ @.str.5, %6511 ], [ @.str.2, %6507 ]
  store i32 %6502, ptr %377, align 4, !tbaa !5
  %6513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6514 = load i32, ptr @test_count, align 4, !tbaa !5
  %6515 = load i32, ptr %323, align 4, !tbaa !5
  %6516 = call ptr @s2n_strerror(i32 noundef %6515, ptr noundef nonnull @.str.4) #13
  %6517 = load i32, ptr %323, align 4, !tbaa !5
  %6518 = call ptr @s2n_strerror_debug(i32 noundef %6517, ptr noundef nonnull @.str.4) #13
  %6519 = load i32, ptr %377, align 4, !tbaa !5
  %6520 = call ptr @strerror(i32 noundef %6519) #13
  %6521 = load i32, ptr %377, align 4, !tbaa !5
  %6522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6513, ptr noundef nonnull %.str.5.sink4287, i32 noundef %6514, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 837, ptr noundef %6516, ptr noundef %6518, ptr noundef %6520, i32 noundef %6521) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6523:                                             ; preds = %6496
  %6524 = add nsw i32 %6497, 2
  store i32 %6524, ptr @test_count, align 4, !tbaa !5
  %6525 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %6526 = icmp eq ptr %6525, null
  br i1 %6526, label %6527, label %6549

6527:                                             ; preds = %6523
  %6528 = load i32, ptr %377, align 4, !tbaa !5
  %6529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6530 = call i32 @s2n_print_stacktrace(ptr noundef %6529) #13
  %6531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6532 = trunc nuw i8 %6531 to i1
  br i1 %6532, label %6533, label %6537

6533:                                             ; preds = %6527
  %6534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6535 = call i32 @fileno(ptr noundef %6534) #13
  %6536 = call i32 @isatty(i32 noundef %6535) #13
  %.not2107 = icmp eq i32 %6536, 0
  br i1 %.not2107, label %6537, label %6538

6537:                                             ; preds = %6533, %6527
  br label %6538

6538:                                             ; preds = %6533, %6537
  %.str.5.sink4296 = phi ptr [ @.str.5, %6537 ], [ @.str.2, %6533 ]
  store i32 %6528, ptr %377, align 4, !tbaa !5
  %6539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6540 = load i32, ptr @test_count, align 4, !tbaa !5
  %6541 = load i32, ptr %323, align 4, !tbaa !5
  %6542 = call ptr @s2n_strerror(i32 noundef %6541, ptr noundef nonnull @.str.4) #13
  %6543 = load i32, ptr %323, align 4, !tbaa !5
  %6544 = call ptr @s2n_strerror_debug(i32 noundef %6543, ptr noundef nonnull @.str.4) #13
  %6545 = load i32, ptr %377, align 4, !tbaa !5
  %6546 = call ptr @strerror(i32 noundef %6545) #13
  %6547 = load i32, ptr %377, align 4, !tbaa !5
  %6548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6539, ptr noundef nonnull %.str.5.sink4296, i32 noundef %6540, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 837, ptr noundef %6542, ptr noundef %6544, ptr noundef %6546, i32 noundef %6547) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6549:                                             ; preds = %6523
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %6550 = load i32, ptr @test_count, align 4, !tbaa !5
  %6551 = add nsw i32 %6550, 1
  store i32 %6551, ptr @test_count, align 4, !tbaa !5
  %6552 = call i32 @s2n_connection_free(ptr noundef nonnull %6365) #13
  %6553 = icmp eq i32 %6552, -1
  br i1 %6553, label %6554, label %6576

6554:                                             ; preds = %6549
  %6555 = load i32, ptr %377, align 4, !tbaa !5
  %6556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6557 = call i32 @s2n_print_stacktrace(ptr noundef %6556) #13
  %6558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6559 = trunc nuw i8 %6558 to i1
  br i1 %6559, label %6560, label %6564

6560:                                             ; preds = %6554
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = call i32 @fileno(ptr noundef %6561) #13
  %6563 = call i32 @isatty(i32 noundef %6562) #13
  %.not2106 = icmp eq i32 %6563, 0
  br i1 %.not2106, label %6564, label %6565

6564:                                             ; preds = %6560, %6554
  br label %6565

6565:                                             ; preds = %6560, %6564
  %.str.5.sink4305 = phi ptr [ @.str.5, %6564 ], [ @.str.2, %6560 ]
  store i32 %6555, ptr %377, align 4, !tbaa !5
  %6566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6567 = load i32, ptr @test_count, align 4, !tbaa !5
  %6568 = load i32, ptr %323, align 4, !tbaa !5
  %6569 = call ptr @s2n_strerror(i32 noundef %6568, ptr noundef nonnull @.str.4) #13
  %6570 = load i32, ptr %323, align 4, !tbaa !5
  %6571 = call ptr @s2n_strerror_debug(i32 noundef %6570, ptr noundef nonnull @.str.4) #13
  %6572 = load i32, ptr %377, align 4, !tbaa !5
  %6573 = call ptr @strerror(i32 noundef %6572) #13
  %6574 = load i32, ptr %377, align 4, !tbaa !5
  %6575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6566, ptr noundef nonnull %.str.5.sink4305, i32 noundef %6567, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 839, ptr noundef %6569, ptr noundef %6571, ptr noundef %6573, i32 noundef %6574) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6576:                                             ; preds = %6549
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %70) #13
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %71) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %71, i8 0, i64 40, i1 false)
  %6577 = load i32, ptr @test_count, align 4, !tbaa !5
  %6578 = add nsw i32 %6577, 1
  store i32 %6578, ptr @test_count, align 4, !tbaa !5
  %6579 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %6580 = icmp eq ptr %6579, null
  br i1 %6580, label %6581, label %6603

6581:                                             ; preds = %6576
  %6582 = load i32, ptr %377, align 4, !tbaa !5
  %6583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6584 = call i32 @s2n_print_stacktrace(ptr noundef %6583) #13
  %6585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6586 = trunc nuw i8 %6585 to i1
  br i1 %6586, label %6587, label %6591

6587:                                             ; preds = %6581
  %6588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6589 = call i32 @fileno(ptr noundef %6588) #13
  %6590 = call i32 @isatty(i32 noundef %6589) #13
  %.not2105 = icmp eq i32 %6590, 0
  br i1 %.not2105, label %6591, label %6592

6591:                                             ; preds = %6587, %6581
  br label %6592

6592:                                             ; preds = %6587, %6591
  %.str.5.sink4314 = phi ptr [ @.str.5, %6591 ], [ @.str.2, %6587 ]
  store i32 %6582, ptr %377, align 4, !tbaa !5
  %6593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6594 = load i32, ptr @test_count, align 4, !tbaa !5
  %6595 = load i32, ptr %323, align 4, !tbaa !5
  %6596 = call ptr @s2n_strerror(i32 noundef %6595, ptr noundef nonnull @.str.4) #13
  %6597 = load i32, ptr %323, align 4, !tbaa !5
  %6598 = call ptr @s2n_strerror_debug(i32 noundef %6597, ptr noundef nonnull @.str.4) #13
  %6599 = load i32, ptr %377, align 4, !tbaa !5
  %6600 = call ptr @strerror(i32 noundef %6599) #13
  %6601 = load i32, ptr %377, align 4, !tbaa !5
  %6602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6593, ptr noundef nonnull %.str.5.sink4314, i32 noundef %6594, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 847, ptr noundef %6596, ptr noundef %6598, ptr noundef %6600, i32 noundef %6601) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6603:                                             ; preds = %6576
  %6604 = load i32, ptr @test_count, align 4, !tbaa !5
  %6605 = add nsw i32 %6604, 1
  store i32 %6605, ptr @test_count, align 4, !tbaa !5
  %6606 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %6579, i32 noundef 1) #13
  %6607 = call zeroext i1 @s2n_result_is_ok(i32 %6606)
  br i1 %6607, label %6630, label %6608

6608:                                             ; preds = %6603
  %6609 = load i32, ptr %377, align 4, !tbaa !5
  %6610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6611 = call i32 @s2n_print_stacktrace(ptr noundef %6610) #13
  %6612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6613 = trunc nuw i8 %6612 to i1
  br i1 %6613, label %6614, label %6618

6614:                                             ; preds = %6608
  %6615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6616 = call i32 @fileno(ptr noundef %6615) #13
  %6617 = call i32 @isatty(i32 noundef %6616) #13
  %.not1764 = icmp eq i32 %6617, 0
  br i1 %.not1764, label %6618, label %6619

6618:                                             ; preds = %6614, %6608
  br label %6619

6619:                                             ; preds = %6614, %6618
  %.str.5.sink4323 = phi ptr [ @.str.5, %6618 ], [ @.str.2, %6614 ]
  store i32 %6609, ptr %377, align 4, !tbaa !5
  %6620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6621 = load i32, ptr @test_count, align 4, !tbaa !5
  %6622 = load i32, ptr %323, align 4, !tbaa !5
  %6623 = call ptr @s2n_strerror(i32 noundef %6622, ptr noundef nonnull @.str.4) #13
  %6624 = load i32, ptr %323, align 4, !tbaa !5
  %6625 = call ptr @s2n_strerror_debug(i32 noundef %6624, ptr noundef nonnull @.str.4) #13
  %6626 = load i32, ptr %377, align 4, !tbaa !5
  %6627 = call ptr @strerror(i32 noundef %6626) #13
  %6628 = load i32, ptr %377, align 4, !tbaa !5
  %6629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6620, ptr noundef nonnull %.str.5.sink4323, i32 noundef %6621, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 848, ptr noundef %6623, ptr noundef %6625, ptr noundef %6627, i32 noundef %6628) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6630:                                             ; preds = %6603
  %6631 = load i32, ptr @test_count, align 4, !tbaa !5
  %6632 = add nsw i32 %6631, 1
  store i32 %6632, ptr @test_count, align 4, !tbaa !5
  %6633 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %6579, ptr noundef nonnull %71)
  %6634 = call zeroext i1 @s2n_result_is_error(i32 %6633)
  br i1 %6634, label %6657, label %6635

6635:                                             ; preds = %6630
  %6636 = load i32, ptr %377, align 4, !tbaa !5
  %6637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6638 = call i32 @s2n_print_stacktrace(ptr noundef %6637) #13
  %6639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6640 = trunc nuw i8 %6639 to i1
  br i1 %6640, label %6641, label %6645

6641:                                             ; preds = %6635
  %6642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6643 = call i32 @fileno(ptr noundef %6642) #13
  %6644 = call i32 @isatty(i32 noundef %6643) #13
  %.not1765 = icmp eq i32 %6644, 0
  br i1 %.not1765, label %6645, label %6646

6645:                                             ; preds = %6641, %6635
  br label %6646

6646:                                             ; preds = %6641, %6645
  %.str.5.sink4332 = phi ptr [ @.str.5, %6645 ], [ @.str.2, %6641 ]
  store i32 %6636, ptr %377, align 4, !tbaa !5
  %6647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6648 = load i32, ptr @test_count, align 4, !tbaa !5
  %6649 = load i32, ptr %323, align 4, !tbaa !5
  %6650 = call ptr @s2n_strerror(i32 noundef %6649, ptr noundef nonnull @.str.4) #13
  %6651 = load i32, ptr %323, align 4, !tbaa !5
  %6652 = call ptr @s2n_strerror_debug(i32 noundef %6651, ptr noundef nonnull @.str.4) #13
  %6653 = load i32, ptr %377, align 4, !tbaa !5
  %6654 = call ptr @strerror(i32 noundef %6653) #13
  %6655 = load i32, ptr %377, align 4, !tbaa !5
  %6656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6647, ptr noundef nonnull %.str.5.sink4332, i32 noundef %6648, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 850, ptr noundef %6650, ptr noundef %6652, ptr noundef %6654, i32 noundef %6655) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6657:                                             ; preds = %6630
  %6658 = load i32, ptr @test_count, align 4, !tbaa !5
  %6659 = add nsw i32 %6658, 1
  store i32 %6659, ptr @test_count, align 4, !tbaa !5
  %6660 = load i32, ptr %323, align 4, !tbaa !5
  %6661 = icmp eq i32 %6660, 0
  br i1 %6661, label %6662, label %6684

6662:                                             ; preds = %6657
  %6663 = load i32, ptr %377, align 4, !tbaa !5
  %6664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6665 = call i32 @s2n_print_stacktrace(ptr noundef %6664) #13
  %6666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6667 = trunc nuw i8 %6666 to i1
  br i1 %6667, label %6668, label %6672

6668:                                             ; preds = %6662
  %6669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6670 = call i32 @fileno(ptr noundef %6669) #13
  %6671 = call i32 @isatty(i32 noundef %6670) #13
  %.not2104 = icmp eq i32 %6671, 0
  br i1 %.not2104, label %6672, label %6673

6672:                                             ; preds = %6668, %6662
  br label %6673

6673:                                             ; preds = %6668, %6672
  %.str.5.sink4341 = phi ptr [ @.str.5, %6672 ], [ @.str.2, %6668 ]
  store i32 %6663, ptr %377, align 4, !tbaa !5
  %6674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6675 = load i32, ptr @test_count, align 4, !tbaa !5
  %6676 = load i32, ptr %323, align 4, !tbaa !5
  %6677 = call ptr @s2n_strerror(i32 noundef %6676, ptr noundef nonnull @.str.4) #13
  %6678 = load i32, ptr %323, align 4, !tbaa !5
  %6679 = call ptr @s2n_strerror_debug(i32 noundef %6678, ptr noundef nonnull @.str.4) #13
  %6680 = load i32, ptr %377, align 4, !tbaa !5
  %6681 = call ptr @strerror(i32 noundef %6680) #13
  %6682 = load i32, ptr %377, align 4, !tbaa !5
  %6683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6674, ptr noundef nonnull %.str.5.sink4341, i32 noundef %6675, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 850, ptr noundef %6677, ptr noundef %6679, ptr noundef %6681, i32 noundef %6682) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6684:                                             ; preds = %6657
  %6685 = add nsw i32 %6658, 2
  store i32 %6685, ptr @test_count, align 4, !tbaa !5
  %6686 = call ptr @s2n_strerror_debug(i32 noundef %6660, ptr noundef nonnull @.str.4) #13
  %6687 = icmp eq ptr %6686, null
  br i1 %6687, label %6688, label %6710

6688:                                             ; preds = %6684
  %6689 = load i32, ptr %377, align 4, !tbaa !5
  %6690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6691 = call i32 @s2n_print_stacktrace(ptr noundef %6690) #13
  %6692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6693 = trunc nuw i8 %6692 to i1
  br i1 %6693, label %6694, label %6698

6694:                                             ; preds = %6688
  %6695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6696 = call i32 @fileno(ptr noundef %6695) #13
  %6697 = call i32 @isatty(i32 noundef %6696) #13
  %.not2103 = icmp eq i32 %6697, 0
  br i1 %.not2103, label %6698, label %6699

6698:                                             ; preds = %6694, %6688
  br label %6699

6699:                                             ; preds = %6694, %6698
  %.str.5.sink4350 = phi ptr [ @.str.5, %6698 ], [ @.str.2, %6694 ]
  store i32 %6689, ptr %377, align 4, !tbaa !5
  %6700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6701 = load i32, ptr @test_count, align 4, !tbaa !5
  %6702 = load i32, ptr %323, align 4, !tbaa !5
  %6703 = call ptr @s2n_strerror(i32 noundef %6702, ptr noundef nonnull @.str.4) #13
  %6704 = load i32, ptr %323, align 4, !tbaa !5
  %6705 = call ptr @s2n_strerror_debug(i32 noundef %6704, ptr noundef nonnull @.str.4) #13
  %6706 = load i32, ptr %377, align 4, !tbaa !5
  %6707 = call ptr @strerror(i32 noundef %6706) #13
  %6708 = load i32, ptr %377, align 4, !tbaa !5
  %6709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6700, ptr noundef nonnull %.str.5.sink4350, i32 noundef %6701, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 850, ptr noundef %6703, ptr noundef %6705, ptr noundef %6707, i32 noundef %6708) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6710:                                             ; preds = %6684
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %6711 = load i32, ptr @test_count, align 4, !tbaa !5
  %6712 = add nsw i32 %6711, 1
  store i32 %6712, ptr @test_count, align 4, !tbaa !5
  %6713 = getelementptr inbounds i8, ptr %6579, i64 1736
  %6714 = load ptr, ptr %6713, align 8, !tbaa !88
  %6715 = icmp eq ptr %6714, null
  br i1 %6715, label %6738, label %6716

6716:                                             ; preds = %6710
  %6717 = load i32, ptr %377, align 4, !tbaa !5
  %6718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6719 = call i32 @s2n_print_stacktrace(ptr noundef %6718) #13
  %6720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6721 = trunc nuw i8 %6720 to i1
  br i1 %6721, label %6722, label %6726

6722:                                             ; preds = %6716
  %6723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6724 = call i32 @fileno(ptr noundef %6723) #13
  %6725 = call i32 @isatty(i32 noundef %6724) #13
  %.not1766 = icmp eq i32 %6725, 0
  br i1 %.not1766, label %6726, label %6727

6726:                                             ; preds = %6722, %6716
  br label %6727

6727:                                             ; preds = %6722, %6726
  %.str.5.sink4359 = phi ptr [ @.str.5, %6726 ], [ @.str.2, %6722 ]
  store i32 %6717, ptr %377, align 4, !tbaa !5
  %6728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6729 = load i32, ptr @test_count, align 4, !tbaa !5
  %6730 = load i32, ptr %323, align 4, !tbaa !5
  %6731 = call ptr @s2n_strerror(i32 noundef %6730, ptr noundef nonnull @.str.4) #13
  %6732 = load i32, ptr %323, align 4, !tbaa !5
  %6733 = call ptr @s2n_strerror_debug(i32 noundef %6732, ptr noundef nonnull @.str.4) #13
  %6734 = load i32, ptr %377, align 4, !tbaa !5
  %6735 = call ptr @strerror(i32 noundef %6734) #13
  %6736 = load i32, ptr %377, align 4, !tbaa !5
  %6737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6728, ptr noundef nonnull %.str.5.sink4359, i32 noundef %6729, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 851, ptr noundef %6731, ptr noundef %6733, ptr noundef %6735, i32 noundef %6736) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6738:                                             ; preds = %6710
  %6739 = add nsw i32 %6711, 2
  store i32 %6739, ptr @test_count, align 4, !tbaa !5
  %6740 = call i32 @s2n_connection_free(ptr noundef nonnull %6579) #13
  %6741 = icmp eq i32 %6740, -1
  br i1 %6741, label %6742, label %6764

6742:                                             ; preds = %6738
  %6743 = load i32, ptr %377, align 4, !tbaa !5
  %6744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6745 = call i32 @s2n_print_stacktrace(ptr noundef %6744) #13
  %6746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6747 = trunc nuw i8 %6746 to i1
  br i1 %6747, label %6748, label %6752

6748:                                             ; preds = %6742
  %6749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6750 = call i32 @fileno(ptr noundef %6749) #13
  %6751 = call i32 @isatty(i32 noundef %6750) #13
  %.not2102 = icmp eq i32 %6751, 0
  br i1 %.not2102, label %6752, label %6753

6752:                                             ; preds = %6748, %6742
  br label %6753

6753:                                             ; preds = %6748, %6752
  %.str.5.sink4368 = phi ptr [ @.str.5, %6752 ], [ @.str.2, %6748 ]
  store i32 %6743, ptr %377, align 4, !tbaa !5
  %6754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6755 = load i32, ptr @test_count, align 4, !tbaa !5
  %6756 = load i32, ptr %323, align 4, !tbaa !5
  %6757 = call ptr @s2n_strerror(i32 noundef %6756, ptr noundef nonnull @.str.4) #13
  %6758 = load i32, ptr %323, align 4, !tbaa !5
  %6759 = call ptr @s2n_strerror_debug(i32 noundef %6758, ptr noundef nonnull @.str.4) #13
  %6760 = load i32, ptr %377, align 4, !tbaa !5
  %6761 = call ptr @strerror(i32 noundef %6760) #13
  %6762 = load i32, ptr %377, align 4, !tbaa !5
  %6763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6754, ptr noundef nonnull %.str.5.sink4368, i32 noundef %6755, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 853, ptr noundef %6757, ptr noundef %6759, ptr noundef %6761, i32 noundef %6762) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6764:                                             ; preds = %6738
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %71) #13
  %6765 = load i32, ptr @test_count, align 4, !tbaa !5
  %6766 = add nsw i32 %6765, 1
  store i32 %6766, ptr @test_count, align 4, !tbaa !5
  %6767 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %6768 = icmp eq ptr %6767, null
  br i1 %6768, label %6769, label %6791

6769:                                             ; preds = %6764
  %6770 = load i32, ptr %377, align 4, !tbaa !5
  %6771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6772 = call i32 @s2n_print_stacktrace(ptr noundef %6771) #13
  %6773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6774 = trunc nuw i8 %6773 to i1
  br i1 %6774, label %6775, label %6779

6775:                                             ; preds = %6769
  %6776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6777 = call i32 @fileno(ptr noundef %6776) #13
  %6778 = call i32 @isatty(i32 noundef %6777) #13
  %.not2101 = icmp eq i32 %6778, 0
  br i1 %.not2101, label %6779, label %6780

6779:                                             ; preds = %6775, %6769
  br label %6780

6780:                                             ; preds = %6775, %6779
  %.str.5.sink4377 = phi ptr [ @.str.5, %6779 ], [ @.str.2, %6775 ]
  store i32 %6770, ptr %377, align 4, !tbaa !5
  %6781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6782 = load i32, ptr @test_count, align 4, !tbaa !5
  %6783 = load i32, ptr %323, align 4, !tbaa !5
  %6784 = call ptr @s2n_strerror(i32 noundef %6783, ptr noundef nonnull @.str.4) #13
  %6785 = load i32, ptr %323, align 4, !tbaa !5
  %6786 = call ptr @s2n_strerror_debug(i32 noundef %6785, ptr noundef nonnull @.str.4) #13
  %6787 = load i32, ptr %377, align 4, !tbaa !5
  %6788 = call ptr @strerror(i32 noundef %6787) #13
  %6789 = load i32, ptr %377, align 4, !tbaa !5
  %6790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6781, ptr noundef nonnull %.str.5.sink4377, i32 noundef %6782, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 859, ptr noundef %6784, ptr noundef %6786, ptr noundef %6788, i32 noundef %6789) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6791:                                             ; preds = %6764
  %6792 = load i32, ptr @test_count, align 4, !tbaa !5
  %6793 = add nsw i32 %6792, 1
  store i32 %6793, ptr @test_count, align 4, !tbaa !5
  %6794 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %6767, i32 noundef 1) #13
  %6795 = call zeroext i1 @s2n_result_is_ok(i32 %6794)
  br i1 %6795, label %6818, label %6796

6796:                                             ; preds = %6791
  %6797 = load i32, ptr %377, align 4, !tbaa !5
  %6798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6799 = call i32 @s2n_print_stacktrace(ptr noundef %6798) #13
  %6800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6801 = trunc nuw i8 %6800 to i1
  br i1 %6801, label %6802, label %6806

6802:                                             ; preds = %6796
  %6803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6804 = call i32 @fileno(ptr noundef %6803) #13
  %6805 = call i32 @isatty(i32 noundef %6804) #13
  %.not1767 = icmp eq i32 %6805, 0
  br i1 %.not1767, label %6806, label %6807

6806:                                             ; preds = %6802, %6796
  br label %6807

6807:                                             ; preds = %6802, %6806
  %.str.5.sink4386 = phi ptr [ @.str.5, %6806 ], [ @.str.2, %6802 ]
  store i32 %6797, ptr %377, align 4, !tbaa !5
  %6808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6809 = load i32, ptr @test_count, align 4, !tbaa !5
  %6810 = load i32, ptr %323, align 4, !tbaa !5
  %6811 = call ptr @s2n_strerror(i32 noundef %6810, ptr noundef nonnull @.str.4) #13
  %6812 = load i32, ptr %323, align 4, !tbaa !5
  %6813 = call ptr @s2n_strerror_debug(i32 noundef %6812, ptr noundef nonnull @.str.4) #13
  %6814 = load i32, ptr %377, align 4, !tbaa !5
  %6815 = call ptr @strerror(i32 noundef %6814) #13
  %6816 = load i32, ptr %377, align 4, !tbaa !5
  %6817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6808, ptr noundef nonnull %.str.5.sink4386, i32 noundef %6809, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 860, ptr noundef %6811, ptr noundef %6813, ptr noundef %6815, i32 noundef %6816) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6818:                                             ; preds = %6791
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %72) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %72, i8 0, i64 40, i1 false)
  %6819 = load i32, ptr @test_count, align 4, !tbaa !5
  %6820 = add nsw i32 %6819, 1
  store i32 %6820, ptr @test_count, align 4, !tbaa !5
  %6821 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %72, i32 noundef 40) #13
  %6822 = icmp eq i32 %6821, -1
  br i1 %6822, label %6823, label %6845

6823:                                             ; preds = %6818
  %6824 = load i32, ptr %377, align 4, !tbaa !5
  %6825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6826 = call i32 @s2n_print_stacktrace(ptr noundef %6825) #13
  %6827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6828 = trunc nuw i8 %6827 to i1
  br i1 %6828, label %6829, label %6833

6829:                                             ; preds = %6823
  %6830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6831 = call i32 @fileno(ptr noundef %6830) #13
  %6832 = call i32 @isatty(i32 noundef %6831) #13
  %.not2100 = icmp eq i32 %6832, 0
  br i1 %.not2100, label %6833, label %6834

6833:                                             ; preds = %6829, %6823
  br label %6834

6834:                                             ; preds = %6829, %6833
  %.str.5.sink4395 = phi ptr [ @.str.5, %6833 ], [ @.str.2, %6829 ]
  store i32 %6824, ptr %377, align 4, !tbaa !5
  %6835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6836 = load i32, ptr @test_count, align 4, !tbaa !5
  %6837 = load i32, ptr %323, align 4, !tbaa !5
  %6838 = call ptr @s2n_strerror(i32 noundef %6837, ptr noundef nonnull @.str.4) #13
  %6839 = load i32, ptr %323, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror_debug(i32 noundef %6839, ptr noundef nonnull @.str.4) #13
  %6841 = load i32, ptr %377, align 4, !tbaa !5
  %6842 = call ptr @strerror(i32 noundef %6841) #13
  %6843 = load i32, ptr %377, align 4, !tbaa !5
  %6844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6835, ptr noundef nonnull %.str.5.sink4395, i32 noundef %6836, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 863, ptr noundef %6838, ptr noundef %6840, ptr noundef %6842, i32 noundef %6843) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6845:                                             ; preds = %6818
  %6846 = load i32, ptr @test_count, align 4, !tbaa !5
  %6847 = add nsw i32 %6846, 1
  store i32 %6847, ptr @test_count, align 4, !tbaa !5
  %6848 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %72, ptr noundef nonnull %10, i32 noundef 40) #13
  %6849 = icmp eq i32 %6848, -1
  br i1 %6849, label %6850, label %6872

6850:                                             ; preds = %6845
  %6851 = load i32, ptr %377, align 4, !tbaa !5
  %6852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6853 = call i32 @s2n_print_stacktrace(ptr noundef %6852) #13
  %6854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6855 = trunc nuw i8 %6854 to i1
  br i1 %6855, label %6856, label %6860

6856:                                             ; preds = %6850
  %6857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6858 = call i32 @fileno(ptr noundef %6857) #13
  %6859 = call i32 @isatty(i32 noundef %6858) #13
  %.not2099 = icmp eq i32 %6859, 0
  br i1 %.not2099, label %6860, label %6861

6860:                                             ; preds = %6856, %6850
  br label %6861

6861:                                             ; preds = %6856, %6860
  %.str.5.sink4404 = phi ptr [ @.str.5, %6860 ], [ @.str.2, %6856 ]
  store i32 %6851, ptr %377, align 4, !tbaa !5
  %6862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6863 = load i32, ptr @test_count, align 4, !tbaa !5
  %6864 = load i32, ptr %323, align 4, !tbaa !5
  %6865 = call ptr @s2n_strerror(i32 noundef %6864, ptr noundef nonnull @.str.4) #13
  %6866 = load i32, ptr %323, align 4, !tbaa !5
  %6867 = call ptr @s2n_strerror_debug(i32 noundef %6866, ptr noundef nonnull @.str.4) #13
  %6868 = load i32, ptr %377, align 4, !tbaa !5
  %6869 = call ptr @strerror(i32 noundef %6868) #13
  %6870 = load i32, ptr %377, align 4, !tbaa !5
  %6871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6862, ptr noundef nonnull %.str.5.sink4404, i32 noundef %6863, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 864, ptr noundef %6865, ptr noundef %6867, ptr noundef %6869, i32 noundef %6870) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6872:                                             ; preds = %6845
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #13
  store ptr null, ptr %73, align 8, !tbaa !9
  %6873 = load i32, ptr @test_count, align 4, !tbaa !5
  %6874 = add nsw i32 %6873, 1
  store i32 %6874, ptr @test_count, align 4, !tbaa !5
  %6875 = getelementptr inbounds i8, ptr %6767, i64 1696
  %6876 = call i32 @s2n_array_pushback(ptr noundef nonnull %6875, ptr noundef nonnull %73) #13
  %6877 = call zeroext i1 @s2n_result_is_ok(i32 %6876)
  br i1 %6877, label %6900, label %6878

6878:                                             ; preds = %6872
  %6879 = load i32, ptr %377, align 4, !tbaa !5
  %6880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6881 = call i32 @s2n_print_stacktrace(ptr noundef %6880) #13
  %6882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6883 = trunc nuw i8 %6882 to i1
  br i1 %6883, label %6884, label %6888

6884:                                             ; preds = %6878
  %6885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6886 = call i32 @fileno(ptr noundef %6885) #13
  %6887 = call i32 @isatty(i32 noundef %6886) #13
  %.not1768 = icmp eq i32 %6887, 0
  br i1 %.not1768, label %6888, label %6889

6888:                                             ; preds = %6884, %6878
  br label %6889

6889:                                             ; preds = %6884, %6888
  %.str.5.sink4413 = phi ptr [ @.str.5, %6888 ], [ @.str.2, %6884 ]
  store i32 %6879, ptr %377, align 4, !tbaa !5
  %6890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6891 = load i32, ptr @test_count, align 4, !tbaa !5
  %6892 = load i32, ptr %323, align 4, !tbaa !5
  %6893 = call ptr @s2n_strerror(i32 noundef %6892, ptr noundef nonnull @.str.4) #13
  %6894 = load i32, ptr %323, align 4, !tbaa !5
  %6895 = call ptr @s2n_strerror_debug(i32 noundef %6894, ptr noundef nonnull @.str.4) #13
  %6896 = load i32, ptr %377, align 4, !tbaa !5
  %6897 = call ptr @strerror(i32 noundef %6896) #13
  %6898 = load i32, ptr %377, align 4, !tbaa !5
  %6899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6890, ptr noundef nonnull %.str.5.sink4413, i32 noundef %6891, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 867, ptr noundef %6893, ptr noundef %6895, ptr noundef %6897, i32 noundef %6898) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6900:                                             ; preds = %6872
  %6901 = load i32, ptr @test_count, align 4, !tbaa !5
  %6902 = add nsw i32 %6901, 1
  store i32 %6902, ptr @test_count, align 4, !tbaa !5
  %6903 = load ptr, ptr %73, align 8, !tbaa !9
  %6904 = call i32 @s2n_psk_init(ptr noundef %6903, i32 noundef 1) #13
  %6905 = call zeroext i1 @s2n_result_is_ok(i32 %6904)
  br i1 %6905, label %6928, label %6906

6906:                                             ; preds = %6900
  %6907 = load i32, ptr %377, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @s2n_print_stacktrace(ptr noundef %6908) #13
  %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) #13
  %6915 = call i32 @isatty(i32 noundef %6914) #13
  %.not1769 = icmp eq i32 %6915, 0
  br i1 %.not1769, label %6916, label %6917

6916:                                             ; preds = %6912, %6906
  br label %6917

6917:                                             ; preds = %6912, %6916
  %.str.5.sink4422 = phi ptr [ @.str.5, %6916 ], [ @.str.2, %6912 ]
  store i32 %6907, ptr %377, 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 %323, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror(i32 noundef %6920, ptr noundef nonnull @.str.4) #13
  %6922 = load i32, ptr %323, align 4, !tbaa !5
  %6923 = call ptr @s2n_strerror_debug(i32 noundef %6922, ptr noundef nonnull @.str.4) #13
  %6924 = load i32, ptr %377, align 4, !tbaa !5
  %6925 = call ptr @strerror(i32 noundef %6924) #13
  %6926 = load i32, ptr %377, align 4, !tbaa !5
  %6927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6918, ptr noundef nonnull %.str.5.sink4422, i32 noundef %6919, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 868, ptr noundef %6921, ptr noundef %6923, ptr noundef %6925, i32 noundef %6926) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6928:                                             ; preds = %6900
  %6929 = load i32, ptr @test_count, align 4, !tbaa !5
  %6930 = add nsw i32 %6929, 1
  store i32 %6930, ptr @test_count, align 4, !tbaa !5
  %6931 = load ptr, ptr %73, align 8, !tbaa !9
  %6932 = call i32 @s2n_psk_set_identity(ptr noundef %6931, ptr noundef nonnull %4, i16 noundef zeroext 3) #13
  %6933 = icmp eq i32 %6932, -1
  br i1 %6933, label %6934, label %6956

6934:                                             ; preds = %6928
  %6935 = load i32, ptr %377, align 4, !tbaa !5
  %6936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6937 = call i32 @s2n_print_stacktrace(ptr noundef %6936) #13
  %6938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6939 = trunc nuw i8 %6938 to i1
  br i1 %6939, label %6940, label %6944

6940:                                             ; preds = %6934
  %6941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6942 = call i32 @fileno(ptr noundef %6941) #13
  %6943 = call i32 @isatty(i32 noundef %6942) #13
  %.not2098 = icmp eq i32 %6943, 0
  br i1 %.not2098, label %6944, label %6945

6944:                                             ; preds = %6940, %6934
  br label %6945

6945:                                             ; preds = %6940, %6944
  %.str.5.sink4431 = phi ptr [ @.str.5, %6944 ], [ @.str.2, %6940 ]
  store i32 %6935, ptr %377, align 4, !tbaa !5
  %6946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6947 = load i32, ptr @test_count, align 4, !tbaa !5
  %6948 = load i32, ptr %323, align 4, !tbaa !5
  %6949 = call ptr @s2n_strerror(i32 noundef %6948, ptr noundef nonnull @.str.4) #13
  %6950 = load i32, ptr %323, align 4, !tbaa !5
  %6951 = call ptr @s2n_strerror_debug(i32 noundef %6950, ptr noundef nonnull @.str.4) #13
  %6952 = load i32, ptr %377, align 4, !tbaa !5
  %6953 = call ptr @strerror(i32 noundef %6952) #13
  %6954 = load i32, ptr %377, align 4, !tbaa !5
  %6955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6946, ptr noundef nonnull %.str.5.sink4431, i32 noundef %6947, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 869, ptr noundef %6949, ptr noundef %6951, ptr noundef %6953, i32 noundef %6954) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6956:                                             ; preds = %6928
  %6957 = load i32, ptr @test_count, align 4, !tbaa !5
  %6958 = add nsw i32 %6957, 1
  store i32 %6958, ptr @test_count, align 4, !tbaa !5
  %6959 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %6767, ptr noundef nonnull %72)
  %6960 = call zeroext i1 @s2n_result_is_error(i32 %6959)
  br i1 %6960, label %6983, label %6961

6961:                                             ; preds = %6956
  %6962 = load i32, ptr %377, align 4, !tbaa !5
  %6963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6964 = call i32 @s2n_print_stacktrace(ptr noundef %6963) #13
  %6965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6966 = trunc nuw i8 %6965 to i1
  br i1 %6966, label %6967, label %6971

6967:                                             ; preds = %6961
  %6968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6969 = call i32 @fileno(ptr noundef %6968) #13
  %6970 = call i32 @isatty(i32 noundef %6969) #13
  %.not1770 = icmp eq i32 %6970, 0
  br i1 %.not1770, label %6971, label %6972

6971:                                             ; preds = %6967, %6961
  br label %6972

6972:                                             ; preds = %6967, %6971
  %.str.5.sink4440 = phi ptr [ @.str.5, %6971 ], [ @.str.2, %6967 ]
  store i32 %6962, ptr %377, align 4, !tbaa !5
  %6973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6974 = load i32, ptr @test_count, align 4, !tbaa !5
  %6975 = load i32, ptr %323, align 4, !tbaa !5
  %6976 = call ptr @s2n_strerror(i32 noundef %6975, ptr noundef nonnull @.str.4) #13
  %6977 = load i32, ptr %323, align 4, !tbaa !5
  %6978 = call ptr @s2n_strerror_debug(i32 noundef %6977, ptr noundef nonnull @.str.4) #13
  %6979 = load i32, ptr %377, align 4, !tbaa !5
  %6980 = call ptr @strerror(i32 noundef %6979) #13
  %6981 = load i32, ptr %377, align 4, !tbaa !5
  %6982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6973, ptr noundef nonnull %.str.5.sink4440, i32 noundef %6974, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 871, ptr noundef %6976, ptr noundef %6978, ptr noundef %6980, i32 noundef %6981) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6983:                                             ; preds = %6956
  %6984 = load i32, ptr @test_count, align 4, !tbaa !5
  %6985 = add nsw i32 %6984, 1
  store i32 %6985, ptr @test_count, align 4, !tbaa !5
  %6986 = load i32, ptr %323, align 4, !tbaa !5
  %6987 = icmp eq i32 %6986, 402653193
  br i1 %6987, label %7010, label %6988

6988:                                             ; preds = %6983
  %6989 = load i32, ptr %377, align 4, !tbaa !5
  %6990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6991 = call i32 @s2n_print_stacktrace(ptr noundef %6990) #13
  %6992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6993 = trunc nuw i8 %6992 to i1
  br i1 %6993, label %6994, label %6998

6994:                                             ; preds = %6988
  %6995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6996 = call i32 @fileno(ptr noundef %6995) #13
  %6997 = call i32 @isatty(i32 noundef %6996) #13
  %.not1771 = icmp eq i32 %6997, 0
  br i1 %.not1771, label %6998, label %6999

6998:                                             ; preds = %6994, %6988
  br label %6999

6999:                                             ; preds = %6994, %6998
  %.str.5.sink4449 = phi ptr [ @.str.5, %6998 ], [ @.str.2, %6994 ]
  store i32 %6989, ptr %377, align 4, !tbaa !5
  %7000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7001 = load i32, ptr @test_count, align 4, !tbaa !5
  %7002 = load i32, ptr %323, align 4, !tbaa !5
  %7003 = call ptr @s2n_strerror(i32 noundef %7002, ptr noundef nonnull @.str.4) #13
  %7004 = load i32, ptr %323, align 4, !tbaa !5
  %7005 = call ptr @s2n_strerror_debug(i32 noundef %7004, ptr noundef nonnull @.str.4) #13
  %7006 = load i32, ptr %377, align 4, !tbaa !5
  %7007 = call ptr @strerror(i32 noundef %7006) #13
  %7008 = load i32, ptr %377, align 4, !tbaa !5
  %7009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7000, ptr noundef nonnull %.str.5.sink4449, i32 noundef %7001, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 871, ptr noundef %7003, ptr noundef %7005, ptr noundef %7007, i32 noundef %7008) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7010:                                             ; preds = %6983
  %7011 = add nsw i32 %6984, 2
  store i32 %7011, ptr @test_count, align 4, !tbaa !5
  %7012 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %7013 = icmp eq ptr %7012, null
  br i1 %7013, label %7014, label %7036

7014:                                             ; preds = %7010
  %7015 = load i32, ptr %377, align 4, !tbaa !5
  %7016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7017 = call i32 @s2n_print_stacktrace(ptr noundef %7016) #13
  %7018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7019 = trunc nuw i8 %7018 to i1
  br i1 %7019, label %7020, label %7024

7020:                                             ; preds = %7014
  %7021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7022 = call i32 @fileno(ptr noundef %7021) #13
  %7023 = call i32 @isatty(i32 noundef %7022) #13
  %.not2097 = icmp eq i32 %7023, 0
  br i1 %.not2097, label %7024, label %7025

7024:                                             ; preds = %7020, %7014
  br label %7025

7025:                                             ; preds = %7020, %7024
  %.str.5.sink4458 = phi ptr [ @.str.5, %7024 ], [ @.str.2, %7020 ]
  store i32 %7015, ptr %377, align 4, !tbaa !5
  %7026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7027 = load i32, ptr @test_count, align 4, !tbaa !5
  %7028 = load i32, ptr %323, align 4, !tbaa !5
  %7029 = call ptr @s2n_strerror(i32 noundef %7028, ptr noundef nonnull @.str.4) #13
  %7030 = load i32, ptr %323, align 4, !tbaa !5
  %7031 = call ptr @s2n_strerror_debug(i32 noundef %7030, ptr noundef nonnull @.str.4) #13
  %7032 = load i32, ptr %377, align 4, !tbaa !5
  %7033 = call ptr @strerror(i32 noundef %7032) #13
  %7034 = load i32, ptr %377, align 4, !tbaa !5
  %7035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7026, ptr noundef nonnull %.str.5.sink4458, i32 noundef %7027, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 871, ptr noundef %7029, ptr noundef %7031, ptr noundef %7033, i32 noundef %7034) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7036:                                             ; preds = %7010
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %7037 = load i32, ptr @test_count, align 4, !tbaa !5
  %7038 = add nsw i32 %7037, 1
  store i32 %7038, ptr @test_count, align 4, !tbaa !5
  %7039 = getelementptr inbounds i8, ptr %6767, i64 1736
  %7040 = load ptr, ptr %7039, align 8, !tbaa !88
  %7041 = icmp eq ptr %7040, null
  br i1 %7041, label %7064, label %7042

7042:                                             ; preds = %7036
  %7043 = load i32, ptr %377, align 4, !tbaa !5
  %7044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7045 = call i32 @s2n_print_stacktrace(ptr noundef %7044) #13
  %7046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7047 = trunc nuw i8 %7046 to i1
  br i1 %7047, label %7048, label %7052

7048:                                             ; preds = %7042
  %7049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7050 = call i32 @fileno(ptr noundef %7049) #13
  %7051 = call i32 @isatty(i32 noundef %7050) #13
  %.not1772 = icmp eq i32 %7051, 0
  br i1 %.not1772, label %7052, label %7053

7052:                                             ; preds = %7048, %7042
  br label %7053

7053:                                             ; preds = %7048, %7052
  %.str.5.sink4467 = phi ptr [ @.str.5, %7052 ], [ @.str.2, %7048 ]
  store i32 %7043, ptr %377, align 4, !tbaa !5
  %7054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7055 = load i32, ptr @test_count, align 4, !tbaa !5
  %7056 = load i32, ptr %323, align 4, !tbaa !5
  %7057 = call ptr @s2n_strerror(i32 noundef %7056, ptr noundef nonnull @.str.4) #13
  %7058 = load i32, ptr %323, align 4, !tbaa !5
  %7059 = call ptr @s2n_strerror_debug(i32 noundef %7058, ptr noundef nonnull @.str.4) #13
  %7060 = load i32, ptr %377, align 4, !tbaa !5
  %7061 = call ptr @strerror(i32 noundef %7060) #13
  %7062 = load i32, ptr %377, align 4, !tbaa !5
  %7063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7054, ptr noundef nonnull %.str.5.sink4467, i32 noundef %7055, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 872, ptr noundef %7057, ptr noundef %7059, ptr noundef %7061, i32 noundef %7062) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7064:                                             ; preds = %7036
  %7065 = add nsw i32 %7037, 2
  store i32 %7065, ptr @test_count, align 4, !tbaa !5
  %7066 = call i32 @s2n_connection_free(ptr noundef nonnull %6767) #13
  %7067 = icmp eq i32 %7066, -1
  br i1 %7067, label %7068, label %7090

7068:                                             ; preds = %7064
  %7069 = load i32, ptr %377, align 4, !tbaa !5
  %7070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7071 = call i32 @s2n_print_stacktrace(ptr noundef %7070) #13
  %7072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7073 = trunc nuw i8 %7072 to i1
  br i1 %7073, label %7074, label %7078

7074:                                             ; preds = %7068
  %7075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7076 = call i32 @fileno(ptr noundef %7075) #13
  %7077 = call i32 @isatty(i32 noundef %7076) #13
  %.not2096 = icmp eq i32 %7077, 0
  br i1 %.not2096, label %7078, label %7079

7078:                                             ; preds = %7074, %7068
  br label %7079

7079:                                             ; preds = %7074, %7078
  %.str.5.sink4476 = phi ptr [ @.str.5, %7078 ], [ @.str.2, %7074 ]
  store i32 %7069, ptr %377, align 4, !tbaa !5
  %7080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7081 = load i32, ptr @test_count, align 4, !tbaa !5
  %7082 = load i32, ptr %323, align 4, !tbaa !5
  %7083 = call ptr @s2n_strerror(i32 noundef %7082, ptr noundef nonnull @.str.4) #13
  %7084 = load i32, ptr %323, align 4, !tbaa !5
  %7085 = call ptr @s2n_strerror_debug(i32 noundef %7084, ptr noundef nonnull @.str.4) #13
  %7086 = load i32, ptr %377, align 4, !tbaa !5
  %7087 = call ptr @strerror(i32 noundef %7086) #13
  %7088 = load i32, ptr %377, align 4, !tbaa !5
  %7089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7080, ptr noundef nonnull %.str.5.sink4476, i32 noundef %7081, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 874, ptr noundef %7083, ptr noundef %7085, ptr noundef %7087, i32 noundef %7088) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7090:                                             ; preds = %7064
  %7091 = load i32, ptr @test_count, align 4, !tbaa !5
  %7092 = add nsw i32 %7091, 1
  store i32 %7092, ptr @test_count, align 4, !tbaa !5
  %7093 = call i32 @s2n_stuffer_free(ptr noundef nonnull %72) #13
  %7094 = icmp eq i32 %7093, -1
  br i1 %7094, label %7095, label %7117

7095:                                             ; preds = %7090
  %7096 = load i32, ptr %377, align 4, !tbaa !5
  %7097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7098 = call i32 @s2n_print_stacktrace(ptr noundef %7097) #13
  %7099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7100 = trunc nuw i8 %7099 to i1
  br i1 %7100, label %7101, label %7105

7101:                                             ; preds = %7095
  %7102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7103 = call i32 @fileno(ptr noundef %7102) #13
  %7104 = call i32 @isatty(i32 noundef %7103) #13
  %.not2095 = icmp eq i32 %7104, 0
  br i1 %.not2095, label %7105, label %7106

7105:                                             ; preds = %7101, %7095
  br label %7106

7106:                                             ; preds = %7101, %7105
  %.str.5.sink4485 = phi ptr [ @.str.5, %7105 ], [ @.str.2, %7101 ]
  store i32 %7096, ptr %377, align 4, !tbaa !5
  %7107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7108 = load i32, ptr @test_count, align 4, !tbaa !5
  %7109 = load i32, ptr %323, align 4, !tbaa !5
  %7110 = call ptr @s2n_strerror(i32 noundef %7109, ptr noundef nonnull @.str.4) #13
  %7111 = load i32, ptr %323, align 4, !tbaa !5
  %7112 = call ptr @s2n_strerror_debug(i32 noundef %7111, ptr noundef nonnull @.str.4) #13
  %7113 = load i32, ptr %377, align 4, !tbaa !5
  %7114 = call ptr @strerror(i32 noundef %7113) #13
  %7115 = load i32, ptr %377, align 4, !tbaa !5
  %7116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7107, ptr noundef nonnull %.str.5.sink4485, i32 noundef %7108, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 875, ptr noundef %7110, ptr noundef %7112, ptr noundef %7114, i32 noundef %7115) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7117:                                             ; preds = %7090
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %72) #13
  %7118 = load i32, ptr @test_count, align 4, !tbaa !5
  %7119 = add nsw i32 %7118, 1
  store i32 %7119, ptr @test_count, align 4, !tbaa !5
  %7120 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %7121 = icmp eq ptr %7120, null
  br i1 %7121, label %7122, label %7144

7122:                                             ; preds = %7117
  %7123 = load i32, ptr %377, align 4, !tbaa !5
  %7124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7125 = call i32 @s2n_print_stacktrace(ptr noundef %7124) #13
  %7126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7127 = trunc nuw i8 %7126 to i1
  br i1 %7127, label %7128, label %7132

7128:                                             ; preds = %7122
  %7129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7130 = call i32 @fileno(ptr noundef %7129) #13
  %7131 = call i32 @isatty(i32 noundef %7130) #13
  %.not2094 = icmp eq i32 %7131, 0
  br i1 %.not2094, label %7132, label %7133

7132:                                             ; preds = %7128, %7122
  br label %7133

7133:                                             ; preds = %7128, %7132
  %.str.5.sink4494 = phi ptr [ @.str.5, %7132 ], [ @.str.2, %7128 ]
  store i32 %7123, ptr %377, align 4, !tbaa !5
  %7134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7135 = load i32, ptr @test_count, align 4, !tbaa !5
  %7136 = load i32, ptr %323, align 4, !tbaa !5
  %7137 = call ptr @s2n_strerror(i32 noundef %7136, ptr noundef nonnull @.str.4) #13
  %7138 = load i32, ptr %323, align 4, !tbaa !5
  %7139 = call ptr @s2n_strerror_debug(i32 noundef %7138, ptr noundef nonnull @.str.4) #13
  %7140 = load i32, ptr %377, align 4, !tbaa !5
  %7141 = call ptr @strerror(i32 noundef %7140) #13
  %7142 = load i32, ptr %377, align 4, !tbaa !5
  %7143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7134, ptr noundef nonnull %.str.5.sink4494, i32 noundef %7135, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 881, ptr noundef %7137, ptr noundef %7139, ptr noundef %7141, i32 noundef %7142) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7144:                                             ; preds = %7117
  %7145 = load i32, ptr @test_count, align 4, !tbaa !5
  %7146 = add nsw i32 %7145, 1
  store i32 %7146, ptr @test_count, align 4, !tbaa !5
  %7147 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %7120, i32 noundef 1) #13
  %7148 = call zeroext i1 @s2n_result_is_ok(i32 %7147)
  br i1 %7148, label %7171, label %7149

7149:                                             ; preds = %7144
  %7150 = load i32, ptr %377, align 4, !tbaa !5
  %7151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7152 = call i32 @s2n_print_stacktrace(ptr noundef %7151) #13
  %7153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7154 = trunc nuw i8 %7153 to i1
  br i1 %7154, label %7155, label %7159

7155:                                             ; preds = %7149
  %7156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7157 = call i32 @fileno(ptr noundef %7156) #13
  %7158 = call i32 @isatty(i32 noundef %7157) #13
  %.not1773 = icmp eq i32 %7158, 0
  br i1 %.not1773, label %7159, label %7160

7159:                                             ; preds = %7155, %7149
  br label %7160

7160:                                             ; preds = %7155, %7159
  %.str.5.sink4503 = phi ptr [ @.str.5, %7159 ], [ @.str.2, %7155 ]
  store i32 %7150, ptr %377, align 4, !tbaa !5
  %7161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7162 = load i32, ptr @test_count, align 4, !tbaa !5
  %7163 = load i32, ptr %323, align 4, !tbaa !5
  %7164 = call ptr @s2n_strerror(i32 noundef %7163, ptr noundef nonnull @.str.4) #13
  %7165 = load i32, ptr %323, align 4, !tbaa !5
  %7166 = call ptr @s2n_strerror_debug(i32 noundef %7165, ptr noundef nonnull @.str.4) #13
  %7167 = load i32, ptr %377, align 4, !tbaa !5
  %7168 = call ptr @strerror(i32 noundef %7167) #13
  %7169 = load i32, ptr %377, align 4, !tbaa !5
  %7170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7161, ptr noundef nonnull %.str.5.sink4503, i32 noundef %7162, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 882, ptr noundef %7164, ptr noundef %7166, ptr noundef %7168, i32 noundef %7169) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7171:                                             ; preds = %7144
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %74) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %74, i8 0, i64 40, i1 false)
  %7172 = load i32, ptr @test_count, align 4, !tbaa !5
  %7173 = add nsw i32 %7172, 1
  store i32 %7173, ptr @test_count, align 4, !tbaa !5
  %7174 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %74, i32 noundef 9) #13
  %7175 = icmp eq i32 %7174, -1
  br i1 %7175, label %7176, label %7198

7176:                                             ; preds = %7171
  %7177 = load i32, ptr %377, align 4, !tbaa !5
  %7178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7179 = call i32 @s2n_print_stacktrace(ptr noundef %7178) #13
  %7180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7181 = trunc nuw i8 %7180 to i1
  br i1 %7181, label %7182, label %7186

7182:                                             ; preds = %7176
  %7183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7184 = call i32 @fileno(ptr noundef %7183) #13
  %7185 = call i32 @isatty(i32 noundef %7184) #13
  %.not2093 = icmp eq i32 %7185, 0
  br i1 %.not2093, label %7186, label %7187

7186:                                             ; preds = %7182, %7176
  br label %7187

7187:                                             ; preds = %7182, %7186
  %.str.5.sink4512 = phi ptr [ @.str.5, %7186 ], [ @.str.2, %7182 ]
  store i32 %7177, ptr %377, align 4, !tbaa !5
  %7188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7189 = load i32, ptr @test_count, align 4, !tbaa !5
  %7190 = load i32, ptr %323, align 4, !tbaa !5
  %7191 = call ptr @s2n_strerror(i32 noundef %7190, ptr noundef nonnull @.str.4) #13
  %7192 = load i32, ptr %323, align 4, !tbaa !5
  %7193 = call ptr @s2n_strerror_debug(i32 noundef %7192, ptr noundef nonnull @.str.4) #13
  %7194 = load i32, ptr %377, align 4, !tbaa !5
  %7195 = call ptr @strerror(i32 noundef %7194) #13
  %7196 = load i32, ptr %377, align 4, !tbaa !5
  %7197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7188, ptr noundef nonnull %.str.5.sink4512, i32 noundef %7189, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 885, ptr noundef %7191, ptr noundef %7193, ptr noundef %7195, i32 noundef %7196) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7198:                                             ; preds = %7171
  %7199 = load i32, ptr @test_count, align 4, !tbaa !5
  %7200 = add nsw i32 %7199, 1
  store i32 %7200, ptr @test_count, align 4, !tbaa !5
  %7201 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %74, ptr noundef nonnull %9, i32 noundef 9) #13
  %7202 = icmp eq i32 %7201, -1
  br i1 %7202, label %7203, label %7225

7203:                                             ; preds = %7198
  %7204 = load i32, ptr %377, align 4, !tbaa !5
  %7205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7206 = call i32 @s2n_print_stacktrace(ptr noundef %7205) #13
  %7207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7208 = trunc nuw i8 %7207 to i1
  br i1 %7208, label %7209, label %7213

7209:                                             ; preds = %7203
  %7210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7211 = call i32 @fileno(ptr noundef %7210) #13
  %7212 = call i32 @isatty(i32 noundef %7211) #13
  %.not2092 = icmp eq i32 %7212, 0
  br i1 %.not2092, label %7213, label %7214

7213:                                             ; preds = %7209, %7203
  br label %7214

7214:                                             ; preds = %7209, %7213
  %.str.5.sink4521 = phi ptr [ @.str.5, %7213 ], [ @.str.2, %7209 ]
  store i32 %7204, ptr %377, align 4, !tbaa !5
  %7215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7216 = load i32, ptr @test_count, align 4, !tbaa !5
  %7217 = load i32, ptr %323, align 4, !tbaa !5
  %7218 = call ptr @s2n_strerror(i32 noundef %7217, ptr noundef nonnull @.str.4) #13
  %7219 = load i32, ptr %323, align 4, !tbaa !5
  %7220 = call ptr @s2n_strerror_debug(i32 noundef %7219, ptr noundef nonnull @.str.4) #13
  %7221 = load i32, ptr %377, align 4, !tbaa !5
  %7222 = call ptr @strerror(i32 noundef %7221) #13
  %7223 = load i32, ptr %377, align 4, !tbaa !5
  %7224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7215, ptr noundef nonnull %.str.5.sink4521, i32 noundef %7216, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 886, ptr noundef %7218, ptr noundef %7220, ptr noundef %7222, i32 noundef %7223) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7225:                                             ; preds = %7198
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #13
  store ptr null, ptr %75, align 8, !tbaa !9
  %7226 = load i32, ptr @test_count, align 4, !tbaa !5
  %7227 = add nsw i32 %7226, 1
  store i32 %7227, ptr @test_count, align 4, !tbaa !5
  %7228 = getelementptr inbounds i8, ptr %7120, i64 1696
  %7229 = call i32 @s2n_array_pushback(ptr noundef nonnull %7228, ptr noundef nonnull %75) #13
  %7230 = call zeroext i1 @s2n_result_is_ok(i32 %7229)
  br i1 %7230, label %7253, label %7231

7231:                                             ; preds = %7225
  %7232 = load i32, ptr %377, align 4, !tbaa !5
  %7233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7234 = call i32 @s2n_print_stacktrace(ptr noundef %7233) #13
  %7235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7236 = trunc nuw i8 %7235 to i1
  br i1 %7236, label %7237, label %7241

7237:                                             ; preds = %7231
  %7238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7239 = call i32 @fileno(ptr noundef %7238) #13
  %7240 = call i32 @isatty(i32 noundef %7239) #13
  %.not1774 = icmp eq i32 %7240, 0
  br i1 %.not1774, label %7241, label %7242

7241:                                             ; preds = %7237, %7231
  br label %7242

7242:                                             ; preds = %7237, %7241
  %.str.5.sink4530 = phi ptr [ @.str.5, %7241 ], [ @.str.2, %7237 ]
  store i32 %7232, ptr %377, align 4, !tbaa !5
  %7243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7244 = load i32, ptr @test_count, align 4, !tbaa !5
  %7245 = load i32, ptr %323, align 4, !tbaa !5
  %7246 = call ptr @s2n_strerror(i32 noundef %7245, ptr noundef nonnull @.str.4) #13
  %7247 = load i32, ptr %323, align 4, !tbaa !5
  %7248 = call ptr @s2n_strerror_debug(i32 noundef %7247, ptr noundef nonnull @.str.4) #13
  %7249 = load i32, ptr %377, align 4, !tbaa !5
  %7250 = call ptr @strerror(i32 noundef %7249) #13
  %7251 = load i32, ptr %377, align 4, !tbaa !5
  %7252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7243, ptr noundef nonnull %.str.5.sink4530, i32 noundef %7244, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 889, ptr noundef %7246, ptr noundef %7248, ptr noundef %7250, i32 noundef %7251) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7253:                                             ; preds = %7225
  %7254 = load i32, ptr @test_count, align 4, !tbaa !5
  %7255 = add nsw i32 %7254, 1
  store i32 %7255, ptr @test_count, align 4, !tbaa !5
  %7256 = load ptr, ptr %75, align 8, !tbaa !9
  %7257 = call i32 @s2n_psk_init(ptr noundef %7256, i32 noundef 1) #13
  %7258 = call zeroext i1 @s2n_result_is_ok(i32 %7257)
  br i1 %7258, label %7281, label %7259

7259:                                             ; preds = %7253
  %7260 = load i32, ptr %377, align 4, !tbaa !5
  %7261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7262 = call i32 @s2n_print_stacktrace(ptr noundef %7261) #13
  %7263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7264 = trunc nuw i8 %7263 to i1
  br i1 %7264, label %7265, label %7269

7265:                                             ; preds = %7259
  %7266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7267 = call i32 @fileno(ptr noundef %7266) #13
  %7268 = call i32 @isatty(i32 noundef %7267) #13
  %.not1775 = icmp eq i32 %7268, 0
  br i1 %.not1775, label %7269, label %7270

7269:                                             ; preds = %7265, %7259
  br label %7270

7270:                                             ; preds = %7265, %7269
  %.str.5.sink4539 = phi ptr [ @.str.5, %7269 ], [ @.str.2, %7265 ]
  store i32 %7260, ptr %377, align 4, !tbaa !5
  %7271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7272 = load i32, ptr @test_count, align 4, !tbaa !5
  %7273 = load i32, ptr %323, align 4, !tbaa !5
  %7274 = call ptr @s2n_strerror(i32 noundef %7273, ptr noundef nonnull @.str.4) #13
  %7275 = load i32, ptr %323, align 4, !tbaa !5
  %7276 = call ptr @s2n_strerror_debug(i32 noundef %7275, ptr noundef nonnull @.str.4) #13
  %7277 = load i32, ptr %377, align 4, !tbaa !5
  %7278 = call ptr @strerror(i32 noundef %7277) #13
  %7279 = load i32, ptr %377, align 4, !tbaa !5
  %7280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7271, ptr noundef nonnull %.str.5.sink4539, i32 noundef %7272, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.1, i32 noundef 890, ptr noundef %7274, ptr noundef %7276, ptr noundef %7278, i32 noundef %7279) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7281:                                             ; preds = %7253
  %7282 = load i32, ptr @test_count, align 4, !tbaa !5
  %7283 = add nsw i32 %7282, 1
  store i32 %7283, ptr @test_count, align 4, !tbaa !5
  %7284 = load ptr, ptr %75, align 8, !tbaa !9
  %7285 = call i32 @s2n_psk_set_identity(ptr noundef %7284, ptr noundef nonnull %3, i16 noundef zeroext 3) #13
  %7286 = icmp eq i32 %7285, -1
  br i1 %7286, label %7287, label %7309

7287:                                             ; preds = %7281
  %7288 = load i32, ptr %377, align 4, !tbaa !5
  %7289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7290 = call i32 @s2n_print_stacktrace(ptr noundef %7289) #13
  %7291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7292 = trunc nuw i8 %7291 to i1
  br i1 %7292, label %7293, label %7297

7293:                                             ; preds = %7287
  %7294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7295 = call i32 @fileno(ptr noundef %7294) #13
  %7296 = call i32 @isatty(i32 noundef %7295) #13
  %.not2091 = icmp eq i32 %7296, 0
  br i1 %.not2091, label %7297, label %7298

7297:                                             ; preds = %7293, %7287
  br label %7298

7298:                                             ; preds = %7293, %7297
  %.str.5.sink4548 = phi ptr [ @.str.5, %7297 ], [ @.str.2, %7293 ]
  store i32 %7288, ptr %377, align 4, !tbaa !5
  %7299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7300 = load i32, ptr @test_count, align 4, !tbaa !5
  %7301 = load i32, ptr %323, align 4, !tbaa !5
  %7302 = call ptr @s2n_strerror(i32 noundef %7301, ptr noundef nonnull @.str.4) #13
  %7303 = load i32, ptr %323, align 4, !tbaa !5
  %7304 = call ptr @s2n_strerror_debug(i32 noundef %7303, ptr noundef nonnull @.str.4) #13
  %7305 = load i32, ptr %377, align 4, !tbaa !5
  %7306 = call ptr @strerror(i32 noundef %7305) #13
  %7307 = load i32, ptr %377, align 4, !tbaa !5
  %7308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7299, ptr noundef nonnull %.str.5.sink4548, i32 noundef %7300, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 891, ptr noundef %7302, ptr noundef %7304, ptr noundef %7306, i32 noundef %7307) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7309:                                             ; preds = %7281
  %7310 = load i32, ptr @test_count, align 4, !tbaa !5
  %7311 = add nsw i32 %7310, 1
  store i32 %7311, ptr @test_count, align 4, !tbaa !5
  %7312 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %7120, ptr noundef nonnull %74)
  %7313 = call zeroext i1 @s2n_result_is_ok(i32 %7312)
  br i1 %7313, label %7336, label %7314

7314:                                             ; preds = %7309
  %7315 = load i32, ptr %377, align 4, !tbaa !5
  %7316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7317 = call i32 @s2n_print_stacktrace(ptr noundef %7316) #13
  %7318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7319 = trunc nuw i8 %7318 to i1
  br i1 %7319, label %7320, label %7324

7320:                                             ; preds = %7314
  %7321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7322 = call i32 @fileno(ptr noundef %7321) #13
  %7323 = call i32 @isatty(i32 noundef %7322) #13
  %.not1776 = icmp eq i32 %7323, 0
  br i1 %.not1776, label %7324, label %7325

7324:                                             ; preds = %7320, %7314
  br label %7325

7325:                                             ; preds = %7320, %7324
  %.str.5.sink4557 = phi ptr [ @.str.5, %7324 ], [ @.str.2, %7320 ]
  store i32 %7315, ptr %377, align 4, !tbaa !5
  %7326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7327 = load i32, ptr @test_count, align 4, !tbaa !5
  %7328 = load i32, ptr %323, align 4, !tbaa !5
  %7329 = call ptr @s2n_strerror(i32 noundef %7328, ptr noundef nonnull @.str.4) #13
  %7330 = load i32, ptr %323, align 4, !tbaa !5
  %7331 = call ptr @s2n_strerror_debug(i32 noundef %7330, ptr noundef nonnull @.str.4) #13
  %7332 = load i32, ptr %377, align 4, !tbaa !5
  %7333 = call ptr @strerror(i32 noundef %7332) #13
  %7334 = load i32, ptr %377, align 4, !tbaa !5
  %7335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7326, ptr noundef nonnull %.str.5.sink4557, i32 noundef %7327, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 893, ptr noundef %7329, ptr noundef %7331, ptr noundef %7333, i32 noundef %7334) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7336:                                             ; preds = %7309
  %7337 = load i32, ptr @test_count, align 4, !tbaa !5
  %7338 = add nsw i32 %7337, 1
  store i32 %7338, ptr @test_count, align 4, !tbaa !5
  %7339 = getelementptr inbounds i8, ptr %7120, i64 1730
  %7340 = load i16, ptr %7339, align 2, !tbaa !87
  %7341 = icmp eq i16 %7340, 0
  br i1 %7341, label %7364, label %7342

7342:                                             ; preds = %7336
  %7343 = load i32, ptr %377, align 4, !tbaa !5
  %7344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7345 = call i32 @s2n_print_stacktrace(ptr noundef %7344) #13
  %7346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7347 = trunc nuw i8 %7346 to i1
  br i1 %7347, label %7348, label %7352

7348:                                             ; preds = %7342
  %7349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7350 = call i32 @fileno(ptr noundef %7349) #13
  %7351 = call i32 @isatty(i32 noundef %7350) #13
  %.not1777 = icmp eq i32 %7351, 0
  br i1 %.not1777, label %7352, label %7353

7352:                                             ; preds = %7348, %7342
  br label %7353

7353:                                             ; preds = %7348, %7352
  %.str.5.sink4566 = phi ptr [ @.str.5, %7352 ], [ @.str.2, %7348 ]
  store i32 %7343, ptr %377, align 4, !tbaa !5
  %7354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7355 = load i32, ptr @test_count, align 4, !tbaa !5
  %7356 = load i32, ptr %323, align 4, !tbaa !5
  %7357 = call ptr @s2n_strerror(i32 noundef %7356, ptr noundef nonnull @.str.4) #13
  %7358 = load i32, ptr %323, align 4, !tbaa !5
  %7359 = call ptr @s2n_strerror_debug(i32 noundef %7358, ptr noundef nonnull @.str.4) #13
  %7360 = load i32, ptr %377, align 4, !tbaa !5
  %7361 = call ptr @strerror(i32 noundef %7360) #13
  %7362 = load i32, ptr %377, align 4, !tbaa !5
  %7363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7354, ptr noundef nonnull %.str.5.sink4566, i32 noundef %7355, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 894, ptr noundef %7357, ptr noundef %7359, ptr noundef %7361, i32 noundef %7362) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7364:                                             ; preds = %7336
  %7365 = add nsw i32 %7337, 2
  store i32 %7365, ptr @test_count, align 4, !tbaa !5
  %7366 = getelementptr inbounds i8, ptr %7120, i64 1736
  %7367 = load ptr, ptr %7366, align 8, !tbaa !88
  %7368 = load ptr, ptr %75, align 8, !tbaa !9
  %7369 = icmp eq ptr %7367, %7368
  br i1 %7369, label %7392, label %7370

7370:                                             ; preds = %7364
  %7371 = load i32, ptr %377, align 4, !tbaa !5
  %7372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7373 = call i32 @s2n_print_stacktrace(ptr noundef %7372) #13
  %7374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7375 = trunc nuw i8 %7374 to i1
  br i1 %7375, label %7376, label %7380

7376:                                             ; preds = %7370
  %7377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7378 = call i32 @fileno(ptr noundef %7377) #13
  %7379 = call i32 @isatty(i32 noundef %7378) #13
  %.not1778 = icmp eq i32 %7379, 0
  br i1 %.not1778, label %7380, label %7381

7380:                                             ; preds = %7376, %7370
  br label %7381

7381:                                             ; preds = %7376, %7380
  %.str.5.sink4575 = phi ptr [ @.str.5, %7380 ], [ @.str.2, %7376 ]
  store i32 %7371, ptr %377, align 4, !tbaa !5
  %7382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7383 = load i32, ptr @test_count, align 4, !tbaa !5
  %7384 = load i32, ptr %323, align 4, !tbaa !5
  %7385 = call ptr @s2n_strerror(i32 noundef %7384, ptr noundef nonnull @.str.4) #13
  %7386 = load i32, ptr %323, align 4, !tbaa !5
  %7387 = call ptr @s2n_strerror_debug(i32 noundef %7386, ptr noundef nonnull @.str.4) #13
  %7388 = load i32, ptr %377, align 4, !tbaa !5
  %7389 = call ptr @strerror(i32 noundef %7388) #13
  %7390 = load i32, ptr %377, align 4, !tbaa !5
  %7391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7382, ptr noundef nonnull %.str.5.sink4575, i32 noundef %7383, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 895, ptr noundef %7385, ptr noundef %7387, ptr noundef %7389, i32 noundef %7390) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7392:                                             ; preds = %7364
  %7393 = add nsw i32 %7337, 3
  store i32 %7393, ptr @test_count, align 4, !tbaa !5
  %7394 = call i32 @s2n_connection_free(ptr noundef nonnull %7120) #13
  %7395 = icmp eq i32 %7394, -1
  br i1 %7395, label %7396, label %7418

7396:                                             ; preds = %7392
  %7397 = load i32, ptr %377, align 4, !tbaa !5
  %7398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7399 = call i32 @s2n_print_stacktrace(ptr noundef %7398) #13
  %7400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7401 = trunc nuw i8 %7400 to i1
  br i1 %7401, label %7402, label %7406

7402:                                             ; preds = %7396
  %7403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7404 = call i32 @fileno(ptr noundef %7403) #13
  %7405 = call i32 @isatty(i32 noundef %7404) #13
  %.not2090 = icmp eq i32 %7405, 0
  br i1 %.not2090, label %7406, label %7407

7406:                                             ; preds = %7402, %7396
  br label %7407

7407:                                             ; preds = %7402, %7406
  %.str.5.sink4584 = phi ptr [ @.str.5, %7406 ], [ @.str.2, %7402 ]
  store i32 %7397, ptr %377, align 4, !tbaa !5
  %7408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7409 = load i32, ptr @test_count, align 4, !tbaa !5
  %7410 = load i32, ptr %323, align 4, !tbaa !5
  %7411 = call ptr @s2n_strerror(i32 noundef %7410, ptr noundef nonnull @.str.4) #13
  %7412 = load i32, ptr %323, align 4, !tbaa !5
  %7413 = call ptr @s2n_strerror_debug(i32 noundef %7412, ptr noundef nonnull @.str.4) #13
  %7414 = load i32, ptr %377, align 4, !tbaa !5
  %7415 = call ptr @strerror(i32 noundef %7414) #13
  %7416 = load i32, ptr %377, align 4, !tbaa !5
  %7417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7408, ptr noundef nonnull %.str.5.sink4584, i32 noundef %7409, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 897, ptr noundef %7411, ptr noundef %7413, ptr noundef %7415, i32 noundef %7416) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7418:                                             ; preds = %7392
  %7419 = load i32, ptr @test_count, align 4, !tbaa !5
  %7420 = add nsw i32 %7419, 1
  store i32 %7420, ptr @test_count, align 4, !tbaa !5
  %7421 = call i32 @s2n_stuffer_free(ptr noundef nonnull %74) #13
  %7422 = icmp eq i32 %7421, -1
  br i1 %7422, label %7423, label %7445

7423:                                             ; preds = %7418
  %7424 = load i32, ptr %377, align 4, !tbaa !5
  %7425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7426 = call i32 @s2n_print_stacktrace(ptr noundef %7425) #13
  %7427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7428 = trunc nuw i8 %7427 to i1
  br i1 %7428, label %7429, label %7433

7429:                                             ; preds = %7423
  %7430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7431 = call i32 @fileno(ptr noundef %7430) #13
  %7432 = call i32 @isatty(i32 noundef %7431) #13
  %.not2089 = icmp eq i32 %7432, 0
  br i1 %.not2089, label %7433, label %7434

7433:                                             ; preds = %7429, %7423
  br label %7434

7434:                                             ; preds = %7429, %7433
  %.str.5.sink4593 = phi ptr [ @.str.5, %7433 ], [ @.str.2, %7429 ]
  store i32 %7424, ptr %377, align 4, !tbaa !5
  %7435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7436 = load i32, ptr @test_count, align 4, !tbaa !5
  %7437 = load i32, ptr %323, align 4, !tbaa !5
  %7438 = call ptr @s2n_strerror(i32 noundef %7437, ptr noundef nonnull @.str.4) #13
  %7439 = load i32, ptr %323, align 4, !tbaa !5
  %7440 = call ptr @s2n_strerror_debug(i32 noundef %7439, ptr noundef nonnull @.str.4) #13
  %7441 = load i32, ptr %377, align 4, !tbaa !5
  %7442 = call ptr @strerror(i32 noundef %7441) #13
  %7443 = load i32, ptr %377, align 4, !tbaa !5
  %7444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7435, ptr noundef nonnull %.str.5.sink4593, i32 noundef %7436, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 898, ptr noundef %7438, ptr noundef %7440, ptr noundef %7442, i32 noundef %7443) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7445:                                             ; preds = %7418
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %74) #13
  %7446 = call ptr @s2n_config_new() #13
  %7447 = load i32, ptr @test_count, align 4, !tbaa !5
  %7448 = add nsw i32 %7447, 1
  store i32 %7448, ptr @test_count, align 4, !tbaa !5
  %7449 = icmp eq ptr %7446, null
  br i1 %7449, label %7450, label %7472

7450:                                             ; preds = %7445
  %7451 = load i32, ptr %377, align 4, !tbaa !5
  %7452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7453 = call i32 @s2n_print_stacktrace(ptr noundef %7452) #13
  %7454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7455 = trunc nuw i8 %7454 to i1
  br i1 %7455, label %7456, label %7460

7456:                                             ; preds = %7450
  %7457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7458 = call i32 @fileno(ptr noundef %7457) #13
  %7459 = call i32 @isatty(i32 noundef %7458) #13
  %.not2088 = icmp eq i32 %7459, 0
  br i1 %.not2088, label %7460, label %7461

7460:                                             ; preds = %7456, %7450
  br label %7461

7461:                                             ; preds = %7456, %7460
  %.str.5.sink4602 = phi ptr [ @.str.5, %7460 ], [ @.str.2, %7456 ]
  store i32 %7451, ptr %377, align 4, !tbaa !5
  %7462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7463 = load i32, ptr @test_count, align 4, !tbaa !5
  %7464 = load i32, ptr %323, align 4, !tbaa !5
  %7465 = call ptr @s2n_strerror(i32 noundef %7464, ptr noundef nonnull @.str.4) #13
  %7466 = load i32, ptr %323, align 4, !tbaa !5
  %7467 = call ptr @s2n_strerror_debug(i32 noundef %7466, ptr noundef nonnull @.str.4) #13
  %7468 = load i32, ptr %377, align 4, !tbaa !5
  %7469 = call ptr @strerror(i32 noundef %7468) #13
  %7470 = load i32, ptr %377, align 4, !tbaa !5
  %7471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7462, ptr noundef nonnull %.str.5.sink4602, i32 noundef %7463, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 904, ptr noundef %7465, ptr noundef %7467, ptr noundef %7469, i32 noundef %7470) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7472:                                             ; preds = %7445
  %7473 = add nsw i32 %7447, 2
  store i32 %7473, ptr @test_count, align 4, !tbaa !5
  %7474 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef nonnull %7446, ptr noundef nonnull @s2n_test_error_select_psk_identity_callback, ptr noundef null) #13
  %7475 = icmp eq i32 %7474, -1
  br i1 %7475, label %7476, label %7498

7476:                                             ; preds = %7472
  %7477 = load i32, ptr %377, align 4, !tbaa !5
  %7478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7479 = call i32 @s2n_print_stacktrace(ptr noundef %7478) #13
  %7480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7481 = trunc nuw i8 %7480 to i1
  br i1 %7481, label %7482, label %7486

7482:                                             ; preds = %7476
  %7483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7484 = call i32 @fileno(ptr noundef %7483) #13
  %7485 = call i32 @isatty(i32 noundef %7484) #13
  %.not2087 = icmp eq i32 %7485, 0
  br i1 %.not2087, label %7486, label %7487

7486:                                             ; preds = %7482, %7476
  br label %7487

7487:                                             ; preds = %7482, %7486
  %.str.5.sink4611 = phi ptr [ @.str.5, %7486 ], [ @.str.2, %7482 ]
  store i32 %7477, ptr %377, align 4, !tbaa !5
  %7488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7489 = load i32, ptr @test_count, align 4, !tbaa !5
  %7490 = load i32, ptr %323, align 4, !tbaa !5
  %7491 = call ptr @s2n_strerror(i32 noundef %7490, ptr noundef nonnull @.str.4) #13
  %7492 = load i32, ptr %323, align 4, !tbaa !5
  %7493 = call ptr @s2n_strerror_debug(i32 noundef %7492, ptr noundef nonnull @.str.4) #13
  %7494 = load i32, ptr %377, align 4, !tbaa !5
  %7495 = call ptr @strerror(i32 noundef %7494) #13
  %7496 = load i32, ptr %377, align 4, !tbaa !5
  %7497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7488, ptr noundef nonnull %.str.5.sink4611, i32 noundef %7489, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 905, ptr noundef %7491, ptr noundef %7493, ptr noundef %7495, i32 noundef %7496) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7498:                                             ; preds = %7472
  %7499 = load i32, ptr @test_count, align 4, !tbaa !5
  %7500 = add nsw i32 %7499, 1
  store i32 %7500, ptr @test_count, align 4, !tbaa !5
  %7501 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %7502 = icmp eq ptr %7501, null
  br i1 %7502, label %7503, label %7525

7503:                                             ; preds = %7498
  %7504 = load i32, ptr %377, align 4, !tbaa !5
  %7505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7506 = call i32 @s2n_print_stacktrace(ptr noundef %7505) #13
  %7507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7508 = trunc nuw i8 %7507 to i1
  br i1 %7508, label %7509, label %7513

7509:                                             ; preds = %7503
  %7510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7511 = call i32 @fileno(ptr noundef %7510) #13
  %7512 = call i32 @isatty(i32 noundef %7511) #13
  %.not2086 = icmp eq i32 %7512, 0
  br i1 %.not2086, label %7513, label %7514

7513:                                             ; preds = %7509, %7503
  br label %7514

7514:                                             ; preds = %7509, %7513
  %.str.5.sink4620 = phi ptr [ @.str.5, %7513 ], [ @.str.2, %7509 ]
  store i32 %7504, ptr %377, align 4, !tbaa !5
  %7515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7516 = load i32, ptr @test_count, align 4, !tbaa !5
  %7517 = load i32, ptr %323, align 4, !tbaa !5
  %7518 = call ptr @s2n_strerror(i32 noundef %7517, ptr noundef nonnull @.str.4) #13
  %7519 = load i32, ptr %323, align 4, !tbaa !5
  %7520 = call ptr @s2n_strerror_debug(i32 noundef %7519, ptr noundef nonnull @.str.4) #13
  %7521 = load i32, ptr %377, align 4, !tbaa !5
  %7522 = call ptr @strerror(i32 noundef %7521) #13
  %7523 = load i32, ptr %377, align 4, !tbaa !5
  %7524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7515, ptr noundef nonnull %.str.5.sink4620, i32 noundef %7516, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 908, ptr noundef %7518, ptr noundef %7520, ptr noundef %7522, i32 noundef %7523) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7525:                                             ; preds = %7498
  %7526 = load i32, ptr @test_count, align 4, !tbaa !5
  %7527 = add nsw i32 %7526, 1
  store i32 %7527, ptr @test_count, align 4, !tbaa !5
  %7528 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %7501, i32 noundef 1) #13
  %7529 = call zeroext i1 @s2n_result_is_ok(i32 %7528)
  br i1 %7529, label %7552, label %7530

7530:                                             ; preds = %7525
  %7531 = load i32, ptr %377, align 4, !tbaa !5
  %7532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7533 = call i32 @s2n_print_stacktrace(ptr noundef %7532) #13
  %7534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7535 = trunc nuw i8 %7534 to i1
  br i1 %7535, label %7536, label %7540

7536:                                             ; preds = %7530
  %7537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7538 = call i32 @fileno(ptr noundef %7537) #13
  %7539 = call i32 @isatty(i32 noundef %7538) #13
  %.not1779 = icmp eq i32 %7539, 0
  br i1 %.not1779, label %7540, label %7541

7540:                                             ; preds = %7536, %7530
  br label %7541

7541:                                             ; preds = %7536, %7540
  %.str.5.sink4629 = phi ptr [ @.str.5, %7540 ], [ @.str.2, %7536 ]
  store i32 %7531, ptr %377, align 4, !tbaa !5
  %7542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7543 = load i32, ptr @test_count, align 4, !tbaa !5
  %7544 = load i32, ptr %323, align 4, !tbaa !5
  %7545 = call ptr @s2n_strerror(i32 noundef %7544, ptr noundef nonnull @.str.4) #13
  %7546 = load i32, ptr %323, align 4, !tbaa !5
  %7547 = call ptr @s2n_strerror_debug(i32 noundef %7546, ptr noundef nonnull @.str.4) #13
  %7548 = load i32, ptr %377, align 4, !tbaa !5
  %7549 = call ptr @strerror(i32 noundef %7548) #13
  %7550 = load i32, ptr %377, align 4, !tbaa !5
  %7551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7542, ptr noundef nonnull %.str.5.sink4629, i32 noundef %7543, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 909, ptr noundef %7545, ptr noundef %7547, ptr noundef %7549, i32 noundef %7550) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7552:                                             ; preds = %7525
  %7553 = load i32, ptr @test_count, align 4, !tbaa !5
  %7554 = add nsw i32 %7553, 1
  store i32 %7554, ptr @test_count, align 4, !tbaa !5
  %7555 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7501, ptr noundef nonnull %7446) #13
  %7556 = icmp eq i32 %7555, -1
  br i1 %7556, label %7557, label %7579

7557:                                             ; preds = %7552
  %7558 = load i32, ptr %377, align 4, !tbaa !5
  %7559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7560 = call i32 @s2n_print_stacktrace(ptr noundef %7559) #13
  %7561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7562 = trunc nuw i8 %7561 to i1
  br i1 %7562, label %7563, label %7567

7563:                                             ; preds = %7557
  %7564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7565 = call i32 @fileno(ptr noundef %7564) #13
  %7566 = call i32 @isatty(i32 noundef %7565) #13
  %.not2085 = icmp eq i32 %7566, 0
  br i1 %.not2085, label %7567, label %7568

7567:                                             ; preds = %7563, %7557
  br label %7568

7568:                                             ; preds = %7563, %7567
  %.str.5.sink4638 = phi ptr [ @.str.5, %7567 ], [ @.str.2, %7563 ]
  store i32 %7558, ptr %377, align 4, !tbaa !5
  %7569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7570 = load i32, ptr @test_count, align 4, !tbaa !5
  %7571 = load i32, ptr %323, align 4, !tbaa !5
  %7572 = call ptr @s2n_strerror(i32 noundef %7571, ptr noundef nonnull @.str.4) #13
  %7573 = load i32, ptr %323, align 4, !tbaa !5
  %7574 = call ptr @s2n_strerror_debug(i32 noundef %7573, ptr noundef nonnull @.str.4) #13
  %7575 = load i32, ptr %377, align 4, !tbaa !5
  %7576 = call ptr @strerror(i32 noundef %7575) #13
  %7577 = load i32, ptr %377, align 4, !tbaa !5
  %7578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7569, ptr noundef nonnull %.str.5.sink4638, i32 noundef %7570, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 910, ptr noundef %7572, ptr noundef %7574, ptr noundef %7576, i32 noundef %7577) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7579:                                             ; preds = %7552
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %76) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %76, i8 0, i64 40, i1 false)
  %7580 = load i32, ptr @test_count, align 4, !tbaa !5
  %7581 = add nsw i32 %7580, 1
  store i32 %7581, ptr @test_count, align 4, !tbaa !5
  %7582 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %7501, ptr noundef nonnull %76)
  %7583 = call zeroext i1 @s2n_result_is_error(i32 %7582)
  br i1 %7583, label %7606, label %7584

7584:                                             ; preds = %7579
  %7585 = load i32, ptr %377, align 4, !tbaa !5
  %7586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7587 = call i32 @s2n_print_stacktrace(ptr noundef %7586) #13
  %7588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7589 = trunc nuw i8 %7588 to i1
  br i1 %7589, label %7590, label %7594

7590:                                             ; preds = %7584
  %7591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7592 = call i32 @fileno(ptr noundef %7591) #13
  %7593 = call i32 @isatty(i32 noundef %7592) #13
  %.not1780 = icmp eq i32 %7593, 0
  br i1 %.not1780, label %7594, label %7595

7594:                                             ; preds = %7590, %7584
  br label %7595

7595:                                             ; preds = %7590, %7594
  %.str.5.sink4647 = phi ptr [ @.str.5, %7594 ], [ @.str.2, %7590 ]
  store i32 %7585, ptr %377, align 4, !tbaa !5
  %7596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7597 = load i32, ptr @test_count, align 4, !tbaa !5
  %7598 = load i32, ptr %323, align 4, !tbaa !5
  %7599 = call ptr @s2n_strerror(i32 noundef %7598, ptr noundef nonnull @.str.4) #13
  %7600 = load i32, ptr %323, align 4, !tbaa !5
  %7601 = call ptr @s2n_strerror_debug(i32 noundef %7600, ptr noundef nonnull @.str.4) #13
  %7602 = load i32, ptr %377, align 4, !tbaa !5
  %7603 = call ptr @strerror(i32 noundef %7602) #13
  %7604 = load i32, ptr %377, align 4, !tbaa !5
  %7605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7596, ptr noundef nonnull %.str.5.sink4647, i32 noundef %7597, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 914, ptr noundef %7599, ptr noundef %7601, ptr noundef %7603, i32 noundef %7604) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7606:                                             ; preds = %7579
  %7607 = load i32, ptr @test_count, align 4, !tbaa !5
  %7608 = add nsw i32 %7607, 1
  store i32 %7608, ptr @test_count, align 4, !tbaa !5
  %7609 = load i32, ptr %323, align 4, !tbaa !5
  %7610 = icmp eq i32 %7609, 402653231
  br i1 %7610, label %7633, label %7611

7611:                                             ; preds = %7606
  %7612 = load i32, ptr %377, align 4, !tbaa !5
  %7613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7614 = call i32 @s2n_print_stacktrace(ptr noundef %7613) #13
  %7615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7616 = trunc nuw i8 %7615 to i1
  br i1 %7616, label %7617, label %7621

7617:                                             ; preds = %7611
  %7618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7619 = call i32 @fileno(ptr noundef %7618) #13
  %7620 = call i32 @isatty(i32 noundef %7619) #13
  %.not1781 = icmp eq i32 %7620, 0
  br i1 %.not1781, label %7621, label %7622

7621:                                             ; preds = %7617, %7611
  br label %7622

7622:                                             ; preds = %7617, %7621
  %.str.5.sink4656 = phi ptr [ @.str.5, %7621 ], [ @.str.2, %7617 ]
  store i32 %7612, ptr %377, align 4, !tbaa !5
  %7623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7624 = load i32, ptr @test_count, align 4, !tbaa !5
  %7625 = load i32, ptr %323, align 4, !tbaa !5
  %7626 = call ptr @s2n_strerror(i32 noundef %7625, ptr noundef nonnull @.str.4) #13
  %7627 = load i32, ptr %323, align 4, !tbaa !5
  %7628 = call ptr @s2n_strerror_debug(i32 noundef %7627, ptr noundef nonnull @.str.4) #13
  %7629 = load i32, ptr %377, align 4, !tbaa !5
  %7630 = call ptr @strerror(i32 noundef %7629) #13
  %7631 = load i32, ptr %377, align 4, !tbaa !5
  %7632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7623, ptr noundef nonnull %.str.5.sink4656, i32 noundef %7624, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 914, ptr noundef %7626, ptr noundef %7628, ptr noundef %7630, i32 noundef %7631) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7633:                                             ; preds = %7606
  %7634 = add nsw i32 %7607, 2
  store i32 %7634, ptr @test_count, align 4, !tbaa !5
  %7635 = call ptr @s2n_strerror_debug(i32 noundef 402653231, ptr noundef nonnull @.str.4) #13
  %7636 = icmp eq ptr %7635, null
  br i1 %7636, label %7637, label %7659

7637:                                             ; preds = %7633
  %7638 = load i32, ptr %377, align 4, !tbaa !5
  %7639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7640 = call i32 @s2n_print_stacktrace(ptr noundef %7639) #13
  %7641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7642 = trunc nuw i8 %7641 to i1
  br i1 %7642, label %7643, label %7647

7643:                                             ; preds = %7637
  %7644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7645 = call i32 @fileno(ptr noundef %7644) #13
  %7646 = call i32 @isatty(i32 noundef %7645) #13
  %.not2084 = icmp eq i32 %7646, 0
  br i1 %.not2084, label %7647, label %7648

7647:                                             ; preds = %7643, %7637
  br label %7648

7648:                                             ; preds = %7643, %7647
  %.str.5.sink4665 = phi ptr [ @.str.5, %7647 ], [ @.str.2, %7643 ]
  store i32 %7638, ptr %377, align 4, !tbaa !5
  %7649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7650 = load i32, ptr @test_count, align 4, !tbaa !5
  %7651 = load i32, ptr %323, align 4, !tbaa !5
  %7652 = call ptr @s2n_strerror(i32 noundef %7651, ptr noundef nonnull @.str.4) #13
  %7653 = load i32, ptr %323, align 4, !tbaa !5
  %7654 = call ptr @s2n_strerror_debug(i32 noundef %7653, ptr noundef nonnull @.str.4) #13
  %7655 = load i32, ptr %377, align 4, !tbaa !5
  %7656 = call ptr @strerror(i32 noundef %7655) #13
  %7657 = load i32, ptr %377, align 4, !tbaa !5
  %7658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7649, ptr noundef nonnull %.str.5.sink4665, i32 noundef %7650, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 914, ptr noundef %7652, ptr noundef %7654, ptr noundef %7656, i32 noundef %7657) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7659:                                             ; preds = %7633
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %7660 = load i32, ptr @test_count, align 4, !tbaa !5
  %7661 = add nsw i32 %7660, 1
  store i32 %7661, ptr @test_count, align 4, !tbaa !5
  %7662 = getelementptr inbounds i8, ptr %7501, i64 1736
  %7663 = load ptr, ptr %7662, align 8, !tbaa !88
  %7664 = icmp eq ptr %7663, null
  br i1 %7664, label %7687, label %7665

7665:                                             ; preds = %7659
  %7666 = load i32, ptr %377, align 4, !tbaa !5
  %7667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7668 = call i32 @s2n_print_stacktrace(ptr noundef %7667) #13
  %7669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7670 = trunc nuw i8 %7669 to i1
  br i1 %7670, label %7671, label %7675

7671:                                             ; preds = %7665
  %7672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7673 = call i32 @fileno(ptr noundef %7672) #13
  %7674 = call i32 @isatty(i32 noundef %7673) #13
  %.not1782 = icmp eq i32 %7674, 0
  br i1 %.not1782, label %7675, label %7676

7675:                                             ; preds = %7671, %7665
  br label %7676

7676:                                             ; preds = %7671, %7675
  %.str.5.sink4674 = phi ptr [ @.str.5, %7675 ], [ @.str.2, %7671 ]
  store i32 %7666, ptr %377, align 4, !tbaa !5
  %7677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7678 = load i32, ptr @test_count, align 4, !tbaa !5
  %7679 = load i32, ptr %323, align 4, !tbaa !5
  %7680 = call ptr @s2n_strerror(i32 noundef %7679, ptr noundef nonnull @.str.4) #13
  %7681 = load i32, ptr %323, align 4, !tbaa !5
  %7682 = call ptr @s2n_strerror_debug(i32 noundef %7681, ptr noundef nonnull @.str.4) #13
  %7683 = load i32, ptr %377, align 4, !tbaa !5
  %7684 = call ptr @strerror(i32 noundef %7683) #13
  %7685 = load i32, ptr %377, align 4, !tbaa !5
  %7686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7677, ptr noundef nonnull %.str.5.sink4674, i32 noundef %7678, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 915, ptr noundef %7680, ptr noundef %7682, ptr noundef %7684, i32 noundef %7685) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7687:                                             ; preds = %7659
  %7688 = add nsw i32 %7660, 2
  store i32 %7688, ptr @test_count, align 4, !tbaa !5
  %7689 = call i32 @s2n_connection_free(ptr noundef nonnull %7501) #13
  %7690 = icmp eq i32 %7689, -1
  br i1 %7690, label %7691, label %7713

7691:                                             ; preds = %7687
  %7692 = load i32, ptr %377, align 4, !tbaa !5
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = call i32 @s2n_print_stacktrace(ptr noundef %7693) #13
  %7695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7696 = trunc nuw i8 %7695 to i1
  br i1 %7696, label %7697, label %7701

7697:                                             ; preds = %7691
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = call i32 @fileno(ptr noundef %7698) #13
  %7700 = call i32 @isatty(i32 noundef %7699) #13
  %.not2083 = icmp eq i32 %7700, 0
  br i1 %.not2083, label %7701, label %7702

7701:                                             ; preds = %7697, %7691
  br label %7702

7702:                                             ; preds = %7697, %7701
  %.str.5.sink4683 = phi ptr [ @.str.5, %7701 ], [ @.str.2, %7697 ]
  store i32 %7692, ptr %377, align 4, !tbaa !5
  %7703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7704 = load i32, ptr @test_count, align 4, !tbaa !5
  %7705 = load i32, ptr %323, align 4, !tbaa !5
  %7706 = call ptr @s2n_strerror(i32 noundef %7705, ptr noundef nonnull @.str.4) #13
  %7707 = load i32, ptr %323, align 4, !tbaa !5
  %7708 = call ptr @s2n_strerror_debug(i32 noundef %7707, ptr noundef nonnull @.str.4) #13
  %7709 = load i32, ptr %377, align 4, !tbaa !5
  %7710 = call ptr @strerror(i32 noundef %7709) #13
  %7711 = load i32, ptr %377, align 4, !tbaa !5
  %7712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7703, ptr noundef nonnull %.str.5.sink4683, i32 noundef %7704, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 917, ptr noundef %7706, ptr noundef %7708, ptr noundef %7710, i32 noundef %7711) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7713:                                             ; preds = %7687
  %7714 = load i32, ptr @test_count, align 4, !tbaa !5
  %7715 = add nsw i32 %7714, 1
  store i32 %7715, ptr @test_count, align 4, !tbaa !5
  %7716 = call i32 @s2n_config_free(ptr noundef nonnull %7446) #13
  %7717 = icmp eq i32 %7716, -1
  br i1 %7717, label %7718, label %7740

7718:                                             ; preds = %7713
  %7719 = load i32, ptr %377, align 4, !tbaa !5
  %7720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7721 = call i32 @s2n_print_stacktrace(ptr noundef %7720) #13
  %7722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7723 = trunc nuw i8 %7722 to i1
  br i1 %7723, label %7724, label %7728

7724:                                             ; preds = %7718
  %7725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7726 = call i32 @fileno(ptr noundef %7725) #13
  %7727 = call i32 @isatty(i32 noundef %7726) #13
  %.not2082 = icmp eq i32 %7727, 0
  br i1 %.not2082, label %7728, label %7729

7728:                                             ; preds = %7724, %7718
  br label %7729

7729:                                             ; preds = %7724, %7728
  %.str.5.sink4692 = phi ptr [ @.str.5, %7728 ], [ @.str.2, %7724 ]
  store i32 %7719, ptr %377, align 4, !tbaa !5
  %7730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7731 = load i32, ptr @test_count, align 4, !tbaa !5
  %7732 = load i32, ptr %323, align 4, !tbaa !5
  %7733 = call ptr @s2n_strerror(i32 noundef %7732, ptr noundef nonnull @.str.4) #13
  %7734 = load i32, ptr %323, align 4, !tbaa !5
  %7735 = call ptr @s2n_strerror_debug(i32 noundef %7734, ptr noundef nonnull @.str.4) #13
  %7736 = load i32, ptr %377, align 4, !tbaa !5
  %7737 = call ptr @strerror(i32 noundef %7736) #13
  %7738 = load i32, ptr %377, align 4, !tbaa !5
  %7739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7730, ptr noundef nonnull %.str.5.sink4692, i32 noundef %7731, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 918, ptr noundef %7733, ptr noundef %7735, ptr noundef %7737, i32 noundef %7738) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7740:                                             ; preds = %7713
  %7741 = load i32, ptr @test_count, align 4, !tbaa !5
  %7742 = add nsw i32 %7741, 1
  store i32 %7742, ptr @test_count, align 4, !tbaa !5
  %7743 = call i32 @s2n_stuffer_free(ptr noundef nonnull %76) #13
  %7744 = icmp eq i32 %7743, -1
  br i1 %7744, label %7745, label %7767

7745:                                             ; preds = %7740
  %7746 = load i32, ptr %377, align 4, !tbaa !5
  %7747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7748 = call i32 @s2n_print_stacktrace(ptr noundef %7747) #13
  %7749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7750 = trunc nuw i8 %7749 to i1
  br i1 %7750, label %7751, label %7755

7751:                                             ; preds = %7745
  %7752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7753 = call i32 @fileno(ptr noundef %7752) #13
  %7754 = call i32 @isatty(i32 noundef %7753) #13
  %.not2081 = icmp eq i32 %7754, 0
  br i1 %.not2081, label %7755, label %7756

7755:                                             ; preds = %7751, %7745
  br label %7756

7756:                                             ; preds = %7751, %7755
  %.str.5.sink4701 = phi ptr [ @.str.5, %7755 ], [ @.str.2, %7751 ]
  store i32 %7746, ptr %377, align 4, !tbaa !5
  %7757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7758 = load i32, ptr @test_count, align 4, !tbaa !5
  %7759 = load i32, ptr %323, align 4, !tbaa !5
  %7760 = call ptr @s2n_strerror(i32 noundef %7759, ptr noundef nonnull @.str.4) #13
  %7761 = load i32, ptr %323, align 4, !tbaa !5
  %7762 = call ptr @s2n_strerror_debug(i32 noundef %7761, ptr noundef nonnull @.str.4) #13
  %7763 = load i32, ptr %377, align 4, !tbaa !5
  %7764 = call ptr @strerror(i32 noundef %7763) #13
  %7765 = load i32, ptr %377, align 4, !tbaa !5
  %7766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7757, ptr noundef nonnull %.str.5.sink4701, i32 noundef %7758, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 919, ptr noundef %7760, ptr noundef %7762, ptr noundef %7764, i32 noundef %7765) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7767:                                             ; preds = %7740
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %76) #13
  %7768 = call ptr @s2n_config_new() #13
  %7769 = load i32, ptr @test_count, align 4, !tbaa !5
  %7770 = add nsw i32 %7769, 1
  store i32 %7770, ptr @test_count, align 4, !tbaa !5
  %7771 = icmp eq ptr %7768, null
  br i1 %7771, label %7772, label %7794

7772:                                             ; preds = %7767
  %7773 = load i32, ptr %377, align 4, !tbaa !5
  %7774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7775 = call i32 @s2n_print_stacktrace(ptr noundef %7774) #13
  %7776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7777 = trunc nuw i8 %7776 to i1
  br i1 %7777, label %7778, label %7782

7778:                                             ; preds = %7772
  %7779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7780 = call i32 @fileno(ptr noundef %7779) #13
  %7781 = call i32 @isatty(i32 noundef %7780) #13
  %.not2080 = icmp eq i32 %7781, 0
  br i1 %.not2080, label %7782, label %7783

7782:                                             ; preds = %7778, %7772
  br label %7783

7783:                                             ; preds = %7778, %7782
  %.str.5.sink4710 = phi ptr [ @.str.5, %7782 ], [ @.str.2, %7778 ]
  store i32 %7773, ptr %377, align 4, !tbaa !5
  %7784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7785 = load i32, ptr @test_count, align 4, !tbaa !5
  %7786 = load i32, ptr %323, align 4, !tbaa !5
  %7787 = call ptr @s2n_strerror(i32 noundef %7786, ptr noundef nonnull @.str.4) #13
  %7788 = load i32, ptr %323, align 4, !tbaa !5
  %7789 = call ptr @s2n_strerror_debug(i32 noundef %7788, ptr noundef nonnull @.str.4) #13
  %7790 = load i32, ptr %377, align 4, !tbaa !5
  %7791 = call ptr @strerror(i32 noundef %7790) #13
  %7792 = load i32, ptr %377, align 4, !tbaa !5
  %7793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7784, ptr noundef nonnull %.str.5.sink4710, i32 noundef %7785, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 925, ptr noundef %7787, ptr noundef %7789, ptr noundef %7791, i32 noundef %7792) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7794:                                             ; preds = %7767
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %77) #13
  store i16 0, ptr %77, align 2, !tbaa !69
  %7795 = add nsw i32 %7769, 2
  store i32 %7795, ptr @test_count, align 4, !tbaa !5
  %7796 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef nonnull %7768, ptr noundef nonnull @s2n_test_select_psk_identity_callback, ptr noundef nonnull %77) #13
  %7797 = icmp eq i32 %7796, -1
  br i1 %7797, label %7798, label %7820

7798:                                             ; preds = %7794
  %7799 = load i32, ptr %377, align 4, !tbaa !5
  %7800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7801 = call i32 @s2n_print_stacktrace(ptr noundef %7800) #13
  %7802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7803 = trunc nuw i8 %7802 to i1
  br i1 %7803, label %7804, label %7808

7804:                                             ; preds = %7798
  %7805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7806 = call i32 @fileno(ptr noundef %7805) #13
  %7807 = call i32 @isatty(i32 noundef %7806) #13
  %.not2079 = icmp eq i32 %7807, 0
  br i1 %.not2079, label %7808, label %7809

7808:                                             ; preds = %7804, %7798
  br label %7809

7809:                                             ; preds = %7804, %7808
  %.str.5.sink4719 = phi ptr [ @.str.5, %7808 ], [ @.str.2, %7804 ]
  store i32 %7799, ptr %377, align 4, !tbaa !5
  %7810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7811 = load i32, ptr @test_count, align 4, !tbaa !5
  %7812 = load i32, ptr %323, align 4, !tbaa !5
  %7813 = call ptr @s2n_strerror(i32 noundef %7812, ptr noundef nonnull @.str.4) #13
  %7814 = load i32, ptr %323, align 4, !tbaa !5
  %7815 = call ptr @s2n_strerror_debug(i32 noundef %7814, ptr noundef nonnull @.str.4) #13
  %7816 = load i32, ptr %377, align 4, !tbaa !5
  %7817 = call ptr @strerror(i32 noundef %7816) #13
  %7818 = load i32, ptr %377, align 4, !tbaa !5
  %7819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7810, ptr noundef nonnull %.str.5.sink4719, i32 noundef %7811, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 928, ptr noundef %7813, ptr noundef %7815, ptr noundef %7817, i32 noundef %7818) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7820:                                             ; preds = %7794
  %7821 = load i32, ptr @test_count, align 4, !tbaa !5
  %7822 = add nsw i32 %7821, 1
  store i32 %7822, ptr @test_count, align 4, !tbaa !5
  %7823 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %7824 = icmp eq ptr %7823, null
  br i1 %7824, label %7825, label %7847

7825:                                             ; preds = %7820
  %7826 = load i32, ptr %377, align 4, !tbaa !5
  %7827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7828 = call i32 @s2n_print_stacktrace(ptr noundef %7827) #13
  %7829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7830 = trunc nuw i8 %7829 to i1
  br i1 %7830, label %7831, label %7835

7831:                                             ; preds = %7825
  %7832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7833 = call i32 @fileno(ptr noundef %7832) #13
  %7834 = call i32 @isatty(i32 noundef %7833) #13
  %.not2078 = icmp eq i32 %7834, 0
  br i1 %.not2078, label %7835, label %7836

7835:                                             ; preds = %7831, %7825
  br label %7836

7836:                                             ; preds = %7831, %7835
  %.str.5.sink4728 = phi ptr [ @.str.5, %7835 ], [ @.str.2, %7831 ]
  store i32 %7826, ptr %377, align 4, !tbaa !5
  %7837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7838 = load i32, ptr @test_count, align 4, !tbaa !5
  %7839 = load i32, ptr %323, align 4, !tbaa !5
  %7840 = call ptr @s2n_strerror(i32 noundef %7839, ptr noundef nonnull @.str.4) #13
  %7841 = load i32, ptr %323, align 4, !tbaa !5
  %7842 = call ptr @s2n_strerror_debug(i32 noundef %7841, ptr noundef nonnull @.str.4) #13
  %7843 = load i32, ptr %377, align 4, !tbaa !5
  %7844 = call ptr @strerror(i32 noundef %7843) #13
  %7845 = load i32, ptr %377, align 4, !tbaa !5
  %7846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7837, ptr noundef nonnull %.str.5.sink4728, i32 noundef %7838, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 931, ptr noundef %7840, ptr noundef %7842, ptr noundef %7844, i32 noundef %7845) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7847:                                             ; preds = %7820
  %7848 = load i32, ptr @test_count, align 4, !tbaa !5
  %7849 = add nsw i32 %7848, 1
  store i32 %7849, ptr @test_count, align 4, !tbaa !5
  %7850 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7823, ptr noundef nonnull %7768) #13
  %7851 = icmp eq i32 %7850, -1
  br i1 %7851, label %7852, label %7874

7852:                                             ; preds = %7847
  %7853 = load i32, ptr %377, align 4, !tbaa !5
  %7854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7855 = call i32 @s2n_print_stacktrace(ptr noundef %7854) #13
  %7856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7857 = trunc nuw i8 %7856 to i1
  br i1 %7857, label %7858, label %7862

7858:                                             ; preds = %7852
  %7859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7860 = call i32 @fileno(ptr noundef %7859) #13
  %7861 = call i32 @isatty(i32 noundef %7860) #13
  %.not2077 = icmp eq i32 %7861, 0
  br i1 %.not2077, label %7862, label %7863

7862:                                             ; preds = %7858, %7852
  br label %7863

7863:                                             ; preds = %7858, %7862
  %.str.5.sink4737 = phi ptr [ @.str.5, %7862 ], [ @.str.2, %7858 ]
  store i32 %7853, ptr %377, align 4, !tbaa !5
  %7864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7865 = load i32, ptr @test_count, align 4, !tbaa !5
  %7866 = load i32, ptr %323, align 4, !tbaa !5
  %7867 = call ptr @s2n_strerror(i32 noundef %7866, ptr noundef nonnull @.str.4) #13
  %7868 = load i32, ptr %323, align 4, !tbaa !5
  %7869 = call ptr @s2n_strerror_debug(i32 noundef %7868, ptr noundef nonnull @.str.4) #13
  %7870 = load i32, ptr %377, align 4, !tbaa !5
  %7871 = call ptr @strerror(i32 noundef %7870) #13
  %7872 = load i32, ptr %377, align 4, !tbaa !5
  %7873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7864, ptr noundef nonnull %.str.5.sink4737, i32 noundef %7865, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 932, ptr noundef %7867, ptr noundef %7869, ptr noundef %7871, i32 noundef %7872) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7874:                                             ; preds = %7847
  %7875 = load i32, ptr @test_count, align 4, !tbaa !5
  %7876 = add nsw i32 %7875, 1
  store i32 %7876, ptr @test_count, align 4, !tbaa !5
  %7877 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %7823, i32 noundef 1) #13
  %7878 = call zeroext i1 @s2n_result_is_ok(i32 %7877)
  br i1 %7878, label %7901, label %7879

7879:                                             ; preds = %7874
  %7880 = load i32, ptr %377, align 4, !tbaa !5
  %7881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7882 = call i32 @s2n_print_stacktrace(ptr noundef %7881) #13
  %7883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7884 = trunc nuw i8 %7883 to i1
  br i1 %7884, label %7885, label %7889

7885:                                             ; preds = %7879
  %7886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7887 = call i32 @fileno(ptr noundef %7886) #13
  %7888 = call i32 @isatty(i32 noundef %7887) #13
  %.not1783 = icmp eq i32 %7888, 0
  br i1 %.not1783, label %7889, label %7890

7889:                                             ; preds = %7885, %7879
  br label %7890

7890:                                             ; preds = %7885, %7889
  %.str.5.sink4746 = phi ptr [ @.str.5, %7889 ], [ @.str.2, %7885 ]
  store i32 %7880, ptr %377, align 4, !tbaa !5
  %7891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7892 = load i32, ptr @test_count, align 4, !tbaa !5
  %7893 = load i32, ptr %323, align 4, !tbaa !5
  %7894 = call ptr @s2n_strerror(i32 noundef %7893, ptr noundef nonnull @.str.4) #13
  %7895 = load i32, ptr %323, align 4, !tbaa !5
  %7896 = call ptr @s2n_strerror_debug(i32 noundef %7895, ptr noundef nonnull @.str.4) #13
  %7897 = load i32, ptr %377, align 4, !tbaa !5
  %7898 = call ptr @strerror(i32 noundef %7897) #13
  %7899 = load i32, ptr %377, align 4, !tbaa !5
  %7900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7891, ptr noundef nonnull %.str.5.sink4746, i32 noundef %7892, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 933, ptr noundef %7894, ptr noundef %7896, ptr noundef %7898, i32 noundef %7899) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7901:                                             ; preds = %7874
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #13
  store ptr null, ptr %78, align 8, !tbaa !9
  %7902 = load i32, ptr @test_count, align 4, !tbaa !5
  %7903 = add nsw i32 %7902, 1
  store i32 %7903, ptr @test_count, align 4, !tbaa !5
  %7904 = getelementptr inbounds i8, ptr %7823, i64 1696
  %7905 = call i32 @s2n_array_pushback(ptr noundef nonnull %7904, ptr noundef nonnull %78) #13
  %7906 = call zeroext i1 @s2n_result_is_ok(i32 %7905)
  br i1 %7906, label %7929, label %7907

7907:                                             ; preds = %7901
  %7908 = load i32, ptr %377, align 4, !tbaa !5
  %7909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7910 = call i32 @s2n_print_stacktrace(ptr noundef %7909) #13
  %7911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7912 = trunc nuw i8 %7911 to i1
  br i1 %7912, label %7913, label %7917

7913:                                             ; preds = %7907
  %7914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7915 = call i32 @fileno(ptr noundef %7914) #13
  %7916 = call i32 @isatty(i32 noundef %7915) #13
  %.not1784 = icmp eq i32 %7916, 0
  br i1 %.not1784, label %7917, label %7918

7917:                                             ; preds = %7913, %7907
  br label %7918

7918:                                             ; preds = %7913, %7917
  %.str.5.sink4755 = phi ptr [ @.str.5, %7917 ], [ @.str.2, %7913 ]
  store i32 %7908, ptr %377, align 4, !tbaa !5
  %7919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7920 = load i32, ptr @test_count, align 4, !tbaa !5
  %7921 = load i32, ptr %323, align 4, !tbaa !5
  %7922 = call ptr @s2n_strerror(i32 noundef %7921, ptr noundef nonnull @.str.4) #13
  %7923 = load i32, ptr %323, align 4, !tbaa !5
  %7924 = call ptr @s2n_strerror_debug(i32 noundef %7923, ptr noundef nonnull @.str.4) #13
  %7925 = load i32, ptr %377, align 4, !tbaa !5
  %7926 = call ptr @strerror(i32 noundef %7925) #13
  %7927 = load i32, ptr %377, align 4, !tbaa !5
  %7928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7919, ptr noundef nonnull %.str.5.sink4755, i32 noundef %7920, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 936, ptr noundef %7922, ptr noundef %7924, ptr noundef %7926, i32 noundef %7927) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7929:                                             ; preds = %7901
  %7930 = load i32, ptr @test_count, align 4, !tbaa !5
  %7931 = add nsw i32 %7930, 1
  store i32 %7931, ptr @test_count, align 4, !tbaa !5
  %7932 = load ptr, ptr %78, align 8, !tbaa !9
  %7933 = call i32 @s2n_psk_init(ptr noundef %7932, i32 noundef 1) #13
  %7934 = call zeroext i1 @s2n_result_is_ok(i32 %7933)
  br i1 %7934, label %7957, label %7935

7935:                                             ; preds = %7929
  %7936 = load i32, ptr %377, align 4, !tbaa !5
  %7937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7938 = call i32 @s2n_print_stacktrace(ptr noundef %7937) #13
  %7939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7940 = trunc nuw i8 %7939 to i1
  br i1 %7940, label %7941, label %7945

7941:                                             ; preds = %7935
  %7942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7943 = call i32 @fileno(ptr noundef %7942) #13
  %7944 = call i32 @isatty(i32 noundef %7943) #13
  %.not1785 = icmp eq i32 %7944, 0
  br i1 %.not1785, label %7945, label %7946

7945:                                             ; preds = %7941, %7935
  br label %7946

7946:                                             ; preds = %7941, %7945
  %.str.5.sink4764 = phi ptr [ @.str.5, %7945 ], [ @.str.2, %7941 ]
  store i32 %7936, ptr %377, align 4, !tbaa !5
  %7947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7948 = load i32, ptr @test_count, align 4, !tbaa !5
  %7949 = load i32, ptr %323, align 4, !tbaa !5
  %7950 = call ptr @s2n_strerror(i32 noundef %7949, ptr noundef nonnull @.str.4) #13
  %7951 = load i32, ptr %323, align 4, !tbaa !5
  %7952 = call ptr @s2n_strerror_debug(i32 noundef %7951, ptr noundef nonnull @.str.4) #13
  %7953 = load i32, ptr %377, align 4, !tbaa !5
  %7954 = call ptr @strerror(i32 noundef %7953) #13
  %7955 = load i32, ptr %377, align 4, !tbaa !5
  %7956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7947, ptr noundef nonnull %.str.5.sink4764, i32 noundef %7948, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.1, i32 noundef 937, ptr noundef %7950, ptr noundef %7952, ptr noundef %7954, i32 noundef %7955) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7957:                                             ; preds = %7929
  %7958 = load i32, ptr @test_count, align 4, !tbaa !5
  %7959 = add nsw i32 %7958, 1
  store i32 %7959, ptr @test_count, align 4, !tbaa !5
  %7960 = load ptr, ptr %78, align 8, !tbaa !9
  %7961 = call i32 @s2n_psk_set_identity(ptr noundef %7960, ptr noundef nonnull %3, i16 noundef zeroext 3) #13
  %7962 = icmp eq i32 %7961, -1
  br i1 %7962, label %7963, label %7985

7963:                                             ; preds = %7957
  %7964 = load i32, ptr %377, align 4, !tbaa !5
  %7965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7966 = call i32 @s2n_print_stacktrace(ptr noundef %7965) #13
  %7967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7968 = trunc nuw i8 %7967 to i1
  br i1 %7968, label %7969, label %7973

7969:                                             ; preds = %7963
  %7970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7971 = call i32 @fileno(ptr noundef %7970) #13
  %7972 = call i32 @isatty(i32 noundef %7971) #13
  %.not2076 = icmp eq i32 %7972, 0
  br i1 %.not2076, label %7973, label %7974

7973:                                             ; preds = %7969, %7963
  br label %7974

7974:                                             ; preds = %7969, %7973
  %.str.5.sink4773 = phi ptr [ @.str.5, %7973 ], [ @.str.2, %7969 ]
  store i32 %7964, ptr %377, align 4, !tbaa !5
  %7975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7976 = load i32, ptr @test_count, align 4, !tbaa !5
  %7977 = load i32, ptr %323, align 4, !tbaa !5
  %7978 = call ptr @s2n_strerror(i32 noundef %7977, ptr noundef nonnull @.str.4) #13
  %7979 = load i32, ptr %323, align 4, !tbaa !5
  %7980 = call ptr @s2n_strerror_debug(i32 noundef %7979, ptr noundef nonnull @.str.4) #13
  %7981 = load i32, ptr %377, align 4, !tbaa !5
  %7982 = call ptr @strerror(i32 noundef %7981) #13
  %7983 = load i32, ptr %377, align 4, !tbaa !5
  %7984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7975, ptr noundef nonnull %.str.5.sink4773, i32 noundef %7976, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 938, ptr noundef %7978, ptr noundef %7980, ptr noundef %7982, i32 noundef %7983) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7985:                                             ; preds = %7957
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %79) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %79, i8 0, i64 40, i1 false)
  %7986 = load i32, ptr @test_count, align 4, !tbaa !5
  %7987 = add nsw i32 %7986, 1
  store i32 %7987, ptr @test_count, align 4, !tbaa !5
  %7988 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %79, i32 noundef 0) #13
  %7989 = icmp eq i32 %7988, -1
  br i1 %7989, label %7990, label %8012

7990:                                             ; preds = %7985
  %7991 = load i32, ptr %377, align 4, !tbaa !5
  %7992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7993 = call i32 @s2n_print_stacktrace(ptr noundef %7992) #13
  %7994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7995 = trunc nuw i8 %7994 to i1
  br i1 %7995, label %7996, label %8000

7996:                                             ; preds = %7990
  %7997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7998 = call i32 @fileno(ptr noundef %7997) #13
  %7999 = call i32 @isatty(i32 noundef %7998) #13
  %.not2075 = icmp eq i32 %7999, 0
  br i1 %.not2075, label %8000, label %8001

8000:                                             ; preds = %7996, %7990
  br label %8001

8001:                                             ; preds = %7996, %8000
  %.str.5.sink4782 = phi ptr [ @.str.5, %8000 ], [ @.str.2, %7996 ]
  store i32 %7991, ptr %377, align 4, !tbaa !5
  %8002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8003 = load i32, ptr @test_count, align 4, !tbaa !5
  %8004 = load i32, ptr %323, align 4, !tbaa !5
  %8005 = call ptr @s2n_strerror(i32 noundef %8004, ptr noundef nonnull @.str.4) #13
  %8006 = load i32, ptr %323, align 4, !tbaa !5
  %8007 = call ptr @s2n_strerror_debug(i32 noundef %8006, ptr noundef nonnull @.str.4) #13
  %8008 = load i32, ptr %377, align 4, !tbaa !5
  %8009 = call ptr @strerror(i32 noundef %8008) #13
  %8010 = load i32, ptr %377, align 4, !tbaa !5
  %8011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8002, ptr noundef nonnull %.str.5.sink4782, i32 noundef %8003, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 941, ptr noundef %8005, ptr noundef %8007, ptr noundef %8009, i32 noundef %8010) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8012:                                             ; preds = %7985
  %8013 = load i32, ptr @test_count, align 4, !tbaa !5
  %8014 = add nsw i32 %8013, 1
  store i32 %8014, ptr @test_count, align 4, !tbaa !5
  %8015 = load ptr, ptr %78, align 8, !tbaa !9
  %8016 = getelementptr inbounds i8, ptr %8015, i64 8
  %8017 = call i32 @s2n_write_test_identity(ptr noundef nonnull %79, ptr noundef nonnull %8016)
  %8018 = call zeroext i1 @s2n_result_is_ok(i32 %8017)
  br i1 %8018, label %8041, label %8019

8019:                                             ; preds = %8012
  %8020 = load i32, ptr %377, align 4, !tbaa !5
  %8021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8022 = call i32 @s2n_print_stacktrace(ptr noundef %8021) #13
  %8023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8024 = trunc nuw i8 %8023 to i1
  br i1 %8024, label %8025, label %8029

8025:                                             ; preds = %8019
  %8026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8027 = call i32 @fileno(ptr noundef %8026) #13
  %8028 = call i32 @isatty(i32 noundef %8027) #13
  %.not1786 = icmp eq i32 %8028, 0
  br i1 %.not1786, label %8029, label %8030

8029:                                             ; preds = %8025, %8019
  br label %8030

8030:                                             ; preds = %8025, %8029
  %.str.5.sink4791 = phi ptr [ @.str.5, %8029 ], [ @.str.2, %8025 ]
  store i32 %8020, ptr %377, align 4, !tbaa !5
  %8031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8032 = load i32, ptr @test_count, align 4, !tbaa !5
  %8033 = load i32, ptr %323, align 4, !tbaa !5
  %8034 = call ptr @s2n_strerror(i32 noundef %8033, ptr noundef nonnull @.str.4) #13
  %8035 = load i32, ptr %323, align 4, !tbaa !5
  %8036 = call ptr @s2n_strerror_debug(i32 noundef %8035, ptr noundef nonnull @.str.4) #13
  %8037 = load i32, ptr %377, align 4, !tbaa !5
  %8038 = call ptr @strerror(i32 noundef %8037) #13
  %8039 = load i32, ptr %377, align 4, !tbaa !5
  %8040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8031, ptr noundef nonnull %.str.5.sink4791, i32 noundef %8032, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 942, ptr noundef %8034, ptr noundef %8036, ptr noundef %8038, i32 noundef %8039) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8041:                                             ; preds = %8012
  %8042 = load i32, ptr @test_count, align 4, !tbaa !5
  %8043 = add nsw i32 %8042, 1
  store i32 %8043, ptr @test_count, align 4, !tbaa !5
  %8044 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %7823, ptr noundef nonnull %79)
  %8045 = call zeroext i1 @s2n_result_is_ok(i32 %8044)
  br i1 %8045, label %8068, label %8046

8046:                                             ; preds = %8041
  %8047 = load i32, ptr %377, align 4, !tbaa !5
  %8048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8049 = call i32 @s2n_print_stacktrace(ptr noundef %8048) #13
  %8050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8051 = trunc nuw i8 %8050 to i1
  br i1 %8051, label %8052, label %8056

8052:                                             ; preds = %8046
  %8053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8054 = call i32 @fileno(ptr noundef %8053) #13
  %8055 = call i32 @isatty(i32 noundef %8054) #13
  %.not1787 = icmp eq i32 %8055, 0
  br i1 %.not1787, label %8056, label %8057

8056:                                             ; preds = %8052, %8046
  br label %8057

8057:                                             ; preds = %8052, %8056
  %.str.5.sink4800 = phi ptr [ @.str.5, %8056 ], [ @.str.2, %8052 ]
  store i32 %8047, ptr %377, align 4, !tbaa !5
  %8058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8059 = load i32, ptr @test_count, align 4, !tbaa !5
  %8060 = load i32, ptr %323, align 4, !tbaa !5
  %8061 = call ptr @s2n_strerror(i32 noundef %8060, ptr noundef nonnull @.str.4) #13
  %8062 = load i32, ptr %323, align 4, !tbaa !5
  %8063 = call ptr @s2n_strerror_debug(i32 noundef %8062, ptr noundef nonnull @.str.4) #13
  %8064 = load i32, ptr %377, align 4, !tbaa !5
  %8065 = call ptr @strerror(i32 noundef %8064) #13
  %8066 = load i32, ptr %377, align 4, !tbaa !5
  %8067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8058, ptr noundef nonnull %.str.5.sink4800, i32 noundef %8059, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 944, ptr noundef %8061, ptr noundef %8063, ptr noundef %8065, i32 noundef %8066) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8068:                                             ; preds = %8041
  %8069 = load i32, ptr @test_count, align 4, !tbaa !5
  %8070 = add nsw i32 %8069, 1
  store i32 %8070, ptr @test_count, align 4, !tbaa !5
  %8071 = getelementptr inbounds i8, ptr %7823, i64 1736
  %8072 = load ptr, ptr %8071, align 8, !tbaa !88
  %8073 = load ptr, ptr %78, align 8, !tbaa !9
  %8074 = icmp eq ptr %8072, %8073
  br i1 %8074, label %8097, label %8075

8075:                                             ; preds = %8068
  %8076 = load i32, ptr %377, align 4, !tbaa !5
  %8077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8078 = call i32 @s2n_print_stacktrace(ptr noundef %8077) #13
  %8079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8080 = trunc nuw i8 %8079 to i1
  br i1 %8080, label %8081, label %8085

8081:                                             ; preds = %8075
  %8082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8083 = call i32 @fileno(ptr noundef %8082) #13
  %8084 = call i32 @isatty(i32 noundef %8083) #13
  %.not1788 = icmp eq i32 %8084, 0
  br i1 %.not1788, label %8085, label %8086

8085:                                             ; preds = %8081, %8075
  br label %8086

8086:                                             ; preds = %8081, %8085
  %.str.5.sink4809 = phi ptr [ @.str.5, %8085 ], [ @.str.2, %8081 ]
  store i32 %8076, ptr %377, align 4, !tbaa !5
  %8087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8088 = load i32, ptr @test_count, align 4, !tbaa !5
  %8089 = load i32, ptr %323, align 4, !tbaa !5
  %8090 = call ptr @s2n_strerror(i32 noundef %8089, ptr noundef nonnull @.str.4) #13
  %8091 = load i32, ptr %323, align 4, !tbaa !5
  %8092 = call ptr @s2n_strerror_debug(i32 noundef %8091, ptr noundef nonnull @.str.4) #13
  %8093 = load i32, ptr %377, align 4, !tbaa !5
  %8094 = call ptr @strerror(i32 noundef %8093) #13
  %8095 = load i32, ptr %377, align 4, !tbaa !5
  %8096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8087, ptr noundef nonnull %.str.5.sink4809, i32 noundef %8088, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 945, ptr noundef %8090, ptr noundef %8092, ptr noundef %8094, i32 noundef %8095) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8097:                                             ; preds = %8068
  %8098 = add nsw i32 %8069, 2
  store i32 %8098, ptr @test_count, align 4, !tbaa !5
  %8099 = getelementptr inbounds i8, ptr %7823, i64 1730
  %8100 = load i16, ptr %8099, align 2, !tbaa !87
  %8101 = icmp eq i16 %8100, 0
  br i1 %8101, label %8124, label %8102

8102:                                             ; preds = %8097
  %8103 = load i32, ptr %377, align 4, !tbaa !5
  %8104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8105 = call i32 @s2n_print_stacktrace(ptr noundef %8104) #13
  %8106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8107 = trunc nuw i8 %8106 to i1
  br i1 %8107, label %8108, label %8112

8108:                                             ; preds = %8102
  %8109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8110 = call i32 @fileno(ptr noundef %8109) #13
  %8111 = call i32 @isatty(i32 noundef %8110) #13
  %.not1789 = icmp eq i32 %8111, 0
  br i1 %.not1789, label %8112, label %8113

8112:                                             ; preds = %8108, %8102
  br label %8113

8113:                                             ; preds = %8108, %8112
  %.str.5.sink4818 = phi ptr [ @.str.5, %8112 ], [ @.str.2, %8108 ]
  store i32 %8103, ptr %377, align 4, !tbaa !5
  %8114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8115 = load i32, ptr @test_count, align 4, !tbaa !5
  %8116 = load i32, ptr %323, align 4, !tbaa !5
  %8117 = call ptr @s2n_strerror(i32 noundef %8116, ptr noundef nonnull @.str.4) #13
  %8118 = load i32, ptr %323, align 4, !tbaa !5
  %8119 = call ptr @s2n_strerror_debug(i32 noundef %8118, ptr noundef nonnull @.str.4) #13
  %8120 = load i32, ptr %377, align 4, !tbaa !5
  %8121 = call ptr @strerror(i32 noundef %8120) #13
  %8122 = load i32, ptr %377, align 4, !tbaa !5
  %8123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8114, ptr noundef nonnull %.str.5.sink4818, i32 noundef %8115, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 946, ptr noundef %8117, ptr noundef %8119, ptr noundef %8121, i32 noundef %8122) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8124:                                             ; preds = %8097
  %8125 = add nsw i32 %8069, 3
  store i32 %8125, ptr @test_count, align 4, !tbaa !5
  %8126 = call i32 @s2n_connection_free(ptr noundef nonnull %7823) #13
  %8127 = icmp eq i32 %8126, -1
  br i1 %8127, label %8128, label %8150

8128:                                             ; preds = %8124
  %8129 = load i32, ptr %377, align 4, !tbaa !5
  %8130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8131 = call i32 @s2n_print_stacktrace(ptr noundef %8130) #13
  %8132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8133 = trunc nuw i8 %8132 to i1
  br i1 %8133, label %8134, label %8138

8134:                                             ; preds = %8128
  %8135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8136 = call i32 @fileno(ptr noundef %8135) #13
  %8137 = call i32 @isatty(i32 noundef %8136) #13
  %.not2074 = icmp eq i32 %8137, 0
  br i1 %.not2074, label %8138, label %8139

8138:                                             ; preds = %8134, %8128
  br label %8139

8139:                                             ; preds = %8134, %8138
  %.str.5.sink4827 = phi ptr [ @.str.5, %8138 ], [ @.str.2, %8134 ]
  store i32 %8129, ptr %377, align 4, !tbaa !5
  %8140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8141 = load i32, ptr @test_count, align 4, !tbaa !5
  %8142 = load i32, ptr %323, align 4, !tbaa !5
  %8143 = call ptr @s2n_strerror(i32 noundef %8142, ptr noundef nonnull @.str.4) #13
  %8144 = load i32, ptr %323, align 4, !tbaa !5
  %8145 = call ptr @s2n_strerror_debug(i32 noundef %8144, ptr noundef nonnull @.str.4) #13
  %8146 = load i32, ptr %377, align 4, !tbaa !5
  %8147 = call ptr @strerror(i32 noundef %8146) #13
  %8148 = load i32, ptr %377, align 4, !tbaa !5
  %8149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8140, ptr noundef nonnull %.str.5.sink4827, i32 noundef %8141, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 948, ptr noundef %8143, ptr noundef %8145, ptr noundef %8147, i32 noundef %8148) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8150:                                             ; preds = %8124
  %8151 = load i32, ptr @test_count, align 4, !tbaa !5
  %8152 = add nsw i32 %8151, 1
  store i32 %8152, ptr @test_count, align 4, !tbaa !5
  %8153 = call i32 @s2n_config_free(ptr noundef nonnull %7768) #13
  %8154 = icmp eq i32 %8153, -1
  br i1 %8154, label %8155, label %8177

8155:                                             ; preds = %8150
  %8156 = load i32, ptr %377, align 4, !tbaa !5
  %8157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8158 = call i32 @s2n_print_stacktrace(ptr noundef %8157) #13
  %8159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8160 = trunc nuw i8 %8159 to i1
  br i1 %8160, label %8161, label %8165

8161:                                             ; preds = %8155
  %8162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8163 = call i32 @fileno(ptr noundef %8162) #13
  %8164 = call i32 @isatty(i32 noundef %8163) #13
  %.not2073 = icmp eq i32 %8164, 0
  br i1 %.not2073, label %8165, label %8166

8165:                                             ; preds = %8161, %8155
  br label %8166

8166:                                             ; preds = %8161, %8165
  %.str.5.sink4836 = phi ptr [ @.str.5, %8165 ], [ @.str.2, %8161 ]
  store i32 %8156, ptr %377, align 4, !tbaa !5
  %8167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8168 = load i32, ptr @test_count, align 4, !tbaa !5
  %8169 = load i32, ptr %323, align 4, !tbaa !5
  %8170 = call ptr @s2n_strerror(i32 noundef %8169, ptr noundef nonnull @.str.4) #13
  %8171 = load i32, ptr %323, align 4, !tbaa !5
  %8172 = call ptr @s2n_strerror_debug(i32 noundef %8171, ptr noundef nonnull @.str.4) #13
  %8173 = load i32, ptr %377, align 4, !tbaa !5
  %8174 = call ptr @strerror(i32 noundef %8173) #13
  %8175 = load i32, ptr %377, align 4, !tbaa !5
  %8176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8167, ptr noundef nonnull %.str.5.sink4836, i32 noundef %8168, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 949, ptr noundef %8170, ptr noundef %8172, ptr noundef %8174, i32 noundef %8175) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8177:                                             ; preds = %8150
  %8178 = load i32, ptr @test_count, align 4, !tbaa !5
  %8179 = add nsw i32 %8178, 1
  store i32 %8179, ptr @test_count, align 4, !tbaa !5
  %8180 = call i32 @s2n_stuffer_free(ptr noundef nonnull %79) #13
  %8181 = icmp eq i32 %8180, -1
  br i1 %8181, label %8182, label %8204

8182:                                             ; preds = %8177
  %8183 = load i32, ptr %377, align 4, !tbaa !5
  %8184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8185 = call i32 @s2n_print_stacktrace(ptr noundef %8184) #13
  %8186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8187 = trunc nuw i8 %8186 to i1
  br i1 %8187, label %8188, label %8192

8188:                                             ; preds = %8182
  %8189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8190 = call i32 @fileno(ptr noundef %8189) #13
  %8191 = call i32 @isatty(i32 noundef %8190) #13
  %.not2072 = icmp eq i32 %8191, 0
  br i1 %.not2072, label %8192, label %8193

8192:                                             ; preds = %8188, %8182
  br label %8193

8193:                                             ; preds = %8188, %8192
  %.str.5.sink4845 = phi ptr [ @.str.5, %8192 ], [ @.str.2, %8188 ]
  store i32 %8183, ptr %377, align 4, !tbaa !5
  %8194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8195 = load i32, ptr @test_count, align 4, !tbaa !5
  %8196 = load i32, ptr %323, align 4, !tbaa !5
  %8197 = call ptr @s2n_strerror(i32 noundef %8196, ptr noundef nonnull @.str.4) #13
  %8198 = load i32, ptr %323, align 4, !tbaa !5
  %8199 = call ptr @s2n_strerror_debug(i32 noundef %8198, ptr noundef nonnull @.str.4) #13
  %8200 = load i32, ptr %377, align 4, !tbaa !5
  %8201 = call ptr @strerror(i32 noundef %8200) #13
  %8202 = load i32, ptr %377, align 4, !tbaa !5
  %8203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8194, ptr noundef nonnull %.str.5.sink4845, i32 noundef %8195, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 950, ptr noundef %8197, ptr noundef %8199, ptr noundef %8201, i32 noundef %8202) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8204:                                             ; preds = %8177
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %79) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %77) #13
  %8205 = call ptr @s2n_config_new() #13
  %8206 = load i32, ptr @test_count, align 4, !tbaa !5
  %8207 = add nsw i32 %8206, 1
  store i32 %8207, ptr @test_count, align 4, !tbaa !5
  %8208 = icmp eq ptr %8205, null
  br i1 %8208, label %8209, label %8231

8209:                                             ; preds = %8204
  %8210 = load i32, ptr %377, align 4, !tbaa !5
  %8211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8212 = call i32 @s2n_print_stacktrace(ptr noundef %8211) #13
  %8213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8214 = trunc nuw i8 %8213 to i1
  br i1 %8214, label %8215, label %8219

8215:                                             ; preds = %8209
  %8216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8217 = call i32 @fileno(ptr noundef %8216) #13
  %8218 = call i32 @isatty(i32 noundef %8217) #13
  %.not2071 = icmp eq i32 %8218, 0
  br i1 %.not2071, label %8219, label %8220

8219:                                             ; preds = %8215, %8209
  br label %8220

8220:                                             ; preds = %8215, %8219
  %.str.5.sink4854 = phi ptr [ @.str.5, %8219 ], [ @.str.2, %8215 ]
  store i32 %8210, ptr %377, align 4, !tbaa !5
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = load i32, ptr @test_count, align 4, !tbaa !5
  %8223 = load i32, ptr %323, align 4, !tbaa !5
  %8224 = call ptr @s2n_strerror(i32 noundef %8223, ptr noundef nonnull @.str.4) #13
  %8225 = load i32, ptr %323, align 4, !tbaa !5
  %8226 = call ptr @s2n_strerror_debug(i32 noundef %8225, ptr noundef nonnull @.str.4) #13
  %8227 = load i32, ptr %377, align 4, !tbaa !5
  %8228 = call ptr @strerror(i32 noundef %8227) #13
  %8229 = load i32, ptr %377, align 4, !tbaa !5
  %8230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8221, ptr noundef nonnull %.str.5.sink4854, i32 noundef %8222, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 956, ptr noundef %8224, ptr noundef %8226, ptr noundef %8228, i32 noundef %8229) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8231:                                             ; preds = %8204
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %80) #13
  store i16 10, ptr %80, align 2, !tbaa !69
  %8232 = add nsw i32 %8206, 2
  store i32 %8232, ptr @test_count, align 4, !tbaa !5
  %8233 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef nonnull %8205, ptr noundef nonnull @s2n_test_select_psk_identity_callback, ptr noundef nonnull %80) #13
  %8234 = icmp eq i32 %8233, -1
  br i1 %8234, label %8235, label %8257

8235:                                             ; preds = %8231
  %8236 = load i32, ptr %377, align 4, !tbaa !5
  %8237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8238 = call i32 @s2n_print_stacktrace(ptr noundef %8237) #13
  %8239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8240 = trunc nuw i8 %8239 to i1
  br i1 %8240, label %8241, label %8245

8241:                                             ; preds = %8235
  %8242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8243 = call i32 @fileno(ptr noundef %8242) #13
  %8244 = call i32 @isatty(i32 noundef %8243) #13
  %.not2070 = icmp eq i32 %8244, 0
  br i1 %.not2070, label %8245, label %8246

8245:                                             ; preds = %8241, %8235
  br label %8246

8246:                                             ; preds = %8241, %8245
  %.str.5.sink4863 = phi ptr [ @.str.5, %8245 ], [ @.str.2, %8241 ]
  store i32 %8236, ptr %377, align 4, !tbaa !5
  %8247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8248 = load i32, ptr @test_count, align 4, !tbaa !5
  %8249 = load i32, ptr %323, align 4, !tbaa !5
  %8250 = call ptr @s2n_strerror(i32 noundef %8249, ptr noundef nonnull @.str.4) #13
  %8251 = load i32, ptr %323, align 4, !tbaa !5
  %8252 = call ptr @s2n_strerror_debug(i32 noundef %8251, ptr noundef nonnull @.str.4) #13
  %8253 = load i32, ptr %377, align 4, !tbaa !5
  %8254 = call ptr @strerror(i32 noundef %8253) #13
  %8255 = load i32, ptr %377, align 4, !tbaa !5
  %8256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8247, ptr noundef nonnull %.str.5.sink4863, i32 noundef %8248, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 959, ptr noundef %8250, ptr noundef %8252, ptr noundef %8254, i32 noundef %8255) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8257:                                             ; preds = %8231
  %8258 = load i32, ptr @test_count, align 4, !tbaa !5
  %8259 = add nsw i32 %8258, 1
  store i32 %8259, ptr @test_count, align 4, !tbaa !5
  %8260 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %8261 = icmp eq ptr %8260, null
  br i1 %8261, label %8262, label %8284

8262:                                             ; preds = %8257
  %8263 = load i32, ptr %377, align 4, !tbaa !5
  %8264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8265 = call i32 @s2n_print_stacktrace(ptr noundef %8264) #13
  %8266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8267 = trunc nuw i8 %8266 to i1
  br i1 %8267, label %8268, label %8272

8268:                                             ; preds = %8262
  %8269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8270 = call i32 @fileno(ptr noundef %8269) #13
  %8271 = call i32 @isatty(i32 noundef %8270) #13
  %.not2069 = icmp eq i32 %8271, 0
  br i1 %.not2069, label %8272, label %8273

8272:                                             ; preds = %8268, %8262
  br label %8273

8273:                                             ; preds = %8268, %8272
  %.str.5.sink4872 = phi ptr [ @.str.5, %8272 ], [ @.str.2, %8268 ]
  store i32 %8263, ptr %377, align 4, !tbaa !5
  %8274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8275 = load i32, ptr @test_count, align 4, !tbaa !5
  %8276 = load i32, ptr %323, align 4, !tbaa !5
  %8277 = call ptr @s2n_strerror(i32 noundef %8276, ptr noundef nonnull @.str.4) #13
  %8278 = load i32, ptr %323, align 4, !tbaa !5
  %8279 = call ptr @s2n_strerror_debug(i32 noundef %8278, ptr noundef nonnull @.str.4) #13
  %8280 = load i32, ptr %377, align 4, !tbaa !5
  %8281 = call ptr @strerror(i32 noundef %8280) #13
  %8282 = load i32, ptr %377, align 4, !tbaa !5
  %8283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8274, ptr noundef nonnull %.str.5.sink4872, i32 noundef %8275, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 962, ptr noundef %8277, ptr noundef %8279, ptr noundef %8281, i32 noundef %8282) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8284:                                             ; preds = %8257
  %8285 = load i32, ptr @test_count, align 4, !tbaa !5
  %8286 = add nsw i32 %8285, 1
  store i32 %8286, ptr @test_count, align 4, !tbaa !5
  %8287 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %8260, i32 noundef 1) #13
  %8288 = call zeroext i1 @s2n_result_is_ok(i32 %8287)
  br i1 %8288, label %8311, label %8289

8289:                                             ; preds = %8284
  %8290 = load i32, ptr %377, align 4, !tbaa !5
  %8291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8292 = call i32 @s2n_print_stacktrace(ptr noundef %8291) #13
  %8293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8294 = trunc nuw i8 %8293 to i1
  br i1 %8294, label %8295, label %8299

8295:                                             ; preds = %8289
  %8296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8297 = call i32 @fileno(ptr noundef %8296) #13
  %8298 = call i32 @isatty(i32 noundef %8297) #13
  %.not1790 = icmp eq i32 %8298, 0
  br i1 %.not1790, label %8299, label %8300

8299:                                             ; preds = %8295, %8289
  br label %8300

8300:                                             ; preds = %8295, %8299
  %.str.5.sink4881 = phi ptr [ @.str.5, %8299 ], [ @.str.2, %8295 ]
  store i32 %8290, ptr %377, align 4, !tbaa !5
  %8301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8302 = load i32, ptr @test_count, align 4, !tbaa !5
  %8303 = load i32, ptr %323, align 4, !tbaa !5
  %8304 = call ptr @s2n_strerror(i32 noundef %8303, ptr noundef nonnull @.str.4) #13
  %8305 = load i32, ptr %323, align 4, !tbaa !5
  %8306 = call ptr @s2n_strerror_debug(i32 noundef %8305, ptr noundef nonnull @.str.4) #13
  %8307 = load i32, ptr %377, align 4, !tbaa !5
  %8308 = call ptr @strerror(i32 noundef %8307) #13
  %8309 = load i32, ptr %377, align 4, !tbaa !5
  %8310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8301, ptr noundef nonnull %.str.5.sink4881, i32 noundef %8302, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 963, ptr noundef %8304, ptr noundef %8306, ptr noundef %8308, i32 noundef %8309) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8311:                                             ; preds = %8284
  %8312 = load i32, ptr @test_count, align 4, !tbaa !5
  %8313 = add nsw i32 %8312, 1
  store i32 %8313, ptr @test_count, align 4, !tbaa !5
  %8314 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8260, ptr noundef nonnull %8205) #13
  %8315 = icmp eq i32 %8314, -1
  br i1 %8315, label %8316, label %8338

8316:                                             ; preds = %8311
  %8317 = load i32, ptr %377, align 4, !tbaa !5
  %8318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8319 = call i32 @s2n_print_stacktrace(ptr noundef %8318) #13
  %8320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8321 = trunc nuw i8 %8320 to i1
  br i1 %8321, label %8322, label %8326

8322:                                             ; preds = %8316
  %8323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8324 = call i32 @fileno(ptr noundef %8323) #13
  %8325 = call i32 @isatty(i32 noundef %8324) #13
  %.not2068 = icmp eq i32 %8325, 0
  br i1 %.not2068, label %8326, label %8327

8326:                                             ; preds = %8322, %8316
  br label %8327

8327:                                             ; preds = %8322, %8326
  %.str.5.sink4890 = phi ptr [ @.str.5, %8326 ], [ @.str.2, %8322 ]
  store i32 %8317, ptr %377, align 4, !tbaa !5
  %8328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8329 = load i32, ptr @test_count, align 4, !tbaa !5
  %8330 = load i32, ptr %323, align 4, !tbaa !5
  %8331 = call ptr @s2n_strerror(i32 noundef %8330, ptr noundef nonnull @.str.4) #13
  %8332 = load i32, ptr %323, align 4, !tbaa !5
  %8333 = call ptr @s2n_strerror_debug(i32 noundef %8332, ptr noundef nonnull @.str.4) #13
  %8334 = load i32, ptr %377, align 4, !tbaa !5
  %8335 = call ptr @strerror(i32 noundef %8334) #13
  %8336 = load i32, ptr %377, align 4, !tbaa !5
  %8337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8328, ptr noundef nonnull %.str.5.sink4890, i32 noundef %8329, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 964, ptr noundef %8331, ptr noundef %8333, ptr noundef %8335, i32 noundef %8336) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8338:                                             ; preds = %8311
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #13
  store ptr null, ptr %81, align 8, !tbaa !9
  %8339 = load i32, ptr @test_count, align 4, !tbaa !5
  %8340 = add nsw i32 %8339, 1
  store i32 %8340, ptr @test_count, align 4, !tbaa !5
  %8341 = getelementptr inbounds i8, ptr %8260, i64 1696
  %8342 = call i32 @s2n_array_pushback(ptr noundef nonnull %8341, ptr noundef nonnull %81) #13
  %8343 = call zeroext i1 @s2n_result_is_ok(i32 %8342)
  br i1 %8343, label %8366, label %8344

8344:                                             ; preds = %8338
  %8345 = load i32, ptr %377, align 4, !tbaa !5
  %8346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8347 = call i32 @s2n_print_stacktrace(ptr noundef %8346) #13
  %8348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8349 = trunc nuw i8 %8348 to i1
  br i1 %8349, label %8350, label %8354

8350:                                             ; preds = %8344
  %8351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8352 = call i32 @fileno(ptr noundef %8351) #13
  %8353 = call i32 @isatty(i32 noundef %8352) #13
  %.not1791 = icmp eq i32 %8353, 0
  br i1 %.not1791, label %8354, label %8355

8354:                                             ; preds = %8350, %8344
  br label %8355

8355:                                             ; preds = %8350, %8354
  %.str.5.sink4899 = phi ptr [ @.str.5, %8354 ], [ @.str.2, %8350 ]
  store i32 %8345, ptr %377, align 4, !tbaa !5
  %8356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8357 = load i32, ptr @test_count, align 4, !tbaa !5
  %8358 = load i32, ptr %323, align 4, !tbaa !5
  %8359 = call ptr @s2n_strerror(i32 noundef %8358, ptr noundef nonnull @.str.4) #13
  %8360 = load i32, ptr %323, align 4, !tbaa !5
  %8361 = call ptr @s2n_strerror_debug(i32 noundef %8360, ptr noundef nonnull @.str.4) #13
  %8362 = load i32, ptr %377, align 4, !tbaa !5
  %8363 = call ptr @strerror(i32 noundef %8362) #13
  %8364 = load i32, ptr %377, align 4, !tbaa !5
  %8365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8356, ptr noundef nonnull %.str.5.sink4899, i32 noundef %8357, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 967, ptr noundef %8359, ptr noundef %8361, ptr noundef %8363, i32 noundef %8364) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8366:                                             ; preds = %8338
  %8367 = load i32, ptr @test_count, align 4, !tbaa !5
  %8368 = add nsw i32 %8367, 1
  store i32 %8368, ptr @test_count, align 4, !tbaa !5
  %8369 = load ptr, ptr %81, align 8, !tbaa !9
  %8370 = call i32 @s2n_psk_init(ptr noundef %8369, i32 noundef 1) #13
  %8371 = call zeroext i1 @s2n_result_is_ok(i32 %8370)
  br i1 %8371, label %8394, label %8372

8372:                                             ; preds = %8366
  %8373 = load i32, ptr %377, align 4, !tbaa !5
  %8374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8375 = call i32 @s2n_print_stacktrace(ptr noundef %8374) #13
  %8376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8377 = trunc nuw i8 %8376 to i1
  br i1 %8377, label %8378, label %8382

8378:                                             ; preds = %8372
  %8379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8380 = call i32 @fileno(ptr noundef %8379) #13
  %8381 = call i32 @isatty(i32 noundef %8380) #13
  %.not1792 = icmp eq i32 %8381, 0
  br i1 %.not1792, label %8382, label %8383

8382:                                             ; preds = %8378, %8372
  br label %8383

8383:                                             ; preds = %8378, %8382
  %.str.5.sink4908 = phi ptr [ @.str.5, %8382 ], [ @.str.2, %8378 ]
  store i32 %8373, ptr %377, align 4, !tbaa !5
  %8384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8385 = load i32, ptr @test_count, align 4, !tbaa !5
  %8386 = load i32, ptr %323, align 4, !tbaa !5
  %8387 = call ptr @s2n_strerror(i32 noundef %8386, ptr noundef nonnull @.str.4) #13
  %8388 = load i32, ptr %323, align 4, !tbaa !5
  %8389 = call ptr @s2n_strerror_debug(i32 noundef %8388, ptr noundef nonnull @.str.4) #13
  %8390 = load i32, ptr %377, align 4, !tbaa !5
  %8391 = call ptr @strerror(i32 noundef %8390) #13
  %8392 = load i32, ptr %377, align 4, !tbaa !5
  %8393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8384, ptr noundef nonnull %.str.5.sink4908, i32 noundef %8385, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.1, i32 noundef 968, ptr noundef %8387, ptr noundef %8389, ptr noundef %8391, i32 noundef %8392) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8394:                                             ; preds = %8366
  %8395 = load i32, ptr @test_count, align 4, !tbaa !5
  %8396 = add nsw i32 %8395, 1
  store i32 %8396, ptr @test_count, align 4, !tbaa !5
  %8397 = load ptr, ptr %81, align 8, !tbaa !9
  %8398 = call i32 @s2n_psk_set_identity(ptr noundef %8397, ptr noundef nonnull %3, i16 noundef zeroext 3) #13
  %8399 = icmp eq i32 %8398, -1
  br i1 %8399, label %8400, label %8422

8400:                                             ; preds = %8394
  %8401 = load i32, ptr %377, align 4, !tbaa !5
  %8402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8403 = call i32 @s2n_print_stacktrace(ptr noundef %8402) #13
  %8404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8405 = trunc nuw i8 %8404 to i1
  br i1 %8405, label %8406, label %8410

8406:                                             ; preds = %8400
  %8407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8408 = call i32 @fileno(ptr noundef %8407) #13
  %8409 = call i32 @isatty(i32 noundef %8408) #13
  %.not2067 = icmp eq i32 %8409, 0
  br i1 %.not2067, label %8410, label %8411

8410:                                             ; preds = %8406, %8400
  br label %8411

8411:                                             ; preds = %8406, %8410
  %.str.5.sink4917 = phi ptr [ @.str.5, %8410 ], [ @.str.2, %8406 ]
  store i32 %8401, ptr %377, align 4, !tbaa !5
  %8412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8413 = load i32, ptr @test_count, align 4, !tbaa !5
  %8414 = load i32, ptr %323, align 4, !tbaa !5
  %8415 = call ptr @s2n_strerror(i32 noundef %8414, ptr noundef nonnull @.str.4) #13
  %8416 = load i32, ptr %323, align 4, !tbaa !5
  %8417 = call ptr @s2n_strerror_debug(i32 noundef %8416, ptr noundef nonnull @.str.4) #13
  %8418 = load i32, ptr %377, align 4, !tbaa !5
  %8419 = call ptr @strerror(i32 noundef %8418) #13
  %8420 = load i32, ptr %377, align 4, !tbaa !5
  %8421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8412, ptr noundef nonnull %.str.5.sink4917, i32 noundef %8413, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 969, ptr noundef %8415, ptr noundef %8417, ptr noundef %8419, i32 noundef %8420) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8422:                                             ; preds = %8394
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %82) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %82, i8 0, i64 40, i1 false)
  %8423 = load i32, ptr @test_count, align 4, !tbaa !5
  %8424 = add nsw i32 %8423, 1
  store i32 %8424, ptr @test_count, align 4, !tbaa !5
  %8425 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %82, i32 noundef 0) #13
  %8426 = icmp eq i32 %8425, -1
  br i1 %8426, label %8427, label %8449

8427:                                             ; preds = %8422
  %8428 = load i32, ptr %377, align 4, !tbaa !5
  %8429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8430 = call i32 @s2n_print_stacktrace(ptr noundef %8429) #13
  %8431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8432 = trunc nuw i8 %8431 to i1
  br i1 %8432, label %8433, label %8437

8433:                                             ; preds = %8427
  %8434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8435 = call i32 @fileno(ptr noundef %8434) #13
  %8436 = call i32 @isatty(i32 noundef %8435) #13
  %.not2066 = icmp eq i32 %8436, 0
  br i1 %.not2066, label %8437, label %8438

8437:                                             ; preds = %8433, %8427
  br label %8438

8438:                                             ; preds = %8433, %8437
  %.str.5.sink4926 = phi ptr [ @.str.5, %8437 ], [ @.str.2, %8433 ]
  store i32 %8428, ptr %377, align 4, !tbaa !5
  %8439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8440 = load i32, ptr @test_count, align 4, !tbaa !5
  %8441 = load i32, ptr %323, align 4, !tbaa !5
  %8442 = call ptr @s2n_strerror(i32 noundef %8441, ptr noundef nonnull @.str.4) #13
  %8443 = load i32, ptr %323, align 4, !tbaa !5
  %8444 = call ptr @s2n_strerror_debug(i32 noundef %8443, ptr noundef nonnull @.str.4) #13
  %8445 = load i32, ptr %377, align 4, !tbaa !5
  %8446 = call ptr @strerror(i32 noundef %8445) #13
  %8447 = load i32, ptr %377, align 4, !tbaa !5
  %8448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8439, ptr noundef nonnull %.str.5.sink4926, i32 noundef %8440, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 972, ptr noundef %8442, ptr noundef %8444, ptr noundef %8446, i32 noundef %8447) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8449:                                             ; preds = %8422
  %8450 = load i32, ptr @test_count, align 4, !tbaa !5
  %8451 = add nsw i32 %8450, 1
  store i32 %8451, ptr @test_count, align 4, !tbaa !5
  %8452 = load ptr, ptr %81, align 8, !tbaa !9
  %8453 = getelementptr inbounds i8, ptr %8452, i64 8
  %8454 = call i32 @s2n_write_test_identity(ptr noundef nonnull %82, ptr noundef nonnull %8453)
  %8455 = call zeroext i1 @s2n_result_is_ok(i32 %8454)
  br i1 %8455, label %8478, label %8456

8456:                                             ; preds = %8449
  %8457 = load i32, ptr %377, align 4, !tbaa !5
  %8458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8459 = call i32 @s2n_print_stacktrace(ptr noundef %8458) #13
  %8460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8461 = trunc nuw i8 %8460 to i1
  br i1 %8461, label %8462, label %8466

8462:                                             ; preds = %8456
  %8463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8464 = call i32 @fileno(ptr noundef %8463) #13
  %8465 = call i32 @isatty(i32 noundef %8464) #13
  %.not1793 = icmp eq i32 %8465, 0
  br i1 %.not1793, label %8466, label %8467

8466:                                             ; preds = %8462, %8456
  br label %8467

8467:                                             ; preds = %8462, %8466
  %.str.5.sink4935 = phi ptr [ @.str.5, %8466 ], [ @.str.2, %8462 ]
  store i32 %8457, ptr %377, align 4, !tbaa !5
  %8468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8469 = load i32, ptr @test_count, align 4, !tbaa !5
  %8470 = load i32, ptr %323, align 4, !tbaa !5
  %8471 = call ptr @s2n_strerror(i32 noundef %8470, ptr noundef nonnull @.str.4) #13
  %8472 = load i32, ptr %323, align 4, !tbaa !5
  %8473 = call ptr @s2n_strerror_debug(i32 noundef %8472, ptr noundef nonnull @.str.4) #13
  %8474 = load i32, ptr %377, align 4, !tbaa !5
  %8475 = call ptr @strerror(i32 noundef %8474) #13
  %8476 = load i32, ptr %377, align 4, !tbaa !5
  %8477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8468, ptr noundef nonnull %.str.5.sink4935, i32 noundef %8469, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 973, ptr noundef %8471, ptr noundef %8473, ptr noundef %8475, i32 noundef %8476) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8478:                                             ; preds = %8449
  %8479 = load i32, ptr @test_count, align 4, !tbaa !5
  %8480 = add nsw i32 %8479, 1
  store i32 %8480, ptr @test_count, align 4, !tbaa !5
  %8481 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %8260, ptr noundef nonnull %82)
  %8482 = call zeroext i1 @s2n_result_is_error(i32 %8481)
  br i1 %8482, label %8505, label %8483

8483:                                             ; preds = %8478
  %8484 = load i32, ptr %377, align 4, !tbaa !5
  %8485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8486 = call i32 @s2n_print_stacktrace(ptr noundef %8485) #13
  %8487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8488 = trunc nuw i8 %8487 to i1
  br i1 %8488, label %8489, label %8493

8489:                                             ; preds = %8483
  %8490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8491 = call i32 @fileno(ptr noundef %8490) #13
  %8492 = call i32 @isatty(i32 noundef %8491) #13
  %.not1794 = icmp eq i32 %8492, 0
  br i1 %.not1794, label %8493, label %8494

8493:                                             ; preds = %8489, %8483
  br label %8494

8494:                                             ; preds = %8489, %8493
  %.str.5.sink4944 = phi ptr [ @.str.5, %8493 ], [ @.str.2, %8489 ]
  store i32 %8484, ptr %377, align 4, !tbaa !5
  %8495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8496 = load i32, ptr @test_count, align 4, !tbaa !5
  %8497 = load i32, ptr %323, align 4, !tbaa !5
  %8498 = call ptr @s2n_strerror(i32 noundef %8497, ptr noundef nonnull @.str.4) #13
  %8499 = load i32, ptr %323, align 4, !tbaa !5
  %8500 = call ptr @s2n_strerror_debug(i32 noundef %8499, ptr noundef nonnull @.str.4) #13
  %8501 = load i32, ptr %377, align 4, !tbaa !5
  %8502 = call ptr @strerror(i32 noundef %8501) #13
  %8503 = load i32, ptr %377, align 4, !tbaa !5
  %8504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8495, ptr noundef nonnull %.str.5.sink4944, i32 noundef %8496, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 975, ptr noundef %8498, ptr noundef %8500, ptr noundef %8502, i32 noundef %8503) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8505:                                             ; preds = %8478
  %8506 = load i32, ptr @test_count, align 4, !tbaa !5
  %8507 = add nsw i32 %8506, 1
  store i32 %8507, ptr @test_count, align 4, !tbaa !5
  %8508 = load i32, ptr %323, align 4, !tbaa !5
  %8509 = icmp eq i32 %8508, 0
  br i1 %8509, label %8510, label %8532

8510:                                             ; preds = %8505
  %8511 = load i32, ptr %377, align 4, !tbaa !5
  %8512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8513 = call i32 @s2n_print_stacktrace(ptr noundef %8512) #13
  %8514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8515 = trunc nuw i8 %8514 to i1
  br i1 %8515, label %8516, label %8520

8516:                                             ; preds = %8510
  %8517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8518 = call i32 @fileno(ptr noundef %8517) #13
  %8519 = call i32 @isatty(i32 noundef %8518) #13
  %.not2065 = icmp eq i32 %8519, 0
  br i1 %.not2065, label %8520, label %8521

8520:                                             ; preds = %8516, %8510
  br label %8521

8521:                                             ; preds = %8516, %8520
  %.str.5.sink4953 = phi ptr [ @.str.5, %8520 ], [ @.str.2, %8516 ]
  store i32 %8511, ptr %377, align 4, !tbaa !5
  %8522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8523 = load i32, ptr @test_count, align 4, !tbaa !5
  %8524 = load i32, ptr %323, align 4, !tbaa !5
  %8525 = call ptr @s2n_strerror(i32 noundef %8524, ptr noundef nonnull @.str.4) #13
  %8526 = load i32, ptr %323, align 4, !tbaa !5
  %8527 = call ptr @s2n_strerror_debug(i32 noundef %8526, ptr noundef nonnull @.str.4) #13
  %8528 = load i32, ptr %377, align 4, !tbaa !5
  %8529 = call ptr @strerror(i32 noundef %8528) #13
  %8530 = load i32, ptr %377, align 4, !tbaa !5
  %8531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8522, ptr noundef nonnull %.str.5.sink4953, i32 noundef %8523, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 975, ptr noundef %8525, ptr noundef %8527, ptr noundef %8529, i32 noundef %8530) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8532:                                             ; preds = %8505
  %8533 = add nsw i32 %8506, 2
  store i32 %8533, ptr @test_count, align 4, !tbaa !5
  %8534 = call ptr @s2n_strerror_debug(i32 noundef %8508, ptr noundef nonnull @.str.4) #13
  %8535 = icmp eq ptr %8534, null
  br i1 %8535, label %8536, label %8558

8536:                                             ; preds = %8532
  %8537 = load i32, ptr %377, align 4, !tbaa !5
  %8538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8539 = call i32 @s2n_print_stacktrace(ptr noundef %8538) #13
  %8540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8541 = trunc nuw i8 %8540 to i1
  br i1 %8541, label %8542, label %8546

8542:                                             ; preds = %8536
  %8543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8544 = call i32 @fileno(ptr noundef %8543) #13
  %8545 = call i32 @isatty(i32 noundef %8544) #13
  %.not2064 = icmp eq i32 %8545, 0
  br i1 %.not2064, label %8546, label %8547

8546:                                             ; preds = %8542, %8536
  br label %8547

8547:                                             ; preds = %8542, %8546
  %.str.5.sink4962 = phi ptr [ @.str.5, %8546 ], [ @.str.2, %8542 ]
  store i32 %8537, ptr %377, align 4, !tbaa !5
  %8548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8549 = load i32, ptr @test_count, align 4, !tbaa !5
  %8550 = load i32, ptr %323, align 4, !tbaa !5
  %8551 = call ptr @s2n_strerror(i32 noundef %8550, ptr noundef nonnull @.str.4) #13
  %8552 = load i32, ptr %323, align 4, !tbaa !5
  %8553 = call ptr @s2n_strerror_debug(i32 noundef %8552, ptr noundef nonnull @.str.4) #13
  %8554 = load i32, ptr %377, align 4, !tbaa !5
  %8555 = call ptr @strerror(i32 noundef %8554) #13
  %8556 = load i32, ptr %377, align 4, !tbaa !5
  %8557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8548, ptr noundef nonnull %.str.5.sink4962, i32 noundef %8549, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 975, ptr noundef %8551, ptr noundef %8553, ptr noundef %8555, i32 noundef %8556) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8558:                                             ; preds = %8532
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %8559 = load i32, ptr @test_count, align 4, !tbaa !5
  %8560 = add nsw i32 %8559, 1
  store i32 %8560, ptr @test_count, align 4, !tbaa !5
  %8561 = getelementptr inbounds i8, ptr %8260, i64 1736
  %8562 = load ptr, ptr %8561, align 8, !tbaa !88
  %8563 = icmp eq ptr %8562, null
  br i1 %8563, label %8586, label %8564

8564:                                             ; preds = %8558
  %8565 = load i32, ptr %377, align 4, !tbaa !5
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = call i32 @s2n_print_stacktrace(ptr noundef %8566) #13
  %8568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8569 = trunc nuw i8 %8568 to i1
  br i1 %8569, label %8570, label %8574

8570:                                             ; preds = %8564
  %8571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8572 = call i32 @fileno(ptr noundef %8571) #13
  %8573 = call i32 @isatty(i32 noundef %8572) #13
  %.not1795 = icmp eq i32 %8573, 0
  br i1 %.not1795, label %8574, label %8575

8574:                                             ; preds = %8570, %8564
  br label %8575

8575:                                             ; preds = %8570, %8574
  %.str.5.sink4971 = phi ptr [ @.str.5, %8574 ], [ @.str.2, %8570 ]
  store i32 %8565, ptr %377, align 4, !tbaa !5
  %8576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8577 = load i32, ptr @test_count, align 4, !tbaa !5
  %8578 = load i32, ptr %323, align 4, !tbaa !5
  %8579 = call ptr @s2n_strerror(i32 noundef %8578, ptr noundef nonnull @.str.4) #13
  %8580 = load i32, ptr %323, align 4, !tbaa !5
  %8581 = call ptr @s2n_strerror_debug(i32 noundef %8580, ptr noundef nonnull @.str.4) #13
  %8582 = load i32, ptr %377, align 4, !tbaa !5
  %8583 = call ptr @strerror(i32 noundef %8582) #13
  %8584 = load i32, ptr %377, align 4, !tbaa !5
  %8585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8576, ptr noundef nonnull %.str.5.sink4971, i32 noundef %8577, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 976, ptr noundef %8579, ptr noundef %8581, ptr noundef %8583, i32 noundef %8584) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8586:                                             ; preds = %8558
  %8587 = add nsw i32 %8559, 2
  store i32 %8587, ptr @test_count, align 4, !tbaa !5
  %8588 = call i32 @s2n_connection_free(ptr noundef nonnull %8260) #13
  %8589 = icmp eq i32 %8588, -1
  br i1 %8589, label %8590, label %8612

8590:                                             ; preds = %8586
  %8591 = load i32, ptr %377, align 4, !tbaa !5
  %8592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8593 = call i32 @s2n_print_stacktrace(ptr noundef %8592) #13
  %8594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8595 = trunc nuw i8 %8594 to i1
  br i1 %8595, label %8596, label %8600

8596:                                             ; preds = %8590
  %8597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8598 = call i32 @fileno(ptr noundef %8597) #13
  %8599 = call i32 @isatty(i32 noundef %8598) #13
  %.not2063 = icmp eq i32 %8599, 0
  br i1 %.not2063, label %8600, label %8601

8600:                                             ; preds = %8596, %8590
  br label %8601

8601:                                             ; preds = %8596, %8600
  %.str.5.sink4980 = phi ptr [ @.str.5, %8600 ], [ @.str.2, %8596 ]
  store i32 %8591, ptr %377, align 4, !tbaa !5
  %8602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8603 = load i32, ptr @test_count, align 4, !tbaa !5
  %8604 = load i32, ptr %323, align 4, !tbaa !5
  %8605 = call ptr @s2n_strerror(i32 noundef %8604, ptr noundef nonnull @.str.4) #13
  %8606 = load i32, ptr %323, align 4, !tbaa !5
  %8607 = call ptr @s2n_strerror_debug(i32 noundef %8606, ptr noundef nonnull @.str.4) #13
  %8608 = load i32, ptr %377, align 4, !tbaa !5
  %8609 = call ptr @strerror(i32 noundef %8608) #13
  %8610 = load i32, ptr %377, align 4, !tbaa !5
  %8611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8602, ptr noundef nonnull %.str.5.sink4980, i32 noundef %8603, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 978, ptr noundef %8605, ptr noundef %8607, ptr noundef %8609, i32 noundef %8610) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8612:                                             ; preds = %8586
  %8613 = load i32, ptr @test_count, align 4, !tbaa !5
  %8614 = add nsw i32 %8613, 1
  store i32 %8614, ptr @test_count, align 4, !tbaa !5
  %8615 = call i32 @s2n_config_free(ptr noundef nonnull %8205) #13
  %8616 = icmp eq i32 %8615, -1
  br i1 %8616, label %8617, label %8639

8617:                                             ; preds = %8612
  %8618 = load i32, ptr %377, align 4, !tbaa !5
  %8619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8620 = call i32 @s2n_print_stacktrace(ptr noundef %8619) #13
  %8621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8622 = trunc nuw i8 %8621 to i1
  br i1 %8622, label %8623, label %8627

8623:                                             ; preds = %8617
  %8624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8625 = call i32 @fileno(ptr noundef %8624) #13
  %8626 = call i32 @isatty(i32 noundef %8625) #13
  %.not2062 = icmp eq i32 %8626, 0
  br i1 %.not2062, label %8627, label %8628

8627:                                             ; preds = %8623, %8617
  br label %8628

8628:                                             ; preds = %8623, %8627
  %.str.5.sink4989 = phi ptr [ @.str.5, %8627 ], [ @.str.2, %8623 ]
  store i32 %8618, ptr %377, align 4, !tbaa !5
  %8629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8630 = load i32, ptr @test_count, align 4, !tbaa !5
  %8631 = load i32, ptr %323, align 4, !tbaa !5
  %8632 = call ptr @s2n_strerror(i32 noundef %8631, ptr noundef nonnull @.str.4) #13
  %8633 = load i32, ptr %323, align 4, !tbaa !5
  %8634 = call ptr @s2n_strerror_debug(i32 noundef %8633, ptr noundef nonnull @.str.4) #13
  %8635 = load i32, ptr %377, align 4, !tbaa !5
  %8636 = call ptr @strerror(i32 noundef %8635) #13
  %8637 = load i32, ptr %377, align 4, !tbaa !5
  %8638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8629, ptr noundef nonnull %.str.5.sink4989, i32 noundef %8630, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 979, ptr noundef %8632, ptr noundef %8634, ptr noundef %8636, i32 noundef %8637) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8639:                                             ; preds = %8612
  %8640 = load i32, ptr @test_count, align 4, !tbaa !5
  %8641 = add nsw i32 %8640, 1
  store i32 %8641, ptr @test_count, align 4, !tbaa !5
  %8642 = call i32 @s2n_stuffer_free(ptr noundef nonnull %82) #13
  %8643 = icmp eq i32 %8642, -1
  br i1 %8643, label %8644, label %8666

8644:                                             ; preds = %8639
  %8645 = load i32, ptr %377, align 4, !tbaa !5
  %8646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8647 = call i32 @s2n_print_stacktrace(ptr noundef %8646) #13
  %8648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8649 = trunc nuw i8 %8648 to i1
  br i1 %8649, label %8650, label %8654

8650:                                             ; preds = %8644
  %8651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8652 = call i32 @fileno(ptr noundef %8651) #13
  %8653 = call i32 @isatty(i32 noundef %8652) #13
  %.not2061 = icmp eq i32 %8653, 0
  br i1 %.not2061, label %8654, label %8655

8654:                                             ; preds = %8650, %8644
  br label %8655

8655:                                             ; preds = %8650, %8654
  %.str.5.sink4998 = phi ptr [ @.str.5, %8654 ], [ @.str.2, %8650 ]
  store i32 %8645, ptr %377, align 4, !tbaa !5
  %8656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8657 = load i32, ptr @test_count, align 4, !tbaa !5
  %8658 = load i32, ptr %323, align 4, !tbaa !5
  %8659 = call ptr @s2n_strerror(i32 noundef %8658, ptr noundef nonnull @.str.4) #13
  %8660 = load i32, ptr %323, align 4, !tbaa !5
  %8661 = call ptr @s2n_strerror_debug(i32 noundef %8660, ptr noundef nonnull @.str.4) #13
  %8662 = load i32, ptr %377, align 4, !tbaa !5
  %8663 = call ptr @strerror(i32 noundef %8662) #13
  %8664 = load i32, ptr %377, align 4, !tbaa !5
  %8665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8656, ptr noundef nonnull %.str.5.sink4998, i32 noundef %8657, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 980, ptr noundef %8659, ptr noundef %8661, ptr noundef %8663, i32 noundef %8664) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8666:                                             ; preds = %8639
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %82) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %80) #13
  %8667 = call ptr @s2n_config_new() #13
  %8668 = load i32, ptr @test_count, align 4, !tbaa !5
  %8669 = add nsw i32 %8668, 1
  store i32 %8669, ptr @test_count, align 4, !tbaa !5
  %8670 = icmp eq ptr %8667, null
  br i1 %8670, label %8671, label %8693

8671:                                             ; preds = %8666
  %8672 = load i32, ptr %377, align 4, !tbaa !5
  %8673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8674 = call i32 @s2n_print_stacktrace(ptr noundef %8673) #13
  %8675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8676 = trunc nuw i8 %8675 to i1
  br i1 %8676, label %8677, label %8681

8677:                                             ; preds = %8671
  %8678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8679 = call i32 @fileno(ptr noundef %8678) #13
  %8680 = call i32 @isatty(i32 noundef %8679) #13
  %.not2060 = icmp eq i32 %8680, 0
  br i1 %.not2060, label %8681, label %8682

8681:                                             ; preds = %8677, %8671
  br label %8682

8682:                                             ; preds = %8677, %8681
  %.str.5.sink5007 = phi ptr [ @.str.5, %8681 ], [ @.str.2, %8677 ]
  store i32 %8672, ptr %377, align 4, !tbaa !5
  %8683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8684 = load i32, ptr @test_count, align 4, !tbaa !5
  %8685 = load i32, ptr %323, align 4, !tbaa !5
  %8686 = call ptr @s2n_strerror(i32 noundef %8685, ptr noundef nonnull @.str.4) #13
  %8687 = load i32, ptr %323, align 4, !tbaa !5
  %8688 = call ptr @s2n_strerror_debug(i32 noundef %8687, ptr noundef nonnull @.str.4) #13
  %8689 = load i32, ptr %377, align 4, !tbaa !5
  %8690 = call ptr @strerror(i32 noundef %8689) #13
  %8691 = load i32, ptr %377, align 4, !tbaa !5
  %8692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8683, ptr noundef nonnull %.str.5.sink5007, i32 noundef %8684, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 986, ptr noundef %8686, ptr noundef %8688, ptr noundef %8690, i32 noundef %8691) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8693:                                             ; preds = %8666
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %83) #13
  store i16 0, ptr %83, align 2, !tbaa !69
  %8694 = add nsw i32 %8668, 2
  store i32 %8694, ptr @test_count, align 4, !tbaa !5
  %8695 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef nonnull %8667, ptr noundef nonnull @s2n_test_select_psk_identity_callback, ptr noundef nonnull %83) #13
  %8696 = icmp eq i32 %8695, -1
  br i1 %8696, label %8697, label %8719

8697:                                             ; preds = %8693
  %8698 = load i32, ptr %377, align 4, !tbaa !5
  %8699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8700 = call i32 @s2n_print_stacktrace(ptr noundef %8699) #13
  %8701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8702 = trunc nuw i8 %8701 to i1
  br i1 %8702, label %8703, label %8707

8703:                                             ; preds = %8697
  %8704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8705 = call i32 @fileno(ptr noundef %8704) #13
  %8706 = call i32 @isatty(i32 noundef %8705) #13
  %.not2059 = icmp eq i32 %8706, 0
  br i1 %.not2059, label %8707, label %8708

8707:                                             ; preds = %8703, %8697
  br label %8708

8708:                                             ; preds = %8703, %8707
  %.str.5.sink5016 = phi ptr [ @.str.5, %8707 ], [ @.str.2, %8703 ]
  store i32 %8698, ptr %377, align 4, !tbaa !5
  %8709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8710 = load i32, ptr @test_count, align 4, !tbaa !5
  %8711 = load i32, ptr %323, align 4, !tbaa !5
  %8712 = call ptr @s2n_strerror(i32 noundef %8711, ptr noundef nonnull @.str.4) #13
  %8713 = load i32, ptr %323, align 4, !tbaa !5
  %8714 = call ptr @s2n_strerror_debug(i32 noundef %8713, ptr noundef nonnull @.str.4) #13
  %8715 = load i32, ptr %377, align 4, !tbaa !5
  %8716 = call ptr @strerror(i32 noundef %8715) #13
  %8717 = load i32, ptr %377, align 4, !tbaa !5
  %8718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8709, ptr noundef nonnull %.str.5.sink5016, i32 noundef %8710, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 989, ptr noundef %8712, ptr noundef %8714, ptr noundef %8716, i32 noundef %8717) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8719:                                             ; preds = %8693
  %8720 = load i32, ptr @test_count, align 4, !tbaa !5
  %8721 = add nsw i32 %8720, 1
  store i32 %8721, ptr @test_count, align 4, !tbaa !5
  %8722 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %8723 = icmp eq ptr %8722, null
  br i1 %8723, label %8724, label %8746

8724:                                             ; preds = %8719
  %8725 = load i32, ptr %377, align 4, !tbaa !5
  %8726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8727 = call i32 @s2n_print_stacktrace(ptr noundef %8726) #13
  %8728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8729 = trunc nuw i8 %8728 to i1
  br i1 %8729, label %8730, label %8734

8730:                                             ; preds = %8724
  %8731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8732 = call i32 @fileno(ptr noundef %8731) #13
  %8733 = call i32 @isatty(i32 noundef %8732) #13
  %.not2058 = icmp eq i32 %8733, 0
  br i1 %.not2058, label %8734, label %8735

8734:                                             ; preds = %8730, %8724
  br label %8735

8735:                                             ; preds = %8730, %8734
  %.str.5.sink5025 = phi ptr [ @.str.5, %8734 ], [ @.str.2, %8730 ]
  store i32 %8725, ptr %377, align 4, !tbaa !5
  %8736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8737 = load i32, ptr @test_count, align 4, !tbaa !5
  %8738 = load i32, ptr %323, align 4, !tbaa !5
  %8739 = call ptr @s2n_strerror(i32 noundef %8738, ptr noundef nonnull @.str.4) #13
  %8740 = load i32, ptr %323, align 4, !tbaa !5
  %8741 = call ptr @s2n_strerror_debug(i32 noundef %8740, ptr noundef nonnull @.str.4) #13
  %8742 = load i32, ptr %377, align 4, !tbaa !5
  %8743 = call ptr @strerror(i32 noundef %8742) #13
  %8744 = load i32, ptr %377, align 4, !tbaa !5
  %8745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8736, ptr noundef nonnull %.str.5.sink5025, i32 noundef %8737, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 992, ptr noundef %8739, ptr noundef %8741, ptr noundef %8743, i32 noundef %8744) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8746:                                             ; preds = %8719
  %8747 = load i32, ptr @test_count, align 4, !tbaa !5
  %8748 = add nsw i32 %8747, 1
  store i32 %8748, ptr @test_count, align 4, !tbaa !5
  %8749 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %8722, i32 noundef 1) #13
  %8750 = call zeroext i1 @s2n_result_is_ok(i32 %8749)
  br i1 %8750, label %8773, label %8751

8751:                                             ; preds = %8746
  %8752 = load i32, ptr %377, align 4, !tbaa !5
  %8753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8754 = call i32 @s2n_print_stacktrace(ptr noundef %8753) #13
  %8755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8756 = trunc nuw i8 %8755 to i1
  br i1 %8756, label %8757, label %8761

8757:                                             ; preds = %8751
  %8758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8759 = call i32 @fileno(ptr noundef %8758) #13
  %8760 = call i32 @isatty(i32 noundef %8759) #13
  %.not1796 = icmp eq i32 %8760, 0
  br i1 %.not1796, label %8761, label %8762

8761:                                             ; preds = %8757, %8751
  br label %8762

8762:                                             ; preds = %8757, %8761
  %.str.5.sink5034 = phi ptr [ @.str.5, %8761 ], [ @.str.2, %8757 ]
  store i32 %8752, ptr %377, align 4, !tbaa !5
  %8763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8764 = load i32, ptr @test_count, align 4, !tbaa !5
  %8765 = load i32, ptr %323, align 4, !tbaa !5
  %8766 = call ptr @s2n_strerror(i32 noundef %8765, ptr noundef nonnull @.str.4) #13
  %8767 = load i32, ptr %323, align 4, !tbaa !5
  %8768 = call ptr @s2n_strerror_debug(i32 noundef %8767, ptr noundef nonnull @.str.4) #13
  %8769 = load i32, ptr %377, align 4, !tbaa !5
  %8770 = call ptr @strerror(i32 noundef %8769) #13
  %8771 = load i32, ptr %377, align 4, !tbaa !5
  %8772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8763, ptr noundef nonnull %.str.5.sink5034, i32 noundef %8764, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 993, ptr noundef %8766, ptr noundef %8768, ptr noundef %8770, i32 noundef %8771) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8773:                                             ; preds = %8746
  %8774 = load i32, ptr @test_count, align 4, !tbaa !5
  %8775 = add nsw i32 %8774, 1
  store i32 %8775, ptr @test_count, align 4, !tbaa !5
  %8776 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8722, ptr noundef nonnull %8667) #13
  %8777 = icmp eq i32 %8776, -1
  br i1 %8777, label %8778, label %8800

8778:                                             ; preds = %8773
  %8779 = load i32, ptr %377, align 4, !tbaa !5
  %8780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8781 = call i32 @s2n_print_stacktrace(ptr noundef %8780) #13
  %8782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8783 = trunc nuw i8 %8782 to i1
  br i1 %8783, label %8784, label %8788

8784:                                             ; preds = %8778
  %8785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8786 = call i32 @fileno(ptr noundef %8785) #13
  %8787 = call i32 @isatty(i32 noundef %8786) #13
  %.not2057 = icmp eq i32 %8787, 0
  br i1 %.not2057, label %8788, label %8789

8788:                                             ; preds = %8784, %8778
  br label %8789

8789:                                             ; preds = %8784, %8788
  %.str.5.sink5043 = phi ptr [ @.str.5, %8788 ], [ @.str.2, %8784 ]
  store i32 %8779, ptr %377, align 4, !tbaa !5
  %8790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8791 = load i32, ptr @test_count, align 4, !tbaa !5
  %8792 = load i32, ptr %323, align 4, !tbaa !5
  %8793 = call ptr @s2n_strerror(i32 noundef %8792, ptr noundef nonnull @.str.4) #13
  %8794 = load i32, ptr %323, align 4, !tbaa !5
  %8795 = call ptr @s2n_strerror_debug(i32 noundef %8794, ptr noundef nonnull @.str.4) #13
  %8796 = load i32, ptr %377, align 4, !tbaa !5
  %8797 = call ptr @strerror(i32 noundef %8796) #13
  %8798 = load i32, ptr %377, align 4, !tbaa !5
  %8799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8790, ptr noundef nonnull %.str.5.sink5043, i32 noundef %8791, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 994, ptr noundef %8793, ptr noundef %8795, ptr noundef %8797, i32 noundef %8798) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8800:                                             ; preds = %8773
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #13
  store ptr null, ptr %84, align 8, !tbaa !9
  %8801 = load i32, ptr @test_count, align 4, !tbaa !5
  %8802 = add nsw i32 %8801, 1
  store i32 %8802, ptr @test_count, align 4, !tbaa !5
  %8803 = getelementptr inbounds i8, ptr %8722, i64 1696
  %8804 = call i32 @s2n_array_pushback(ptr noundef nonnull %8803, ptr noundef nonnull %84) #13
  %8805 = call zeroext i1 @s2n_result_is_ok(i32 %8804)
  br i1 %8805, label %8828, label %8806

8806:                                             ; preds = %8800
  %8807 = load i32, ptr %377, align 4, !tbaa !5
  %8808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8809 = call i32 @s2n_print_stacktrace(ptr noundef %8808) #13
  %8810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8811 = trunc nuw i8 %8810 to i1
  br i1 %8811, label %8812, label %8816

8812:                                             ; preds = %8806
  %8813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8814 = call i32 @fileno(ptr noundef %8813) #13
  %8815 = call i32 @isatty(i32 noundef %8814) #13
  %.not1797 = icmp eq i32 %8815, 0
  br i1 %.not1797, label %8816, label %8817

8816:                                             ; preds = %8812, %8806
  br label %8817

8817:                                             ; preds = %8812, %8816
  %.str.5.sink5052 = phi ptr [ @.str.5, %8816 ], [ @.str.2, %8812 ]
  store i32 %8807, ptr %377, align 4, !tbaa !5
  %8818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8819 = load i32, ptr @test_count, align 4, !tbaa !5
  %8820 = load i32, ptr %323, align 4, !tbaa !5
  %8821 = call ptr @s2n_strerror(i32 noundef %8820, ptr noundef nonnull @.str.4) #13
  %8822 = load i32, ptr %323, align 4, !tbaa !5
  %8823 = call ptr @s2n_strerror_debug(i32 noundef %8822, ptr noundef nonnull @.str.4) #13
  %8824 = load i32, ptr %377, align 4, !tbaa !5
  %8825 = call ptr @strerror(i32 noundef %8824) #13
  %8826 = load i32, ptr %377, align 4, !tbaa !5
  %8827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8818, ptr noundef nonnull %.str.5.sink5052, i32 noundef %8819, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.1, i32 noundef 997, ptr noundef %8821, ptr noundef %8823, ptr noundef %8825, i32 noundef %8826) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8828:                                             ; preds = %8800
  %8829 = load i32, ptr @test_count, align 4, !tbaa !5
  %8830 = add nsw i32 %8829, 1
  store i32 %8830, ptr @test_count, align 4, !tbaa !5
  %8831 = load ptr, ptr %84, align 8, !tbaa !9
  %8832 = call i32 @s2n_psk_init(ptr noundef %8831, i32 noundef 1) #13
  %8833 = call zeroext i1 @s2n_result_is_ok(i32 %8832)
  br i1 %8833, label %8856, label %8834

8834:                                             ; preds = %8828
  %8835 = load i32, ptr %377, align 4, !tbaa !5
  %8836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8837 = call i32 @s2n_print_stacktrace(ptr noundef %8836) #13
  %8838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8839 = trunc nuw i8 %8838 to i1
  br i1 %8839, label %8840, label %8844

8840:                                             ; preds = %8834
  %8841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8842 = call i32 @fileno(ptr noundef %8841) #13
  %8843 = call i32 @isatty(i32 noundef %8842) #13
  %.not1798 = icmp eq i32 %8843, 0
  br i1 %.not1798, label %8844, label %8845

8844:                                             ; preds = %8840, %8834
  br label %8845

8845:                                             ; preds = %8840, %8844
  %.str.5.sink5061 = phi ptr [ @.str.5, %8844 ], [ @.str.2, %8840 ]
  store i32 %8835, ptr %377, align 4, !tbaa !5
  %8846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8847 = load i32, ptr @test_count, align 4, !tbaa !5
  %8848 = load i32, ptr %323, align 4, !tbaa !5
  %8849 = call ptr @s2n_strerror(i32 noundef %8848, ptr noundef nonnull @.str.4) #13
  %8850 = load i32, ptr %323, align 4, !tbaa !5
  %8851 = call ptr @s2n_strerror_debug(i32 noundef %8850, ptr noundef nonnull @.str.4) #13
  %8852 = load i32, ptr %377, align 4, !tbaa !5
  %8853 = call ptr @strerror(i32 noundef %8852) #13
  %8854 = load i32, ptr %377, align 4, !tbaa !5
  %8855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8846, ptr noundef nonnull %.str.5.sink5061, i32 noundef %8847, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 998, ptr noundef %8849, ptr noundef %8851, ptr noundef %8853, i32 noundef %8854) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8856:                                             ; preds = %8828
  %8857 = load i32, ptr @test_count, align 4, !tbaa !5
  %8858 = add nsw i32 %8857, 1
  store i32 %8858, ptr @test_count, align 4, !tbaa !5
  %8859 = load ptr, ptr %84, align 8, !tbaa !9
  %8860 = call i32 @s2n_psk_set_identity(ptr noundef %8859, ptr noundef nonnull %3, i16 noundef zeroext 3) #13
  %8861 = icmp eq i32 %8860, -1
  br i1 %8861, label %8862, label %8884

8862:                                             ; preds = %8856
  %8863 = load i32, ptr %377, align 4, !tbaa !5
  %8864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8865 = call i32 @s2n_print_stacktrace(ptr noundef %8864) #13
  %8866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8867 = trunc nuw i8 %8866 to i1
  br i1 %8867, label %8868, label %8872

8868:                                             ; preds = %8862
  %8869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8870 = call i32 @fileno(ptr noundef %8869) #13
  %8871 = call i32 @isatty(i32 noundef %8870) #13
  %.not2056 = icmp eq i32 %8871, 0
  br i1 %.not2056, label %8872, label %8873

8872:                                             ; preds = %8868, %8862
  br label %8873

8873:                                             ; preds = %8868, %8872
  %.str.5.sink5070 = phi ptr [ @.str.5, %8872 ], [ @.str.2, %8868 ]
  store i32 %8863, ptr %377, align 4, !tbaa !5
  %8874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8875 = load i32, ptr @test_count, align 4, !tbaa !5
  %8876 = load i32, ptr %323, align 4, !tbaa !5
  %8877 = call ptr @s2n_strerror(i32 noundef %8876, ptr noundef nonnull @.str.4) #13
  %8878 = load i32, ptr %323, align 4, !tbaa !5
  %8879 = call ptr @s2n_strerror_debug(i32 noundef %8878, ptr noundef nonnull @.str.4) #13
  %8880 = load i32, ptr %377, align 4, !tbaa !5
  %8881 = call ptr @strerror(i32 noundef %8880) #13
  %8882 = load i32, ptr %377, align 4, !tbaa !5
  %8883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8874, ptr noundef nonnull %.str.5.sink5070, i32 noundef %8875, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 999, ptr noundef %8877, ptr noundef %8879, ptr noundef %8881, i32 noundef %8882) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8884:                                             ; preds = %8856
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %85) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %85, i8 0, i64 24, i1 false)
  %8885 = load i32, ptr @test_count, align 4, !tbaa !5
  %8886 = add nsw i32 %8885, 1
  store i32 %8886, ptr @test_count, align 4, !tbaa !5
  %8887 = call i32 @s2n_blob_init(ptr noundef nonnull %85, ptr noundef nonnull %4, i32 noundef 3) #13
  %8888 = icmp eq i32 %8887, -1
  br i1 %8888, label %8889, label %8911

8889:                                             ; preds = %8884
  %8890 = load i32, ptr %377, align 4, !tbaa !5
  %8891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8892 = call i32 @s2n_print_stacktrace(ptr noundef %8891) #13
  %8893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8894 = trunc nuw i8 %8893 to i1
  br i1 %8894, label %8895, label %8899

8895:                                             ; preds = %8889
  %8896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8897 = call i32 @fileno(ptr noundef %8896) #13
  %8898 = call i32 @isatty(i32 noundef %8897) #13
  %.not2055 = icmp eq i32 %8898, 0
  br i1 %.not2055, label %8899, label %8900

8899:                                             ; preds = %8895, %8889
  br label %8900

8900:                                             ; preds = %8895, %8899
  %.str.5.sink5079 = phi ptr [ @.str.5, %8899 ], [ @.str.2, %8895 ]
  store i32 %8890, ptr %377, align 4, !tbaa !5
  %8901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8902 = load i32, ptr @test_count, align 4, !tbaa !5
  %8903 = load i32, ptr %323, align 4, !tbaa !5
  %8904 = call ptr @s2n_strerror(i32 noundef %8903, ptr noundef nonnull @.str.4) #13
  %8905 = load i32, ptr %323, align 4, !tbaa !5
  %8906 = call ptr @s2n_strerror_debug(i32 noundef %8905, ptr noundef nonnull @.str.4) #13
  %8907 = load i32, ptr %377, align 4, !tbaa !5
  %8908 = call ptr @strerror(i32 noundef %8907) #13
  %8909 = load i32, ptr %377, align 4, !tbaa !5
  %8910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8901, ptr noundef nonnull %.str.5.sink5079, i32 noundef %8902, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 1002, ptr noundef %8904, ptr noundef %8906, ptr noundef %8908, i32 noundef %8909) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8911:                                             ; preds = %8884
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %86) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %86, i8 0, i64 40, i1 false)
  %8912 = load i32, ptr @test_count, align 4, !tbaa !5
  %8913 = add nsw i32 %8912, 1
  store i32 %8913, ptr @test_count, align 4, !tbaa !5
  %8914 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %86, i32 noundef 0) #13
  %8915 = icmp eq i32 %8914, -1
  br i1 %8915, label %8916, label %8938

8916:                                             ; preds = %8911
  %8917 = load i32, ptr %377, align 4, !tbaa !5
  %8918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8919 = call i32 @s2n_print_stacktrace(ptr noundef %8918) #13
  %8920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8921 = trunc nuw i8 %8920 to i1
  br i1 %8921, label %8922, label %8926

8922:                                             ; preds = %8916
  %8923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8924 = call i32 @fileno(ptr noundef %8923) #13
  %8925 = call i32 @isatty(i32 noundef %8924) #13
  %.not2054 = icmp eq i32 %8925, 0
  br i1 %.not2054, label %8926, label %8927

8926:                                             ; preds = %8922, %8916
  br label %8927

8927:                                             ; preds = %8922, %8926
  %.str.5.sink5088 = phi ptr [ @.str.5, %8926 ], [ @.str.2, %8922 ]
  store i32 %8917, ptr %377, align 4, !tbaa !5
  %8928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8929 = load i32, ptr @test_count, align 4, !tbaa !5
  %8930 = load i32, ptr %323, align 4, !tbaa !5
  %8931 = call ptr @s2n_strerror(i32 noundef %8930, ptr noundef nonnull @.str.4) #13
  %8932 = load i32, ptr %323, align 4, !tbaa !5
  %8933 = call ptr @s2n_strerror_debug(i32 noundef %8932, ptr noundef nonnull @.str.4) #13
  %8934 = load i32, ptr %377, align 4, !tbaa !5
  %8935 = call ptr @strerror(i32 noundef %8934) #13
  %8936 = load i32, ptr %377, align 4, !tbaa !5
  %8937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8928, ptr noundef nonnull %.str.5.sink5088, i32 noundef %8929, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 1005, ptr noundef %8931, ptr noundef %8933, ptr noundef %8935, i32 noundef %8936) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8938:                                             ; preds = %8911
  %8939 = load i32, ptr @test_count, align 4, !tbaa !5
  %8940 = add nsw i32 %8939, 1
  store i32 %8940, ptr @test_count, align 4, !tbaa !5
  %8941 = call i32 @s2n_write_test_identity(ptr noundef nonnull %86, ptr noundef nonnull %85)
  %8942 = call zeroext i1 @s2n_result_is_ok(i32 %8941)
  br i1 %8942, label %8965, label %8943

8943:                                             ; preds = %8938
  %8944 = load i32, ptr %377, align 4, !tbaa !5
  %8945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8946 = call i32 @s2n_print_stacktrace(ptr noundef %8945) #13
  %8947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8948 = trunc nuw i8 %8947 to i1
  br i1 %8948, label %8949, label %8953

8949:                                             ; preds = %8943
  %8950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8951 = call i32 @fileno(ptr noundef %8950) #13
  %8952 = call i32 @isatty(i32 noundef %8951) #13
  %.not1799 = icmp eq i32 %8952, 0
  br i1 %.not1799, label %8953, label %8954

8953:                                             ; preds = %8949, %8943
  br label %8954

8954:                                             ; preds = %8949, %8953
  %.str.5.sink5097 = phi ptr [ @.str.5, %8953 ], [ @.str.2, %8949 ]
  store i32 %8944, ptr %377, align 4, !tbaa !5
  %8955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8956 = load i32, ptr @test_count, align 4, !tbaa !5
  %8957 = load i32, ptr %323, align 4, !tbaa !5
  %8958 = call ptr @s2n_strerror(i32 noundef %8957, ptr noundef nonnull @.str.4) #13
  %8959 = load i32, ptr %323, align 4, !tbaa !5
  %8960 = call ptr @s2n_strerror_debug(i32 noundef %8959, ptr noundef nonnull @.str.4) #13
  %8961 = load i32, ptr %377, align 4, !tbaa !5
  %8962 = call ptr @strerror(i32 noundef %8961) #13
  %8963 = load i32, ptr %377, align 4, !tbaa !5
  %8964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8955, ptr noundef nonnull %.str.5.sink5097, i32 noundef %8956, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 1006, ptr noundef %8958, ptr noundef %8960, ptr noundef %8962, i32 noundef %8963) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8965:                                             ; preds = %8938
  %8966 = load i32, ptr @test_count, align 4, !tbaa !5
  %8967 = add nsw i32 %8966, 1
  store i32 %8967, ptr @test_count, align 4, !tbaa !5
  %8968 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %8722, ptr noundef nonnull %86)
  %8969 = call zeroext i1 @s2n_result_is_error(i32 %8968)
  br i1 %8969, label %8992, label %8970

8970:                                             ; preds = %8965
  %8971 = load i32, ptr %377, align 4, !tbaa !5
  %8972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8973 = call i32 @s2n_print_stacktrace(ptr noundef %8972) #13
  %8974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8975 = trunc nuw i8 %8974 to i1
  br i1 %8975, label %8976, label %8980

8976:                                             ; preds = %8970
  %8977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8978 = call i32 @fileno(ptr noundef %8977) #13
  %8979 = call i32 @isatty(i32 noundef %8978) #13
  %.not1800 = icmp eq i32 %8979, 0
  br i1 %.not1800, label %8980, label %8981

8980:                                             ; preds = %8976, %8970
  br label %8981

8981:                                             ; preds = %8976, %8980
  %.str.5.sink5106 = phi ptr [ @.str.5, %8980 ], [ @.str.2, %8976 ]
  store i32 %8971, ptr %377, align 4, !tbaa !5
  %8982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8983 = load i32, ptr @test_count, align 4, !tbaa !5
  %8984 = load i32, ptr %323, align 4, !tbaa !5
  %8985 = call ptr @s2n_strerror(i32 noundef %8984, ptr noundef nonnull @.str.4) #13
  %8986 = load i32, ptr %323, align 4, !tbaa !5
  %8987 = call ptr @s2n_strerror_debug(i32 noundef %8986, ptr noundef nonnull @.str.4) #13
  %8988 = load i32, ptr %377, align 4, !tbaa !5
  %8989 = call ptr @strerror(i32 noundef %8988) #13
  %8990 = load i32, ptr %377, align 4, !tbaa !5
  %8991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8982, ptr noundef nonnull %.str.5.sink5106, i32 noundef %8983, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 1008, ptr noundef %8985, ptr noundef %8987, ptr noundef %8989, i32 noundef %8990) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8992:                                             ; preds = %8965
  %8993 = load i32, ptr @test_count, align 4, !tbaa !5
  %8994 = add nsw i32 %8993, 1
  store i32 %8994, ptr @test_count, align 4, !tbaa !5
  %8995 = load i32, ptr %323, align 4, !tbaa !5
  %8996 = icmp eq i32 %8995, 0
  br i1 %8996, label %8997, label %9019

8997:                                             ; preds = %8992
  %8998 = load i32, ptr %377, align 4, !tbaa !5
  %8999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9000 = call i32 @s2n_print_stacktrace(ptr noundef %8999) #13
  %9001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9002 = trunc nuw i8 %9001 to i1
  br i1 %9002, label %9003, label %9007

9003:                                             ; preds = %8997
  %9004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9005 = call i32 @fileno(ptr noundef %9004) #13
  %9006 = call i32 @isatty(i32 noundef %9005) #13
  %.not2053 = icmp eq i32 %9006, 0
  br i1 %.not2053, label %9007, label %9008

9007:                                             ; preds = %9003, %8997
  br label %9008

9008:                                             ; preds = %9003, %9007
  %.str.5.sink5115 = phi ptr [ @.str.5, %9007 ], [ @.str.2, %9003 ]
  store i32 %8998, ptr %377, align 4, !tbaa !5
  %9009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9010 = load i32, ptr @test_count, align 4, !tbaa !5
  %9011 = load i32, ptr %323, align 4, !tbaa !5
  %9012 = call ptr @s2n_strerror(i32 noundef %9011, ptr noundef nonnull @.str.4) #13
  %9013 = load i32, ptr %323, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror_debug(i32 noundef %9013, ptr noundef nonnull @.str.4) #13
  %9015 = load i32, ptr %377, align 4, !tbaa !5
  %9016 = call ptr @strerror(i32 noundef %9015) #13
  %9017 = load i32, ptr %377, align 4, !tbaa !5
  %9018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9009, ptr noundef nonnull %.str.5.sink5115, i32 noundef %9010, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 1008, ptr noundef %9012, ptr noundef %9014, ptr noundef %9016, i32 noundef %9017) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9019:                                             ; preds = %8992
  %9020 = add nsw i32 %8993, 2
  store i32 %9020, ptr @test_count, align 4, !tbaa !5
  %9021 = call ptr @s2n_strerror_debug(i32 noundef %8995, ptr noundef nonnull @.str.4) #13
  %9022 = icmp eq ptr %9021, null
  br i1 %9022, label %9023, label %9045

9023:                                             ; preds = %9019
  %9024 = load i32, ptr %377, align 4, !tbaa !5
  %9025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9026 = call i32 @s2n_print_stacktrace(ptr noundef %9025) #13
  %9027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9028 = trunc nuw i8 %9027 to i1
  br i1 %9028, label %9029, label %9033

9029:                                             ; preds = %9023
  %9030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9031 = call i32 @fileno(ptr noundef %9030) #13
  %9032 = call i32 @isatty(i32 noundef %9031) #13
  %.not2052 = icmp eq i32 %9032, 0
  br i1 %.not2052, label %9033, label %9034

9033:                                             ; preds = %9029, %9023
  br label %9034

9034:                                             ; preds = %9029, %9033
  %.str.5.sink5124 = phi ptr [ @.str.5, %9033 ], [ @.str.2, %9029 ]
  store i32 %9024, ptr %377, align 4, !tbaa !5
  %9035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9036 = load i32, ptr @test_count, align 4, !tbaa !5
  %9037 = load i32, ptr %323, align 4, !tbaa !5
  %9038 = call ptr @s2n_strerror(i32 noundef %9037, ptr noundef nonnull @.str.4) #13
  %9039 = load i32, ptr %323, align 4, !tbaa !5
  %9040 = call ptr @s2n_strerror_debug(i32 noundef %9039, ptr noundef nonnull @.str.4) #13
  %9041 = load i32, ptr %377, align 4, !tbaa !5
  %9042 = call ptr @strerror(i32 noundef %9041) #13
  %9043 = load i32, ptr %377, align 4, !tbaa !5
  %9044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9035, ptr noundef nonnull %.str.5.sink5124, i32 noundef %9036, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1008, ptr noundef %9038, ptr noundef %9040, ptr noundef %9042, i32 noundef %9043) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9045:                                             ; preds = %9019
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %9046 = load i32, ptr @test_count, align 4, !tbaa !5
  %9047 = add nsw i32 %9046, 1
  store i32 %9047, ptr @test_count, align 4, !tbaa !5
  %9048 = getelementptr inbounds i8, ptr %8722, i64 1736
  %9049 = load ptr, ptr %9048, align 8, !tbaa !88
  %9050 = icmp eq ptr %9049, null
  br i1 %9050, label %9073, label %9051

9051:                                             ; preds = %9045
  %9052 = load i32, ptr %377, align 4, !tbaa !5
  %9053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9054 = call i32 @s2n_print_stacktrace(ptr noundef %9053) #13
  %9055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9056 = trunc nuw i8 %9055 to i1
  br i1 %9056, label %9057, label %9061

9057:                                             ; preds = %9051
  %9058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9059 = call i32 @fileno(ptr noundef %9058) #13
  %9060 = call i32 @isatty(i32 noundef %9059) #13
  %.not1801 = icmp eq i32 %9060, 0
  br i1 %.not1801, label %9061, label %9062

9061:                                             ; preds = %9057, %9051
  br label %9062

9062:                                             ; preds = %9057, %9061
  %.str.5.sink5133 = phi ptr [ @.str.5, %9061 ], [ @.str.2, %9057 ]
  store i32 %9052, ptr %377, align 4, !tbaa !5
  %9063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9064 = load i32, ptr @test_count, align 4, !tbaa !5
  %9065 = load i32, ptr %323, align 4, !tbaa !5
  %9066 = call ptr @s2n_strerror(i32 noundef %9065, ptr noundef nonnull @.str.4) #13
  %9067 = load i32, ptr %323, align 4, !tbaa !5
  %9068 = call ptr @s2n_strerror_debug(i32 noundef %9067, ptr noundef nonnull @.str.4) #13
  %9069 = load i32, ptr %377, align 4, !tbaa !5
  %9070 = call ptr @strerror(i32 noundef %9069) #13
  %9071 = load i32, ptr %377, align 4, !tbaa !5
  %9072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9063, ptr noundef nonnull %.str.5.sink5133, i32 noundef %9064, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 1009, ptr noundef %9066, ptr noundef %9068, ptr noundef %9070, i32 noundef %9071) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9073:                                             ; preds = %9045
  %9074 = add nsw i32 %9046, 2
  store i32 %9074, ptr @test_count, align 4, !tbaa !5
  %9075 = call i32 @s2n_connection_free(ptr noundef nonnull %8722) #13
  %9076 = icmp eq i32 %9075, -1
  br i1 %9076, label %9077, label %9099

9077:                                             ; preds = %9073
  %9078 = load i32, ptr %377, align 4, !tbaa !5
  %9079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9080 = call i32 @s2n_print_stacktrace(ptr noundef %9079) #13
  %9081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9082 = trunc nuw i8 %9081 to i1
  br i1 %9082, label %9083, label %9087

9083:                                             ; preds = %9077
  %9084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9085 = call i32 @fileno(ptr noundef %9084) #13
  %9086 = call i32 @isatty(i32 noundef %9085) #13
  %.not2051 = icmp eq i32 %9086, 0
  br i1 %.not2051, label %9087, label %9088

9087:                                             ; preds = %9083, %9077
  br label %9088

9088:                                             ; preds = %9083, %9087
  %.str.5.sink5142 = phi ptr [ @.str.5, %9087 ], [ @.str.2, %9083 ]
  store i32 %9078, ptr %377, align 4, !tbaa !5
  %9089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9090 = load i32, ptr @test_count, align 4, !tbaa !5
  %9091 = load i32, ptr %323, align 4, !tbaa !5
  %9092 = call ptr @s2n_strerror(i32 noundef %9091, ptr noundef nonnull @.str.4) #13
  %9093 = load i32, ptr %323, align 4, !tbaa !5
  %9094 = call ptr @s2n_strerror_debug(i32 noundef %9093, ptr noundef nonnull @.str.4) #13
  %9095 = load i32, ptr %377, align 4, !tbaa !5
  %9096 = call ptr @strerror(i32 noundef %9095) #13
  %9097 = load i32, ptr %377, align 4, !tbaa !5
  %9098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9089, ptr noundef nonnull %.str.5.sink5142, i32 noundef %9090, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 1011, ptr noundef %9092, ptr noundef %9094, ptr noundef %9096, i32 noundef %9097) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9099:                                             ; preds = %9073
  %9100 = load i32, ptr @test_count, align 4, !tbaa !5
  %9101 = add nsw i32 %9100, 1
  store i32 %9101, ptr @test_count, align 4, !tbaa !5
  %9102 = call i32 @s2n_config_free(ptr noundef nonnull %8667) #13
  %9103 = icmp eq i32 %9102, -1
  br i1 %9103, label %9104, label %9126

9104:                                             ; preds = %9099
  %9105 = load i32, ptr %377, align 4, !tbaa !5
  %9106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9107 = call i32 @s2n_print_stacktrace(ptr noundef %9106) #13
  %9108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9109 = trunc nuw i8 %9108 to i1
  br i1 %9109, label %9110, label %9114

9110:                                             ; preds = %9104
  %9111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9112 = call i32 @fileno(ptr noundef %9111) #13
  %9113 = call i32 @isatty(i32 noundef %9112) #13
  %.not2050 = icmp eq i32 %9113, 0
  br i1 %.not2050, label %9114, label %9115

9114:                                             ; preds = %9110, %9104
  br label %9115

9115:                                             ; preds = %9110, %9114
  %.str.5.sink5151 = phi ptr [ @.str.5, %9114 ], [ @.str.2, %9110 ]
  store i32 %9105, ptr %377, align 4, !tbaa !5
  %9116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9117 = load i32, ptr @test_count, align 4, !tbaa !5
  %9118 = load i32, ptr %323, align 4, !tbaa !5
  %9119 = call ptr @s2n_strerror(i32 noundef %9118, ptr noundef nonnull @.str.4) #13
  %9120 = load i32, ptr %323, align 4, !tbaa !5
  %9121 = call ptr @s2n_strerror_debug(i32 noundef %9120, ptr noundef nonnull @.str.4) #13
  %9122 = load i32, ptr %377, align 4, !tbaa !5
  %9123 = call ptr @strerror(i32 noundef %9122) #13
  %9124 = load i32, ptr %377, align 4, !tbaa !5
  %9125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9116, ptr noundef nonnull %.str.5.sink5151, i32 noundef %9117, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 1012, ptr noundef %9119, ptr noundef %9121, ptr noundef %9123, i32 noundef %9124) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9126:                                             ; preds = %9099
  %9127 = load i32, ptr @test_count, align 4, !tbaa !5
  %9128 = add nsw i32 %9127, 1
  store i32 %9128, ptr @test_count, align 4, !tbaa !5
  %9129 = call i32 @s2n_stuffer_free(ptr noundef nonnull %86) #13
  %9130 = icmp eq i32 %9129, -1
  br i1 %9130, label %9131, label %9153

9131:                                             ; preds = %9126
  %9132 = load i32, ptr %377, align 4, !tbaa !5
  %9133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9134 = call i32 @s2n_print_stacktrace(ptr noundef %9133) #13
  %9135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9136 = trunc nuw i8 %9135 to i1
  br i1 %9136, label %9137, label %9141

9137:                                             ; preds = %9131
  %9138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9139 = call i32 @fileno(ptr noundef %9138) #13
  %9140 = call i32 @isatty(i32 noundef %9139) #13
  %.not2049 = icmp eq i32 %9140, 0
  br i1 %.not2049, label %9141, label %9142

9141:                                             ; preds = %9137, %9131
  br label %9142

9142:                                             ; preds = %9137, %9141
  %.str.5.sink5160 = phi ptr [ @.str.5, %9141 ], [ @.str.2, %9137 ]
  store i32 %9132, ptr %377, align 4, !tbaa !5
  %9143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9144 = load i32, ptr @test_count, align 4, !tbaa !5
  %9145 = load i32, ptr %323, align 4, !tbaa !5
  %9146 = call ptr @s2n_strerror(i32 noundef %9145, ptr noundef nonnull @.str.4) #13
  %9147 = load i32, ptr %323, align 4, !tbaa !5
  %9148 = call ptr @s2n_strerror_debug(i32 noundef %9147, ptr noundef nonnull @.str.4) #13
  %9149 = load i32, ptr %377, align 4, !tbaa !5
  %9150 = call ptr @strerror(i32 noundef %9149) #13
  %9151 = load i32, ptr %377, align 4, !tbaa !5
  %9152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9143, ptr noundef nonnull %.str.5.sink5160, i32 noundef %9144, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 1013, ptr noundef %9146, ptr noundef %9148, ptr noundef %9150, i32 noundef %9151) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9153:                                             ; preds = %9126
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %86) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %85) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %83) #13
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %87) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %87, i8 0, i64 40, i1 false)
  %9154 = load i32, ptr @test_count, align 4, !tbaa !5
  %9155 = add nsw i32 %9154, 1
  store i32 %9155, ptr @test_count, align 4, !tbaa !5
  %9156 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %87, i32 noundef 0) #13
  %9157 = icmp eq i32 %9156, -1
  br i1 %9157, label %9158, label %9180

9158:                                             ; preds = %9153
  %9159 = load i32, ptr %377, align 4, !tbaa !5
  %9160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9161 = call i32 @s2n_print_stacktrace(ptr noundef %9160) #13
  %9162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9163 = trunc nuw i8 %9162 to i1
  br i1 %9163, label %9164, label %9168

9164:                                             ; preds = %9158
  %9165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9166 = call i32 @fileno(ptr noundef %9165) #13
  %9167 = call i32 @isatty(i32 noundef %9166) #13
  %.not2048 = icmp eq i32 %9167, 0
  br i1 %.not2048, label %9168, label %9169

9168:                                             ; preds = %9164, %9158
  br label %9169

9169:                                             ; preds = %9164, %9168
  %.str.5.sink5169 = phi ptr [ @.str.5, %9168 ], [ @.str.2, %9164 ]
  store i32 %9159, ptr %377, align 4, !tbaa !5
  %9170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9171 = load i32, ptr @test_count, align 4, !tbaa !5
  %9172 = load i32, ptr %323, align 4, !tbaa !5
  %9173 = call ptr @s2n_strerror(i32 noundef %9172, ptr noundef nonnull @.str.4) #13
  %9174 = load i32, ptr %323, align 4, !tbaa !5
  %9175 = call ptr @s2n_strerror_debug(i32 noundef %9174, ptr noundef nonnull @.str.4) #13
  %9176 = load i32, ptr %377, align 4, !tbaa !5
  %9177 = call ptr @strerror(i32 noundef %9176) #13
  %9178 = load i32, ptr %377, align 4, !tbaa !5
  %9179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9170, ptr noundef nonnull %.str.5.sink5169, i32 noundef %9171, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 1019, ptr noundef %9173, ptr noundef %9175, ptr noundef %9177, i32 noundef %9178) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9180:                                             ; preds = %9153
  %9181 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %9182 = load i32, ptr @test_count, align 4, !tbaa !5
  %9183 = add nsw i32 %9182, 1
  store i32 %9183, ptr @test_count, align 4, !tbaa !5
  %9184 = icmp eq ptr %9181, null
  br i1 %9184, label %9185, label %9207

9185:                                             ; preds = %9180
  %9186 = load i32, ptr %377, align 4, !tbaa !5
  %9187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9188 = call i32 @s2n_print_stacktrace(ptr noundef %9187) #13
  %9189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9190 = trunc nuw i8 %9189 to i1
  br i1 %9190, label %9191, label %9195

9191:                                             ; preds = %9185
  %9192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9193 = call i32 @fileno(ptr noundef %9192) #13
  %9194 = call i32 @isatty(i32 noundef %9193) #13
  %.not2047 = icmp eq i32 %9194, 0
  br i1 %.not2047, label %9195, label %9196

9195:                                             ; preds = %9191, %9185
  br label %9196

9196:                                             ; preds = %9191, %9195
  %.str.5.sink5178 = phi ptr [ @.str.5, %9195 ], [ @.str.2, %9191 ]
  store i32 %9186, ptr %377, align 4, !tbaa !5
  %9197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9198 = load i32, ptr @test_count, align 4, !tbaa !5
  %9199 = load i32, ptr %323, align 4, !tbaa !5
  %9200 = call ptr @s2n_strerror(i32 noundef %9199, ptr noundef nonnull @.str.4) #13
  %9201 = load i32, ptr %323, align 4, !tbaa !5
  %9202 = call ptr @s2n_strerror_debug(i32 noundef %9201, ptr noundef nonnull @.str.4) #13
  %9203 = load i32, ptr %377, align 4, !tbaa !5
  %9204 = call ptr @strerror(i32 noundef %9203) #13
  %9205 = load i32, ptr %377, align 4, !tbaa !5
  %9206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9197, ptr noundef nonnull %.str.5.sink5178, i32 noundef %9198, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 1022, ptr noundef %9200, ptr noundef %9202, ptr noundef %9204, i32 noundef %9205) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9207:                                             ; preds = %9180
  %9208 = add nsw i32 %9182, 2
  store i32 %9208, ptr @test_count, align 4, !tbaa !5
  %9209 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %9181, i32 noundef 0) #13
  %9210 = call zeroext i1 @s2n_result_is_ok(i32 %9209)
  br i1 %9210, label %9233, label %9211

9211:                                             ; preds = %9207
  %9212 = load i32, ptr %377, align 4, !tbaa !5
  %9213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9214 = call i32 @s2n_print_stacktrace(ptr noundef %9213) #13
  %9215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9216 = trunc nuw i8 %9215 to i1
  br i1 %9216, label %9217, label %9221

9217:                                             ; preds = %9211
  %9218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9219 = call i32 @fileno(ptr noundef %9218) #13
  %9220 = call i32 @isatty(i32 noundef %9219) #13
  %.not1802 = icmp eq i32 %9220, 0
  br i1 %.not1802, label %9221, label %9222

9221:                                             ; preds = %9217, %9211
  br label %9222

9222:                                             ; preds = %9217, %9221
  %.str.5.sink5187 = phi ptr [ @.str.5, %9221 ], [ @.str.2, %9217 ]
  store i32 %9212, ptr %377, align 4, !tbaa !5
  %9223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9224 = load i32, ptr @test_count, align 4, !tbaa !5
  %9225 = load i32, ptr %323, align 4, !tbaa !5
  %9226 = call ptr @s2n_strerror(i32 noundef %9225, ptr noundef nonnull @.str.4) #13
  %9227 = load i32, ptr %323, align 4, !tbaa !5
  %9228 = call ptr @s2n_strerror_debug(i32 noundef %9227, ptr noundef nonnull @.str.4) #13
  %9229 = load i32, ptr %377, align 4, !tbaa !5
  %9230 = call ptr @strerror(i32 noundef %9229) #13
  %9231 = load i32, ptr %377, align 4, !tbaa !5
  %9232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9223, ptr noundef nonnull %.str.5.sink5187, i32 noundef %9224, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 1023, ptr noundef %9226, ptr noundef %9228, ptr noundef %9230, i32 noundef %9231) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9233:                                             ; preds = %9207
  %9234 = call ptr @s2n_config_new() #13
  %9235 = load i32, ptr @test_count, align 4, !tbaa !5
  %9236 = add nsw i32 %9235, 1
  store i32 %9236, ptr @test_count, align 4, !tbaa !5
  %9237 = icmp eq ptr %9234, null
  br i1 %9237, label %9238, label %9260

9238:                                             ; preds = %9233
  %9239 = load i32, ptr %377, align 4, !tbaa !5
  %9240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9241 = call i32 @s2n_print_stacktrace(ptr noundef %9240) #13
  %9242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9243 = trunc nuw i8 %9242 to i1
  br i1 %9243, label %9244, label %9248

9244:                                             ; preds = %9238
  %9245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9246 = call i32 @fileno(ptr noundef %9245) #13
  %9247 = call i32 @isatty(i32 noundef %9246) #13
  %.not2046 = icmp eq i32 %9247, 0
  br i1 %.not2046, label %9248, label %9249

9248:                                             ; preds = %9244, %9238
  br label %9249

9249:                                             ; preds = %9244, %9248
  %.str.5.sink5196 = phi ptr [ @.str.5, %9248 ], [ @.str.2, %9244 ]
  store i32 %9239, ptr %377, align 4, !tbaa !5
  %9250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9251 = load i32, ptr @test_count, align 4, !tbaa !5
  %9252 = load i32, ptr %323, align 4, !tbaa !5
  %9253 = call ptr @s2n_strerror(i32 noundef %9252, ptr noundef nonnull @.str.4) #13
  %9254 = load i32, ptr %323, align 4, !tbaa !5
  %9255 = call ptr @s2n_strerror_debug(i32 noundef %9254, ptr noundef nonnull @.str.4) #13
  %9256 = load i32, ptr %377, align 4, !tbaa !5
  %9257 = call ptr @strerror(i32 noundef %9256) #13
  %9258 = load i32, ptr %377, align 4, !tbaa !5
  %9259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9250, ptr noundef nonnull %.str.5.sink5196, i32 noundef %9251, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.1, i32 noundef 1026, ptr noundef %9253, ptr noundef %9255, ptr noundef %9257, i32 noundef %9258) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9260:                                             ; preds = %9233
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %88) #13
  store i16 0, ptr %88, align 2, !tbaa !69
  %9261 = add nsw i32 %9235, 2
  store i32 %9261, ptr @test_count, align 4, !tbaa !5
  %9262 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef nonnull %9234, ptr noundef nonnull @s2n_test_select_psk_identity_callback, ptr noundef nonnull %88) #13
  %9263 = icmp eq i32 %9262, -1
  br i1 %9263, label %9264, label %9286

9264:                                             ; preds = %9260
  %9265 = load i32, ptr %377, align 4, !tbaa !5
  %9266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9267 = call i32 @s2n_print_stacktrace(ptr noundef %9266) #13
  %9268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9269 = trunc nuw i8 %9268 to i1
  br i1 %9269, label %9270, label %9274

9270:                                             ; preds = %9264
  %9271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9272 = call i32 @fileno(ptr noundef %9271) #13
  %9273 = call i32 @isatty(i32 noundef %9272) #13
  %.not2045 = icmp eq i32 %9273, 0
  br i1 %.not2045, label %9274, label %9275

9274:                                             ; preds = %9270, %9264
  br label %9275

9275:                                             ; preds = %9270, %9274
  %.str.5.sink5205 = phi ptr [ @.str.5, %9274 ], [ @.str.2, %9270 ]
  store i32 %9265, ptr %377, align 4, !tbaa !5
  %9276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9277 = load i32, ptr @test_count, align 4, !tbaa !5
  %9278 = load i32, ptr %323, align 4, !tbaa !5
  %9279 = call ptr @s2n_strerror(i32 noundef %9278, ptr noundef nonnull @.str.4) #13
  %9280 = load i32, ptr %323, align 4, !tbaa !5
  %9281 = call ptr @s2n_strerror_debug(i32 noundef %9280, ptr noundef nonnull @.str.4) #13
  %9282 = load i32, ptr %377, align 4, !tbaa !5
  %9283 = call ptr @strerror(i32 noundef %9282) #13
  %9284 = load i32, ptr %377, align 4, !tbaa !5
  %9285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9276, ptr noundef nonnull %.str.5.sink5205, i32 noundef %9277, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.1, i32 noundef 1028, ptr noundef %9279, ptr noundef %9281, ptr noundef %9283, i32 noundef %9284) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9286:                                             ; preds = %9260
  %9287 = load i32, ptr @test_count, align 4, !tbaa !5
  %9288 = add nsw i32 %9287, 1
  store i32 %9288, ptr @test_count, align 4, !tbaa !5
  %9289 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %9234) #13
  %9290 = call zeroext i1 @s2n_result_is_ok(i32 %9289)
  br i1 %9290, label %9313, label %9291

9291:                                             ; preds = %9286
  %9292 = load i32, ptr %377, align 4, !tbaa !5
  %9293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9294 = call i32 @s2n_print_stacktrace(ptr noundef %9293) #13
  %9295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9296 = trunc nuw i8 %9295 to i1
  br i1 %9296, label %9297, label %9301

9297:                                             ; preds = %9291
  %9298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9299 = call i32 @fileno(ptr noundef %9298) #13
  %9300 = call i32 @isatty(i32 noundef %9299) #13
  %.not1803 = icmp eq i32 %9300, 0
  br i1 %.not1803, label %9301, label %9302

9301:                                             ; preds = %9297, %9291
  br label %9302

9302:                                             ; preds = %9297, %9301
  %.str.5.sink5214 = phi ptr [ @.str.5, %9301 ], [ @.str.2, %9297 ]
  store i32 %9292, ptr %377, align 4, !tbaa !5
  %9303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9304 = load i32, ptr @test_count, align 4, !tbaa !5
  %9305 = load i32, ptr %323, align 4, !tbaa !5
  %9306 = call ptr @s2n_strerror(i32 noundef %9305, ptr noundef nonnull @.str.4) #13
  %9307 = load i32, ptr %323, align 4, !tbaa !5
  %9308 = call ptr @s2n_strerror_debug(i32 noundef %9307, ptr noundef nonnull @.str.4) #13
  %9309 = load i32, ptr %377, align 4, !tbaa !5
  %9310 = call ptr @strerror(i32 noundef %9309) #13
  %9311 = load i32, ptr %377, align 4, !tbaa !5
  %9312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9303, ptr noundef nonnull %.str.5.sink5214, i32 noundef %9304, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 1029, ptr noundef %9306, ptr noundef %9308, ptr noundef %9310, i32 noundef %9311) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9313:                                             ; preds = %9286
  %9314 = call ptr @s2n_config_new() #13
  %9315 = load i32, ptr @test_count, align 4, !tbaa !5
  %9316 = add nsw i32 %9315, 1
  store i32 %9316, ptr @test_count, align 4, !tbaa !5
  %9317 = icmp eq ptr %9314, null
  br i1 %9317, label %9318, label %9340

9318:                                             ; preds = %9313
  %9319 = load i32, ptr %377, align 4, !tbaa !5
  %9320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9321 = call i32 @s2n_print_stacktrace(ptr noundef %9320) #13
  %9322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9323 = trunc nuw i8 %9322 to i1
  br i1 %9323, label %9324, label %9328

9324:                                             ; preds = %9318
  %9325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9326 = call i32 @fileno(ptr noundef %9325) #13
  %9327 = call i32 @isatty(i32 noundef %9326) #13
  %.not2044 = icmp eq i32 %9327, 0
  br i1 %.not2044, label %9328, label %9329

9328:                                             ; preds = %9324, %9318
  br label %9329

9329:                                             ; preds = %9324, %9328
  %.str.5.sink5223 = phi ptr [ @.str.5, %9328 ], [ @.str.2, %9324 ]
  store i32 %9319, ptr %377, align 4, !tbaa !5
  %9330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9331 = load i32, ptr @test_count, align 4, !tbaa !5
  %9332 = load i32, ptr %323, align 4, !tbaa !5
  %9333 = call ptr @s2n_strerror(i32 noundef %9332, ptr noundef nonnull @.str.4) #13
  %9334 = load i32, ptr %323, align 4, !tbaa !5
  %9335 = call ptr @s2n_strerror_debug(i32 noundef %9334, ptr noundef nonnull @.str.4) #13
  %9336 = load i32, ptr %377, align 4, !tbaa !5
  %9337 = call ptr @strerror(i32 noundef %9336) #13
  %9338 = load i32, ptr %377, align 4, !tbaa !5
  %9339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9330, ptr noundef nonnull %.str.5.sink5223, i32 noundef %9331, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 1032, ptr noundef %9333, ptr noundef %9335, ptr noundef %9337, i32 noundef %9338) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9340:                                             ; preds = %9313
  %9341 = add nsw i32 %9315, 2
  store i32 %9341, ptr @test_count, align 4, !tbaa !5
  %9342 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %9314) #13
  %9343 = call zeroext i1 @s2n_result_is_ok(i32 %9342)
  br i1 %9343, label %9366, label %9344

9344:                                             ; preds = %9340
  %9345 = load i32, ptr %377, align 4, !tbaa !5
  %9346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9347 = call i32 @s2n_print_stacktrace(ptr noundef %9346) #13
  %9348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9349 = trunc nuw i8 %9348 to i1
  br i1 %9349, label %9350, label %9354

9350:                                             ; preds = %9344
  %9351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9352 = call i32 @fileno(ptr noundef %9351) #13
  %9353 = call i32 @isatty(i32 noundef %9352) #13
  %.not1804 = icmp eq i32 %9353, 0
  br i1 %.not1804, label %9354, label %9355

9354:                                             ; preds = %9350, %9344
  br label %9355

9355:                                             ; preds = %9350, %9354
  %.str.5.sink5232 = phi ptr [ @.str.5, %9354 ], [ @.str.2, %9350 ]
  store i32 %9345, ptr %377, align 4, !tbaa !5
  %9356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9357 = load i32, ptr @test_count, align 4, !tbaa !5
  %9358 = load i32, ptr %323, align 4, !tbaa !5
  %9359 = call ptr @s2n_strerror(i32 noundef %9358, ptr noundef nonnull @.str.4) #13
  %9360 = load i32, ptr %323, align 4, !tbaa !5
  %9361 = call ptr @s2n_strerror_debug(i32 noundef %9360, ptr noundef nonnull @.str.4) #13
  %9362 = load i32, ptr %377, align 4, !tbaa !5
  %9363 = call ptr @strerror(i32 noundef %9362) #13
  %9364 = load i32, ptr %377, align 4, !tbaa !5
  %9365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9356, ptr noundef nonnull %.str.5.sink5232, i32 noundef %9357, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 1033, ptr noundef %9359, ptr noundef %9361, ptr noundef %9363, i32 noundef %9364) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9366:                                             ; preds = %9340
  %9367 = load i32, ptr @test_count, align 4, !tbaa !5
  %9368 = add nsw i32 %9367, 1
  store i32 %9368, ptr @test_count, align 4, !tbaa !5
  %9369 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9181, ptr noundef nonnull %9314) #13
  %9370 = icmp eq i32 %9369, -1
  br i1 %9370, label %9371, label %9393

9371:                                             ; preds = %9366
  %9372 = load i32, ptr %377, align 4, !tbaa !5
  %9373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9374 = call i32 @s2n_print_stacktrace(ptr noundef %9373) #13
  %9375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9376 = trunc nuw i8 %9375 to i1
  br i1 %9376, label %9377, label %9381

9377:                                             ; preds = %9371
  %9378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9379 = call i32 @fileno(ptr noundef %9378) #13
  %9380 = call i32 @isatty(i32 noundef %9379) #13
  %.not2043 = icmp eq i32 %9380, 0
  br i1 %.not2043, label %9381, label %9382

9381:                                             ; preds = %9377, %9371
  br label %9382

9382:                                             ; preds = %9377, %9381
  %.str.5.sink5241 = phi ptr [ @.str.5, %9381 ], [ @.str.2, %9377 ]
  store i32 %9372, ptr %377, align 4, !tbaa !5
  %9383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9384 = load i32, ptr @test_count, align 4, !tbaa !5
  %9385 = load i32, ptr %323, align 4, !tbaa !5
  %9386 = call ptr @s2n_strerror(i32 noundef %9385, ptr noundef nonnull @.str.4) #13
  %9387 = load i32, ptr %323, align 4, !tbaa !5
  %9388 = call ptr @s2n_strerror_debug(i32 noundef %9387, ptr noundef nonnull @.str.4) #13
  %9389 = load i32, ptr %377, align 4, !tbaa !5
  %9390 = call ptr @strerror(i32 noundef %9389) #13
  %9391 = load i32, ptr %377, align 4, !tbaa !5
  %9392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9383, ptr noundef nonnull %.str.5.sink5241, i32 noundef %9384, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 1035, ptr noundef %9386, ptr noundef %9388, ptr noundef %9390, i32 noundef %9391) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9393:                                             ; preds = %9366
  %9394 = getelementptr inbounds i8, ptr %9181, i64 220
  store i8 34, ptr %9394, align 4, !tbaa !45
  %9395 = getelementptr inbounds i8, ptr %9181, i64 232
  %9396 = load ptr, ptr %9395, align 8, !tbaa !46
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %9396, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %89) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %89, i8 0, i64 40, i1 false)
  %9397 = load i32, ptr @test_count, align 4, !tbaa !5
  %9398 = add nsw i32 %9397, 1
  store i32 %9398, ptr @test_count, align 4, !tbaa !5
  %9399 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %89, i32 noundef 0) #13
  %9400 = icmp eq i32 %9399, -1
  br i1 %9400, label %9401, label %9423

9401:                                             ; preds = %9393
  %9402 = load i32, ptr %377, align 4, !tbaa !5
  %9403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9404 = call i32 @s2n_print_stacktrace(ptr noundef %9403) #13
  %9405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9406 = trunc nuw i8 %9405 to i1
  br i1 %9406, label %9407, label %9411

9407:                                             ; preds = %9401
  %9408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9409 = call i32 @fileno(ptr noundef %9408) #13
  %9410 = call i32 @isatty(i32 noundef %9409) #13
  %.not2042 = icmp eq i32 %9410, 0
  br i1 %.not2042, label %9411, label %9412

9411:                                             ; preds = %9407, %9401
  br label %9412

9412:                                             ; preds = %9407, %9411
  %.str.5.sink5250 = phi ptr [ @.str.5, %9411 ], [ @.str.2, %9407 ]
  store i32 %9402, ptr %377, align 4, !tbaa !5
  %9413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9414 = load i32, ptr @test_count, align 4, !tbaa !5
  %9415 = load i32, ptr %323, align 4, !tbaa !5
  %9416 = call ptr @s2n_strerror(i32 noundef %9415, ptr noundef nonnull @.str.4) #13
  %9417 = load i32, ptr %323, align 4, !tbaa !5
  %9418 = call ptr @s2n_strerror_debug(i32 noundef %9417, ptr noundef nonnull @.str.4) #13
  %9419 = load i32, ptr %377, align 4, !tbaa !5
  %9420 = call ptr @strerror(i32 noundef %9419) #13
  %9421 = load i32, ptr %377, align 4, !tbaa !5
  %9422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9413, ptr noundef nonnull %.str.5.sink5250, i32 noundef %9414, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 1041, ptr noundef %9416, ptr noundef %9418, ptr noundef %9420, i32 noundef %9421) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9423:                                             ; preds = %9393
  %9424 = load i32, ptr @test_count, align 4, !tbaa !5
  %9425 = add nsw i32 %9424, 1
  store i32 %9425, ptr @test_count, align 4, !tbaa !5
  %9426 = call i32 @s2n_setup_encrypted_ticket(ptr noundef nonnull %9181, ptr noundef nonnull %89)
  %9427 = call zeroext i1 @s2n_result_is_ok(i32 %9426)
  br i1 %9427, label %9450, label %9428

9428:                                             ; preds = %9423
  %9429 = load i32, ptr %377, align 4, !tbaa !5
  %9430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9431 = call i32 @s2n_print_stacktrace(ptr noundef %9430) #13
  %9432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9433 = trunc nuw i8 %9432 to i1
  br i1 %9433, label %9434, label %9438

9434:                                             ; preds = %9428
  %9435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9436 = call i32 @fileno(ptr noundef %9435) #13
  %9437 = call i32 @isatty(i32 noundef %9436) #13
  %.not1805 = icmp eq i32 %9437, 0
  br i1 %.not1805, label %9438, label %9439

9438:                                             ; preds = %9434, %9428
  br label %9439

9439:                                             ; preds = %9434, %9438
  %.str.5.sink5259 = phi ptr [ @.str.5, %9438 ], [ @.str.2, %9434 ]
  store i32 %9429, ptr %377, align 4, !tbaa !5
  %9440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9441 = load i32, ptr @test_count, align 4, !tbaa !5
  %9442 = load i32, ptr %323, align 4, !tbaa !5
  %9443 = call ptr @s2n_strerror(i32 noundef %9442, ptr noundef nonnull @.str.4) #13
  %9444 = load i32, ptr %323, align 4, !tbaa !5
  %9445 = call ptr @s2n_strerror_debug(i32 noundef %9444, ptr noundef nonnull @.str.4) #13
  %9446 = load i32, ptr %377, align 4, !tbaa !5
  %9447 = call ptr @strerror(i32 noundef %9446) #13
  %9448 = load i32, ptr %377, align 4, !tbaa !5
  %9449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9440, ptr noundef nonnull %.str.5.sink5259, i32 noundef %9441, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 1042, ptr noundef %9443, ptr noundef %9445, ptr noundef %9447, i32 noundef %9448) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9450:                                             ; preds = %9423
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %90) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %90, i8 0, i64 24, i1 false)
  %9451 = load i32, ptr @test_count, align 4, !tbaa !5
  %9452 = add nsw i32 %9451, 1
  store i32 %9452, ptr @test_count, align 4, !tbaa !5
  %9453 = call i32 @s2n_blob_init(ptr noundef nonnull %90, ptr noundef nonnull %4, i32 noundef 3) #13
  %9454 = icmp eq i32 %9453, -1
  br i1 %9454, label %9455, label %9477

9455:                                             ; preds = %9450
  %9456 = load i32, ptr %377, align 4, !tbaa !5
  %9457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9458 = call i32 @s2n_print_stacktrace(ptr noundef %9457) #13
  %9459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9460 = trunc nuw i8 %9459 to i1
  br i1 %9460, label %9461, label %9465

9461:                                             ; preds = %9455
  %9462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9463 = call i32 @fileno(ptr noundef %9462) #13
  %9464 = call i32 @isatty(i32 noundef %9463) #13
  %.not2041 = icmp eq i32 %9464, 0
  br i1 %.not2041, label %9465, label %9466

9465:                                             ; preds = %9461, %9455
  br label %9466

9466:                                             ; preds = %9461, %9465
  %.str.5.sink5268 = phi ptr [ @.str.5, %9465 ], [ @.str.2, %9461 ]
  store i32 %9456, ptr %377, align 4, !tbaa !5
  %9467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9468 = load i32, ptr @test_count, align 4, !tbaa !5
  %9469 = load i32, ptr %323, align 4, !tbaa !5
  %9470 = call ptr @s2n_strerror(i32 noundef %9469, ptr noundef nonnull @.str.4) #13
  %9471 = load i32, ptr %323, align 4, !tbaa !5
  %9472 = call ptr @s2n_strerror_debug(i32 noundef %9471, ptr noundef nonnull @.str.4) #13
  %9473 = load i32, ptr %377, align 4, !tbaa !5
  %9474 = call ptr @strerror(i32 noundef %9473) #13
  %9475 = load i32, ptr %377, align 4, !tbaa !5
  %9476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9467, ptr noundef nonnull %.str.5.sink5268, i32 noundef %9468, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 1048, ptr noundef %9470, ptr noundef %9472, ptr noundef %9474, i32 noundef %9475) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9477:                                             ; preds = %9450
  %9478 = load i32, ptr @test_count, align 4, !tbaa !5
  %9479 = add nsw i32 %9478, 1
  store i32 %9479, ptr @test_count, align 4, !tbaa !5
  %9480 = call i32 @s2n_write_test_identity(ptr noundef nonnull %87, ptr noundef nonnull %90)
  %9481 = call zeroext i1 @s2n_result_is_ok(i32 %9480)
  br i1 %9481, label %9504, label %9482

9482:                                             ; preds = %9477
  %9483 = load i32, ptr %377, align 4, !tbaa !5
  %9484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9485 = call i32 @s2n_print_stacktrace(ptr noundef %9484) #13
  %9486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9487 = trunc nuw i8 %9486 to i1
  br i1 %9487, label %9488, label %9492

9488:                                             ; preds = %9482
  %9489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9490 = call i32 @fileno(ptr noundef %9489) #13
  %9491 = call i32 @isatty(i32 noundef %9490) #13
  %.not1806 = icmp eq i32 %9491, 0
  br i1 %.not1806, label %9492, label %9493

9492:                                             ; preds = %9488, %9482
  br label %9493

9493:                                             ; preds = %9488, %9492
  %.str.5.sink5277 = phi ptr [ @.str.5, %9492 ], [ @.str.2, %9488 ]
  store i32 %9483, ptr %377, align 4, !tbaa !5
  %9494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9495 = load i32, ptr @test_count, align 4, !tbaa !5
  %9496 = load i32, ptr %323, align 4, !tbaa !5
  %9497 = call ptr @s2n_strerror(i32 noundef %9496, ptr noundef nonnull @.str.4) #13
  %9498 = load i32, ptr %323, align 4, !tbaa !5
  %9499 = call ptr @s2n_strerror_debug(i32 noundef %9498, ptr noundef nonnull @.str.4) #13
  %9500 = load i32, ptr %377, align 4, !tbaa !5
  %9501 = call ptr @strerror(i32 noundef %9500) #13
  %9502 = load i32, ptr %377, align 4, !tbaa !5
  %9503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9494, ptr noundef nonnull %.str.5.sink5277, i32 noundef %9495, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 1049, ptr noundef %9497, ptr noundef %9499, ptr noundef %9501, i32 noundef %9502) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9504:                                             ; preds = %9477
  %9505 = load i32, ptr @test_count, align 4, !tbaa !5
  %9506 = add nsw i32 %9505, 1
  store i32 %9506, ptr @test_count, align 4, !tbaa !5
  %9507 = call i32 @s2n_write_test_identity(ptr noundef nonnull %87, ptr noundef nonnull %89)
  %9508 = call zeroext i1 @s2n_result_is_ok(i32 %9507)
  br i1 %9508, label %9531, label %9509

9509:                                             ; preds = %9504
  %9510 = load i32, ptr %377, align 4, !tbaa !5
  %9511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9512 = call i32 @s2n_print_stacktrace(ptr noundef %9511) #13
  %9513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9514 = trunc nuw i8 %9513 to i1
  br i1 %9514, label %9515, label %9519

9515:                                             ; preds = %9509
  %9516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9517 = call i32 @fileno(ptr noundef %9516) #13
  %9518 = call i32 @isatty(i32 noundef %9517) #13
  %.not1807 = icmp eq i32 %9518, 0
  br i1 %.not1807, label %9519, label %9520

9519:                                             ; preds = %9515, %9509
  br label %9520

9520:                                             ; preds = %9515, %9519
  %.str.5.sink5286 = phi ptr [ @.str.5, %9519 ], [ @.str.2, %9515 ]
  store i32 %9510, ptr %377, align 4, !tbaa !5
  %9521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9522 = load i32, ptr @test_count, align 4, !tbaa !5
  %9523 = load i32, ptr %323, align 4, !tbaa !5
  %9524 = call ptr @s2n_strerror(i32 noundef %9523, ptr noundef nonnull @.str.4) #13
  %9525 = load i32, ptr %323, align 4, !tbaa !5
  %9526 = call ptr @s2n_strerror_debug(i32 noundef %9525, ptr noundef nonnull @.str.4) #13
  %9527 = load i32, ptr %377, align 4, !tbaa !5
  %9528 = call ptr @strerror(i32 noundef %9527) #13
  %9529 = load i32, ptr %377, align 4, !tbaa !5
  %9530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9521, ptr noundef nonnull %.str.5.sink5286, i32 noundef %9522, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 1052, ptr noundef %9524, ptr noundef %9526, ptr noundef %9528, i32 noundef %9529) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9531:                                             ; preds = %9504
  %9532 = load i32, ptr @test_count, align 4, !tbaa !5
  %9533 = add nsw i32 %9532, 1
  store i32 %9533, ptr @test_count, align 4, !tbaa !5
  %9534 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %9181, ptr noundef nonnull %87)
  %9535 = call zeroext i1 @s2n_result_is_ok(i32 %9534)
  br i1 %9535, label %9558, label %9536

9536:                                             ; preds = %9531
  %9537 = load i32, ptr %377, align 4, !tbaa !5
  %9538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9539 = call i32 @s2n_print_stacktrace(ptr noundef %9538) #13
  %9540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9541 = trunc nuw i8 %9540 to i1
  br i1 %9541, label %9542, label %9546

9542:                                             ; preds = %9536
  %9543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9544 = call i32 @fileno(ptr noundef %9543) #13
  %9545 = call i32 @isatty(i32 noundef %9544) #13
  %.not1808 = icmp eq i32 %9545, 0
  br i1 %.not1808, label %9546, label %9547

9546:                                             ; preds = %9542, %9536
  br label %9547

9547:                                             ; preds = %9542, %9546
  %.str.5.sink5295 = phi ptr [ @.str.5, %9546 ], [ @.str.2, %9542 ]
  store i32 %9537, ptr %377, align 4, !tbaa !5
  %9548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9549 = load i32, ptr @test_count, align 4, !tbaa !5
  %9550 = load i32, ptr %323, align 4, !tbaa !5
  %9551 = call ptr @s2n_strerror(i32 noundef %9550, ptr noundef nonnull @.str.4) #13
  %9552 = load i32, ptr %323, align 4, !tbaa !5
  %9553 = call ptr @s2n_strerror_debug(i32 noundef %9552, ptr noundef nonnull @.str.4) #13
  %9554 = load i32, ptr %377, align 4, !tbaa !5
  %9555 = call ptr @strerror(i32 noundef %9554) #13
  %9556 = load i32, ptr %377, align 4, !tbaa !5
  %9557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9548, ptr noundef nonnull %.str.5.sink5295, i32 noundef %9549, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 1054, ptr noundef %9551, ptr noundef %9553, ptr noundef %9555, i32 noundef %9556) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9558:                                             ; preds = %9531
  %9559 = load i32, ptr @test_count, align 4, !tbaa !5
  %9560 = add nsw i32 %9559, 1
  store i32 %9560, ptr @test_count, align 4, !tbaa !5
  %9561 = getelementptr inbounds i8, ptr %9181, i64 1730
  %9562 = load i16, ptr %9561, align 2, !tbaa !87
  %9563 = icmp eq i16 %9562, 1
  br i1 %9563, label %9586, label %9564

9564:                                             ; preds = %9558
  %9565 = load i32, ptr %377, align 4, !tbaa !5
  %9566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9567 = call i32 @s2n_print_stacktrace(ptr noundef %9566) #13
  %9568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9569 = trunc nuw i8 %9568 to i1
  br i1 %9569, label %9570, label %9574

9570:                                             ; preds = %9564
  %9571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9572 = call i32 @fileno(ptr noundef %9571) #13
  %9573 = call i32 @isatty(i32 noundef %9572) #13
  %.not1809 = icmp eq i32 %9573, 0
  br i1 %.not1809, label %9574, label %9575

9574:                                             ; preds = %9570, %9564
  br label %9575

9575:                                             ; preds = %9570, %9574
  %.str.5.sink5304 = phi ptr [ @.str.5, %9574 ], [ @.str.2, %9570 ]
  store i32 %9565, ptr %377, align 4, !tbaa !5
  %9576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9577 = load i32, ptr @test_count, align 4, !tbaa !5
  %9578 = load i32, ptr %323, align 4, !tbaa !5
  %9579 = call ptr @s2n_strerror(i32 noundef %9578, ptr noundef nonnull @.str.4) #13
  %9580 = load i32, ptr %323, align 4, !tbaa !5
  %9581 = call ptr @s2n_strerror_debug(i32 noundef %9580, ptr noundef nonnull @.str.4) #13
  %9582 = load i32, ptr %377, align 4, !tbaa !5
  %9583 = call ptr @strerror(i32 noundef %9582) #13
  %9584 = load i32, ptr %377, align 4, !tbaa !5
  %9585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9576, ptr noundef nonnull %.str.5.sink5304, i32 noundef %9577, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.1, i32 noundef 1056, ptr noundef %9579, ptr noundef %9581, ptr noundef %9583, i32 noundef %9584) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9586:                                             ; preds = %9558
  %9587 = add nsw i32 %9559, 2
  store i32 %9587, ptr @test_count, align 4, !tbaa !5
  %9588 = getelementptr inbounds i8, ptr %9181, i64 1736
  %9589 = load ptr, ptr %9588, align 8, !tbaa !88
  %9590 = icmp eq ptr %9589, null
  br i1 %9590, label %9591, label %9613

9591:                                             ; preds = %9586
  %9592 = load i32, ptr %377, align 4, !tbaa !5
  %9593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9594 = call i32 @s2n_print_stacktrace(ptr noundef %9593) #13
  %9595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9596 = trunc nuw i8 %9595 to i1
  br i1 %9596, label %9597, label %9601

9597:                                             ; preds = %9591
  %9598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9599 = call i32 @fileno(ptr noundef %9598) #13
  %9600 = call i32 @isatty(i32 noundef %9599) #13
  %.not2040 = icmp eq i32 %9600, 0
  br i1 %.not2040, label %9601, label %9602

9601:                                             ; preds = %9597, %9591
  br label %9602

9602:                                             ; preds = %9597, %9601
  %.str.5.sink5313 = phi ptr [ @.str.5, %9601 ], [ @.str.2, %9597 ]
  store i32 %9592, ptr %377, align 4, !tbaa !5
  %9603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9604 = load i32, ptr @test_count, align 4, !tbaa !5
  %9605 = load i32, ptr %323, align 4, !tbaa !5
  %9606 = call ptr @s2n_strerror(i32 noundef %9605, ptr noundef nonnull @.str.4) #13
  %9607 = load i32, ptr %323, align 4, !tbaa !5
  %9608 = call ptr @s2n_strerror_debug(i32 noundef %9607, ptr noundef nonnull @.str.4) #13
  %9609 = load i32, ptr %377, align 4, !tbaa !5
  %9610 = call ptr @strerror(i32 noundef %9609) #13
  %9611 = load i32, ptr %377, align 4, !tbaa !5
  %9612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9603, ptr noundef nonnull %.str.5.sink5313, i32 noundef %9604, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 1057, ptr noundef %9606, ptr noundef %9608, ptr noundef %9610, i32 noundef %9611) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9613:                                             ; preds = %9586
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %90) #13
  store ptr null, ptr %9588, align 8, !tbaa !88
  %9614 = add nsw i32 %9559, 3
  store i32 %9614, ptr @test_count, align 4, !tbaa !5
  %9615 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %87) #13
  %9616 = icmp eq i32 %9615, -1
  br i1 %9616, label %9617, label %9639

9617:                                             ; preds = %9613
  %9618 = load i32, ptr %377, align 4, !tbaa !5
  %9619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9620 = call i32 @s2n_print_stacktrace(ptr noundef %9619) #13
  %9621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9622 = trunc nuw i8 %9621 to i1
  br i1 %9622, label %9623, label %9627

9623:                                             ; preds = %9617
  %9624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9625 = call i32 @fileno(ptr noundef %9624) #13
  %9626 = call i32 @isatty(i32 noundef %9625) #13
  %.not2039 = icmp eq i32 %9626, 0
  br i1 %.not2039, label %9627, label %9628

9627:                                             ; preds = %9623, %9617
  br label %9628

9628:                                             ; preds = %9623, %9627
  %.str.5.sink5322 = phi ptr [ @.str.5, %9627 ], [ @.str.2, %9623 ]
  store i32 %9618, ptr %377, align 4, !tbaa !5
  %9629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9630 = load i32, ptr @test_count, align 4, !tbaa !5
  %9631 = load i32, ptr %323, align 4, !tbaa !5
  %9632 = call ptr @s2n_strerror(i32 noundef %9631, ptr noundef nonnull @.str.4) #13
  %9633 = load i32, ptr %323, align 4, !tbaa !5
  %9634 = call ptr @s2n_strerror_debug(i32 noundef %9633, ptr noundef nonnull @.str.4) #13
  %9635 = load i32, ptr %377, align 4, !tbaa !5
  %9636 = call ptr @strerror(i32 noundef %9635) #13
  %9637 = load i32, ptr %377, align 4, !tbaa !5
  %9638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9629, ptr noundef nonnull %.str.5.sink5322, i32 noundef %9630, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.1, i32 noundef 1063, ptr noundef %9632, ptr noundef %9634, ptr noundef %9636, i32 noundef %9637) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9639:                                             ; preds = %9613
  %9640 = load i32, ptr @test_count, align 4, !tbaa !5
  %9641 = add nsw i32 %9640, 1
  store i32 %9641, ptr @test_count, align 4, !tbaa !5
  %9642 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9181, ptr noundef nonnull %9234) #13
  %9643 = icmp eq i32 %9642, -1
  br i1 %9643, label %9644, label %9666

9644:                                             ; preds = %9639
  %9645 = load i32, ptr %377, align 4, !tbaa !5
  %9646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9647 = call i32 @s2n_print_stacktrace(ptr noundef %9646) #13
  %9648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9649 = trunc nuw i8 %9648 to i1
  br i1 %9649, label %9650, label %9654

9650:                                             ; preds = %9644
  %9651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9652 = call i32 @fileno(ptr noundef %9651) #13
  %9653 = call i32 @isatty(i32 noundef %9652) #13
  %.not2038 = icmp eq i32 %9653, 0
  br i1 %.not2038, label %9654, label %9655

9654:                                             ; preds = %9650, %9644
  br label %9655

9655:                                             ; preds = %9650, %9654
  %.str.5.sink5331 = phi ptr [ @.str.5, %9654 ], [ @.str.2, %9650 ]
  store i32 %9645, ptr %377, align 4, !tbaa !5
  %9656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9657 = load i32, ptr @test_count, align 4, !tbaa !5
  %9658 = load i32, ptr %323, align 4, !tbaa !5
  %9659 = call ptr @s2n_strerror(i32 noundef %9658, ptr noundef nonnull @.str.4) #13
  %9660 = load i32, ptr %323, align 4, !tbaa !5
  %9661 = call ptr @s2n_strerror_debug(i32 noundef %9660, ptr noundef nonnull @.str.4) #13
  %9662 = load i32, ptr %377, align 4, !tbaa !5
  %9663 = call ptr @strerror(i32 noundef %9662) #13
  %9664 = load i32, ptr %377, align 4, !tbaa !5
  %9665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9656, ptr noundef nonnull %.str.5.sink5331, i32 noundef %9657, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.1, i32 noundef 1064, ptr noundef %9659, ptr noundef %9661, ptr noundef %9663, i32 noundef %9664) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9666:                                             ; preds = %9639
  %9667 = load i32, ptr @test_count, align 4, !tbaa !5
  %9668 = add nsw i32 %9667, 1
  store i32 %9668, ptr @test_count, align 4, !tbaa !5
  %9669 = call i32 @s2n_write_test_identity(ptr noundef nonnull %87, ptr noundef nonnull %89)
  %9670 = call zeroext i1 @s2n_result_is_ok(i32 %9669)
  br i1 %9670, label %9693, label %9671

9671:                                             ; preds = %9666
  %9672 = load i32, ptr %377, align 4, !tbaa !5
  %9673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9674 = call i32 @s2n_print_stacktrace(ptr noundef %9673) #13
  %9675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9676 = trunc nuw i8 %9675 to i1
  br i1 %9676, label %9677, label %9681

9677:                                             ; preds = %9671
  %9678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9679 = call i32 @fileno(ptr noundef %9678) #13
  %9680 = call i32 @isatty(i32 noundef %9679) #13
  %.not1810 = icmp eq i32 %9680, 0
  br i1 %.not1810, label %9681, label %9682

9681:                                             ; preds = %9677, %9671
  br label %9682

9682:                                             ; preds = %9677, %9681
  %.str.5.sink5340 = phi ptr [ @.str.5, %9681 ], [ @.str.2, %9677 ]
  store i32 %9672, ptr %377, align 4, !tbaa !5
  %9683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9684 = load i32, ptr @test_count, align 4, !tbaa !5
  %9685 = load i32, ptr %323, align 4, !tbaa !5
  %9686 = call ptr @s2n_strerror(i32 noundef %9685, ptr noundef nonnull @.str.4) #13
  %9687 = load i32, ptr %323, align 4, !tbaa !5
  %9688 = call ptr @s2n_strerror_debug(i32 noundef %9687, ptr noundef nonnull @.str.4) #13
  %9689 = load i32, ptr %377, align 4, !tbaa !5
  %9690 = call ptr @strerror(i32 noundef %9689) #13
  %9691 = load i32, ptr %377, align 4, !tbaa !5
  %9692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9683, ptr noundef nonnull %.str.5.sink5340, i32 noundef %9684, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 1065, ptr noundef %9686, ptr noundef %9688, ptr noundef %9690, i32 noundef %9691) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9693:                                             ; preds = %9666
  %9694 = load i32, ptr @test_count, align 4, !tbaa !5
  %9695 = add nsw i32 %9694, 1
  store i32 %9695, ptr @test_count, align 4, !tbaa !5
  %9696 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %9181, ptr noundef nonnull %87)
  %9697 = call zeroext i1 @s2n_result_is_ok(i32 %9696)
  br i1 %9697, label %9720, label %9698

9698:                                             ; preds = %9693
  %9699 = load i32, ptr %377, align 4, !tbaa !5
  %9700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9701 = call i32 @s2n_print_stacktrace(ptr noundef %9700) #13
  %9702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9703 = trunc nuw i8 %9702 to i1
  br i1 %9703, label %9704, label %9708

9704:                                             ; preds = %9698
  %9705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9706 = call i32 @fileno(ptr noundef %9705) #13
  %9707 = call i32 @isatty(i32 noundef %9706) #13
  %.not1811 = icmp eq i32 %9707, 0
  br i1 %.not1811, label %9708, label %9709

9708:                                             ; preds = %9704, %9698
  br label %9709

9709:                                             ; preds = %9704, %9708
  %.str.5.sink5349 = phi ptr [ @.str.5, %9708 ], [ @.str.2, %9704 ]
  store i32 %9699, ptr %377, align 4, !tbaa !5
  %9710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9711 = load i32, ptr @test_count, align 4, !tbaa !5
  %9712 = load i32, ptr %323, align 4, !tbaa !5
  %9713 = call ptr @s2n_strerror(i32 noundef %9712, ptr noundef nonnull @.str.4) #13
  %9714 = load i32, ptr %323, align 4, !tbaa !5
  %9715 = call ptr @s2n_strerror_debug(i32 noundef %9714, ptr noundef nonnull @.str.4) #13
  %9716 = load i32, ptr %377, align 4, !tbaa !5
  %9717 = call ptr @strerror(i32 noundef %9716) #13
  %9718 = load i32, ptr %377, align 4, !tbaa !5
  %9719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9710, ptr noundef nonnull %.str.5.sink5349, i32 noundef %9711, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 1067, ptr noundef %9713, ptr noundef %9715, ptr noundef %9717, i32 noundef %9718) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9720:                                             ; preds = %9693
  %9721 = load i32, ptr @test_count, align 4, !tbaa !5
  %9722 = add nsw i32 %9721, 1
  store i32 %9722, ptr @test_count, align 4, !tbaa !5
  %9723 = load i16, ptr %9561, align 2, !tbaa !87
  %9724 = icmp eq i16 %9723, 0
  br i1 %9724, label %9747, label %9725

9725:                                             ; preds = %9720
  %9726 = load i32, ptr %377, align 4, !tbaa !5
  %9727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9728 = call i32 @s2n_print_stacktrace(ptr noundef %9727) #13
  %9729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9730 = trunc nuw i8 %9729 to i1
  br i1 %9730, label %9731, label %9735

9731:                                             ; preds = %9725
  %9732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9733 = call i32 @fileno(ptr noundef %9732) #13
  %9734 = call i32 @isatty(i32 noundef %9733) #13
  %.not1812 = icmp eq i32 %9734, 0
  br i1 %.not1812, label %9735, label %9736

9735:                                             ; preds = %9731, %9725
  br label %9736

9736:                                             ; preds = %9731, %9735
  %.str.5.sink5358 = phi ptr [ @.str.5, %9735 ], [ @.str.2, %9731 ]
  store i32 %9726, ptr %377, align 4, !tbaa !5
  %9737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9738 = load i32, ptr @test_count, align 4, !tbaa !5
  %9739 = load i32, ptr %323, align 4, !tbaa !5
  %9740 = call ptr @s2n_strerror(i32 noundef %9739, ptr noundef nonnull @.str.4) #13
  %9741 = load i32, ptr %323, align 4, !tbaa !5
  %9742 = call ptr @s2n_strerror_debug(i32 noundef %9741, ptr noundef nonnull @.str.4) #13
  %9743 = load i32, ptr %377, align 4, !tbaa !5
  %9744 = call ptr @strerror(i32 noundef %9743) #13
  %9745 = load i32, ptr %377, align 4, !tbaa !5
  %9746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9737, ptr noundef nonnull %.str.5.sink5358, i32 noundef %9738, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 1069, ptr noundef %9740, ptr noundef %9742, ptr noundef %9744, i32 noundef %9745) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9747:                                             ; preds = %9720
  %9748 = add nsw i32 %9721, 2
  store i32 %9748, ptr @test_count, align 4, !tbaa !5
  %9749 = load ptr, ptr %9588, align 8, !tbaa !88
  %9750 = icmp eq ptr %9749, null
  br i1 %9750, label %9751, label %9773

9751:                                             ; preds = %9747
  %9752 = load i32, ptr %377, align 4, !tbaa !5
  %9753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9754 = call i32 @s2n_print_stacktrace(ptr noundef %9753) #13
  %9755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9756 = trunc nuw i8 %9755 to i1
  br i1 %9756, label %9757, label %9761

9757:                                             ; preds = %9751
  %9758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9759 = call i32 @fileno(ptr noundef %9758) #13
  %9760 = call i32 @isatty(i32 noundef %9759) #13
  %.not2037 = icmp eq i32 %9760, 0
  br i1 %.not2037, label %9761, label %9762

9761:                                             ; preds = %9757, %9751
  br label %9762

9762:                                             ; preds = %9757, %9761
  %.str.5.sink5367 = phi ptr [ @.str.5, %9761 ], [ @.str.2, %9757 ]
  store i32 %9752, ptr %377, align 4, !tbaa !5
  %9763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9764 = load i32, ptr @test_count, align 4, !tbaa !5
  %9765 = load i32, ptr %323, align 4, !tbaa !5
  %9766 = call ptr @s2n_strerror(i32 noundef %9765, ptr noundef nonnull @.str.4) #13
  %9767 = load i32, ptr %323, align 4, !tbaa !5
  %9768 = call ptr @s2n_strerror_debug(i32 noundef %9767, ptr noundef nonnull @.str.4) #13
  %9769 = load i32, ptr %377, align 4, !tbaa !5
  %9770 = call ptr @strerror(i32 noundef %9769) #13
  %9771 = load i32, ptr %377, align 4, !tbaa !5
  %9772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9763, ptr noundef nonnull %.str.5.sink5367, i32 noundef %9764, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 1070, ptr noundef %9766, ptr noundef %9768, ptr noundef %9770, i32 noundef %9771) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9773:                                             ; preds = %9747
  store ptr null, ptr %9588, align 8, !tbaa !88
  %9774 = add nsw i32 %9721, 3
  store i32 %9774, ptr @test_count, align 4, !tbaa !5
  %9775 = call i32 @s2n_stuffer_rewrite(ptr noundef nonnull %87) #13
  %9776 = icmp eq i32 %9775, -1
  br i1 %9776, label %9777, label %9799

9777:                                             ; preds = %9773
  %9778 = load i32, ptr %377, align 4, !tbaa !5
  %9779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9780 = call i32 @s2n_print_stacktrace(ptr noundef %9779) #13
  %9781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9782 = trunc nuw i8 %9781 to i1
  br i1 %9782, label %9783, label %9787

9783:                                             ; preds = %9777
  %9784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9785 = call i32 @fileno(ptr noundef %9784) #13
  %9786 = call i32 @isatty(i32 noundef %9785) #13
  %.not2036 = icmp eq i32 %9786, 0
  br i1 %.not2036, label %9787, label %9788

9787:                                             ; preds = %9783, %9777
  br label %9788

9788:                                             ; preds = %9783, %9787
  %.str.5.sink5376 = phi ptr [ @.str.5, %9787 ], [ @.str.2, %9783 ]
  store i32 %9778, ptr %377, align 4, !tbaa !5
  %9789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9790 = load i32, ptr @test_count, align 4, !tbaa !5
  %9791 = load i32, ptr %323, align 4, !tbaa !5
  %9792 = call ptr @s2n_strerror(i32 noundef %9791, ptr noundef nonnull @.str.4) #13
  %9793 = load i32, ptr %323, align 4, !tbaa !5
  %9794 = call ptr @s2n_strerror_debug(i32 noundef %9793, ptr noundef nonnull @.str.4) #13
  %9795 = load i32, ptr %377, align 4, !tbaa !5
  %9796 = call ptr @strerror(i32 noundef %9795) #13
  %9797 = load i32, ptr %377, align 4, !tbaa !5
  %9798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9789, ptr noundef nonnull %.str.5.sink5376, i32 noundef %9790, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.1, i32 noundef 1076, ptr noundef %9792, ptr noundef %9794, ptr noundef %9796, i32 noundef %9797) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9799:                                             ; preds = %9773
  %9800 = load i32, ptr @test_count, align 4, !tbaa !5
  %9801 = add nsw i32 %9800, 1
  store i32 %9801, ptr @test_count, align 4, !tbaa !5
  %9802 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9181, ptr noundef nonnull %9234) #13
  %9803 = icmp eq i32 %9802, -1
  br i1 %9803, label %9804, label %9826

9804:                                             ; preds = %9799
  %9805 = load i32, ptr %377, align 4, !tbaa !5
  %9806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9807 = call i32 @s2n_print_stacktrace(ptr noundef %9806) #13
  %9808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9809 = trunc nuw i8 %9808 to i1
  br i1 %9809, label %9810, label %9814

9810:                                             ; preds = %9804
  %9811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9812 = call i32 @fileno(ptr noundef %9811) #13
  %9813 = call i32 @isatty(i32 noundef %9812) #13
  %.not2035 = icmp eq i32 %9813, 0
  br i1 %.not2035, label %9814, label %9815

9814:                                             ; preds = %9810, %9804
  br label %9815

9815:                                             ; preds = %9810, %9814
  %.str.5.sink5385 = phi ptr [ @.str.5, %9814 ], [ @.str.2, %9810 ]
  store i32 %9805, ptr %377, align 4, !tbaa !5
  %9816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9817 = load i32, ptr @test_count, align 4, !tbaa !5
  %9818 = load i32, ptr %323, align 4, !tbaa !5
  %9819 = call ptr @s2n_strerror(i32 noundef %9818, ptr noundef nonnull @.str.4) #13
  %9820 = load i32, ptr %323, align 4, !tbaa !5
  %9821 = call ptr @s2n_strerror_debug(i32 noundef %9820, ptr noundef nonnull @.str.4) #13
  %9822 = load i32, ptr %377, align 4, !tbaa !5
  %9823 = call ptr @strerror(i32 noundef %9822) #13
  %9824 = load i32, ptr %377, align 4, !tbaa !5
  %9825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9816, ptr noundef nonnull %.str.5.sink5385, i32 noundef %9817, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.1, i32 noundef 1077, ptr noundef %9819, ptr noundef %9821, ptr noundef %9823, i32 noundef %9824) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9826:                                             ; preds = %9799
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %91) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %91, i8 0, i64 24, i1 false)
  %9827 = load i32, ptr @test_count, align 4, !tbaa !5
  %9828 = add nsw i32 %9827, 1
  store i32 %9828, ptr @test_count, align 4, !tbaa !5
  %9829 = call i32 @s2n_blob_init(ptr noundef nonnull %91, ptr noundef nonnull %4, i32 noundef 3) #13
  %9830 = icmp eq i32 %9829, -1
  br i1 %9830, label %9831, label %9853

9831:                                             ; preds = %9826
  %9832 = load i32, ptr %377, align 4, !tbaa !5
  %9833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9834 = call i32 @s2n_print_stacktrace(ptr noundef %9833) #13
  %9835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9836 = trunc nuw i8 %9835 to i1
  br i1 %9836, label %9837, label %9841

9837:                                             ; preds = %9831
  %9838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9839 = call i32 @fileno(ptr noundef %9838) #13
  %9840 = call i32 @isatty(i32 noundef %9839) #13
  %.not2034 = icmp eq i32 %9840, 0
  br i1 %.not2034, label %9841, label %9842

9841:                                             ; preds = %9837, %9831
  br label %9842

9842:                                             ; preds = %9837, %9841
  %.str.5.sink5394 = phi ptr [ @.str.5, %9841 ], [ @.str.2, %9837 ]
  store i32 %9832, ptr %377, align 4, !tbaa !5
  %9843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9844 = load i32, ptr @test_count, align 4, !tbaa !5
  %9845 = load i32, ptr %323, align 4, !tbaa !5
  %9846 = call ptr @s2n_strerror(i32 noundef %9845, ptr noundef nonnull @.str.4) #13
  %9847 = load i32, ptr %323, align 4, !tbaa !5
  %9848 = call ptr @s2n_strerror_debug(i32 noundef %9847, ptr noundef nonnull @.str.4) #13
  %9849 = load i32, ptr %377, align 4, !tbaa !5
  %9850 = call ptr @strerror(i32 noundef %9849) #13
  %9851 = load i32, ptr %377, align 4, !tbaa !5
  %9852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9843, ptr noundef nonnull %.str.5.sink5394, i32 noundef %9844, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 1080, ptr noundef %9846, ptr noundef %9848, ptr noundef %9850, i32 noundef %9851) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9853:                                             ; preds = %9826
  %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 i32 @s2n_write_test_identity(ptr noundef nonnull %87, ptr noundef nonnull %91)
  %9857 = call zeroext i1 @s2n_result_is_ok(i32 %9856)
  br i1 %9857, label %9880, label %9858

9858:                                             ; preds = %9853
  %9859 = load i32, ptr %377, align 4, !tbaa !5
  %9860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9861 = call i32 @s2n_print_stacktrace(ptr noundef %9860) #13
  %9862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9863 = trunc nuw i8 %9862 to i1
  br i1 %9863, label %9864, label %9868

9864:                                             ; preds = %9858
  %9865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9866 = call i32 @fileno(ptr noundef %9865) #13
  %9867 = call i32 @isatty(i32 noundef %9866) #13
  %.not1813 = icmp eq i32 %9867, 0
  br i1 %.not1813, label %9868, label %9869

9868:                                             ; preds = %9864, %9858
  br label %9869

9869:                                             ; preds = %9864, %9868
  %.str.5.sink5403 = phi ptr [ @.str.5, %9868 ], [ @.str.2, %9864 ]
  store i32 %9859, ptr %377, align 4, !tbaa !5
  %9870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9871 = load i32, ptr @test_count, align 4, !tbaa !5
  %9872 = load i32, ptr %323, align 4, !tbaa !5
  %9873 = call ptr @s2n_strerror(i32 noundef %9872, ptr noundef nonnull @.str.4) #13
  %9874 = load i32, ptr %323, align 4, !tbaa !5
  %9875 = call ptr @s2n_strerror_debug(i32 noundef %9874, ptr noundef nonnull @.str.4) #13
  %9876 = load i32, ptr %377, align 4, !tbaa !5
  %9877 = call ptr @strerror(i32 noundef %9876) #13
  %9878 = load i32, ptr %377, align 4, !tbaa !5
  %9879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9870, ptr noundef nonnull %.str.5.sink5403, i32 noundef %9871, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 1081, ptr noundef %9873, ptr noundef %9875, ptr noundef %9877, i32 noundef %9878) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9880:                                             ; preds = %9853
  %9881 = load i32, ptr @test_count, align 4, !tbaa !5
  %9882 = add nsw i32 %9881, 1
  store i32 %9882, ptr @test_count, align 4, !tbaa !5
  %9883 = call i32 @s2n_client_psk_recv_identity_list(ptr noundef nonnull %9181, ptr noundef nonnull %87)
  %9884 = call zeroext i1 @s2n_result_is_error(i32 %9883)
  br i1 %9884, label %9907, label %9885

9885:                                             ; preds = %9880
  %9886 = load i32, ptr %377, align 4, !tbaa !5
  %9887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9888 = call i32 @s2n_print_stacktrace(ptr noundef %9887) #13
  %9889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9890 = trunc nuw i8 %9889 to i1
  br i1 %9890, label %9891, label %9895

9891:                                             ; preds = %9885
  %9892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9893 = call i32 @fileno(ptr noundef %9892) #13
  %9894 = call i32 @isatty(i32 noundef %9893) #13
  %.not1814 = icmp eq i32 %9894, 0
  br i1 %.not1814, label %9895, label %9896

9895:                                             ; preds = %9891, %9885
  br label %9896

9896:                                             ; preds = %9891, %9895
  %.str.5.sink5412 = phi ptr [ @.str.5, %9895 ], [ @.str.2, %9891 ]
  store i32 %9886, ptr %377, align 4, !tbaa !5
  %9897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9898 = load i32, ptr @test_count, align 4, !tbaa !5
  %9899 = load i32, ptr %323, align 4, !tbaa !5
  %9900 = call ptr @s2n_strerror(i32 noundef %9899, ptr noundef nonnull @.str.4) #13
  %9901 = load i32, ptr %323, align 4, !tbaa !5
  %9902 = call ptr @s2n_strerror_debug(i32 noundef %9901, ptr noundef nonnull @.str.4) #13
  %9903 = load i32, ptr %377, align 4, !tbaa !5
  %9904 = call ptr @strerror(i32 noundef %9903) #13
  %9905 = load i32, ptr %377, align 4, !tbaa !5
  %9906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9897, ptr noundef nonnull %.str.5.sink5412, i32 noundef %9898, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 1083, ptr noundef %9900, ptr noundef %9902, ptr noundef %9904, i32 noundef %9905) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9907:                                             ; preds = %9880
  %9908 = load i32, ptr @test_count, align 4, !tbaa !5
  %9909 = add nsw i32 %9908, 1
  store i32 %9909, ptr @test_count, align 4, !tbaa !5
  %9910 = load i32, ptr %323, align 4, !tbaa !5
  %9911 = icmp eq i32 %9910, 0
  br i1 %9911, label %9912, label %9934

9912:                                             ; preds = %9907
  %9913 = load i32, ptr %377, align 4, !tbaa !5
  %9914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9915 = call i32 @s2n_print_stacktrace(ptr noundef %9914) #13
  %9916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9917 = trunc nuw i8 %9916 to i1
  br i1 %9917, label %9918, label %9922

9918:                                             ; preds = %9912
  %9919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9920 = call i32 @fileno(ptr noundef %9919) #13
  %9921 = call i32 @isatty(i32 noundef %9920) #13
  %.not2033 = icmp eq i32 %9921, 0
  br i1 %.not2033, label %9922, label %9923

9922:                                             ; preds = %9918, %9912
  br label %9923

9923:                                             ; preds = %9918, %9922
  %.str.5.sink5421 = phi ptr [ @.str.5, %9922 ], [ @.str.2, %9918 ]
  store i32 %9913, ptr %377, align 4, !tbaa !5
  %9924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9925 = load i32, ptr @test_count, align 4, !tbaa !5
  %9926 = load i32, ptr %323, align 4, !tbaa !5
  %9927 = call ptr @s2n_strerror(i32 noundef %9926, ptr noundef nonnull @.str.4) #13
  %9928 = load i32, ptr %323, align 4, !tbaa !5
  %9929 = call ptr @s2n_strerror_debug(i32 noundef %9928, ptr noundef nonnull @.str.4) #13
  %9930 = load i32, ptr %377, align 4, !tbaa !5
  %9931 = call ptr @strerror(i32 noundef %9930) #13
  %9932 = load i32, ptr %377, align 4, !tbaa !5
  %9933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9924, ptr noundef nonnull %.str.5.sink5421, i32 noundef %9925, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 1083, ptr noundef %9927, ptr noundef %9929, ptr noundef %9931, i32 noundef %9932) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9934:                                             ; preds = %9907
  %9935 = add nsw i32 %9908, 2
  store i32 %9935, ptr @test_count, align 4, !tbaa !5
  %9936 = call ptr @s2n_strerror_debug(i32 noundef %9910, ptr noundef nonnull @.str.4) #13
  %9937 = icmp eq ptr %9936, null
  br i1 %9937, label %9938, label %9960

9938:                                             ; preds = %9934
  %9939 = load i32, ptr %377, align 4, !tbaa !5
  %9940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9941 = call i32 @s2n_print_stacktrace(ptr noundef %9940) #13
  %9942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9943 = trunc nuw i8 %9942 to i1
  br i1 %9943, label %9944, label %9948

9944:                                             ; preds = %9938
  %9945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9946 = call i32 @fileno(ptr noundef %9945) #13
  %9947 = call i32 @isatty(i32 noundef %9946) #13
  %.not2032 = icmp eq i32 %9947, 0
  br i1 %.not2032, label %9948, label %9949

9948:                                             ; preds = %9944, %9938
  br label %9949

9949:                                             ; preds = %9944, %9948
  %.str.5.sink5430 = phi ptr [ @.str.5, %9948 ], [ @.str.2, %9944 ]
  store i32 %9939, ptr %377, align 4, !tbaa !5
  %9950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9951 = load i32, ptr @test_count, align 4, !tbaa !5
  %9952 = load i32, ptr %323, align 4, !tbaa !5
  %9953 = call ptr @s2n_strerror(i32 noundef %9952, ptr noundef nonnull @.str.4) #13
  %9954 = load i32, ptr %323, align 4, !tbaa !5
  %9955 = call ptr @s2n_strerror_debug(i32 noundef %9954, ptr noundef nonnull @.str.4) #13
  %9956 = load i32, ptr %377, align 4, !tbaa !5
  %9957 = call ptr @strerror(i32 noundef %9956) #13
  %9958 = load i32, ptr %377, align 4, !tbaa !5
  %9959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9950, ptr noundef nonnull %.str.5.sink5430, i32 noundef %9951, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1083, ptr noundef %9953, ptr noundef %9955, ptr noundef %9957, i32 noundef %9958) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9960:                                             ; preds = %9934
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %9961 = load i32, ptr @test_count, align 4, !tbaa !5
  %9962 = add nsw i32 %9961, 1
  store i32 %9962, ptr @test_count, align 4, !tbaa !5
  %9963 = load i16, ptr %9561, align 2, !tbaa !87
  %9964 = icmp eq i16 %9963, 0
  br i1 %9964, label %9987, label %9965

9965:                                             ; preds = %9960
  %9966 = load i32, ptr %377, align 4, !tbaa !5
  %9967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9968 = call i32 @s2n_print_stacktrace(ptr noundef %9967) #13
  %9969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9970 = trunc nuw i8 %9969 to i1
  br i1 %9970, label %9971, label %9975

9971:                                             ; preds = %9965
  %9972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9973 = call i32 @fileno(ptr noundef %9972) #13
  %9974 = call i32 @isatty(i32 noundef %9973) #13
  %.not1815 = icmp eq i32 %9974, 0
  br i1 %.not1815, label %9975, label %9976

9975:                                             ; preds = %9971, %9965
  br label %9976

9976:                                             ; preds = %9971, %9975
  %.str.5.sink5439 = phi ptr [ @.str.5, %9975 ], [ @.str.2, %9971 ]
  store i32 %9966, ptr %377, align 4, !tbaa !5
  %9977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9978 = load i32, ptr @test_count, align 4, !tbaa !5
  %9979 = load i32, ptr %323, align 4, !tbaa !5
  %9980 = call ptr @s2n_strerror(i32 noundef %9979, ptr noundef nonnull @.str.4) #13
  %9981 = load i32, ptr %323, align 4, !tbaa !5
  %9982 = call ptr @s2n_strerror_debug(i32 noundef %9981, ptr noundef nonnull @.str.4) #13
  %9983 = load i32, ptr %377, align 4, !tbaa !5
  %9984 = call ptr @strerror(i32 noundef %9983) #13
  %9985 = load i32, ptr %377, align 4, !tbaa !5
  %9986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9977, ptr noundef nonnull %.str.5.sink5439, i32 noundef %9978, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 1085, ptr noundef %9980, ptr noundef %9982, ptr noundef %9984, i32 noundef %9985) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9987:                                             ; preds = %9960
  %9988 = add nsw i32 %9961, 2
  store i32 %9988, ptr @test_count, align 4, !tbaa !5
  %9989 = load ptr, ptr %9588, align 8, !tbaa !88
  %9990 = icmp eq ptr %9989, null
  br i1 %9990, label %10013, label %9991

9991:                                             ; preds = %9987
  %9992 = load i32, ptr %377, align 4, !tbaa !5
  %9993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9994 = call i32 @s2n_print_stacktrace(ptr noundef %9993) #13
  %9995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9996 = trunc nuw i8 %9995 to i1
  br i1 %9996, label %9997, label %10001

9997:                                             ; preds = %9991
  %9998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9999 = call i32 @fileno(ptr noundef %9998) #13
  %10000 = call i32 @isatty(i32 noundef %9999) #13
  %.not1816 = icmp eq i32 %10000, 0
  br i1 %.not1816, label %10001, label %10002

10001:                                            ; preds = %9997, %9991
  br label %10002

10002:                                            ; preds = %9997, %10001
  %.str.5.sink5448 = phi ptr [ @.str.5, %10001 ], [ @.str.2, %9997 ]
  store i32 %9992, ptr %377, align 4, !tbaa !5
  %10003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10004 = load i32, ptr @test_count, align 4, !tbaa !5
  %10005 = load i32, ptr %323, align 4, !tbaa !5
  %10006 = call ptr @s2n_strerror(i32 noundef %10005, ptr noundef nonnull @.str.4) #13
  %10007 = load i32, ptr %323, align 4, !tbaa !5
  %10008 = call ptr @s2n_strerror_debug(i32 noundef %10007, ptr noundef nonnull @.str.4) #13
  %10009 = load i32, ptr %377, align 4, !tbaa !5
  %10010 = call ptr @strerror(i32 noundef %10009) #13
  %10011 = load i32, ptr %377, align 4, !tbaa !5
  %10012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10003, ptr noundef nonnull %.str.5.sink5448, i32 noundef %10004, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 1086, ptr noundef %10006, ptr noundef %10008, ptr noundef %10010, i32 noundef %10011) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10013:                                            ; preds = %9987
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %91) #13
  %10014 = add nsw i32 %9961, 3
  store i32 %10014, ptr @test_count, align 4, !tbaa !5
  %10015 = call i32 @s2n_config_free(ptr noundef nonnull %9234) #13
  %10016 = icmp eq i32 %10015, -1
  br i1 %10016, label %10017, label %10039

10017:                                            ; preds = %10013
  %10018 = load i32, ptr %377, align 4, !tbaa !5
  %10019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10020 = call i32 @s2n_print_stacktrace(ptr noundef %10019) #13
  %10021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10022 = trunc nuw i8 %10021 to i1
  br i1 %10022, label %10023, label %10027

10023:                                            ; preds = %10017
  %10024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10025 = call i32 @fileno(ptr noundef %10024) #13
  %10026 = call i32 @isatty(i32 noundef %10025) #13
  %.not2031 = icmp eq i32 %10026, 0
  br i1 %.not2031, label %10027, label %10028

10027:                                            ; preds = %10023, %10017
  br label %10028

10028:                                            ; preds = %10023, %10027
  %.str.5.sink5457 = phi ptr [ @.str.5, %10027 ], [ @.str.2, %10023 ]
  store i32 %10018, ptr %377, align 4, !tbaa !5
  %10029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10030 = load i32, ptr @test_count, align 4, !tbaa !5
  %10031 = load i32, ptr %323, align 4, !tbaa !5
  %10032 = call ptr @s2n_strerror(i32 noundef %10031, ptr noundef nonnull @.str.4) #13
  %10033 = load i32, ptr %323, align 4, !tbaa !5
  %10034 = call ptr @s2n_strerror_debug(i32 noundef %10033, ptr noundef nonnull @.str.4) #13
  %10035 = load i32, ptr %377, align 4, !tbaa !5
  %10036 = call ptr @strerror(i32 noundef %10035) #13
  %10037 = load i32, ptr %377, align 4, !tbaa !5
  %10038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10029, ptr noundef nonnull %.str.5.sink5457, i32 noundef %10030, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.1, i32 noundef 1089, ptr noundef %10032, ptr noundef %10034, ptr noundef %10036, i32 noundef %10037) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10039:                                            ; preds = %10013
  %10040 = load i32, ptr @test_count, align 4, !tbaa !5
  %10041 = add nsw i32 %10040, 1
  store i32 %10041, ptr @test_count, align 4, !tbaa !5
  %10042 = call i32 @s2n_connection_free(ptr noundef nonnull %9181) #13
  %10043 = icmp eq i32 %10042, -1
  br i1 %10043, label %10044, label %10066

10044:                                            ; preds = %10039
  %10045 = load i32, ptr %377, align 4, !tbaa !5
  %10046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10047 = call i32 @s2n_print_stacktrace(ptr noundef %10046) #13
  %10048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10049 = trunc nuw i8 %10048 to i1
  br i1 %10049, label %10050, label %10054

10050:                                            ; preds = %10044
  %10051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10052 = call i32 @fileno(ptr noundef %10051) #13
  %10053 = call i32 @isatty(i32 noundef %10052) #13
  %.not2030 = icmp eq i32 %10053, 0
  br i1 %.not2030, label %10054, label %10055

10054:                                            ; preds = %10050, %10044
  br label %10055

10055:                                            ; preds = %10050, %10054
  %.str.5.sink5466 = phi ptr [ @.str.5, %10054 ], [ @.str.2, %10050 ]
  store i32 %10045, ptr %377, align 4, !tbaa !5
  %10056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10057 = load i32, ptr @test_count, align 4, !tbaa !5
  %10058 = load i32, ptr %323, align 4, !tbaa !5
  %10059 = call ptr @s2n_strerror(i32 noundef %10058, ptr noundef nonnull @.str.4) #13
  %10060 = load i32, ptr %323, align 4, !tbaa !5
  %10061 = call ptr @s2n_strerror_debug(i32 noundef %10060, ptr noundef nonnull @.str.4) #13
  %10062 = load i32, ptr %377, align 4, !tbaa !5
  %10063 = call ptr @strerror(i32 noundef %10062) #13
  %10064 = load i32, ptr %377, align 4, !tbaa !5
  %10065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10056, ptr noundef nonnull %.str.5.sink5466, i32 noundef %10057, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 1090, ptr noundef %10059, ptr noundef %10061, ptr noundef %10063, i32 noundef %10064) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10066:                                            ; preds = %10039
  %10067 = load i32, ptr @test_count, align 4, !tbaa !5
  %10068 = add nsw i32 %10067, 1
  store i32 %10068, ptr @test_count, align 4, !tbaa !5
  %10069 = call i32 @s2n_config_free(ptr noundef nonnull %9314) #13
  %10070 = icmp eq i32 %10069, -1
  br i1 %10070, label %10071, label %10093

10071:                                            ; preds = %10066
  %10072 = load i32, ptr %377, align 4, !tbaa !5
  %10073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10074 = call i32 @s2n_print_stacktrace(ptr noundef %10073) #13
  %10075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10076 = trunc nuw i8 %10075 to i1
  br i1 %10076, label %10077, label %10081

10077:                                            ; preds = %10071
  %10078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10079 = call i32 @fileno(ptr noundef %10078) #13
  %10080 = call i32 @isatty(i32 noundef %10079) #13
  %.not2029 = icmp eq i32 %10080, 0
  br i1 %.not2029, label %10081, label %10082

10081:                                            ; preds = %10077, %10071
  br label %10082

10082:                                            ; preds = %10077, %10081
  %.str.5.sink5475 = phi ptr [ @.str.5, %10081 ], [ @.str.2, %10077 ]
  store i32 %10072, ptr %377, align 4, !tbaa !5
  %10083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10084 = load i32, ptr @test_count, align 4, !tbaa !5
  %10085 = load i32, ptr %323, align 4, !tbaa !5
  %10086 = call ptr @s2n_strerror(i32 noundef %10085, ptr noundef nonnull @.str.4) #13
  %10087 = load i32, ptr %323, align 4, !tbaa !5
  %10088 = call ptr @s2n_strerror_debug(i32 noundef %10087, ptr noundef nonnull @.str.4) #13
  %10089 = load i32, ptr %377, align 4, !tbaa !5
  %10090 = call ptr @strerror(i32 noundef %10089) #13
  %10091 = load i32, ptr %377, align 4, !tbaa !5
  %10092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10083, ptr noundef nonnull %.str.5.sink5475, i32 noundef %10084, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 1091, ptr noundef %10086, ptr noundef %10088, ptr noundef %10090, i32 noundef %10091) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10093:                                            ; preds = %10066
  %10094 = call i32 @s2n_stuffer_free(ptr noundef nonnull %89) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %89) #13
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %88) #13
  %10095 = call i32 @s2n_stuffer_free(ptr noundef nonnull %87) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %87) #13
  call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %92) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(3) %92, ptr noundef nonnull align 1 dereferenceable(3) @__const.main.filler_binders, i64 3, i1 false)
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %93) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %93, ptr noundef nonnull align 1 dereferenceable(6) @__const.main.partial_client_hello_data, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %94) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %94, ptr noundef nonnull align 1 dereferenceable(7) @__const.main.secret_data, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %95, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %96, i8 0, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %97) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %97, i8 0, i64 24, i1 false)
  %10096 = load i32, ptr @test_count, align 4, !tbaa !5
  %10097 = add nsw i32 %10096, 1
  store i32 %10097, ptr @test_count, align 4, !tbaa !5
  %10098 = call i32 @s2n_blob_init(ptr noundef nonnull %97, ptr noundef nonnull %93, i32 noundef 6) #13
  %10099 = icmp eq i32 %10098, -1
  br i1 %10099, label %10100, label %10122

10100:                                            ; preds = %10093
  %10101 = load i32, ptr %377, align 4, !tbaa !5
  %10102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10103 = call i32 @s2n_print_stacktrace(ptr noundef %10102) #13
  %10104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10105 = trunc nuw i8 %10104 to i1
  br i1 %10105, label %10106, label %10110

10106:                                            ; preds = %10100
  %10107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10108 = call i32 @fileno(ptr noundef %10107) #13
  %10109 = call i32 @isatty(i32 noundef %10108) #13
  %.not2028 = icmp eq i32 %10109, 0
  br i1 %.not2028, label %10110, label %10111

10110:                                            ; preds = %10106, %10100
  br label %10111

10111:                                            ; preds = %10106, %10110
  %.str.5.sink5484 = phi ptr [ @.str.5, %10110 ], [ @.str.2, %10106 ]
  store i32 %10101, ptr %377, align 4, !tbaa !5
  %10112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10113 = load i32, ptr @test_count, align 4, !tbaa !5
  %10114 = load i32, ptr %323, align 4, !tbaa !5
  %10115 = call ptr @s2n_strerror(i32 noundef %10114, ptr noundef nonnull @.str.4) #13
  %10116 = load i32, ptr %323, align 4, !tbaa !5
  %10117 = call ptr @s2n_strerror_debug(i32 noundef %10116, ptr noundef nonnull @.str.4) #13
  %10118 = load i32, ptr %377, align 4, !tbaa !5
  %10119 = call ptr @strerror(i32 noundef %10118) #13
  %10120 = load i32, ptr %377, align 4, !tbaa !5
  %10121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10112, ptr noundef nonnull %.str.5.sink5484, i32 noundef %10113, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.1, i32 noundef 1113, ptr noundef %10115, ptr noundef %10117, ptr noundef %10119, i32 noundef %10120) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10122:                                            ; preds = %10093
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %98) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %98, i8 0, i64 24, i1 false)
  %10123 = load i32, ptr @test_count, align 4, !tbaa !5
  %10124 = add nsw i32 %10123, 1
  store i32 %10124, ptr @test_count, align 4, !tbaa !5
  %10125 = call i32 @s2n_blob_init(ptr noundef nonnull %98, ptr noundef nonnull %95, i32 noundef 32) #13
  %10126 = icmp eq i32 %10125, -1
  br i1 %10126, label %10127, label %10149

10127:                                            ; preds = %10122
  %10128 = load i32, ptr %377, align 4, !tbaa !5
  %10129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10130 = call i32 @s2n_print_stacktrace(ptr noundef %10129) #13
  %10131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10132 = trunc nuw i8 %10131 to i1
  br i1 %10132, label %10133, label %10137

10133:                                            ; preds = %10127
  %10134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10135 = call i32 @fileno(ptr noundef %10134) #13
  %10136 = call i32 @isatty(i32 noundef %10135) #13
  %.not2027 = icmp eq i32 %10136, 0
  br i1 %.not2027, label %10137, label %10138

10137:                                            ; preds = %10133, %10127
  br label %10138

10138:                                            ; preds = %10133, %10137
  %.str.5.sink5493 = phi ptr [ @.str.5, %10137 ], [ @.str.2, %10133 ]
  store i32 %10128, ptr %377, align 4, !tbaa !5
  %10139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10140 = load i32, ptr @test_count, align 4, !tbaa !5
  %10141 = load i32, ptr %323, align 4, !tbaa !5
  %10142 = call ptr @s2n_strerror(i32 noundef %10141, ptr noundef nonnull @.str.4) #13
  %10143 = load i32, ptr %323, align 4, !tbaa !5
  %10144 = call ptr @s2n_strerror_debug(i32 noundef %10143, ptr noundef nonnull @.str.4) #13
  %10145 = load i32, ptr %377, align 4, !tbaa !5
  %10146 = call ptr @strerror(i32 noundef %10145) #13
  %10147 = load i32, ptr %377, align 4, !tbaa !5
  %10148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10139, ptr noundef nonnull %.str.5.sink5493, i32 noundef %10140, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.1, i32 noundef 1116, ptr noundef %10142, ptr noundef %10144, ptr noundef %10146, i32 noundef %10147) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10149:                                            ; preds = %10122
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %99) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %99, i8 0, i64 24, i1 false)
  %10150 = load i32, ptr @test_count, align 4, !tbaa !5
  %10151 = add nsw i32 %10150, 1
  store i32 %10151, ptr @test_count, align 4, !tbaa !5
  %10152 = call i32 @s2n_blob_init(ptr noundef nonnull %99, ptr noundef nonnull %96, i32 noundef 32) #13
  %10153 = icmp eq i32 %10152, -1
  br i1 %10153, label %10154, label %10176

10154:                                            ; preds = %10149
  %10155 = load i32, ptr %377, align 4, !tbaa !5
  %10156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10157 = call i32 @s2n_print_stacktrace(ptr noundef %10156) #13
  %10158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10159 = trunc nuw i8 %10158 to i1
  br i1 %10159, label %10160, label %10164

10160:                                            ; preds = %10154
  %10161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10162 = call i32 @fileno(ptr noundef %10161) #13
  %10163 = call i32 @isatty(i32 noundef %10162) #13
  %.not2026 = icmp eq i32 %10163, 0
  br i1 %.not2026, label %10164, label %10165

10164:                                            ; preds = %10160, %10154
  br label %10165

10165:                                            ; preds = %10160, %10164
  %.str.5.sink5502 = phi ptr [ @.str.5, %10164 ], [ @.str.2, %10160 ]
  store i32 %10155, ptr %377, align 4, !tbaa !5
  %10166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10167 = load i32, ptr @test_count, align 4, !tbaa !5
  %10168 = load i32, ptr %323, align 4, !tbaa !5
  %10169 = call ptr @s2n_strerror(i32 noundef %10168, ptr noundef nonnull @.str.4) #13
  %10170 = load i32, ptr %323, align 4, !tbaa !5
  %10171 = call ptr @s2n_strerror_debug(i32 noundef %10170, ptr noundef nonnull @.str.4) #13
  %10172 = load i32, ptr %377, align 4, !tbaa !5
  %10173 = call ptr @strerror(i32 noundef %10172) #13
  %10174 = load i32, ptr %377, align 4, !tbaa !5
  %10175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10166, ptr noundef nonnull %.str.5.sink5502, i32 noundef %10167, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.1, i32 noundef 1119, ptr noundef %10169, ptr noundef %10171, ptr noundef %10173, i32 noundef %10174) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10176:                                            ; preds = %10149
  %10177 = load i32, ptr @test_count, align 4, !tbaa !5
  %10178 = add nsw i32 %10177, 1
  store i32 %10178, ptr @test_count, align 4, !tbaa !5
  %10179 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %10180 = icmp eq ptr %10179, null
  br i1 %10180, label %10181, label %10203

10181:                                            ; preds = %10176
  %10182 = load i32, ptr %377, align 4, !tbaa !5
  %10183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10184 = call i32 @s2n_print_stacktrace(ptr noundef %10183) #13
  %10185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10186 = trunc nuw i8 %10185 to i1
  br i1 %10186, label %10187, label %10191

10187:                                            ; preds = %10181
  %10188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10189 = call i32 @fileno(ptr noundef %10188) #13
  %10190 = call i32 @isatty(i32 noundef %10189) #13
  %.not2025 = icmp eq i32 %10190, 0
  br i1 %.not2025, label %10191, label %10192

10191:                                            ; preds = %10187, %10181
  br label %10192

10192:                                            ; preds = %10187, %10191
  %.str.5.sink5511 = phi ptr [ @.str.5, %10191 ], [ @.str.2, %10187 ]
  store i32 %10182, ptr %377, align 4, !tbaa !5
  %10193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10194 = load i32, ptr @test_count, align 4, !tbaa !5
  %10195 = load i32, ptr %323, align 4, !tbaa !5
  %10196 = call ptr @s2n_strerror(i32 noundef %10195, ptr noundef nonnull @.str.4) #13
  %10197 = load i32, ptr %323, align 4, !tbaa !5
  %10198 = call ptr @s2n_strerror_debug(i32 noundef %10197, ptr noundef nonnull @.str.4) #13
  %10199 = load i32, ptr %377, align 4, !tbaa !5
  %10200 = call ptr @strerror(i32 noundef %10199) #13
  %10201 = load i32, ptr %377, align 4, !tbaa !5
  %10202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10193, ptr noundef nonnull %.str.5.sink5511, i32 noundef %10194, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 1122, ptr noundef %10196, ptr noundef %10198, ptr noundef %10200, i32 noundef %10201) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10203:                                            ; preds = %10176
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %100) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %100, i8 0, i64 168, i1 false)
  %10204 = load i32, ptr @test_count, align 4, !tbaa !5
  %10205 = add nsw i32 %10204, 1
  store i32 %10205, ptr @test_count, align 4, !tbaa !5
  %10206 = call i32 @s2n_psk_init(ptr noundef nonnull %100, i32 noundef 1) #13
  %10207 = call zeroext i1 @s2n_result_is_ok(i32 %10206)
  br i1 %10207, label %10230, label %10208

10208:                                            ; preds = %10203
  %10209 = load i32, ptr %377, align 4, !tbaa !5
  %10210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10211 = call i32 @s2n_print_stacktrace(ptr noundef %10210) #13
  %10212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10213 = trunc nuw i8 %10212 to i1
  br i1 %10213, label %10214, label %10218

10214:                                            ; preds = %10208
  %10215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10216 = call i32 @fileno(ptr noundef %10215) #13
  %10217 = call i32 @isatty(i32 noundef %10216) #13
  %.not1817 = icmp eq i32 %10217, 0
  br i1 %.not1817, label %10218, label %10219

10218:                                            ; preds = %10214, %10208
  br label %10219

10219:                                            ; preds = %10214, %10218
  %.str.5.sink5520 = phi ptr [ @.str.5, %10218 ], [ @.str.2, %10214 ]
  store i32 %10209, ptr %377, align 4, !tbaa !5
  %10220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10221 = load i32, ptr @test_count, align 4, !tbaa !5
  %10222 = load i32, ptr %323, align 4, !tbaa !5
  %10223 = call ptr @s2n_strerror(i32 noundef %10222, ptr noundef nonnull @.str.4) #13
  %10224 = load i32, ptr %323, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror_debug(i32 noundef %10224, ptr noundef nonnull @.str.4) #13
  %10226 = load i32, ptr %377, align 4, !tbaa !5
  %10227 = call ptr @strerror(i32 noundef %10226) #13
  %10228 = load i32, ptr %377, align 4, !tbaa !5
  %10229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10220, ptr noundef nonnull %.str.5.sink5520, i32 noundef %10221, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.1, i32 noundef 1125, ptr noundef %10223, ptr noundef %10225, ptr noundef %10227, i32 noundef %10228) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10230:                                            ; preds = %10203
  %10231 = load i32, ptr @test_count, align 4, !tbaa !5
  %10232 = add nsw i32 %10231, 1
  store i32 %10232, ptr @test_count, align 4, !tbaa !5
  %10233 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %100, ptr noundef nonnull %94, i16 noundef zeroext 7) #13
  %10234 = icmp eq i32 %10233, -1
  br i1 %10234, label %10235, label %10257

10235:                                            ; preds = %10230
  %10236 = load i32, ptr %377, align 4, !tbaa !5
  %10237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10238 = call i32 @s2n_print_stacktrace(ptr noundef %10237) #13
  %10239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10240 = trunc nuw i8 %10239 to i1
  br i1 %10240, label %10241, label %10245

10241:                                            ; preds = %10235
  %10242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10243 = call i32 @fileno(ptr noundef %10242) #13
  %10244 = call i32 @isatty(i32 noundef %10243) #13
  %.not2024 = icmp eq i32 %10244, 0
  br i1 %.not2024, label %10245, label %10246

10245:                                            ; preds = %10241, %10235
  br label %10246

10246:                                            ; preds = %10241, %10245
  %.str.5.sink5529 = phi ptr [ @.str.5, %10245 ], [ @.str.2, %10241 ]
  store i32 %10236, ptr %377, align 4, !tbaa !5
  %10247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10248 = load i32, ptr @test_count, align 4, !tbaa !5
  %10249 = load i32, ptr %323, align 4, !tbaa !5
  %10250 = call ptr @s2n_strerror(i32 noundef %10249, ptr noundef nonnull @.str.4) #13
  %10251 = load i32, ptr %323, align 4, !tbaa !5
  %10252 = call ptr @s2n_strerror_debug(i32 noundef %10251, ptr noundef nonnull @.str.4) #13
  %10253 = load i32, ptr %377, align 4, !tbaa !5
  %10254 = call ptr @strerror(i32 noundef %10253) #13
  %10255 = load i32, ptr %377, align 4, !tbaa !5
  %10256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10247, ptr noundef nonnull %.str.5.sink5529, i32 noundef %10248, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.1, i32 noundef 1126, ptr noundef %10250, ptr noundef %10252, ptr noundef %10254, i32 noundef %10255) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10257:                                            ; preds = %10230
  %10258 = load i32, ptr @test_count, align 4, !tbaa !5
  %10259 = add nsw i32 %10258, 1
  store i32 %10259, ptr @test_count, align 4, !tbaa !5
  %10260 = getelementptr inbounds i8, ptr %100, i64 56
  %10261 = load i32, ptr %10260, align 8, !tbaa !55
  %10262 = call i32 @s2n_psk_calculate_binder_hash(ptr noundef nonnull %10179, i32 noundef %10261, ptr noundef nonnull %97, ptr noundef nonnull %98) #13
  %10263 = icmp eq i32 %10262, -1
  br i1 %10263, label %10264, label %10286

10264:                                            ; preds = %10257
  %10265 = load i32, ptr %377, align 4, !tbaa !5
  %10266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10267 = call i32 @s2n_print_stacktrace(ptr noundef %10266) #13
  %10268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10269 = trunc nuw i8 %10268 to i1
  br i1 %10269, label %10270, label %10274

10270:                                            ; preds = %10264
  %10271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10272 = call i32 @fileno(ptr noundef %10271) #13
  %10273 = call i32 @isatty(i32 noundef %10272) #13
  %.not2023 = icmp eq i32 %10273, 0
  br i1 %.not2023, label %10274, label %10275

10274:                                            ; preds = %10270, %10264
  br label %10275

10275:                                            ; preds = %10270, %10274
  %.str.5.sink5538 = phi ptr [ @.str.5, %10274 ], [ @.str.2, %10270 ]
  store i32 %10265, ptr %377, align 4, !tbaa !5
  %10276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10277 = load i32, ptr @test_count, align 4, !tbaa !5
  %10278 = load i32, ptr %323, align 4, !tbaa !5
  %10279 = call ptr @s2n_strerror(i32 noundef %10278, ptr noundef nonnull @.str.4) #13
  %10280 = load i32, ptr %323, align 4, !tbaa !5
  %10281 = call ptr @s2n_strerror_debug(i32 noundef %10280, ptr noundef nonnull @.str.4) #13
  %10282 = load i32, ptr %377, align 4, !tbaa !5
  %10283 = call ptr @strerror(i32 noundef %10282) #13
  %10284 = load i32, ptr %377, align 4, !tbaa !5
  %10285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10276, ptr noundef nonnull %.str.5.sink5538, i32 noundef %10277, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.1, i32 noundef 1128, ptr noundef %10279, ptr noundef %10281, ptr noundef %10283, i32 noundef %10284) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10286:                                            ; preds = %10257
  %10287 = load i32, ptr @test_count, align 4, !tbaa !5
  %10288 = add nsw i32 %10287, 1
  store i32 %10288, ptr @test_count, align 4, !tbaa !5
  %10289 = call i32 @s2n_psk_calculate_binder(ptr noundef nonnull %100, ptr noundef nonnull %98, ptr noundef nonnull %99) #13
  %10290 = icmp eq i32 %10289, -1
  br i1 %10290, label %10291, label %10313

10291:                                            ; preds = %10286
  %10292 = load i32, ptr %377, align 4, !tbaa !5
  %10293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10294 = call i32 @s2n_print_stacktrace(ptr noundef %10293) #13
  %10295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10296 = trunc nuw i8 %10295 to i1
  br i1 %10296, label %10297, label %10301

10297:                                            ; preds = %10291
  %10298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10299 = call i32 @fileno(ptr noundef %10298) #13
  %10300 = call i32 @isatty(i32 noundef %10299) #13
  %.not2022 = icmp eq i32 %10300, 0
  br i1 %.not2022, label %10301, label %10302

10301:                                            ; preds = %10297, %10291
  br label %10302

10302:                                            ; preds = %10297, %10301
  %.str.5.sink5547 = phi ptr [ @.str.5, %10301 ], [ @.str.2, %10297 ]
  store i32 %10292, ptr %377, align 4, !tbaa !5
  %10303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10304 = load i32, ptr @test_count, align 4, !tbaa !5
  %10305 = load i32, ptr %323, align 4, !tbaa !5
  %10306 = call ptr @s2n_strerror(i32 noundef %10305, ptr noundef nonnull @.str.4) #13
  %10307 = load i32, ptr %323, align 4, !tbaa !5
  %10308 = call ptr @s2n_strerror_debug(i32 noundef %10307, ptr noundef nonnull @.str.4) #13
  %10309 = load i32, ptr %377, align 4, !tbaa !5
  %10310 = call ptr @strerror(i32 noundef %10309) #13
  %10311 = load i32, ptr %377, align 4, !tbaa !5
  %10312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10303, ptr noundef nonnull %.str.5.sink5547, i32 noundef %10304, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.1, i32 noundef 1129, ptr noundef %10306, ptr noundef %10308, ptr noundef %10310, i32 noundef %10311) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10313:                                            ; preds = %10286
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %101) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %101, i8 0, i64 40, i1 false)
  %10314 = load i32, ptr @test_count, align 4, !tbaa !5
  %10315 = add nsw i32 %10314, 1
  store i32 %10315, ptr @test_count, align 4, !tbaa !5
  %10316 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %101, i32 noundef 3) #13
  %10317 = icmp eq i32 %10316, -1
  br i1 %10317, label %10318, label %10340

10318:                                            ; preds = %10313
  %10319 = load i32, ptr %377, align 4, !tbaa !5
  %10320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10321 = call i32 @s2n_print_stacktrace(ptr noundef %10320) #13
  %10322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10323 = trunc nuw i8 %10322 to i1
  br i1 %10323, label %10324, label %10328

10324:                                            ; preds = %10318
  %10325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10326 = call i32 @fileno(ptr noundef %10325) #13
  %10327 = call i32 @isatty(i32 noundef %10326) #13
  %.not2021 = icmp eq i32 %10327, 0
  br i1 %.not2021, label %10328, label %10329

10328:                                            ; preds = %10324, %10318
  br label %10329

10329:                                            ; preds = %10324, %10328
  %.str.5.sink5556 = phi ptr [ @.str.5, %10328 ], [ @.str.2, %10324 ]
  store i32 %10319, ptr %377, align 4, !tbaa !5
  %10330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10331 = load i32, ptr @test_count, align 4, !tbaa !5
  %10332 = load i32, ptr %323, align 4, !tbaa !5
  %10333 = call ptr @s2n_strerror(i32 noundef %10332, ptr noundef nonnull @.str.4) #13
  %10334 = load i32, ptr %323, align 4, !tbaa !5
  %10335 = call ptr @s2n_strerror_debug(i32 noundef %10334, ptr noundef nonnull @.str.4) #13
  %10336 = load i32, ptr %377, align 4, !tbaa !5
  %10337 = call ptr @strerror(i32 noundef %10336) #13
  %10338 = load i32, ptr %377, align 4, !tbaa !5
  %10339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10330, ptr noundef nonnull %.str.5.sink5556, i32 noundef %10331, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.1, i32 noundef 1132, ptr noundef %10333, ptr noundef %10335, ptr noundef %10337, i32 noundef %10338) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10340:                                            ; preds = %10313
  %10341 = load i32, ptr @test_count, align 4, !tbaa !5
  %10342 = add nsw i32 %10341, 1
  store i32 %10342, ptr @test_count, align 4, !tbaa !5
  %10343 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %101, ptr noundef nonnull %92, i32 noundef 3) #13
  %10344 = icmp eq i32 %10343, -1
  br i1 %10344, label %10345, label %10367

10345:                                            ; preds = %10340
  %10346 = load i32, ptr %377, align 4, !tbaa !5
  %10347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10348 = call i32 @s2n_print_stacktrace(ptr noundef %10347) #13
  %10349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10350 = trunc nuw i8 %10349 to i1
  br i1 %10350, label %10351, label %10355

10351:                                            ; preds = %10345
  %10352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10353 = call i32 @fileno(ptr noundef %10352) #13
  %10354 = call i32 @isatty(i32 noundef %10353) #13
  %.not2020 = icmp eq i32 %10354, 0
  br i1 %.not2020, label %10355, label %10356

10355:                                            ; preds = %10351, %10345
  br label %10356

10356:                                            ; preds = %10351, %10355
  %.str.5.sink5565 = phi ptr [ @.str.5, %10355 ], [ @.str.2, %10351 ]
  store i32 %10346, ptr %377, align 4, !tbaa !5
  %10357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10358 = load i32, ptr @test_count, align 4, !tbaa !5
  %10359 = load i32, ptr %323, align 4, !tbaa !5
  %10360 = call ptr @s2n_strerror(i32 noundef %10359, ptr noundef nonnull @.str.4) #13
  %10361 = load i32, ptr %323, align 4, !tbaa !5
  %10362 = call ptr @s2n_strerror_debug(i32 noundef %10361, ptr noundef nonnull @.str.4) #13
  %10363 = load i32, ptr %377, align 4, !tbaa !5
  %10364 = call ptr @strerror(i32 noundef %10363) #13
  %10365 = load i32, ptr %377, align 4, !tbaa !5
  %10366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10357, ptr noundef nonnull %.str.5.sink5565, i32 noundef %10358, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.1, i32 noundef 1133, ptr noundef %10360, ptr noundef %10362, ptr noundef %10364, i32 noundef %10365) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10367:                                            ; preds = %10340
  %10368 = load i32, ptr @test_count, align 4, !tbaa !5
  %10369 = add nsw i32 %10368, 1
  store i32 %10369, ptr @test_count, align 4, !tbaa !5
  %10370 = getelementptr inbounds i8, ptr %99, i64 8
  %10371 = load i32, ptr %10370, align 8, !tbaa !85
  %10372 = trunc i32 %10371 to i8
  %10373 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %101, i8 noundef zeroext %10372) #13
  %10374 = icmp eq i32 %10373, -1
  br i1 %10374, label %10375, label %10397

10375:                                            ; preds = %10367
  %10376 = load i32, ptr %377, align 4, !tbaa !5
  %10377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10378 = call i32 @s2n_print_stacktrace(ptr noundef %10377) #13
  %10379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10380 = trunc nuw i8 %10379 to i1
  br i1 %10380, label %10381, label %10385

10381:                                            ; preds = %10375
  %10382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10383 = call i32 @fileno(ptr noundef %10382) #13
  %10384 = call i32 @isatty(i32 noundef %10383) #13
  %.not2019 = icmp eq i32 %10384, 0
  br i1 %.not2019, label %10385, label %10386

10385:                                            ; preds = %10381, %10375
  br label %10386

10386:                                            ; preds = %10381, %10385
  %.str.5.sink5574 = phi ptr [ @.str.5, %10385 ], [ @.str.2, %10381 ]
  store i32 %10376, ptr %377, align 4, !tbaa !5
  %10387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10388 = load i32, ptr @test_count, align 4, !tbaa !5
  %10389 = load i32, ptr %323, align 4, !tbaa !5
  %10390 = call ptr @s2n_strerror(i32 noundef %10389, ptr noundef nonnull @.str.4) #13
  %10391 = load i32, ptr %323, align 4, !tbaa !5
  %10392 = call ptr @s2n_strerror_debug(i32 noundef %10391, ptr noundef nonnull @.str.4) #13
  %10393 = load i32, ptr %377, align 4, !tbaa !5
  %10394 = call ptr @strerror(i32 noundef %10393) #13
  %10395 = load i32, ptr %377, align 4, !tbaa !5
  %10396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10387, ptr noundef nonnull %.str.5.sink5574, i32 noundef %10388, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.1, i32 noundef 1134, ptr noundef %10390, ptr noundef %10392, ptr noundef %10394, i32 noundef %10395) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10397:                                            ; preds = %10367
  %10398 = load i32, ptr @test_count, align 4, !tbaa !5
  %10399 = add nsw i32 %10398, 1
  store i32 %10399, ptr @test_count, align 4, !tbaa !5
  %10400 = call i32 @s2n_stuffer_write(ptr noundef nonnull %101, ptr noundef nonnull %99) #13
  %10401 = icmp eq i32 %10400, -1
  br i1 %10401, label %10402, label %10424

10402:                                            ; preds = %10397
  %10403 = load i32, ptr %377, align 4, !tbaa !5
  %10404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10405 = call i32 @s2n_print_stacktrace(ptr noundef %10404) #13
  %10406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10407 = trunc nuw i8 %10406 to i1
  br i1 %10407, label %10408, label %10412

10408:                                            ; preds = %10402
  %10409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10410 = call i32 @fileno(ptr noundef %10409) #13
  %10411 = call i32 @isatty(i32 noundef %10410) #13
  %.not2018 = icmp eq i32 %10411, 0
  br i1 %.not2018, label %10412, label %10413

10412:                                            ; preds = %10408, %10402
  br label %10413

10413:                                            ; preds = %10408, %10412
  %.str.5.sink5583 = phi ptr [ @.str.5, %10412 ], [ @.str.2, %10408 ]
  store i32 %10403, ptr %377, align 4, !tbaa !5
  %10414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10415 = load i32, ptr @test_count, align 4, !tbaa !5
  %10416 = load i32, ptr %323, align 4, !tbaa !5
  %10417 = call ptr @s2n_strerror(i32 noundef %10416, ptr noundef nonnull @.str.4) #13
  %10418 = load i32, ptr %323, align 4, !tbaa !5
  %10419 = call ptr @s2n_strerror_debug(i32 noundef %10418, ptr noundef nonnull @.str.4) #13
  %10420 = load i32, ptr %377, align 4, !tbaa !5
  %10421 = call ptr @strerror(i32 noundef %10420) #13
  %10422 = load i32, ptr %377, align 4, !tbaa !5
  %10423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10414, ptr noundef nonnull %.str.5.sink5583, i32 noundef %10415, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.1, i32 noundef 1135, ptr noundef %10417, ptr noundef %10419, ptr noundef %10421, i32 noundef %10422) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10424:                                            ; preds = %10397
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %102) #13
  store i8 0, ptr %102, align 1
  %10425 = getelementptr inbounds i8, ptr %10179, i64 1736
  store ptr %100, ptr %10425, align 8, !tbaa !88
  %10426 = getelementptr inbounds i8, ptr %10179, i64 1730
  store i16 2, ptr %10426, align 2, !tbaa !87
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %103) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %103, i8 0, i64 40, i1 false)
  %10427 = load i32, ptr @test_count, align 4, !tbaa !5
  %10428 = add nsw i32 %10427, 1
  store i32 %10428, ptr @test_count, align 4, !tbaa !5
  %10429 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %103, i32 noundef 1) #13
  %10430 = icmp eq i32 %10429, -1
  br i1 %10430, label %10431, label %10453

10431:                                            ; preds = %10424
  %10432 = load i32, ptr %377, align 4, !tbaa !5
  %10433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10434 = call i32 @s2n_print_stacktrace(ptr noundef %10433) #13
  %10435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10436 = trunc nuw i8 %10435 to i1
  br i1 %10436, label %10437, label %10441

10437:                                            ; preds = %10431
  %10438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10439 = call i32 @fileno(ptr noundef %10438) #13
  %10440 = call i32 @isatty(i32 noundef %10439) #13
  %.not2017 = icmp eq i32 %10440, 0
  br i1 %.not2017, label %10441, label %10442

10441:                                            ; preds = %10437, %10431
  br label %10442

10442:                                            ; preds = %10437, %10441
  %.str.5.sink5592 = phi ptr [ @.str.5, %10441 ], [ @.str.2, %10437 ]
  store i32 %10432, ptr %377, align 4, !tbaa !5
  %10443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10444 = load i32, ptr @test_count, align 4, !tbaa !5
  %10445 = load i32, ptr %323, align 4, !tbaa !5
  %10446 = call ptr @s2n_strerror(i32 noundef %10445, ptr noundef nonnull @.str.4) #13
  %10447 = load i32, ptr %323, align 4, !tbaa !5
  %10448 = call ptr @s2n_strerror_debug(i32 noundef %10447, ptr noundef nonnull @.str.4) #13
  %10449 = load i32, ptr %377, align 4, !tbaa !5
  %10450 = call ptr @strerror(i32 noundef %10449) #13
  %10451 = load i32, ptr %377, align 4, !tbaa !5
  %10452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10443, ptr noundef nonnull %.str.5.sink5592, i32 noundef %10444, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.1, i32 noundef 1144, ptr noundef %10446, ptr noundef %10448, ptr noundef %10450, i32 noundef %10451) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10453:                                            ; preds = %10424
  %10454 = load i32, ptr @test_count, align 4, !tbaa !5
  %10455 = add nsw i32 %10454, 1
  store i32 %10455, ptr @test_count, align 4, !tbaa !5
  %10456 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %103, ptr noundef nonnull %102, i32 noundef 1) #13
  %10457 = icmp eq i32 %10456, -1
  br i1 %10457, label %10458, label %10480

10458:                                            ; preds = %10453
  %10459 = load i32, ptr %377, align 4, !tbaa !5
  %10460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10461 = call i32 @s2n_print_stacktrace(ptr noundef %10460) #13
  %10462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10463 = trunc nuw i8 %10462 to i1
  br i1 %10463, label %10464, label %10468

10464:                                            ; preds = %10458
  %10465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10466 = call i32 @fileno(ptr noundef %10465) #13
  %10467 = call i32 @isatty(i32 noundef %10466) #13
  %.not2016 = icmp eq i32 %10467, 0
  br i1 %.not2016, label %10468, label %10469

10468:                                            ; preds = %10464, %10458
  br label %10469

10469:                                            ; preds = %10464, %10468
  %.str.5.sink5601 = phi ptr [ @.str.5, %10468 ], [ @.str.2, %10464 ]
  store i32 %10459, ptr %377, align 4, !tbaa !5
  %10470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10471 = load i32, ptr @test_count, align 4, !tbaa !5
  %10472 = load i32, ptr %323, align 4, !tbaa !5
  %10473 = call ptr @s2n_strerror(i32 noundef %10472, ptr noundef nonnull @.str.4) #13
  %10474 = load i32, ptr %323, align 4, !tbaa !5
  %10475 = call ptr @s2n_strerror_debug(i32 noundef %10474, ptr noundef nonnull @.str.4) #13
  %10476 = load i32, ptr %377, align 4, !tbaa !5
  %10477 = call ptr @strerror(i32 noundef %10476) #13
  %10478 = load i32, ptr %377, align 4, !tbaa !5
  %10479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10470, ptr noundef nonnull %.str.5.sink5601, i32 noundef %10471, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 1145, ptr noundef %10473, ptr noundef %10475, ptr noundef %10477, i32 noundef %10478) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10480:                                            ; preds = %10453
  %10481 = load i32, ptr @test_count, align 4, !tbaa !5
  %10482 = add nsw i32 %10481, 1
  store i32 %10482, ptr @test_count, align 4, !tbaa !5
  %10483 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef nonnull %10179, ptr noundef nonnull %97, ptr noundef nonnull %103)
  %10484 = call zeroext i1 @s2n_result_is_error(i32 %10483)
  br i1 %10484, label %10507, label %10485

10485:                                            ; preds = %10480
  %10486 = load i32, ptr %377, align 4, !tbaa !5
  %10487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10488 = call i32 @s2n_print_stacktrace(ptr noundef %10487) #13
  %10489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10490 = trunc nuw i8 %10489 to i1
  br i1 %10490, label %10491, label %10495

10491:                                            ; preds = %10485
  %10492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10493 = call i32 @fileno(ptr noundef %10492) #13
  %10494 = call i32 @isatty(i32 noundef %10493) #13
  %.not1818 = icmp eq i32 %10494, 0
  br i1 %.not1818, label %10495, label %10496

10495:                                            ; preds = %10491, %10485
  br label %10496

10496:                                            ; preds = %10491, %10495
  %.str.5.sink5610 = phi ptr [ @.str.5, %10495 ], [ @.str.2, %10491 ]
  store i32 %10486, ptr %377, align 4, !tbaa !5
  %10497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10498 = load i32, ptr @test_count, align 4, !tbaa !5
  %10499 = load i32, ptr %323, align 4, !tbaa !5
  %10500 = call ptr @s2n_strerror(i32 noundef %10499, ptr noundef nonnull @.str.4) #13
  %10501 = load i32, ptr %323, align 4, !tbaa !5
  %10502 = call ptr @s2n_strerror_debug(i32 noundef %10501, ptr noundef nonnull @.str.4) #13
  %10503 = load i32, ptr %377, align 4, !tbaa !5
  %10504 = call ptr @strerror(i32 noundef %10503) #13
  %10505 = load i32, ptr %377, align 4, !tbaa !5
  %10506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10497, ptr noundef nonnull %.str.5.sink5610, i32 noundef %10498, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.1, i32 noundef 1148, ptr noundef %10500, ptr noundef %10502, ptr noundef %10504, i32 noundef %10505) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10507:                                            ; preds = %10480
  %10508 = load i32, ptr @test_count, align 4, !tbaa !5
  %10509 = add nsw i32 %10508, 1
  store i32 %10509, ptr @test_count, align 4, !tbaa !5
  %10510 = load i32, ptr %323, align 4, !tbaa !5
  %10511 = icmp eq i32 %10510, 335544322
  br i1 %10511, label %10534, label %10512

10512:                                            ; preds = %10507
  %10513 = load i32, ptr %377, align 4, !tbaa !5
  %10514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10515 = call i32 @s2n_print_stacktrace(ptr noundef %10514) #13
  %10516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10517 = trunc nuw i8 %10516 to i1
  br i1 %10517, label %10518, label %10522

10518:                                            ; preds = %10512
  %10519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10520 = call i32 @fileno(ptr noundef %10519) #13
  %10521 = call i32 @isatty(i32 noundef %10520) #13
  %.not1819 = icmp eq i32 %10521, 0
  br i1 %.not1819, label %10522, label %10523

10522:                                            ; preds = %10518, %10512
  br label %10523

10523:                                            ; preds = %10518, %10522
  %.str.5.sink5619 = phi ptr [ @.str.5, %10522 ], [ @.str.2, %10518 ]
  store i32 %10513, ptr %377, align 4, !tbaa !5
  %10524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10525 = load i32, ptr @test_count, align 4, !tbaa !5
  %10526 = load i32, ptr %323, align 4, !tbaa !5
  %10527 = call ptr @s2n_strerror(i32 noundef %10526, ptr noundef nonnull @.str.4) #13
  %10528 = load i32, ptr %323, align 4, !tbaa !5
  %10529 = call ptr @s2n_strerror_debug(i32 noundef %10528, ptr noundef nonnull @.str.4) #13
  %10530 = load i32, ptr %377, align 4, !tbaa !5
  %10531 = call ptr @strerror(i32 noundef %10530) #13
  %10532 = load i32, ptr %377, align 4, !tbaa !5
  %10533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10524, ptr noundef nonnull %.str.5.sink5619, i32 noundef %10525, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 1148, ptr noundef %10527, ptr noundef %10529, ptr noundef %10531, i32 noundef %10532) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10534:                                            ; preds = %10507
  %10535 = add nsw i32 %10508, 2
  store i32 %10535, ptr @test_count, align 4, !tbaa !5
  %10536 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #13
  %10537 = icmp eq ptr %10536, null
  br i1 %10537, label %10538, label %10560

10538:                                            ; preds = %10534
  %10539 = load i32, ptr %377, align 4, !tbaa !5
  %10540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10541 = call i32 @s2n_print_stacktrace(ptr noundef %10540) #13
  %10542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10543 = trunc nuw i8 %10542 to i1
  br i1 %10543, label %10544, label %10548

10544:                                            ; preds = %10538
  %10545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10546 = call i32 @fileno(ptr noundef %10545) #13
  %10547 = call i32 @isatty(i32 noundef %10546) #13
  %.not2015 = icmp eq i32 %10547, 0
  br i1 %.not2015, label %10548, label %10549

10548:                                            ; preds = %10544, %10538
  br label %10549

10549:                                            ; preds = %10544, %10548
  %.str.5.sink5628 = phi ptr [ @.str.5, %10548 ], [ @.str.2, %10544 ]
  store i32 %10539, ptr %377, align 4, !tbaa !5
  %10550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10551 = load i32, ptr @test_count, align 4, !tbaa !5
  %10552 = load i32, ptr %323, align 4, !tbaa !5
  %10553 = call ptr @s2n_strerror(i32 noundef %10552, ptr noundef nonnull @.str.4) #13
  %10554 = load i32, ptr %323, align 4, !tbaa !5
  %10555 = call ptr @s2n_strerror_debug(i32 noundef %10554, ptr noundef nonnull @.str.4) #13
  %10556 = load i32, ptr %377, align 4, !tbaa !5
  %10557 = call ptr @strerror(i32 noundef %10556) #13
  %10558 = load i32, ptr %377, align 4, !tbaa !5
  %10559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10550, ptr noundef nonnull %.str.5.sink5628, i32 noundef %10551, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1148, ptr noundef %10553, ptr noundef %10555, ptr noundef %10557, i32 noundef %10558) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10560:                                            ; preds = %10534
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %10561 = load i32, ptr @test_count, align 4, !tbaa !5
  %10562 = add nsw i32 %10561, 1
  store i32 %10562, ptr @test_count, align 4, !tbaa !5
  %10563 = call i32 @s2n_stuffer_free(ptr noundef nonnull %103) #13
  %10564 = icmp eq i32 %10563, -1
  br i1 %10564, label %10565, label %10587

10565:                                            ; preds = %10560
  %10566 = load i32, ptr %377, align 4, !tbaa !5
  %10567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10568 = call i32 @s2n_print_stacktrace(ptr noundef %10567) #13
  %10569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10570 = trunc nuw i8 %10569 to i1
  br i1 %10570, label %10571, label %10575

10571:                                            ; preds = %10565
  %10572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10573 = call i32 @fileno(ptr noundef %10572) #13
  %10574 = call i32 @isatty(i32 noundef %10573) #13
  %.not2014 = icmp eq i32 %10574, 0
  br i1 %.not2014, label %10575, label %10576

10575:                                            ; preds = %10571, %10565
  br label %10576

10576:                                            ; preds = %10571, %10575
  %.str.5.sink5637 = phi ptr [ @.str.5, %10575 ], [ @.str.2, %10571 ]
  store i32 %10566, ptr %377, align 4, !tbaa !5
  %10577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10578 = load i32, ptr @test_count, align 4, !tbaa !5
  %10579 = load i32, ptr %323, align 4, !tbaa !5
  %10580 = call ptr @s2n_strerror(i32 noundef %10579, ptr noundef nonnull @.str.4) #13
  %10581 = load i32, ptr %323, align 4, !tbaa !5
  %10582 = call ptr @s2n_strerror_debug(i32 noundef %10581, ptr noundef nonnull @.str.4) #13
  %10583 = load i32, ptr %377, align 4, !tbaa !5
  %10584 = call ptr @strerror(i32 noundef %10583) #13
  %10585 = load i32, ptr %377, align 4, !tbaa !5
  %10586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10577, ptr noundef nonnull %.str.5.sink5637, i32 noundef %10578, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.1, i32 noundef 1150, ptr noundef %10580, ptr noundef %10582, ptr noundef %10584, i32 noundef %10585) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10587:                                            ; preds = %10560
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %103) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %102) #13
  %10588 = load i32, ptr @test_count, align 4, !tbaa !5
  %10589 = add nsw i32 %10588, 1
  store i32 %10589, ptr @test_count, align 4, !tbaa !5
  %10590 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %101) #13
  %10591 = icmp eq i32 %10590, -1
  br i1 %10591, label %10592, label %10614

10592:                                            ; preds = %10587
  %10593 = load i32, ptr %377, align 4, !tbaa !5
  %10594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10595 = call i32 @s2n_print_stacktrace(ptr noundef %10594) #13
  %10596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10597 = trunc nuw i8 %10596 to i1
  br i1 %10597, label %10598, label %10602

10598:                                            ; preds = %10592
  %10599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10600 = call i32 @fileno(ptr noundef %10599) #13
  %10601 = call i32 @isatty(i32 noundef %10600) #13
  %.not2013 = icmp eq i32 %10601, 0
  br i1 %.not2013, label %10602, label %10603

10602:                                            ; preds = %10598, %10592
  br label %10603

10603:                                            ; preds = %10598, %10602
  %.str.5.sink5646 = phi ptr [ @.str.5, %10602 ], [ @.str.2, %10598 ]
  store i32 %10593, ptr %377, align 4, !tbaa !5
  %10604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10605 = load i32, ptr @test_count, align 4, !tbaa !5
  %10606 = load i32, ptr %323, align 4, !tbaa !5
  %10607 = call ptr @s2n_strerror(i32 noundef %10606, ptr noundef nonnull @.str.4) #13
  %10608 = load i32, ptr %323, align 4, !tbaa !5
  %10609 = call ptr @s2n_strerror_debug(i32 noundef %10608, ptr noundef nonnull @.str.4) #13
  %10610 = load i32, ptr %377, align 4, !tbaa !5
  %10611 = call ptr @strerror(i32 noundef %10610) #13
  %10612 = load i32, ptr %377, align 4, !tbaa !5
  %10613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10604, ptr noundef nonnull %.str.5.sink5646, i32 noundef %10605, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.1, i32 noundef 1155, ptr noundef %10607, ptr noundef %10609, ptr noundef %10611, i32 noundef %10612) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10614:                                            ; preds = %10587
  store ptr null, ptr %10425, align 8, !tbaa !88
  store i16 0, ptr %10426, align 2, !tbaa !87
  %10615 = load i32, ptr @test_count, align 4, !tbaa !5
  %10616 = add nsw i32 %10615, 1
  store i32 %10616, ptr @test_count, align 4, !tbaa !5
  %10617 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef nonnull %10179, ptr noundef nonnull %97, ptr noundef nonnull %101)
  %10618 = call zeroext i1 @s2n_result_is_error(i32 %10617)
  br i1 %10618, label %10641, label %10619

10619:                                            ; preds = %10614
  %10620 = load i32, ptr %377, align 4, !tbaa !5
  %10621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10622 = call i32 @s2n_print_stacktrace(ptr noundef %10621) #13
  %10623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10624 = trunc nuw i8 %10623 to i1
  br i1 %10624, label %10625, label %10629

10625:                                            ; preds = %10619
  %10626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10627 = call i32 @fileno(ptr noundef %10626) #13
  %10628 = call i32 @isatty(i32 noundef %10627) #13
  %.not1820 = icmp eq i32 %10628, 0
  br i1 %.not1820, label %10629, label %10630

10629:                                            ; preds = %10625, %10619
  br label %10630

10630:                                            ; preds = %10625, %10629
  %.str.5.sink5655 = phi ptr [ @.str.5, %10629 ], [ @.str.2, %10625 ]
  store i32 %10620, ptr %377, align 4, !tbaa !5
  %10631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10632 = load i32, ptr @test_count, align 4, !tbaa !5
  %10633 = load i32, ptr %323, align 4, !tbaa !5
  %10634 = call ptr @s2n_strerror(i32 noundef %10633, ptr noundef nonnull @.str.4) #13
  %10635 = load i32, ptr %323, align 4, !tbaa !5
  %10636 = call ptr @s2n_strerror_debug(i32 noundef %10635, ptr noundef nonnull @.str.4) #13
  %10637 = load i32, ptr %377, align 4, !tbaa !5
  %10638 = call ptr @strerror(i32 noundef %10637) #13
  %10639 = load i32, ptr %377, align 4, !tbaa !5
  %10640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10631, ptr noundef nonnull %.str.5.sink5655, i32 noundef %10632, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.1, i32 noundef 1160, ptr noundef %10634, ptr noundef %10636, ptr noundef %10638, i32 noundef %10639) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10641:                                            ; preds = %10614
  %10642 = load i32, ptr @test_count, align 4, !tbaa !5
  %10643 = add nsw i32 %10642, 1
  store i32 %10643, ptr @test_count, align 4, !tbaa !5
  %10644 = load i32, ptr %323, align 4, !tbaa !5
  %10645 = icmp eq i32 %10644, 402653193
  br i1 %10645, label %10668, label %10646

10646:                                            ; preds = %10641
  %10647 = load i32, ptr %377, align 4, !tbaa !5
  %10648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10649 = call i32 @s2n_print_stacktrace(ptr noundef %10648) #13
  %10650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10651 = trunc nuw i8 %10650 to i1
  br i1 %10651, label %10652, label %10656

10652:                                            ; preds = %10646
  %10653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10654 = call i32 @fileno(ptr noundef %10653) #13
  %10655 = call i32 @isatty(i32 noundef %10654) #13
  %.not1821 = icmp eq i32 %10655, 0
  br i1 %.not1821, label %10656, label %10657

10656:                                            ; preds = %10652, %10646
  br label %10657

10657:                                            ; preds = %10652, %10656
  %.str.5.sink5664 = phi ptr [ @.str.5, %10656 ], [ @.str.2, %10652 ]
  store i32 %10647, ptr %377, align 4, !tbaa !5
  %10658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10659 = load i32, ptr @test_count, align 4, !tbaa !5
  %10660 = load i32, ptr %323, align 4, !tbaa !5
  %10661 = call ptr @s2n_strerror(i32 noundef %10660, ptr noundef nonnull @.str.4) #13
  %10662 = load i32, ptr %323, align 4, !tbaa !5
  %10663 = call ptr @s2n_strerror_debug(i32 noundef %10662, ptr noundef nonnull @.str.4) #13
  %10664 = load i32, ptr %377, align 4, !tbaa !5
  %10665 = call ptr @strerror(i32 noundef %10664) #13
  %10666 = load i32, ptr %377, align 4, !tbaa !5
  %10667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10658, ptr noundef nonnull %.str.5.sink5664, i32 noundef %10659, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 1160, ptr noundef %10661, ptr noundef %10663, ptr noundef %10665, i32 noundef %10666) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10668:                                            ; preds = %10641
  %10669 = add nsw i32 %10642, 2
  store i32 %10669, ptr @test_count, align 4, !tbaa !5
  %10670 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #13
  %10671 = icmp eq ptr %10670, null
  br i1 %10671, label %10672, label %10694

10672:                                            ; preds = %10668
  %10673 = load i32, ptr %377, align 4, !tbaa !5
  %10674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10675 = call i32 @s2n_print_stacktrace(ptr noundef %10674) #13
  %10676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10677 = trunc nuw i8 %10676 to i1
  br i1 %10677, label %10678, label %10682

10678:                                            ; preds = %10672
  %10679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10680 = call i32 @fileno(ptr noundef %10679) #13
  %10681 = call i32 @isatty(i32 noundef %10680) #13
  %.not2012 = icmp eq i32 %10681, 0
  br i1 %.not2012, label %10682, label %10683

10682:                                            ; preds = %10678, %10672
  br label %10683

10683:                                            ; preds = %10678, %10682
  %.str.5.sink5673 = phi ptr [ @.str.5, %10682 ], [ @.str.2, %10678 ]
  store i32 %10673, ptr %377, align 4, !tbaa !5
  %10684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10685 = load i32, ptr @test_count, align 4, !tbaa !5
  %10686 = load i32, ptr %323, align 4, !tbaa !5
  %10687 = call ptr @s2n_strerror(i32 noundef %10686, ptr noundef nonnull @.str.4) #13
  %10688 = load i32, ptr %323, align 4, !tbaa !5
  %10689 = call ptr @s2n_strerror_debug(i32 noundef %10688, ptr noundef nonnull @.str.4) #13
  %10690 = load i32, ptr %377, align 4, !tbaa !5
  %10691 = call ptr @strerror(i32 noundef %10690) #13
  %10692 = load i32, ptr %377, align 4, !tbaa !5
  %10693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10684, ptr noundef nonnull %.str.5.sink5673, i32 noundef %10685, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1160, ptr noundef %10687, ptr noundef %10689, ptr noundef %10691, i32 noundef %10692) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10694:                                            ; preds = %10668
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %10695 = load i32, ptr @test_count, align 4, !tbaa !5
  %10696 = add nsw i32 %10695, 1
  store i32 %10696, ptr @test_count, align 4, !tbaa !5
  %10697 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %101) #13
  %10698 = icmp eq i32 %10697, -1
  br i1 %10698, label %10699, label %10721

10699:                                            ; preds = %10694
  %10700 = load i32, ptr %377, align 4, !tbaa !5
  %10701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10702 = call i32 @s2n_print_stacktrace(ptr noundef %10701) #13
  %10703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10704 = trunc nuw i8 %10703 to i1
  br i1 %10704, label %10705, label %10709

10705:                                            ; preds = %10699
  %10706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10707 = call i32 @fileno(ptr noundef %10706) #13
  %10708 = call i32 @isatty(i32 noundef %10707) #13
  %.not2011 = icmp eq i32 %10708, 0
  br i1 %.not2011, label %10709, label %10710

10709:                                            ; preds = %10705, %10699
  br label %10710

10710:                                            ; preds = %10705, %10709
  %.str.5.sink5682 = phi ptr [ @.str.5, %10709 ], [ @.str.2, %10705 ]
  store i32 %10700, ptr %377, align 4, !tbaa !5
  %10711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10712 = load i32, ptr @test_count, align 4, !tbaa !5
  %10713 = load i32, ptr %323, align 4, !tbaa !5
  %10714 = call ptr @s2n_strerror(i32 noundef %10713, ptr noundef nonnull @.str.4) #13
  %10715 = load i32, ptr %323, align 4, !tbaa !5
  %10716 = call ptr @s2n_strerror_debug(i32 noundef %10715, ptr noundef nonnull @.str.4) #13
  %10717 = load i32, ptr %377, align 4, !tbaa !5
  %10718 = call ptr @strerror(i32 noundef %10717) #13
  %10719 = load i32, ptr %377, align 4, !tbaa !5
  %10720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10711, ptr noundef nonnull %.str.5.sink5682, i32 noundef %10712, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.1, i32 noundef 1165, ptr noundef %10714, ptr noundef %10716, ptr noundef %10718, i32 noundef %10719) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10721:                                            ; preds = %10694
  store ptr %100, ptr %10425, align 8, !tbaa !88
  store i16 12, ptr %10426, align 2, !tbaa !87
  %10722 = load i32, ptr @test_count, align 4, !tbaa !5
  %10723 = add nsw i32 %10722, 1
  store i32 %10723, ptr @test_count, align 4, !tbaa !5
  %10724 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef nonnull %10179, ptr noundef nonnull %97, ptr noundef nonnull %101)
  %10725 = call zeroext i1 @s2n_result_is_error(i32 %10724)
  br i1 %10725, label %10748, label %10726

10726:                                            ; preds = %10721
  %10727 = load i32, ptr %377, align 4, !tbaa !5
  %10728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10729 = call i32 @s2n_print_stacktrace(ptr noundef %10728) #13
  %10730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10731 = trunc nuw i8 %10730 to i1
  br i1 %10731, label %10732, label %10736

10732:                                            ; preds = %10726
  %10733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10734 = call i32 @fileno(ptr noundef %10733) #13
  %10735 = call i32 @isatty(i32 noundef %10734) #13
  %.not1822 = icmp eq i32 %10735, 0
  br i1 %.not1822, label %10736, label %10737

10736:                                            ; preds = %10732, %10726
  br label %10737

10737:                                            ; preds = %10732, %10736
  %.str.5.sink5691 = phi ptr [ @.str.5, %10736 ], [ @.str.2, %10732 ]
  store i32 %10727, ptr %377, align 4, !tbaa !5
  %10738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10739 = load i32, ptr @test_count, align 4, !tbaa !5
  %10740 = load i32, ptr %323, align 4, !tbaa !5
  %10741 = call ptr @s2n_strerror(i32 noundef %10740, ptr noundef nonnull @.str.4) #13
  %10742 = load i32, ptr %323, align 4, !tbaa !5
  %10743 = call ptr @s2n_strerror_debug(i32 noundef %10742, ptr noundef nonnull @.str.4) #13
  %10744 = load i32, ptr %377, align 4, !tbaa !5
  %10745 = call ptr @strerror(i32 noundef %10744) #13
  %10746 = load i32, ptr %377, align 4, !tbaa !5
  %10747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10738, ptr noundef nonnull %.str.5.sink5691, i32 noundef %10739, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.1, i32 noundef 1170, ptr noundef %10741, ptr noundef %10743, ptr noundef %10745, i32 noundef %10746) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10748:                                            ; preds = %10721
  %10749 = load i32, ptr @test_count, align 4, !tbaa !5
  %10750 = add nsw i32 %10749, 1
  store i32 %10750, ptr @test_count, align 4, !tbaa !5
  %10751 = load i32, ptr %323, align 4, !tbaa !5
  %10752 = icmp eq i32 %10751, 335544322
  br i1 %10752, label %10775, label %10753

10753:                                            ; preds = %10748
  %10754 = load i32, ptr %377, align 4, !tbaa !5
  %10755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10756 = call i32 @s2n_print_stacktrace(ptr noundef %10755) #13
  %10757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10758 = trunc nuw i8 %10757 to i1
  br i1 %10758, label %10759, label %10763

10759:                                            ; preds = %10753
  %10760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10761 = call i32 @fileno(ptr noundef %10760) #13
  %10762 = call i32 @isatty(i32 noundef %10761) #13
  %.not1823 = icmp eq i32 %10762, 0
  br i1 %.not1823, label %10763, label %10764

10763:                                            ; preds = %10759, %10753
  br label %10764

10764:                                            ; preds = %10759, %10763
  %.str.5.sink5700 = phi ptr [ @.str.5, %10763 ], [ @.str.2, %10759 ]
  store i32 %10754, ptr %377, align 4, !tbaa !5
  %10765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10766 = load i32, ptr @test_count, align 4, !tbaa !5
  %10767 = load i32, ptr %323, align 4, !tbaa !5
  %10768 = call ptr @s2n_strerror(i32 noundef %10767, ptr noundef nonnull @.str.4) #13
  %10769 = load i32, ptr %323, align 4, !tbaa !5
  %10770 = call ptr @s2n_strerror_debug(i32 noundef %10769, ptr noundef nonnull @.str.4) #13
  %10771 = load i32, ptr %377, align 4, !tbaa !5
  %10772 = call ptr @strerror(i32 noundef %10771) #13
  %10773 = load i32, ptr %377, align 4, !tbaa !5
  %10774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10765, ptr noundef nonnull %.str.5.sink5700, i32 noundef %10766, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 1170, ptr noundef %10768, ptr noundef %10770, ptr noundef %10772, i32 noundef %10773) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10775:                                            ; preds = %10748
  %10776 = add nsw i32 %10749, 2
  store i32 %10776, ptr @test_count, align 4, !tbaa !5
  %10777 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #13
  %10778 = icmp eq ptr %10777, null
  br i1 %10778, label %10779, label %10801

10779:                                            ; preds = %10775
  %10780 = load i32, ptr %377, align 4, !tbaa !5
  %10781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10782 = call i32 @s2n_print_stacktrace(ptr noundef %10781) #13
  %10783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10784 = trunc nuw i8 %10783 to i1
  br i1 %10784, label %10785, label %10789

10785:                                            ; preds = %10779
  %10786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10787 = call i32 @fileno(ptr noundef %10786) #13
  %10788 = call i32 @isatty(i32 noundef %10787) #13
  %.not2010 = icmp eq i32 %10788, 0
  br i1 %.not2010, label %10789, label %10790

10789:                                            ; preds = %10785, %10779
  br label %10790

10790:                                            ; preds = %10785, %10789
  %.str.5.sink5709 = phi ptr [ @.str.5, %10789 ], [ @.str.2, %10785 ]
  store i32 %10780, ptr %377, align 4, !tbaa !5
  %10791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10792 = load i32, ptr @test_count, align 4, !tbaa !5
  %10793 = load i32, ptr %323, align 4, !tbaa !5
  %10794 = call ptr @s2n_strerror(i32 noundef %10793, ptr noundef nonnull @.str.4) #13
  %10795 = load i32, ptr %323, align 4, !tbaa !5
  %10796 = call ptr @s2n_strerror_debug(i32 noundef %10795, ptr noundef nonnull @.str.4) #13
  %10797 = load i32, ptr %377, align 4, !tbaa !5
  %10798 = call ptr @strerror(i32 noundef %10797) #13
  %10799 = load i32, ptr %377, align 4, !tbaa !5
  %10800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10791, ptr noundef nonnull %.str.5.sink5709, i32 noundef %10792, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1170, ptr noundef %10794, ptr noundef %10796, ptr noundef %10798, i32 noundef %10799) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10801:                                            ; preds = %10775
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %10802 = load i32, ptr @test_count, align 4, !tbaa !5
  %10803 = add nsw i32 %10802, 1
  store i32 %10803, ptr @test_count, align 4, !tbaa !5
  %10804 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %101) #13
  %10805 = icmp eq i32 %10804, -1
  br i1 %10805, label %10806, label %10828

10806:                                            ; preds = %10801
  %10807 = load i32, ptr %377, align 4, !tbaa !5
  %10808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10809 = call i32 @s2n_print_stacktrace(ptr noundef %10808) #13
  %10810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10811 = trunc nuw i8 %10810 to i1
  br i1 %10811, label %10812, label %10816

10812:                                            ; preds = %10806
  %10813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10814 = call i32 @fileno(ptr noundef %10813) #13
  %10815 = call i32 @isatty(i32 noundef %10814) #13
  %.not2009 = icmp eq i32 %10815, 0
  br i1 %.not2009, label %10816, label %10817

10816:                                            ; preds = %10812, %10806
  br label %10817

10817:                                            ; preds = %10812, %10816
  %.str.5.sink5718 = phi ptr [ @.str.5, %10816 ], [ @.str.2, %10812 ]
  store i32 %10807, ptr %377, align 4, !tbaa !5
  %10818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10819 = load i32, ptr @test_count, align 4, !tbaa !5
  %10820 = load i32, ptr %323, align 4, !tbaa !5
  %10821 = call ptr @s2n_strerror(i32 noundef %10820, ptr noundef nonnull @.str.4) #13
  %10822 = load i32, ptr %323, align 4, !tbaa !5
  %10823 = call ptr @s2n_strerror_debug(i32 noundef %10822, ptr noundef nonnull @.str.4) #13
  %10824 = load i32, ptr %377, align 4, !tbaa !5
  %10825 = call ptr @strerror(i32 noundef %10824) #13
  %10826 = load i32, ptr %377, align 4, !tbaa !5
  %10827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10818, ptr noundef nonnull %.str.5.sink5718, i32 noundef %10819, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.1, i32 noundef 1175, ptr noundef %10821, ptr noundef %10823, ptr noundef %10825, i32 noundef %10826) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10828:                                            ; preds = %10801
  store ptr %100, ptr %10425, align 8, !tbaa !88
  store i16 0, ptr %10426, align 2, !tbaa !87
  %10829 = load i32, ptr @test_count, align 4, !tbaa !5
  %10830 = add nsw i32 %10829, 1
  store i32 %10830, ptr @test_count, align 4, !tbaa !5
  %10831 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef nonnull %10179, ptr noundef nonnull %97, ptr noundef nonnull %101)
  %10832 = call zeroext i1 @s2n_result_is_error(i32 %10831)
  br i1 %10832, label %10855, label %10833

10833:                                            ; preds = %10828
  %10834 = load i32, ptr %377, align 4, !tbaa !5
  %10835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10836 = call i32 @s2n_print_stacktrace(ptr noundef %10835) #13
  %10837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10838 = trunc nuw i8 %10837 to i1
  br i1 %10838, label %10839, label %10843

10839:                                            ; preds = %10833
  %10840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10841 = call i32 @fileno(ptr noundef %10840) #13
  %10842 = call i32 @isatty(i32 noundef %10841) #13
  %.not1824 = icmp eq i32 %10842, 0
  br i1 %.not1824, label %10843, label %10844

10843:                                            ; preds = %10839, %10833
  br label %10844

10844:                                            ; preds = %10839, %10843
  %.str.5.sink5727 = phi ptr [ @.str.5, %10843 ], [ @.str.2, %10839 ]
  store i32 %10834, ptr %377, align 4, !tbaa !5
  %10845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10846 = load i32, ptr @test_count, align 4, !tbaa !5
  %10847 = load i32, ptr %323, align 4, !tbaa !5
  %10848 = call ptr @s2n_strerror(i32 noundef %10847, ptr noundef nonnull @.str.4) #13
  %10849 = load i32, ptr %323, align 4, !tbaa !5
  %10850 = call ptr @s2n_strerror_debug(i32 noundef %10849, ptr noundef nonnull @.str.4) #13
  %10851 = load i32, ptr %377, align 4, !tbaa !5
  %10852 = call ptr @strerror(i32 noundef %10851) #13
  %10853 = load i32, ptr %377, align 4, !tbaa !5
  %10854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10845, ptr noundef nonnull %.str.5.sink5727, i32 noundef %10846, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.1, i32 noundef 1180, ptr noundef %10848, ptr noundef %10850, ptr noundef %10852, i32 noundef %10853) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10855:                                            ; preds = %10828
  %10856 = load i32, ptr @test_count, align 4, !tbaa !5
  %10857 = add nsw i32 %10856, 1
  store i32 %10857, ptr @test_count, align 4, !tbaa !5
  %10858 = load i32, ptr %323, align 4, !tbaa !5
  %10859 = icmp eq i32 %10858, 402653194
  br i1 %10859, label %10882, label %10860

10860:                                            ; preds = %10855
  %10861 = load i32, ptr %377, align 4, !tbaa !5
  %10862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10863 = call i32 @s2n_print_stacktrace(ptr noundef %10862) #13
  %10864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10865 = trunc nuw i8 %10864 to i1
  br i1 %10865, label %10866, label %10870

10866:                                            ; preds = %10860
  %10867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10868 = call i32 @fileno(ptr noundef %10867) #13
  %10869 = call i32 @isatty(i32 noundef %10868) #13
  %.not1825 = icmp eq i32 %10869, 0
  br i1 %.not1825, label %10870, label %10871

10870:                                            ; preds = %10866, %10860
  br label %10871

10871:                                            ; preds = %10866, %10870
  %.str.5.sink5736 = phi ptr [ @.str.5, %10870 ], [ @.str.2, %10866 ]
  store i32 %10861, ptr %377, align 4, !tbaa !5
  %10872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10873 = load i32, ptr @test_count, align 4, !tbaa !5
  %10874 = load i32, ptr %323, align 4, !tbaa !5
  %10875 = call ptr @s2n_strerror(i32 noundef %10874, ptr noundef nonnull @.str.4) #13
  %10876 = load i32, ptr %323, align 4, !tbaa !5
  %10877 = call ptr @s2n_strerror_debug(i32 noundef %10876, ptr noundef nonnull @.str.4) #13
  %10878 = load i32, ptr %377, align 4, !tbaa !5
  %10879 = call ptr @strerror(i32 noundef %10878) #13
  %10880 = load i32, ptr %377, align 4, !tbaa !5
  %10881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10872, ptr noundef nonnull %.str.5.sink5736, i32 noundef %10873, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 1180, ptr noundef %10875, ptr noundef %10877, ptr noundef %10879, i32 noundef %10880) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10882:                                            ; preds = %10855
  %10883 = add nsw i32 %10856, 2
  store i32 %10883, ptr @test_count, align 4, !tbaa !5
  %10884 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.4) #13
  %10885 = icmp eq ptr %10884, null
  br i1 %10885, label %10886, label %10908

10886:                                            ; preds = %10882
  %10887 = load i32, ptr %377, align 4, !tbaa !5
  %10888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10889 = call i32 @s2n_print_stacktrace(ptr noundef %10888) #13
  %10890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10891 = trunc nuw i8 %10890 to i1
  br i1 %10891, label %10892, label %10896

10892:                                            ; preds = %10886
  %10893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10894 = call i32 @fileno(ptr noundef %10893) #13
  %10895 = call i32 @isatty(i32 noundef %10894) #13
  %.not2008 = icmp eq i32 %10895, 0
  br i1 %.not2008, label %10896, label %10897

10896:                                            ; preds = %10892, %10886
  br label %10897

10897:                                            ; preds = %10892, %10896
  %.str.5.sink5745 = phi ptr [ @.str.5, %10896 ], [ @.str.2, %10892 ]
  store i32 %10887, ptr %377, align 4, !tbaa !5
  %10898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10899 = load i32, ptr @test_count, align 4, !tbaa !5
  %10900 = load i32, ptr %323, align 4, !tbaa !5
  %10901 = call ptr @s2n_strerror(i32 noundef %10900, ptr noundef nonnull @.str.4) #13
  %10902 = load i32, ptr %323, align 4, !tbaa !5
  %10903 = call ptr @s2n_strerror_debug(i32 noundef %10902, ptr noundef nonnull @.str.4) #13
  %10904 = load i32, ptr %377, align 4, !tbaa !5
  %10905 = call ptr @strerror(i32 noundef %10904) #13
  %10906 = load i32, ptr %377, align 4, !tbaa !5
  %10907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10898, ptr noundef nonnull %.str.5.sink5745, i32 noundef %10899, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1180, ptr noundef %10901, ptr noundef %10903, ptr noundef %10905, i32 noundef %10906) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10908:                                            ; preds = %10882
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %10909 = load i32, ptr @test_count, align 4, !tbaa !5
  %10910 = add nsw i32 %10909, 1
  store i32 %10910, ptr @test_count, align 4, !tbaa !5
  %10911 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %101) #13
  %10912 = icmp eq i32 %10911, -1
  br i1 %10912, label %10913, label %10935

10913:                                            ; preds = %10908
  %10914 = load i32, ptr %377, align 4, !tbaa !5
  %10915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10916 = call i32 @s2n_print_stacktrace(ptr noundef %10915) #13
  %10917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10918 = trunc nuw i8 %10917 to i1
  br i1 %10918, label %10919, label %10923

10919:                                            ; preds = %10913
  %10920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10921 = call i32 @fileno(ptr noundef %10920) #13
  %10922 = call i32 @isatty(i32 noundef %10921) #13
  %.not2007 = icmp eq i32 %10922, 0
  br i1 %.not2007, label %10923, label %10924

10923:                                            ; preds = %10919, %10913
  br label %10924

10924:                                            ; preds = %10919, %10923
  %.str.5.sink5754 = phi ptr [ @.str.5, %10923 ], [ @.str.2, %10919 ]
  store i32 %10914, ptr %377, align 4, !tbaa !5
  %10925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10926 = load i32, ptr @test_count, align 4, !tbaa !5
  %10927 = load i32, ptr %323, align 4, !tbaa !5
  %10928 = call ptr @s2n_strerror(i32 noundef %10927, ptr noundef nonnull @.str.4) #13
  %10929 = load i32, ptr %323, align 4, !tbaa !5
  %10930 = call ptr @s2n_strerror_debug(i32 noundef %10929, ptr noundef nonnull @.str.4) #13
  %10931 = load i32, ptr %377, align 4, !tbaa !5
  %10932 = call ptr @strerror(i32 noundef %10931) #13
  %10933 = load i32, ptr %377, align 4, !tbaa !5
  %10934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10925, ptr noundef nonnull %.str.5.sink5754, i32 noundef %10926, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.1, i32 noundef 1185, ptr noundef %10928, ptr noundef %10930, ptr noundef %10932, i32 noundef %10933) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10935:                                            ; preds = %10908
  store ptr %100, ptr %10425, align 8, !tbaa !88
  store i16 2, ptr %10426, align 2, !tbaa !87
  %10936 = load i32, ptr @test_count, align 4, !tbaa !5
  %10937 = add nsw i32 %10936, 1
  store i32 %10937, ptr @test_count, align 4, !tbaa !5
  %10938 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef nonnull %10179, ptr noundef nonnull %99, ptr noundef nonnull %101)
  %10939 = call zeroext i1 @s2n_result_is_error(i32 %10938)
  br i1 %10939, label %10962, label %10940

10940:                                            ; preds = %10935
  %10941 = load i32, ptr %377, align 4, !tbaa !5
  %10942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10943 = call i32 @s2n_print_stacktrace(ptr noundef %10942) #13
  %10944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10945 = trunc nuw i8 %10944 to i1
  br i1 %10945, label %10946, label %10950

10946:                                            ; preds = %10940
  %10947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10948 = call i32 @fileno(ptr noundef %10947) #13
  %10949 = call i32 @isatty(i32 noundef %10948) #13
  %.not1826 = icmp eq i32 %10949, 0
  br i1 %.not1826, label %10950, label %10951

10950:                                            ; preds = %10946, %10940
  br label %10951

10951:                                            ; preds = %10946, %10950
  %.str.5.sink5763 = phi ptr [ @.str.5, %10950 ], [ @.str.2, %10946 ]
  store i32 %10941, ptr %377, align 4, !tbaa !5
  %10952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10953 = load i32, ptr @test_count, align 4, !tbaa !5
  %10954 = load i32, ptr %323, align 4, !tbaa !5
  %10955 = call ptr @s2n_strerror(i32 noundef %10954, ptr noundef nonnull @.str.4) #13
  %10956 = load i32, ptr %323, align 4, !tbaa !5
  %10957 = call ptr @s2n_strerror_debug(i32 noundef %10956, ptr noundef nonnull @.str.4) #13
  %10958 = load i32, ptr %377, align 4, !tbaa !5
  %10959 = call ptr @strerror(i32 noundef %10958) #13
  %10960 = load i32, ptr %377, align 4, !tbaa !5
  %10961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10952, ptr noundef nonnull %.str.5.sink5763, i32 noundef %10953, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.1, i32 noundef 1193, ptr noundef %10955, ptr noundef %10957, ptr noundef %10959, i32 noundef %10960) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10962:                                            ; preds = %10935
  %10963 = load i32, ptr @test_count, align 4, !tbaa !5
  %10964 = add nsw i32 %10963, 1
  store i32 %10964, ptr @test_count, align 4, !tbaa !5
  %10965 = load i32, ptr %323, align 4, !tbaa !5
  %10966 = icmp eq i32 %10965, 335544322
  br i1 %10966, label %10989, label %10967

10967:                                            ; preds = %10962
  %10968 = load i32, ptr %377, align 4, !tbaa !5
  %10969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10970 = call i32 @s2n_print_stacktrace(ptr noundef %10969) #13
  %10971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10972 = trunc nuw i8 %10971 to i1
  br i1 %10972, label %10973, label %10977

10973:                                            ; preds = %10967
  %10974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10975 = call i32 @fileno(ptr noundef %10974) #13
  %10976 = call i32 @isatty(i32 noundef %10975) #13
  %.not1827 = icmp eq i32 %10976, 0
  br i1 %.not1827, label %10977, label %10978

10977:                                            ; preds = %10973, %10967
  br label %10978

10978:                                            ; preds = %10973, %10977
  %.str.5.sink5772 = phi ptr [ @.str.5, %10977 ], [ @.str.2, %10973 ]
  store i32 %10968, ptr %377, align 4, !tbaa !5
  %10979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10980 = load i32, ptr @test_count, align 4, !tbaa !5
  %10981 = load i32, ptr %323, align 4, !tbaa !5
  %10982 = call ptr @s2n_strerror(i32 noundef %10981, ptr noundef nonnull @.str.4) #13
  %10983 = load i32, ptr %323, align 4, !tbaa !5
  %10984 = call ptr @s2n_strerror_debug(i32 noundef %10983, ptr noundef nonnull @.str.4) #13
  %10985 = load i32, ptr %377, align 4, !tbaa !5
  %10986 = call ptr @strerror(i32 noundef %10985) #13
  %10987 = load i32, ptr %377, align 4, !tbaa !5
  %10988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10979, ptr noundef nonnull %.str.5.sink5772, i32 noundef %10980, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 1193, ptr noundef %10982, ptr noundef %10984, ptr noundef %10986, i32 noundef %10987) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10989:                                            ; preds = %10962
  %10990 = add nsw i32 %10963, 2
  store i32 %10990, ptr @test_count, align 4, !tbaa !5
  %10991 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #13
  %10992 = icmp eq ptr %10991, null
  br i1 %10992, label %10993, label %11015

10993:                                            ; preds = %10989
  %10994 = load i32, ptr %377, align 4, !tbaa !5
  %10995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10996 = call i32 @s2n_print_stacktrace(ptr noundef %10995) #13
  %10997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10998 = trunc nuw i8 %10997 to i1
  br i1 %10998, label %10999, label %11003

10999:                                            ; preds = %10993
  %11000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11001 = call i32 @fileno(ptr noundef %11000) #13
  %11002 = call i32 @isatty(i32 noundef %11001) #13
  %.not2006 = icmp eq i32 %11002, 0
  br i1 %.not2006, label %11003, label %11004

11003:                                            ; preds = %10999, %10993
  br label %11004

11004:                                            ; preds = %10999, %11003
  %.str.5.sink5781 = phi ptr [ @.str.5, %11003 ], [ @.str.2, %10999 ]
  store i32 %10994, ptr %377, align 4, !tbaa !5
  %11005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11006 = load i32, ptr @test_count, align 4, !tbaa !5
  %11007 = load i32, ptr %323, align 4, !tbaa !5
  %11008 = call ptr @s2n_strerror(i32 noundef %11007, ptr noundef nonnull @.str.4) #13
  %11009 = load i32, ptr %323, align 4, !tbaa !5
  %11010 = call ptr @s2n_strerror_debug(i32 noundef %11009, ptr noundef nonnull @.str.4) #13
  %11011 = load i32, ptr %377, align 4, !tbaa !5
  %11012 = call ptr @strerror(i32 noundef %11011) #13
  %11013 = load i32, ptr %377, align 4, !tbaa !5
  %11014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11005, ptr noundef nonnull %.str.5.sink5781, i32 noundef %11006, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1193, ptr noundef %11008, ptr noundef %11010, ptr noundef %11012, i32 noundef %11013) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11015:                                            ; preds = %10989
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %11016 = load i32, ptr @test_count, align 4, !tbaa !5
  %11017 = add nsw i32 %11016, 1
  store i32 %11017, ptr @test_count, align 4, !tbaa !5
  %11018 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %101) #13
  %11019 = icmp eq i32 %11018, -1
  br i1 %11019, label %11020, label %11042

11020:                                            ; preds = %11015
  %11021 = load i32, ptr %377, align 4, !tbaa !5
  %11022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11023 = call i32 @s2n_print_stacktrace(ptr noundef %11022) #13
  %11024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11025 = trunc nuw i8 %11024 to i1
  br i1 %11025, label %11026, label %11030

11026:                                            ; preds = %11020
  %11027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11028 = call i32 @fileno(ptr noundef %11027) #13
  %11029 = call i32 @isatty(i32 noundef %11028) #13
  %.not2005 = icmp eq i32 %11029, 0
  br i1 %.not2005, label %11030, label %11031

11030:                                            ; preds = %11026, %11020
  br label %11031

11031:                                            ; preds = %11026, %11030
  %.str.5.sink5790 = phi ptr [ @.str.5, %11030 ], [ @.str.2, %11026 ]
  store i32 %11021, ptr %377, align 4, !tbaa !5
  %11032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11033 = load i32, ptr @test_count, align 4, !tbaa !5
  %11034 = load i32, ptr %323, align 4, !tbaa !5
  %11035 = call ptr @s2n_strerror(i32 noundef %11034, ptr noundef nonnull @.str.4) #13
  %11036 = load i32, ptr %323, align 4, !tbaa !5
  %11037 = call ptr @s2n_strerror_debug(i32 noundef %11036, ptr noundef nonnull @.str.4) #13
  %11038 = load i32, ptr %377, align 4, !tbaa !5
  %11039 = call ptr @strerror(i32 noundef %11038) #13
  %11040 = load i32, ptr %377, align 4, !tbaa !5
  %11041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11032, ptr noundef nonnull %.str.5.sink5790, i32 noundef %11033, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.1, i32 noundef 1198, ptr noundef %11035, ptr noundef %11037, ptr noundef %11039, i32 noundef %11040) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11042:                                            ; preds = %11015
  store ptr %100, ptr %10425, align 8, !tbaa !88
  store i16 2, ptr %10426, align 2, !tbaa !87
  %11043 = load i32, ptr @test_count, align 4, !tbaa !5
  %11044 = add nsw i32 %11043, 1
  store i32 %11044, ptr @test_count, align 4, !tbaa !5
  %11045 = call i32 @s2n_client_psk_recv_binder_list(ptr noundef nonnull %10179, ptr noundef nonnull %97, ptr noundef nonnull %101)
  %11046 = call zeroext i1 @s2n_result_is_ok(i32 %11045)
  br i1 %11046, label %11069, label %11047

11047:                                            ; preds = %11042
  %11048 = load i32, ptr %377, align 4, !tbaa !5
  %11049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11050 = call i32 @s2n_print_stacktrace(ptr noundef %11049) #13
  %11051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11052 = trunc nuw i8 %11051 to i1
  br i1 %11052, label %11053, label %11057

11053:                                            ; preds = %11047
  %11054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11055 = call i32 @fileno(ptr noundef %11054) #13
  %11056 = call i32 @isatty(i32 noundef %11055) #13
  %.not1828 = icmp eq i32 %11056, 0
  br i1 %.not1828, label %11057, label %11058

11057:                                            ; preds = %11053, %11047
  br label %11058

11058:                                            ; preds = %11053, %11057
  %.str.5.sink5799 = phi ptr [ @.str.5, %11057 ], [ @.str.2, %11053 ]
  store i32 %11048, ptr %377, align 4, !tbaa !5
  %11059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11060 = load i32, ptr @test_count, align 4, !tbaa !5
  %11061 = load i32, ptr %323, align 4, !tbaa !5
  %11062 = call ptr @s2n_strerror(i32 noundef %11061, ptr noundef nonnull @.str.4) #13
  %11063 = load i32, ptr %323, align 4, !tbaa !5
  %11064 = call ptr @s2n_strerror_debug(i32 noundef %11063, ptr noundef nonnull @.str.4) #13
  %11065 = load i32, ptr %377, align 4, !tbaa !5
  %11066 = call ptr @strerror(i32 noundef %11065) #13
  %11067 = load i32, ptr %377, align 4, !tbaa !5
  %11068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11059, ptr noundef nonnull %.str.5.sink5799, i32 noundef %11060, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.1, i32 noundef 1202, ptr noundef %11062, ptr noundef %11064, ptr noundef %11066, i32 noundef %11067) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11069:                                            ; preds = %11042
  %11070 = load i32, ptr @test_count, align 4, !tbaa !5
  %11071 = add nsw i32 %11070, 1
  store i32 %11071, ptr @test_count, align 4, !tbaa !5
  %11072 = call i32 @s2n_connection_free(ptr noundef nonnull %10179) #13
  %11073 = icmp eq i32 %11072, -1
  br i1 %11073, label %11074, label %11096

11074:                                            ; preds = %11069
  %11075 = load i32, ptr %377, align 4, !tbaa !5
  %11076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11077 = call i32 @s2n_print_stacktrace(ptr noundef %11076) #13
  %11078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11079 = trunc nuw i8 %11078 to i1
  br i1 %11079, label %11080, label %11084

11080:                                            ; preds = %11074
  %11081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11082 = call i32 @fileno(ptr noundef %11081) #13
  %11083 = call i32 @isatty(i32 noundef %11082) #13
  %.not2004 = icmp eq i32 %11083, 0
  br i1 %.not2004, label %11084, label %11085

11084:                                            ; preds = %11080, %11074
  br label %11085

11085:                                            ; preds = %11080, %11084
  %.str.5.sink5808 = phi ptr [ @.str.5, %11084 ], [ @.str.2, %11080 ]
  store i32 %11075, ptr %377, align 4, !tbaa !5
  %11086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11087 = load i32, ptr @test_count, align 4, !tbaa !5
  %11088 = load i32, ptr %323, align 4, !tbaa !5
  %11089 = call ptr @s2n_strerror(i32 noundef %11088, ptr noundef nonnull @.str.4) #13
  %11090 = load i32, ptr %323, align 4, !tbaa !5
  %11091 = call ptr @s2n_strerror_debug(i32 noundef %11090, ptr noundef nonnull @.str.4) #13
  %11092 = load i32, ptr %377, align 4, !tbaa !5
  %11093 = call ptr @strerror(i32 noundef %11092) #13
  %11094 = load i32, ptr %377, align 4, !tbaa !5
  %11095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11086, ptr noundef nonnull %.str.5.sink5808, i32 noundef %11087, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 1205, ptr noundef %11089, ptr noundef %11091, ptr noundef %11093, i32 noundef %11094) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11096:                                            ; preds = %11069
  %11097 = load i32, ptr @test_count, align 4, !tbaa !5
  %11098 = add nsw i32 %11097, 1
  store i32 %11098, ptr @test_count, align 4, !tbaa !5
  %11099 = call i32 @s2n_stuffer_free(ptr noundef nonnull %101) #13
  %11100 = icmp eq i32 %11099, -1
  br i1 %11100, label %11101, label %11123

11101:                                            ; preds = %11096
  %11102 = load i32, ptr %377, align 4, !tbaa !5
  %11103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11104 = call i32 @s2n_print_stacktrace(ptr noundef %11103) #13
  %11105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11106 = trunc nuw i8 %11105 to i1
  br i1 %11106, label %11107, label %11111

11107:                                            ; preds = %11101
  %11108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11109 = call i32 @fileno(ptr noundef %11108) #13
  %11110 = call i32 @isatty(i32 noundef %11109) #13
  %.not2003 = icmp eq i32 %11110, 0
  br i1 %.not2003, label %11111, label %11112

11111:                                            ; preds = %11107, %11101
  br label %11112

11112:                                            ; preds = %11107, %11111
  %.str.5.sink5817 = phi ptr [ @.str.5, %11111 ], [ @.str.2, %11107 ]
  store i32 %11102, ptr %377, align 4, !tbaa !5
  %11113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11114 = load i32, ptr @test_count, align 4, !tbaa !5
  %11115 = load i32, ptr %323, align 4, !tbaa !5
  %11116 = call ptr @s2n_strerror(i32 noundef %11115, ptr noundef nonnull @.str.4) #13
  %11117 = load i32, ptr %323, align 4, !tbaa !5
  %11118 = call ptr @s2n_strerror_debug(i32 noundef %11117, ptr noundef nonnull @.str.4) #13
  %11119 = load i32, ptr %377, align 4, !tbaa !5
  %11120 = call ptr @strerror(i32 noundef %11119) #13
  %11121 = load i32, ptr %377, align 4, !tbaa !5
  %11122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11113, ptr noundef nonnull %.str.5.sink5817, i32 noundef %11114, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.1, i32 noundef 1206, ptr noundef %11116, ptr noundef %11118, ptr noundef %11120, i32 noundef %11121) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11123:                                            ; preds = %11096
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %101) #13
  %11124 = call i32 @s2n_psk_wipe(ptr noundef nonnull %100) #13
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %100) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %99) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %98) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %97) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #13
  call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %94) #13
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %93) #13
  call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %92) #13
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %104) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %104, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.client_hello_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %105) #13
  store i8 0, ptr %105, align 1, !tbaa !90
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %106) #13
  store i8 0, ptr %106, align 1, !tbaa !90
  %11125 = load i32, ptr @test_count, align 4, !tbaa !5
  %11126 = add nsw i32 %11125, 1
  store i32 %11126, ptr @test_count, align 4, !tbaa !5
  %11127 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 45, ptr noundef nonnull %106) #13
  %11128 = icmp eq i32 %11127, -1
  br i1 %11128, label %11129, label %11151

11129:                                            ; preds = %11123
  %11130 = load i32, ptr %377, align 4, !tbaa !5
  %11131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11132 = call i32 @s2n_print_stacktrace(ptr noundef %11131) #13
  %11133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11134 = trunc nuw i8 %11133 to i1
  br i1 %11134, label %11135, label %11139

11135:                                            ; preds = %11129
  %11136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11137 = call i32 @fileno(ptr noundef %11136) #13
  %11138 = call i32 @isatty(i32 noundef %11137) #13
  %.not2002 = icmp eq i32 %11138, 0
  br i1 %.not2002, label %11139, label %11140

11139:                                            ; preds = %11135, %11129
  br label %11140

11140:                                            ; preds = %11135, %11139
  %.str.5.sink5826 = phi ptr [ @.str.5, %11139 ], [ @.str.2, %11135 ]
  store i32 %11130, ptr %377, align 4, !tbaa !5
  %11141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11142 = load i32, ptr @test_count, align 4, !tbaa !5
  %11143 = load i32, ptr %323, align 4, !tbaa !5
  %11144 = call ptr @s2n_strerror(i32 noundef %11143, ptr noundef nonnull @.str.4) #13
  %11145 = load i32, ptr %323, align 4, !tbaa !5
  %11146 = call ptr @s2n_strerror_debug(i32 noundef %11145, ptr noundef nonnull @.str.4) #13
  %11147 = load i32, ptr %377, align 4, !tbaa !5
  %11148 = call ptr @strerror(i32 noundef %11147) #13
  %11149 = load i32, ptr %377, align 4, !tbaa !5
  %11150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11141, ptr noundef nonnull %.str.5.sink5826, i32 noundef %11142, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.1, i32 noundef 1214, ptr noundef %11144, ptr noundef %11146, ptr noundef %11148, i32 noundef %11149) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11151:                                            ; preds = %11123
  %11152 = load i32, ptr @test_count, align 4, !tbaa !5
  %11153 = add nsw i32 %11152, 1
  store i32 %11153, ptr @test_count, align 4, !tbaa !5
  %11154 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 51, ptr noundef nonnull %105) #13
  %11155 = icmp eq i32 %11154, -1
  br i1 %11155, label %11156, label %11178

11156:                                            ; preds = %11151
  %11157 = load i32, ptr %377, align 4, !tbaa !5
  %11158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11159 = call i32 @s2n_print_stacktrace(ptr noundef %11158) #13
  %11160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11161 = trunc nuw i8 %11160 to i1
  br i1 %11161, label %11162, label %11166

11162:                                            ; preds = %11156
  %11163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11164 = call i32 @fileno(ptr noundef %11163) #13
  %11165 = call i32 @isatty(i32 noundef %11164) #13
  %.not2001 = icmp eq i32 %11165, 0
  br i1 %.not2001, label %11166, label %11167

11166:                                            ; preds = %11162, %11156
  br label %11167

11167:                                            ; preds = %11162, %11166
  %.str.5.sink5835 = phi ptr [ @.str.5, %11166 ], [ @.str.2, %11162 ]
  store i32 %11157, ptr %377, align 4, !tbaa !5
  %11168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11169 = load i32, ptr @test_count, align 4, !tbaa !5
  %11170 = load i32, ptr %323, align 4, !tbaa !5
  %11171 = call ptr @s2n_strerror(i32 noundef %11170, ptr noundef nonnull @.str.4) #13
  %11172 = load i32, ptr %323, align 4, !tbaa !5
  %11173 = call ptr @s2n_strerror_debug(i32 noundef %11172, ptr noundef nonnull @.str.4) #13
  %11174 = load i32, ptr %377, align 4, !tbaa !5
  %11175 = call ptr @strerror(i32 noundef %11174) #13
  %11176 = load i32, ptr %377, align 4, !tbaa !5
  %11177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11168, ptr noundef nonnull %.str.5.sink5835, i32 noundef %11169, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.1, i32 noundef 1215, ptr noundef %11171, ptr noundef %11173, ptr noundef %11175, i32 noundef %11176) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11178:                                            ; preds = %11151
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %107) #13
  store i32 0, ptr %107, align 4
  %11179 = load i32, ptr @test_count, align 4, !tbaa !5
  %11180 = add nsw i32 %11179, 1
  store i32 %11180, ptr @test_count, align 4, !tbaa !5
  %11181 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %11182 = icmp eq ptr %11181, null
  br i1 %11182, label %11183, label %11205

11183:                                            ; preds = %11178
  %11184 = load i32, ptr %377, align 4, !tbaa !5
  %11185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11186 = call i32 @s2n_print_stacktrace(ptr noundef %11185) #13
  %11187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11188 = trunc nuw i8 %11187 to i1
  br i1 %11188, label %11189, label %11193

11189:                                            ; preds = %11183
  %11190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11191 = call i32 @fileno(ptr noundef %11190) #13
  %11192 = call i32 @isatty(i32 noundef %11191) #13
  %.not2000 = icmp eq i32 %11192, 0
  br i1 %.not2000, label %11193, label %11194

11193:                                            ; preds = %11189, %11183
  br label %11194

11194:                                            ; preds = %11189, %11193
  %.str.5.sink5844 = phi ptr [ @.str.5, %11193 ], [ @.str.2, %11189 ]
  store i32 %11184, ptr %377, align 4, !tbaa !5
  %11195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11196 = load i32, ptr @test_count, align 4, !tbaa !5
  %11197 = load i32, ptr %323, align 4, !tbaa !5
  %11198 = call ptr @s2n_strerror(i32 noundef %11197, ptr noundef nonnull @.str.4) #13
  %11199 = load i32, ptr %323, align 4, !tbaa !5
  %11200 = call ptr @s2n_strerror_debug(i32 noundef %11199, ptr noundef nonnull @.str.4) #13
  %11201 = load i32, ptr %377, align 4, !tbaa !5
  %11202 = call ptr @strerror(i32 noundef %11201) #13
  %11203 = load i32, ptr %377, align 4, !tbaa !5
  %11204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11195, ptr noundef nonnull %.str.5.sink5844, i32 noundef %11196, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 1225, ptr noundef %11198, ptr noundef %11200, ptr noundef %11202, i32 noundef %11203) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11205:                                            ; preds = %11178
  %11206 = getelementptr inbounds i8, ptr %11181, i64 3616
  store i16 1, ptr %11206, align 8, !tbaa !91
  %11207 = getelementptr inbounds i8, ptr %11181, i64 1744
  store i32 2, ptr %11207, align 8, !tbaa !92
  %11208 = load i8, ptr %106, align 1, !tbaa !90
  %11209 = and i8 %11208, 7
  %11210 = shl nuw i8 1, %11209
  %11211 = getelementptr inbounds i8, ptr %11181, i64 102
  %11212 = lshr i8 %11208, 3
  %11213 = zext nneg i8 %11212 to i64
  %11214 = getelementptr inbounds [22 x i8], ptr %11211, i64 0, i64 %11213
  %11215 = load i8, ptr %11214, align 1, !tbaa !90
  %11216 = or i8 %11210, %11215
  store i8 %11216, ptr %11214, align 1, !tbaa !90
  %11217 = load i8, ptr %105, align 1, !tbaa !90
  %11218 = and i8 %11217, 7
  %11219 = shl nuw i8 1, %11218
  %11220 = lshr i8 %11217, 3
  %11221 = zext nneg i8 %11220 to i64
  %11222 = getelementptr inbounds [22 x i8], ptr %11211, i64 0, i64 %11221
  %11223 = load i8, ptr %11222, align 1, !tbaa !90
  %11224 = or i8 %11219, %11223
  store i8 %11224, ptr %11222, align 1, !tbaa !90
  %11225 = load i32, ptr @test_count, align 4, !tbaa !5
  %11226 = add nsw i32 %11225, 1
  store i32 %11226, ptr @test_count, align 4, !tbaa !5
  %11227 = getelementptr inbounds i8, ptr %11181, i64 2016
  %11228 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %11227, ptr noundef nonnull %104, i32 noundef 12) #13
  %11229 = icmp eq i32 %11228, -1
  br i1 %11229, label %11230, label %11252

11230:                                            ; preds = %11205
  %11231 = load i32, ptr %377, align 4, !tbaa !5
  %11232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11233 = call i32 @s2n_print_stacktrace(ptr noundef %11232) #13
  %11234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11235 = trunc nuw i8 %11234 to i1
  br i1 %11235, label %11236, label %11240

11236:                                            ; preds = %11230
  %11237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11238 = call i32 @fileno(ptr noundef %11237) #13
  %11239 = call i32 @isatty(i32 noundef %11238) #13
  %.not1999 = icmp eq i32 %11239, 0
  br i1 %.not1999, label %11240, label %11241

11240:                                            ; preds = %11236, %11230
  br label %11241

11241:                                            ; preds = %11236, %11240
  %.str.5.sink5853 = phi ptr [ @.str.5, %11240 ], [ @.str.2, %11236 ]
  store i32 %11231, ptr %377, align 4, !tbaa !5
  %11242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11243 = load i32, ptr @test_count, align 4, !tbaa !5
  %11244 = load i32, ptr %323, align 4, !tbaa !5
  %11245 = call ptr @s2n_strerror(i32 noundef %11244, ptr noundef nonnull @.str.4) #13
  %11246 = load i32, ptr %323, align 4, !tbaa !5
  %11247 = call ptr @s2n_strerror_debug(i32 noundef %11246, ptr noundef nonnull @.str.4) #13
  %11248 = load i32, ptr %377, align 4, !tbaa !5
  %11249 = call ptr @strerror(i32 noundef %11248) #13
  %11250 = load i32, ptr %377, align 4, !tbaa !5
  %11251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11242, ptr noundef nonnull %.str.5.sink5853, i32 noundef %11243, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.1, i32 noundef 1234, ptr noundef %11245, ptr noundef %11247, ptr noundef %11249, i32 noundef %11250) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11252:                                            ; preds = %11205
  %11253 = load i32, ptr @test_count, align 4, !tbaa !5
  %11254 = add nsw i32 %11253, 1
  store i32 %11254, ptr @test_count, align 4, !tbaa !5
  %11255 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %11227, ptr noundef nonnull %107, i32 noundef 4) #13
  %11256 = icmp eq i32 %11255, -1
  br i1 %11256, label %11257, label %11279

11257:                                            ; preds = %11252
  %11258 = load i32, ptr %377, align 4, !tbaa !5
  %11259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11260 = call i32 @s2n_print_stacktrace(ptr noundef %11259) #13
  %11261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11262 = trunc nuw i8 %11261 to i1
  br i1 %11262, label %11263, label %11267

11263:                                            ; preds = %11257
  %11264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11265 = call i32 @fileno(ptr noundef %11264) #13
  %11266 = call i32 @isatty(i32 noundef %11265) #13
  %.not1998 = icmp eq i32 %11266, 0
  br i1 %.not1998, label %11267, label %11268

11267:                                            ; preds = %11263, %11257
  br label %11268

11268:                                            ; preds = %11263, %11267
  %.str.5.sink5862 = phi ptr [ @.str.5, %11267 ], [ @.str.2, %11263 ]
  store i32 %11258, ptr %377, align 4, !tbaa !5
  %11269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11270 = load i32, ptr @test_count, align 4, !tbaa !5
  %11271 = load i32, ptr %323, align 4, !tbaa !5
  %11272 = call ptr @s2n_strerror(i32 noundef %11271, ptr noundef nonnull @.str.4) #13
  %11273 = load i32, ptr %323, align 4, !tbaa !5
  %11274 = call ptr @s2n_strerror_debug(i32 noundef %11273, ptr noundef nonnull @.str.4) #13
  %11275 = load i32, ptr %377, align 4, !tbaa !5
  %11276 = call ptr @strerror(i32 noundef %11275) #13
  %11277 = load i32, ptr %377, align 4, !tbaa !5
  %11278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11269, ptr noundef nonnull %.str.5.sink5862, i32 noundef %11270, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.1, i32 noundef 1235, ptr noundef %11272, ptr noundef %11274, ptr noundef %11276, i32 noundef %11277) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11279:                                            ; preds = %11252
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %108) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %108, i8 0, i64 40, i1 false)
  %11280 = load i32, ptr @test_count, align 4, !tbaa !5
  %11281 = add nsw i32 %11280, 1
  store i32 %11281, ptr @test_count, align 4, !tbaa !5
  %11282 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %108, i32 noundef 0) #13
  %11283 = icmp eq i32 %11282, -1
  br i1 %11283, label %11284, label %11306

11284:                                            ; preds = %11279
  %11285 = load i32, ptr %377, align 4, !tbaa !5
  %11286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11287 = call i32 @s2n_print_stacktrace(ptr noundef %11286) #13
  %11288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11289 = trunc nuw i8 %11288 to i1
  br i1 %11289, label %11290, label %11294

11290:                                            ; preds = %11284
  %11291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11292 = call i32 @fileno(ptr noundef %11291) #13
  %11293 = call i32 @isatty(i32 noundef %11292) #13
  %.not1997 = icmp eq i32 %11293, 0
  br i1 %.not1997, label %11294, label %11295

11294:                                            ; preds = %11290, %11284
  br label %11295

11295:                                            ; preds = %11290, %11294
  %.str.5.sink5871 = phi ptr [ @.str.5, %11294 ], [ @.str.2, %11290 ]
  store i32 %11285, ptr %377, align 4, !tbaa !5
  %11296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11297 = load i32, ptr @test_count, align 4, !tbaa !5
  %11298 = load i32, ptr %323, align 4, !tbaa !5
  %11299 = call ptr @s2n_strerror(i32 noundef %11298, ptr noundef nonnull @.str.4) #13
  %11300 = load i32, ptr %323, align 4, !tbaa !5
  %11301 = call ptr @s2n_strerror_debug(i32 noundef %11300, ptr noundef nonnull @.str.4) #13
  %11302 = load i32, ptr %377, align 4, !tbaa !5
  %11303 = call ptr @strerror(i32 noundef %11302) #13
  %11304 = load i32, ptr %377, align 4, !tbaa !5
  %11305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11296, ptr noundef nonnull %.str.5.sink5871, i32 noundef %11297, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.1, i32 noundef 1239, ptr noundef %11299, ptr noundef %11301, ptr noundef %11303, i32 noundef %11304) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11306:                                            ; preds = %11279
  %11307 = load i32, ptr @test_count, align 4, !tbaa !5
  %11308 = add nsw i32 %11307, 1
  store i32 %11308, ptr @test_count, align 4, !tbaa !5
  %11309 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %108, ptr noundef nonnull %107, i32 noundef 4) #13
  %11310 = icmp eq i32 %11309, -1
  br i1 %11310, label %11311, label %11333

11311:                                            ; preds = %11306
  %11312 = load i32, ptr %377, align 4, !tbaa !5
  %11313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11314 = call i32 @s2n_print_stacktrace(ptr noundef %11313) #13
  %11315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11316 = trunc nuw i8 %11315 to i1
  br i1 %11316, label %11317, label %11321

11317:                                            ; preds = %11311
  %11318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11319 = call i32 @fileno(ptr noundef %11318) #13
  %11320 = call i32 @isatty(i32 noundef %11319) #13
  %.not1996 = icmp eq i32 %11320, 0
  br i1 %.not1996, label %11321, label %11322

11321:                                            ; preds = %11317, %11311
  br label %11322

11322:                                            ; preds = %11317, %11321
  %.str.5.sink5880 = phi ptr [ @.str.5, %11321 ], [ @.str.2, %11317 ]
  store i32 %11312, ptr %377, align 4, !tbaa !5
  %11323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11324 = load i32, ptr @test_count, align 4, !tbaa !5
  %11325 = load i32, ptr %323, align 4, !tbaa !5
  %11326 = call ptr @s2n_strerror(i32 noundef %11325, ptr noundef nonnull @.str.4) #13
  %11327 = load i32, ptr %323, align 4, !tbaa !5
  %11328 = call ptr @s2n_strerror_debug(i32 noundef %11327, ptr noundef nonnull @.str.4) #13
  %11329 = load i32, ptr %377, align 4, !tbaa !5
  %11330 = call ptr @strerror(i32 noundef %11329) #13
  %11331 = load i32, ptr %377, align 4, !tbaa !5
  %11332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11323, ptr noundef nonnull %.str.5.sink5880, i32 noundef %11324, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.1, i32 noundef 1240, ptr noundef %11326, ptr noundef %11328, ptr noundef %11330, i32 noundef %11331) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11333:                                            ; preds = %11306
  %11334 = load i32, ptr @test_count, align 4, !tbaa !5
  %11335 = add nsw i32 %11334, 1
  store i32 %11335, ptr @test_count, align 4, !tbaa !5
  %11336 = call i32 @s2n_client_psk_recv(ptr noundef nonnull %11181, ptr noundef nonnull %108)
  %11337 = icmp eq i32 %11336, -1
  br i1 %11337, label %11338, label %11360

11338:                                            ; preds = %11333
  %11339 = load i32, ptr %377, align 4, !tbaa !5
  %11340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11341 = call i32 @s2n_print_stacktrace(ptr noundef %11340) #13
  %11342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11343 = trunc nuw i8 %11342 to i1
  br i1 %11343, label %11344, label %11348

11344:                                            ; preds = %11338
  %11345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11346 = call i32 @fileno(ptr noundef %11345) #13
  %11347 = call i32 @isatty(i32 noundef %11346) #13
  %.not1995 = icmp eq i32 %11347, 0
  br i1 %.not1995, label %11348, label %11349

11348:                                            ; preds = %11344, %11338
  br label %11349

11349:                                            ; preds = %11344, %11348
  %.str.5.sink5889 = phi ptr [ @.str.5, %11348 ], [ @.str.2, %11344 ]
  store i32 %11339, ptr %377, align 4, !tbaa !5
  %11350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11351 = load i32, ptr @test_count, align 4, !tbaa !5
  %11352 = load i32, ptr %323, align 4, !tbaa !5
  %11353 = call ptr @s2n_strerror(i32 noundef %11352, ptr noundef nonnull @.str.4) #13
  %11354 = load i32, ptr %323, align 4, !tbaa !5
  %11355 = call ptr @s2n_strerror_debug(i32 noundef %11354, ptr noundef nonnull @.str.4) #13
  %11356 = load i32, ptr %377, align 4, !tbaa !5
  %11357 = call ptr @strerror(i32 noundef %11356) #13
  %11358 = load i32, ptr %377, align 4, !tbaa !5
  %11359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11350, ptr noundef nonnull %.str.5.sink5889, i32 noundef %11351, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.1, i32 noundef 1243, ptr noundef %11353, ptr noundef %11355, ptr noundef %11357, i32 noundef %11358) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11360:                                            ; preds = %11333
  %11361 = load i32, ptr @test_count, align 4, !tbaa !5
  %11362 = add nsw i32 %11361, 1
  store i32 %11362, ptr @test_count, align 4, !tbaa !5
  %11363 = getelementptr inbounds i8, ptr %11181, i64 1730
  %11364 = load i16, ptr %11363, align 2, !tbaa !87
  %11365 = icmp eq i16 %11364, 0
  br i1 %11365, label %11388, label %11366

11366:                                            ; preds = %11360
  %11367 = load i32, ptr %377, align 4, !tbaa !5
  %11368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11369 = call i32 @s2n_print_stacktrace(ptr noundef %11368) #13
  %11370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11371 = trunc nuw i8 %11370 to i1
  br i1 %11371, label %11372, label %11376

11372:                                            ; preds = %11366
  %11373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11374 = call i32 @fileno(ptr noundef %11373) #13
  %11375 = call i32 @isatty(i32 noundef %11374) #13
  %.not1829 = icmp eq i32 %11375, 0
  br i1 %.not1829, label %11376, label %11377

11376:                                            ; preds = %11372, %11366
  br label %11377

11377:                                            ; preds = %11372, %11376
  %.str.5.sink5898 = phi ptr [ @.str.5, %11376 ], [ @.str.2, %11372 ]
  store i32 %11367, ptr %377, align 4, !tbaa !5
  %11378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11379 = load i32, ptr @test_count, align 4, !tbaa !5
  %11380 = load i32, ptr %323, align 4, !tbaa !5
  %11381 = call ptr @s2n_strerror(i32 noundef %11380, ptr noundef nonnull @.str.4) #13
  %11382 = load i32, ptr %323, align 4, !tbaa !5
  %11383 = call ptr @s2n_strerror_debug(i32 noundef %11382, ptr noundef nonnull @.str.4) #13
  %11384 = load i32, ptr %377, align 4, !tbaa !5
  %11385 = call ptr @strerror(i32 noundef %11384) #13
  %11386 = load i32, ptr %377, align 4, !tbaa !5
  %11387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11378, ptr noundef nonnull %.str.5.sink5898, i32 noundef %11379, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 1244, ptr noundef %11381, ptr noundef %11383, ptr noundef %11385, i32 noundef %11386) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11388:                                            ; preds = %11360
  %11389 = add nsw i32 %11361, 2
  store i32 %11389, ptr @test_count, align 4, !tbaa !5
  %11390 = getelementptr inbounds i8, ptr %11181, i64 1736
  %11391 = load ptr, ptr %11390, align 8, !tbaa !88
  %11392 = icmp eq ptr %11391, null
  br i1 %11392, label %11415, label %11393

11393:                                            ; preds = %11388
  %11394 = load i32, ptr %377, align 4, !tbaa !5
  %11395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11396 = call i32 @s2n_print_stacktrace(ptr noundef %11395) #13
  %11397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11398 = trunc nuw i8 %11397 to i1
  br i1 %11398, label %11399, label %11403

11399:                                            ; preds = %11393
  %11400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11401 = call i32 @fileno(ptr noundef %11400) #13
  %11402 = call i32 @isatty(i32 noundef %11401) #13
  %.not1830 = icmp eq i32 %11402, 0
  br i1 %.not1830, label %11403, label %11404

11403:                                            ; preds = %11399, %11393
  br label %11404

11404:                                            ; preds = %11399, %11403
  %.str.5.sink5907 = phi ptr [ @.str.5, %11403 ], [ @.str.2, %11399 ]
  store i32 %11394, ptr %377, align 4, !tbaa !5
  %11405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11406 = load i32, ptr @test_count, align 4, !tbaa !5
  %11407 = load i32, ptr %323, align 4, !tbaa !5
  %11408 = call ptr @s2n_strerror(i32 noundef %11407, ptr noundef nonnull @.str.4) #13
  %11409 = load i32, ptr %323, align 4, !tbaa !5
  %11410 = call ptr @s2n_strerror_debug(i32 noundef %11409, ptr noundef nonnull @.str.4) #13
  %11411 = load i32, ptr %377, align 4, !tbaa !5
  %11412 = call ptr @strerror(i32 noundef %11411) #13
  %11413 = load i32, ptr %377, align 4, !tbaa !5
  %11414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11405, ptr noundef nonnull %.str.5.sink5907, i32 noundef %11406, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 1245, ptr noundef %11408, ptr noundef %11410, ptr noundef %11412, i32 noundef %11413) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11415:                                            ; preds = %11388
  %11416 = add nsw i32 %11361, 3
  store i32 %11416, ptr @test_count, align 4, !tbaa !5
  %11417 = call i32 @s2n_connection_free(ptr noundef nonnull %11181) #13
  %11418 = icmp eq i32 %11417, -1
  br i1 %11418, label %11419, label %11441

11419:                                            ; preds = %11415
  %11420 = load i32, ptr %377, align 4, !tbaa !5
  %11421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11422 = call i32 @s2n_print_stacktrace(ptr noundef %11421) #13
  %11423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11424 = trunc nuw i8 %11423 to i1
  br i1 %11424, label %11425, label %11429

11425:                                            ; preds = %11419
  %11426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11427 = call i32 @fileno(ptr noundef %11426) #13
  %11428 = call i32 @isatty(i32 noundef %11427) #13
  %.not1994 = icmp eq i32 %11428, 0
  br i1 %.not1994, label %11429, label %11430

11429:                                            ; preds = %11425, %11419
  br label %11430

11430:                                            ; preds = %11425, %11429
  %.str.5.sink5916 = phi ptr [ @.str.5, %11429 ], [ @.str.2, %11425 ]
  store i32 %11420, ptr %377, align 4, !tbaa !5
  %11431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11432 = load i32, ptr @test_count, align 4, !tbaa !5
  %11433 = load i32, ptr %323, align 4, !tbaa !5
  %11434 = call ptr @s2n_strerror(i32 noundef %11433, ptr noundef nonnull @.str.4) #13
  %11435 = load i32, ptr %323, align 4, !tbaa !5
  %11436 = call ptr @s2n_strerror_debug(i32 noundef %11435, ptr noundef nonnull @.str.4) #13
  %11437 = load i32, ptr %377, align 4, !tbaa !5
  %11438 = call ptr @strerror(i32 noundef %11437) #13
  %11439 = load i32, ptr %377, align 4, !tbaa !5
  %11440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11431, ptr noundef nonnull %.str.5.sink5916, i32 noundef %11432, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 1247, ptr noundef %11434, ptr noundef %11436, ptr noundef %11438, i32 noundef %11439) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11441:                                            ; preds = %11415
  %11442 = load i32, ptr @test_count, align 4, !tbaa !5
  %11443 = add nsw i32 %11442, 1
  store i32 %11443, ptr @test_count, align 4, !tbaa !5
  %11444 = call i32 @s2n_stuffer_free(ptr noundef nonnull %108) #13
  %11445 = icmp eq i32 %11444, -1
  br i1 %11445, label %11446, label %11468

11446:                                            ; preds = %11441
  %11447 = load i32, ptr %377, align 4, !tbaa !5
  %11448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11449 = call i32 @s2n_print_stacktrace(ptr noundef %11448) #13
  %11450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11451 = trunc nuw i8 %11450 to i1
  br i1 %11451, label %11452, label %11456

11452:                                            ; preds = %11446
  %11453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11454 = call i32 @fileno(ptr noundef %11453) #13
  %11455 = call i32 @isatty(i32 noundef %11454) #13
  %.not1993 = icmp eq i32 %11455, 0
  br i1 %.not1993, label %11456, label %11457

11456:                                            ; preds = %11452, %11446
  br label %11457

11457:                                            ; preds = %11452, %11456
  %.str.5.sink5925 = phi ptr [ @.str.5, %11456 ], [ @.str.2, %11452 ]
  store i32 %11447, ptr %377, align 4, !tbaa !5
  %11458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11459 = load i32, ptr @test_count, align 4, !tbaa !5
  %11460 = load i32, ptr %323, align 4, !tbaa !5
  %11461 = call ptr @s2n_strerror(i32 noundef %11460, ptr noundef nonnull @.str.4) #13
  %11462 = load i32, ptr %323, align 4, !tbaa !5
  %11463 = call ptr @s2n_strerror_debug(i32 noundef %11462, ptr noundef nonnull @.str.4) #13
  %11464 = load i32, ptr %377, align 4, !tbaa !5
  %11465 = call ptr @strerror(i32 noundef %11464) #13
  %11466 = load i32, ptr %377, align 4, !tbaa !5
  %11467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11458, ptr noundef nonnull %.str.5.sink5925, i32 noundef %11459, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.1, i32 noundef 1248, ptr noundef %11461, ptr noundef %11463, ptr noundef %11465, i32 noundef %11466) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11468:                                            ; preds = %11441
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %108) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %107) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %109) #13
  %11469 = load i8, ptr @__const.main.identity_bytes, align 1
  store i8 %11469, ptr %109, align 1
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %110) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %110, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.extension_data, i64 11, i1 false)
  %11470 = load i32, ptr @test_count, align 4, !tbaa !5
  %11471 = add nsw i32 %11470, 1
  store i32 %11471, ptr @test_count, align 4, !tbaa !5
  %11472 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %11473 = icmp eq ptr %11472, null
  br i1 %11473, label %11474, label %11496

11474:                                            ; preds = %11468
  %11475 = load i32, ptr %377, align 4, !tbaa !5
  %11476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11477 = call i32 @s2n_print_stacktrace(ptr noundef %11476) #13
  %11478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11479 = trunc nuw i8 %11478 to i1
  br i1 %11479, label %11480, label %11484

11480:                                            ; preds = %11474
  %11481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11482 = call i32 @fileno(ptr noundef %11481) #13
  %11483 = call i32 @isatty(i32 noundef %11482) #13
  %.not1992 = icmp eq i32 %11483, 0
  br i1 %.not1992, label %11484, label %11485

11484:                                            ; preds = %11480, %11474
  br label %11485

11485:                                            ; preds = %11480, %11484
  %.str.5.sink5934 = phi ptr [ @.str.5, %11484 ], [ @.str.2, %11480 ]
  store i32 %11475, ptr %377, align 4, !tbaa !5
  %11486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11487 = load i32, ptr @test_count, align 4, !tbaa !5
  %11488 = load i32, ptr %323, align 4, !tbaa !5
  %11489 = call ptr @s2n_strerror(i32 noundef %11488, ptr noundef nonnull @.str.4) #13
  %11490 = load i32, ptr %323, align 4, !tbaa !5
  %11491 = call ptr @s2n_strerror_debug(i32 noundef %11490, ptr noundef nonnull @.str.4) #13
  %11492 = load i32, ptr %377, align 4, !tbaa !5
  %11493 = call ptr @strerror(i32 noundef %11492) #13
  %11494 = load i32, ptr %377, align 4, !tbaa !5
  %11495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11486, ptr noundef nonnull %.str.5.sink5934, i32 noundef %11487, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 1265, ptr noundef %11489, ptr noundef %11491, ptr noundef %11493, i32 noundef %11494) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11496:                                            ; preds = %11468
  %11497 = load i32, ptr @test_count, align 4, !tbaa !5
  %11498 = add nsw i32 %11497, 1
  store i32 %11498, ptr @test_count, align 4, !tbaa !5
  %11499 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %11472, i32 noundef 1) #13
  %11500 = call zeroext i1 @s2n_result_is_ok(i32 %11499)
  br i1 %11500, label %11523, label %11501

11501:                                            ; preds = %11496
  %11502 = load i32, ptr %377, align 4, !tbaa !5
  %11503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11504 = call i32 @s2n_print_stacktrace(ptr noundef %11503) #13
  %11505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11506 = trunc nuw i8 %11505 to i1
  br i1 %11506, label %11507, label %11511

11507:                                            ; preds = %11501
  %11508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11509 = call i32 @fileno(ptr noundef %11508) #13
  %11510 = call i32 @isatty(i32 noundef %11509) #13
  %.not1831 = icmp eq i32 %11510, 0
  br i1 %.not1831, label %11511, label %11512

11511:                                            ; preds = %11507, %11501
  br label %11512

11512:                                            ; preds = %11507, %11511
  %.str.5.sink5943 = phi ptr [ @.str.5, %11511 ], [ @.str.2, %11507 ]
  store i32 %11502, ptr %377, align 4, !tbaa !5
  %11513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11514 = load i32, ptr @test_count, align 4, !tbaa !5
  %11515 = load i32, ptr %323, align 4, !tbaa !5
  %11516 = call ptr @s2n_strerror(i32 noundef %11515, ptr noundef nonnull @.str.4) #13
  %11517 = load i32, ptr %323, align 4, !tbaa !5
  %11518 = call ptr @s2n_strerror_debug(i32 noundef %11517, ptr noundef nonnull @.str.4) #13
  %11519 = load i32, ptr %377, align 4, !tbaa !5
  %11520 = call ptr @strerror(i32 noundef %11519) #13
  %11521 = load i32, ptr %377, align 4, !tbaa !5
  %11522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11513, ptr noundef nonnull %.str.5.sink5943, i32 noundef %11514, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 1266, ptr noundef %11516, ptr noundef %11518, ptr noundef %11520, i32 noundef %11521) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11523:                                            ; preds = %11496
  %11524 = getelementptr inbounds i8, ptr %11472, i64 3616
  store i16 1, ptr %11524, align 8, !tbaa !91
  %11525 = getelementptr inbounds i8, ptr %11472, i64 1744
  store i32 2, ptr %11525, align 8, !tbaa !92
  %11526 = load i8, ptr %106, align 1, !tbaa !90
  %11527 = and i8 %11526, 7
  %11528 = shl nuw i8 1, %11527
  %11529 = getelementptr inbounds i8, ptr %11472, i64 102
  %11530 = lshr i8 %11526, 3
  %11531 = zext nneg i8 %11530 to i64
  %11532 = getelementptr inbounds [22 x i8], ptr %11529, i64 0, i64 %11531
  %11533 = load i8, ptr %11532, align 1, !tbaa !90
  %11534 = or i8 %11528, %11533
  store i8 %11534, ptr %11532, align 1, !tbaa !90
  %11535 = load i8, ptr %105, align 1, !tbaa !90
  %11536 = and i8 %11535, 7
  %11537 = shl nuw i8 1, %11536
  %11538 = lshr i8 %11535, 3
  %11539 = zext nneg i8 %11538 to i64
  %11540 = getelementptr inbounds [22 x i8], ptr %11529, i64 0, i64 %11539
  %11541 = load i8, ptr %11540, align 1, !tbaa !90
  %11542 = or i8 %11537, %11541
  store i8 %11542, ptr %11540, align 1, !tbaa !90
  %11543 = load i32, ptr @test_count, align 4, !tbaa !5
  %11544 = add nsw i32 %11543, 1
  store i32 %11544, ptr @test_count, align 4, !tbaa !5
  %11545 = getelementptr inbounds i8, ptr %11472, i64 2016
  %11546 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %11545, ptr noundef nonnull %104, i32 noundef 12) #13
  %11547 = icmp eq i32 %11546, -1
  br i1 %11547, label %11548, label %11570

11548:                                            ; preds = %11523
  %11549 = load i32, ptr %377, align 4, !tbaa !5
  %11550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11551 = call i32 @s2n_print_stacktrace(ptr noundef %11550) #13
  %11552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11553 = trunc nuw i8 %11552 to i1
  br i1 %11553, label %11554, label %11558

11554:                                            ; preds = %11548
  %11555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11556 = call i32 @fileno(ptr noundef %11555) #13
  %11557 = call i32 @isatty(i32 noundef %11556) #13
  %.not1991 = icmp eq i32 %11557, 0
  br i1 %.not1991, label %11558, label %11559

11558:                                            ; preds = %11554, %11548
  br label %11559

11559:                                            ; preds = %11554, %11558
  %.str.5.sink5952 = phi ptr [ @.str.5, %11558 ], [ @.str.2, %11554 ]
  store i32 %11549, ptr %377, align 4, !tbaa !5
  %11560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11561 = load i32, ptr @test_count, align 4, !tbaa !5
  %11562 = load i32, ptr %323, align 4, !tbaa !5
  %11563 = call ptr @s2n_strerror(i32 noundef %11562, ptr noundef nonnull @.str.4) #13
  %11564 = load i32, ptr %323, align 4, !tbaa !5
  %11565 = call ptr @s2n_strerror_debug(i32 noundef %11564, ptr noundef nonnull @.str.4) #13
  %11566 = load i32, ptr %377, align 4, !tbaa !5
  %11567 = call ptr @strerror(i32 noundef %11566) #13
  %11568 = load i32, ptr %377, align 4, !tbaa !5
  %11569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11560, ptr noundef nonnull %.str.5.sink5952, i32 noundef %11561, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.1, i32 noundef 1275, ptr noundef %11563, ptr noundef %11565, ptr noundef %11567, i32 noundef %11568) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11570:                                            ; preds = %11523
  %11571 = load i32, ptr @test_count, align 4, !tbaa !5
  %11572 = add nsw i32 %11571, 1
  store i32 %11572, ptr @test_count, align 4, !tbaa !5
  %11573 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %11545, ptr noundef nonnull %110, i32 noundef 11) #13
  %11574 = icmp eq i32 %11573, -1
  br i1 %11574, label %11575, label %11597

11575:                                            ; preds = %11570
  %11576 = load i32, ptr %377, align 4, !tbaa !5
  %11577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11578 = call i32 @s2n_print_stacktrace(ptr noundef %11577) #13
  %11579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11580 = trunc nuw i8 %11579 to i1
  br i1 %11580, label %11581, label %11585

11581:                                            ; preds = %11575
  %11582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11583 = call i32 @fileno(ptr noundef %11582) #13
  %11584 = call i32 @isatty(i32 noundef %11583) #13
  %.not1990 = icmp eq i32 %11584, 0
  br i1 %.not1990, label %11585, label %11586

11585:                                            ; preds = %11581, %11575
  br label %11586

11586:                                            ; preds = %11581, %11585
  %.str.5.sink5961 = phi ptr [ @.str.5, %11585 ], [ @.str.2, %11581 ]
  store i32 %11576, ptr %377, align 4, !tbaa !5
  %11587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11588 = load i32, ptr @test_count, align 4, !tbaa !5
  %11589 = load i32, ptr %323, align 4, !tbaa !5
  %11590 = call ptr @s2n_strerror(i32 noundef %11589, ptr noundef nonnull @.str.4) #13
  %11591 = load i32, ptr %323, align 4, !tbaa !5
  %11592 = call ptr @s2n_strerror_debug(i32 noundef %11591, ptr noundef nonnull @.str.4) #13
  %11593 = load i32, ptr %377, align 4, !tbaa !5
  %11594 = call ptr @strerror(i32 noundef %11593) #13
  %11595 = load i32, ptr %377, align 4, !tbaa !5
  %11596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11587, ptr noundef nonnull %.str.5.sink5961, i32 noundef %11588, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.1, i32 noundef 1276, ptr noundef %11590, ptr noundef %11592, ptr noundef %11594, i32 noundef %11595) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11597:                                            ; preds = %11570
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %111) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %111, i8 0, i64 40, i1 false)
  %11598 = load i32, ptr @test_count, align 4, !tbaa !5
  %11599 = add nsw i32 %11598, 1
  store i32 %11599, ptr @test_count, align 4, !tbaa !5
  %11600 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %111, i32 noundef 0) #13
  %11601 = icmp eq i32 %11600, -1
  br i1 %11601, label %11602, label %11624

11602:                                            ; preds = %11597
  %11603 = load i32, ptr %377, align 4, !tbaa !5
  %11604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11605 = call i32 @s2n_print_stacktrace(ptr noundef %11604) #13
  %11606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11607 = trunc nuw i8 %11606 to i1
  br i1 %11607, label %11608, label %11612

11608:                                            ; preds = %11602
  %11609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11610 = call i32 @fileno(ptr noundef %11609) #13
  %11611 = call i32 @isatty(i32 noundef %11610) #13
  %.not1989 = icmp eq i32 %11611, 0
  br i1 %.not1989, label %11612, label %11613

11612:                                            ; preds = %11608, %11602
  br label %11613

11613:                                            ; preds = %11608, %11612
  %.str.5.sink5970 = phi ptr [ @.str.5, %11612 ], [ @.str.2, %11608 ]
  store i32 %11603, ptr %377, align 4, !tbaa !5
  %11614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11615 = load i32, ptr @test_count, align 4, !tbaa !5
  %11616 = load i32, ptr %323, align 4, !tbaa !5
  %11617 = call ptr @s2n_strerror(i32 noundef %11616, ptr noundef nonnull @.str.4) #13
  %11618 = load i32, ptr %323, align 4, !tbaa !5
  %11619 = call ptr @s2n_strerror_debug(i32 noundef %11618, ptr noundef nonnull @.str.4) #13
  %11620 = load i32, ptr %377, align 4, !tbaa !5
  %11621 = call ptr @strerror(i32 noundef %11620) #13
  %11622 = load i32, ptr %377, align 4, !tbaa !5
  %11623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11614, ptr noundef nonnull %.str.5.sink5970, i32 noundef %11615, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.1, i32 noundef 1280, ptr noundef %11617, ptr noundef %11619, ptr noundef %11621, i32 noundef %11622) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11624:                                            ; preds = %11597
  %11625 = load i32, ptr @test_count, align 4, !tbaa !5
  %11626 = add nsw i32 %11625, 1
  store i32 %11626, ptr @test_count, align 4, !tbaa !5
  %11627 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %111, ptr noundef nonnull %110, i32 noundef 11) #13
  %11628 = icmp eq i32 %11627, -1
  br i1 %11628, label %11629, label %11651

11629:                                            ; preds = %11624
  %11630 = load i32, ptr %377, align 4, !tbaa !5
  %11631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11632 = call i32 @s2n_print_stacktrace(ptr noundef %11631) #13
  %11633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11634 = trunc nuw i8 %11633 to i1
  br i1 %11634, label %11635, label %11639

11635:                                            ; preds = %11629
  %11636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11637 = call i32 @fileno(ptr noundef %11636) #13
  %11638 = call i32 @isatty(i32 noundef %11637) #13
  %.not1988 = icmp eq i32 %11638, 0
  br i1 %.not1988, label %11639, label %11640

11639:                                            ; preds = %11635, %11629
  br label %11640

11640:                                            ; preds = %11635, %11639
  %.str.5.sink5979 = phi ptr [ @.str.5, %11639 ], [ @.str.2, %11635 ]
  store i32 %11630, ptr %377, align 4, !tbaa !5
  %11641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11642 = load i32, ptr @test_count, align 4, !tbaa !5
  %11643 = load i32, ptr %323, align 4, !tbaa !5
  %11644 = call ptr @s2n_strerror(i32 noundef %11643, ptr noundef nonnull @.str.4) #13
  %11645 = load i32, ptr %323, align 4, !tbaa !5
  %11646 = call ptr @s2n_strerror_debug(i32 noundef %11645, ptr noundef nonnull @.str.4) #13
  %11647 = load i32, ptr %377, align 4, !tbaa !5
  %11648 = call ptr @strerror(i32 noundef %11647) #13
  %11649 = load i32, ptr %377, align 4, !tbaa !5
  %11650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11641, ptr noundef nonnull %.str.5.sink5979, i32 noundef %11642, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.1, i32 noundef 1281, ptr noundef %11644, ptr noundef %11646, ptr noundef %11648, i32 noundef %11649) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11651:                                            ; preds = %11624
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %112) #13
  store ptr null, ptr %112, align 8, !tbaa !9
  %11652 = load i32, ptr @test_count, align 4, !tbaa !5
  %11653 = add nsw i32 %11652, 1
  store i32 %11653, ptr @test_count, align 4, !tbaa !5
  %11654 = getelementptr inbounds i8, ptr %11472, i64 1696
  %11655 = call i32 @s2n_array_pushback(ptr noundef nonnull %11654, ptr noundef nonnull %112) #13
  %11656 = call zeroext i1 @s2n_result_is_ok(i32 %11655)
  br i1 %11656, label %11679, label %11657

11657:                                            ; preds = %11651
  %11658 = load i32, ptr %377, align 4, !tbaa !5
  %11659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11660 = call i32 @s2n_print_stacktrace(ptr noundef %11659) #13
  %11661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11662 = trunc nuw i8 %11661 to i1
  br i1 %11662, label %11663, label %11667

11663:                                            ; preds = %11657
  %11664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11665 = call i32 @fileno(ptr noundef %11664) #13
  %11666 = call i32 @isatty(i32 noundef %11665) #13
  %.not1832 = icmp eq i32 %11666, 0
  br i1 %.not1832, label %11667, label %11668

11667:                                            ; preds = %11663, %11657
  br label %11668

11668:                                            ; preds = %11663, %11667
  %.str.5.sink5988 = phi ptr [ @.str.5, %11667 ], [ @.str.2, %11663 ]
  store i32 %11658, ptr %377, align 4, !tbaa !5
  %11669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11670 = load i32, ptr @test_count, align 4, !tbaa !5
  %11671 = load i32, ptr %323, align 4, !tbaa !5
  %11672 = call ptr @s2n_strerror(i32 noundef %11671, ptr noundef nonnull @.str.4) #13
  %11673 = load i32, ptr %323, align 4, !tbaa !5
  %11674 = call ptr @s2n_strerror_debug(i32 noundef %11673, ptr noundef nonnull @.str.4) #13
  %11675 = load i32, ptr %377, align 4, !tbaa !5
  %11676 = call ptr @strerror(i32 noundef %11675) #13
  %11677 = load i32, ptr %377, align 4, !tbaa !5
  %11678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11669, ptr noundef nonnull %.str.5.sink5988, i32 noundef %11670, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 1284, ptr noundef %11672, ptr noundef %11674, ptr noundef %11676, i32 noundef %11677) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11679:                                            ; preds = %11651
  %11680 = load i32, ptr @test_count, align 4, !tbaa !5
  %11681 = add nsw i32 %11680, 1
  store i32 %11681, ptr @test_count, align 4, !tbaa !5
  %11682 = load ptr, ptr %112, align 8, !tbaa !9
  %11683 = call i32 @s2n_psk_init(ptr noundef %11682, i32 noundef 1) #13
  %11684 = call zeroext i1 @s2n_result_is_ok(i32 %11683)
  br i1 %11684, label %11707, label %11685

11685:                                            ; preds = %11679
  %11686 = load i32, ptr %377, align 4, !tbaa !5
  %11687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11688 = call i32 @s2n_print_stacktrace(ptr noundef %11687) #13
  %11689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11690 = trunc nuw i8 %11689 to i1
  br i1 %11690, label %11691, label %11695

11691:                                            ; preds = %11685
  %11692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11693 = call i32 @fileno(ptr noundef %11692) #13
  %11694 = call i32 @isatty(i32 noundef %11693) #13
  %.not1833 = icmp eq i32 %11694, 0
  br i1 %.not1833, label %11695, label %11696

11695:                                            ; preds = %11691, %11685
  br label %11696

11696:                                            ; preds = %11691, %11695
  %.str.5.sink5997 = phi ptr [ @.str.5, %11695 ], [ @.str.2, %11691 ]
  store i32 %11686, ptr %377, align 4, !tbaa !5
  %11697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11698 = load i32, ptr @test_count, align 4, !tbaa !5
  %11699 = load i32, ptr %323, align 4, !tbaa !5
  %11700 = call ptr @s2n_strerror(i32 noundef %11699, ptr noundef nonnull @.str.4) #13
  %11701 = load i32, ptr %323, align 4, !tbaa !5
  %11702 = call ptr @s2n_strerror_debug(i32 noundef %11701, ptr noundef nonnull @.str.4) #13
  %11703 = load i32, ptr %377, align 4, !tbaa !5
  %11704 = call ptr @strerror(i32 noundef %11703) #13
  %11705 = load i32, ptr %377, align 4, !tbaa !5
  %11706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11697, ptr noundef nonnull %.str.5.sink5997, i32 noundef %11698, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 1285, ptr noundef %11700, ptr noundef %11702, ptr noundef %11704, i32 noundef %11705) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11707:                                            ; preds = %11679
  %11708 = load i32, ptr @test_count, align 4, !tbaa !5
  %11709 = add nsw i32 %11708, 1
  store i32 %11709, ptr @test_count, align 4, !tbaa !5
  %11710 = load ptr, ptr %112, align 8, !tbaa !9
  %11711 = call i32 @s2n_psk_set_identity(ptr noundef %11710, ptr noundef nonnull %109, i16 noundef zeroext 1) #13
  %11712 = icmp eq i32 %11711, -1
  br i1 %11712, label %11713, label %11735

11713:                                            ; preds = %11707
  %11714 = load i32, ptr %377, align 4, !tbaa !5
  %11715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11716 = call i32 @s2n_print_stacktrace(ptr noundef %11715) #13
  %11717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11718 = trunc nuw i8 %11717 to i1
  br i1 %11718, label %11719, label %11723

11719:                                            ; preds = %11713
  %11720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11721 = call i32 @fileno(ptr noundef %11720) #13
  %11722 = call i32 @isatty(i32 noundef %11721) #13
  %.not1987 = icmp eq i32 %11722, 0
  br i1 %.not1987, label %11723, label %11724

11723:                                            ; preds = %11719, %11713
  br label %11724

11724:                                            ; preds = %11719, %11723
  %.str.5.sink6006 = phi ptr [ @.str.5, %11723 ], [ @.str.2, %11719 ]
  store i32 %11714, ptr %377, align 4, !tbaa !5
  %11725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11726 = load i32, ptr @test_count, align 4, !tbaa !5
  %11727 = load i32, ptr %323, align 4, !tbaa !5
  %11728 = call ptr @s2n_strerror(i32 noundef %11727, ptr noundef nonnull @.str.4) #13
  %11729 = load i32, ptr %323, align 4, !tbaa !5
  %11730 = call ptr @s2n_strerror_debug(i32 noundef %11729, ptr noundef nonnull @.str.4) #13
  %11731 = load i32, ptr %377, align 4, !tbaa !5
  %11732 = call ptr @strerror(i32 noundef %11731) #13
  %11733 = load i32, ptr %377, align 4, !tbaa !5
  %11734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11725, ptr noundef nonnull %.str.5.sink6006, i32 noundef %11726, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.1, i32 noundef 1286, ptr noundef %11728, ptr noundef %11730, ptr noundef %11732, i32 noundef %11733) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11735:                                            ; preds = %11707
  %11736 = getelementptr inbounds i8, ptr %11472, i64 220
  store i8 33, ptr %11736, align 4, !tbaa !45
  %11737 = load i32, ptr @test_count, align 4, !tbaa !5
  %11738 = add nsw i32 %11737, 1
  store i32 %11738, ptr @test_count, align 4, !tbaa !5
  %11739 = call i32 @s2n_extension_recv(ptr noundef nonnull @s2n_client_psk_extension, ptr noundef nonnull %11472, ptr noundef nonnull %111) #13
  %11740 = icmp eq i32 %11739, -1
  br i1 %11740, label %11741, label %11763

11741:                                            ; preds = %11735
  %11742 = load i32, ptr %377, align 4, !tbaa !5
  %11743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11744 = call i32 @s2n_print_stacktrace(ptr noundef %11743) #13
  %11745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11746 = trunc nuw i8 %11745 to i1
  br i1 %11746, label %11747, label %11751

11747:                                            ; preds = %11741
  %11748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11749 = call i32 @fileno(ptr noundef %11748) #13
  %11750 = call i32 @isatty(i32 noundef %11749) #13
  %.not1986 = icmp eq i32 %11750, 0
  br i1 %.not1986, label %11751, label %11752

11751:                                            ; preds = %11747, %11741
  br label %11752

11752:                                            ; preds = %11747, %11751
  %.str.5.sink6015 = phi ptr [ @.str.5, %11751 ], [ @.str.2, %11747 ]
  store i32 %11742, ptr %377, align 4, !tbaa !5
  %11753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11754 = load i32, ptr @test_count, align 4, !tbaa !5
  %11755 = load i32, ptr %323, align 4, !tbaa !5
  %11756 = call ptr @s2n_strerror(i32 noundef %11755, ptr noundef nonnull @.str.4) #13
  %11757 = load i32, ptr %323, align 4, !tbaa !5
  %11758 = call ptr @s2n_strerror_debug(i32 noundef %11757, ptr noundef nonnull @.str.4) #13
  %11759 = load i32, ptr %377, align 4, !tbaa !5
  %11760 = call ptr @strerror(i32 noundef %11759) #13
  %11761 = load i32, ptr %377, align 4, !tbaa !5
  %11762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11753, ptr noundef nonnull %.str.5.sink6015, i32 noundef %11754, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.1, i32 noundef 1290, ptr noundef %11756, ptr noundef %11758, ptr noundef %11760, i32 noundef %11761) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11763:                                            ; preds = %11735
  %11764 = load i32, ptr @test_count, align 4, !tbaa !5
  %11765 = add nsw i32 %11764, 1
  store i32 %11765, ptr @test_count, align 4, !tbaa !5
  %11766 = getelementptr inbounds i8, ptr %11472, i64 1736
  %11767 = load ptr, ptr %11766, align 8, !tbaa !88
  %11768 = icmp eq ptr %11767, null
  br i1 %11768, label %11791, label %11769

11769:                                            ; preds = %11763
  %11770 = load i32, ptr %377, align 4, !tbaa !5
  %11771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11772 = call i32 @s2n_print_stacktrace(ptr noundef %11771) #13
  %11773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11774 = trunc nuw i8 %11773 to i1
  br i1 %11774, label %11775, label %11779

11775:                                            ; preds = %11769
  %11776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11777 = call i32 @fileno(ptr noundef %11776) #13
  %11778 = call i32 @isatty(i32 noundef %11777) #13
  %.not1834 = icmp eq i32 %11778, 0
  br i1 %.not1834, label %11779, label %11780

11779:                                            ; preds = %11775, %11769
  br label %11780

11780:                                            ; preds = %11775, %11779
  %.str.5.sink6024 = phi ptr [ @.str.5, %11779 ], [ @.str.2, %11775 ]
  store i32 %11770, ptr %377, align 4, !tbaa !5
  %11781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11782 = load i32, ptr @test_count, align 4, !tbaa !5
  %11783 = load i32, ptr %323, align 4, !tbaa !5
  %11784 = call ptr @s2n_strerror(i32 noundef %11783, ptr noundef nonnull @.str.4) #13
  %11785 = load i32, ptr %323, align 4, !tbaa !5
  %11786 = call ptr @s2n_strerror_debug(i32 noundef %11785, ptr noundef nonnull @.str.4) #13
  %11787 = load i32, ptr %377, align 4, !tbaa !5
  %11788 = call ptr @strerror(i32 noundef %11787) #13
  %11789 = load i32, ptr %377, align 4, !tbaa !5
  %11790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11781, ptr noundef nonnull %.str.5.sink6024, i32 noundef %11782, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 1291, ptr noundef %11784, ptr noundef %11786, ptr noundef %11788, i32 noundef %11789) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11791:                                            ; preds = %11763
  %11792 = add nsw i32 %11764, 2
  store i32 %11792, ptr @test_count, align 4, !tbaa !5
  %11793 = getelementptr inbounds i8, ptr %111, i64 28
  %11794 = load i32, ptr %11793, align 4, !tbaa !67
  %11795 = getelementptr inbounds i8, ptr %111, i64 24
  %11796 = load i32, ptr %11795, align 8, !tbaa !68
  %11797 = sub i32 %11794, %11796
  %11798 = icmp eq i32 %11797, 11
  br i1 %11798, label %11821, label %11799

11799:                                            ; preds = %11791
  %11800 = load i32, ptr %377, align 4, !tbaa !5
  %11801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11802 = call i32 @s2n_print_stacktrace(ptr noundef %11801) #13
  %11803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11804 = trunc nuw i8 %11803 to i1
  br i1 %11804, label %11805, label %11809

11805:                                            ; preds = %11799
  %11806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11807 = call i32 @fileno(ptr noundef %11806) #13
  %11808 = call i32 @isatty(i32 noundef %11807) #13
  %.not1835 = icmp eq i32 %11808, 0
  br i1 %.not1835, label %11809, label %11810

11809:                                            ; preds = %11805, %11799
  br label %11810

11810:                                            ; preds = %11805, %11809
  %.str.5.sink6033 = phi ptr [ @.str.5, %11809 ], [ @.str.2, %11805 ]
  store i32 %11800, ptr %377, align 4, !tbaa !5
  %11811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11812 = load i32, ptr @test_count, align 4, !tbaa !5
  %11813 = load i32, ptr %323, align 4, !tbaa !5
  %11814 = call ptr @s2n_strerror(i32 noundef %11813, ptr noundef nonnull @.str.4) #13
  %11815 = load i32, ptr %323, align 4, !tbaa !5
  %11816 = call ptr @s2n_strerror_debug(i32 noundef %11815, ptr noundef nonnull @.str.4) #13
  %11817 = load i32, ptr %377, align 4, !tbaa !5
  %11818 = call ptr @strerror(i32 noundef %11817) #13
  %11819 = load i32, ptr %377, align 4, !tbaa !5
  %11820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11811, ptr noundef nonnull %.str.5.sink6033, i32 noundef %11812, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.1, i32 noundef 1292, ptr noundef %11814, ptr noundef %11816, ptr noundef %11818, i32 noundef %11819) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11821:                                            ; preds = %11791
  store i8 34, ptr %11736, align 4, !tbaa !45
  %11822 = add nsw i32 %11764, 3
  store i32 %11822, ptr @test_count, align 4, !tbaa !5
  %11823 = call i32 @s2n_client_psk_recv(ptr noundef nonnull %11472, ptr noundef nonnull %111)
  %11824 = icmp eq i32 %11823, -1
  br i1 %11824, label %11847, label %11825

11825:                                            ; preds = %11821
  %11826 = load i32, ptr %377, align 4, !tbaa !5
  %11827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11828 = call i32 @s2n_print_stacktrace(ptr noundef %11827) #13
  %11829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11830 = trunc nuw i8 %11829 to i1
  br i1 %11830, label %11831, label %11835

11831:                                            ; preds = %11825
  %11832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11833 = call i32 @fileno(ptr noundef %11832) #13
  %11834 = call i32 @isatty(i32 noundef %11833) #13
  %.not1836 = icmp eq i32 %11834, 0
  br i1 %.not1836, label %11835, label %11836

11835:                                            ; preds = %11831, %11825
  br label %11836

11836:                                            ; preds = %11831, %11835
  %.str.5.sink6042 = phi ptr [ @.str.5, %11835 ], [ @.str.2, %11831 ]
  store i32 %11826, ptr %377, align 4, !tbaa !5
  %11837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11838 = load i32, ptr @test_count, align 4, !tbaa !5
  %11839 = load i32, ptr %323, align 4, !tbaa !5
  %11840 = call ptr @s2n_strerror(i32 noundef %11839, ptr noundef nonnull @.str.4) #13
  %11841 = load i32, ptr %323, align 4, !tbaa !5
  %11842 = call ptr @s2n_strerror_debug(i32 noundef %11841, ptr noundef nonnull @.str.4) #13
  %11843 = load i32, ptr %377, align 4, !tbaa !5
  %11844 = call ptr @strerror(i32 noundef %11843) #13
  %11845 = load i32, ptr %377, align 4, !tbaa !5
  %11846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11837, ptr noundef nonnull %.str.5.sink6042, i32 noundef %11838, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.1, i32 noundef 1296, ptr noundef %11840, ptr noundef %11842, ptr noundef %11844, i32 noundef %11845) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11847:                                            ; preds = %11821
  %11848 = load i32, ptr @test_count, align 4, !tbaa !5
  %11849 = add nsw i32 %11848, 1
  store i32 %11849, ptr @test_count, align 4, !tbaa !5
  %11850 = load i32, ptr %323, align 4, !tbaa !5
  %11851 = icmp eq i32 %11850, 335544322
  br i1 %11851, label %11874, label %11852

11852:                                            ; preds = %11847
  %11853 = load i32, ptr %377, align 4, !tbaa !5
  %11854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11855 = call i32 @s2n_print_stacktrace(ptr noundef %11854) #13
  %11856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11857 = trunc nuw i8 %11856 to i1
  br i1 %11857, label %11858, label %11862

11858:                                            ; preds = %11852
  %11859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11860 = call i32 @fileno(ptr noundef %11859) #13
  %11861 = call i32 @isatty(i32 noundef %11860) #13
  %.not1837 = icmp eq i32 %11861, 0
  br i1 %.not1837, label %11862, label %11863

11862:                                            ; preds = %11858, %11852
  br label %11863

11863:                                            ; preds = %11858, %11862
  %.str.5.sink6051 = phi ptr [ @.str.5, %11862 ], [ @.str.2, %11858 ]
  store i32 %11853, ptr %377, align 4, !tbaa !5
  %11864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11865 = load i32, ptr @test_count, align 4, !tbaa !5
  %11866 = load i32, ptr %323, align 4, !tbaa !5
  %11867 = call ptr @s2n_strerror(i32 noundef %11866, ptr noundef nonnull @.str.4) #13
  %11868 = load i32, ptr %323, align 4, !tbaa !5
  %11869 = call ptr @s2n_strerror_debug(i32 noundef %11868, ptr noundef nonnull @.str.4) #13
  %11870 = load i32, ptr %377, align 4, !tbaa !5
  %11871 = call ptr @strerror(i32 noundef %11870) #13
  %11872 = load i32, ptr %377, align 4, !tbaa !5
  %11873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11864, ptr noundef nonnull %.str.5.sink6051, i32 noundef %11865, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 1296, ptr noundef %11867, ptr noundef %11869, ptr noundef %11871, i32 noundef %11872) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11874:                                            ; preds = %11847
  %11875 = add nsw i32 %11848, 2
  store i32 %11875, ptr @test_count, align 4, !tbaa !5
  %11876 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #13
  %11877 = icmp eq ptr %11876, null
  br i1 %11877, label %11878, label %11900

11878:                                            ; preds = %11874
  %11879 = load i32, ptr %377, align 4, !tbaa !5
  %11880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11881 = call i32 @s2n_print_stacktrace(ptr noundef %11880) #13
  %11882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11883 = trunc nuw i8 %11882 to i1
  br i1 %11883, label %11884, label %11888

11884:                                            ; preds = %11878
  %11885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11886 = call i32 @fileno(ptr noundef %11885) #13
  %11887 = call i32 @isatty(i32 noundef %11886) #13
  %.not1985 = icmp eq i32 %11887, 0
  br i1 %.not1985, label %11888, label %11889

11888:                                            ; preds = %11884, %11878
  br label %11889

11889:                                            ; preds = %11884, %11888
  %.str.5.sink6060 = phi ptr [ @.str.5, %11888 ], [ @.str.2, %11884 ]
  store i32 %11879, ptr %377, align 4, !tbaa !5
  %11890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11891 = load i32, ptr @test_count, align 4, !tbaa !5
  %11892 = load i32, ptr %323, align 4, !tbaa !5
  %11893 = call ptr @s2n_strerror(i32 noundef %11892, ptr noundef nonnull @.str.4) #13
  %11894 = load i32, ptr %323, align 4, !tbaa !5
  %11895 = call ptr @s2n_strerror_debug(i32 noundef %11894, ptr noundef nonnull @.str.4) #13
  %11896 = load i32, ptr %377, align 4, !tbaa !5
  %11897 = call ptr @strerror(i32 noundef %11896) #13
  %11898 = load i32, ptr %377, align 4, !tbaa !5
  %11899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11890, ptr noundef nonnull %.str.5.sink6060, i32 noundef %11891, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1296, ptr noundef %11893, ptr noundef %11895, ptr noundef %11897, i32 noundef %11898) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11900:                                            ; preds = %11874
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %11901 = load i32, ptr @test_count, align 4, !tbaa !5
  %11902 = add nsw i32 %11901, 1
  store i32 %11902, ptr @test_count, align 4, !tbaa !5
  %11903 = call i32 @s2n_connection_free(ptr noundef nonnull %11472) #13
  %11904 = icmp eq i32 %11903, -1
  br i1 %11904, label %11905, label %11927

11905:                                            ; preds = %11900
  %11906 = load i32, ptr %377, align 4, !tbaa !5
  %11907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11908 = call i32 @s2n_print_stacktrace(ptr noundef %11907) #13
  %11909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11910 = trunc nuw i8 %11909 to i1
  br i1 %11910, label %11911, label %11915

11911:                                            ; preds = %11905
  %11912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11913 = call i32 @fileno(ptr noundef %11912) #13
  %11914 = call i32 @isatty(i32 noundef %11913) #13
  %.not1984 = icmp eq i32 %11914, 0
  br i1 %.not1984, label %11915, label %11916

11915:                                            ; preds = %11911, %11905
  br label %11916

11916:                                            ; preds = %11911, %11915
  %.str.5.sink6069 = phi ptr [ @.str.5, %11915 ], [ @.str.2, %11911 ]
  store i32 %11906, ptr %377, align 4, !tbaa !5
  %11917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11918 = load i32, ptr @test_count, align 4, !tbaa !5
  %11919 = load i32, ptr %323, align 4, !tbaa !5
  %11920 = call ptr @s2n_strerror(i32 noundef %11919, ptr noundef nonnull @.str.4) #13
  %11921 = load i32, ptr %323, align 4, !tbaa !5
  %11922 = call ptr @s2n_strerror_debug(i32 noundef %11921, ptr noundef nonnull @.str.4) #13
  %11923 = load i32, ptr %377, align 4, !tbaa !5
  %11924 = call ptr @strerror(i32 noundef %11923) #13
  %11925 = load i32, ptr %377, align 4, !tbaa !5
  %11926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11917, ptr noundef nonnull %.str.5.sink6069, i32 noundef %11918, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 1298, ptr noundef %11920, ptr noundef %11922, ptr noundef %11924, i32 noundef %11925) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11927:                                            ; preds = %11900
  %11928 = load i32, ptr @test_count, align 4, !tbaa !5
  %11929 = add nsw i32 %11928, 1
  store i32 %11929, ptr @test_count, align 4, !tbaa !5
  %11930 = call i32 @s2n_stuffer_free(ptr noundef nonnull %111) #13
  %11931 = icmp eq i32 %11930, -1
  br i1 %11931, label %11932, label %11954

11932:                                            ; preds = %11927
  %11933 = load i32, ptr %377, align 4, !tbaa !5
  %11934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11935 = call i32 @s2n_print_stacktrace(ptr noundef %11934) #13
  %11936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11937 = trunc nuw i8 %11936 to i1
  br i1 %11937, label %11938, label %11942

11938:                                            ; preds = %11932
  %11939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11940 = call i32 @fileno(ptr noundef %11939) #13
  %11941 = call i32 @isatty(i32 noundef %11940) #13
  %.not1983 = icmp eq i32 %11941, 0
  br i1 %.not1983, label %11942, label %11943

11942:                                            ; preds = %11938, %11932
  br label %11943

11943:                                            ; preds = %11938, %11942
  %.str.5.sink6078 = phi ptr [ @.str.5, %11942 ], [ @.str.2, %11938 ]
  store i32 %11933, ptr %377, align 4, !tbaa !5
  %11944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11945 = load i32, ptr @test_count, align 4, !tbaa !5
  %11946 = load i32, ptr %323, align 4, !tbaa !5
  %11947 = call ptr @s2n_strerror(i32 noundef %11946, ptr noundef nonnull @.str.4) #13
  %11948 = load i32, ptr %323, align 4, !tbaa !5
  %11949 = call ptr @s2n_strerror_debug(i32 noundef %11948, ptr noundef nonnull @.str.4) #13
  %11950 = load i32, ptr %377, align 4, !tbaa !5
  %11951 = call ptr @strerror(i32 noundef %11950) #13
  %11952 = load i32, ptr %377, align 4, !tbaa !5
  %11953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11944, ptr noundef nonnull %.str.5.sink6078, i32 noundef %11945, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.1, i32 noundef 1299, ptr noundef %11947, ptr noundef %11949, ptr noundef %11951, i32 noundef %11952) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11954:                                            ; preds = %11927
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %111) #13
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %110) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %109) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %113) #13
  store i8 0, ptr %113, align 1
  %11955 = load i32, ptr @test_count, align 4, !tbaa !5
  %11956 = add nsw i32 %11955, 1
  store i32 %11956, ptr @test_count, align 4, !tbaa !5
  %11957 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %11958 = icmp eq ptr %11957, null
  br i1 %11958, label %11959, label %11981

11959:                                            ; preds = %11954
  %11960 = load i32, ptr %377, align 4, !tbaa !5
  %11961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11962 = call i32 @s2n_print_stacktrace(ptr noundef %11961) #13
  %11963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11964 = trunc nuw i8 %11963 to i1
  br i1 %11964, label %11965, label %11969

11965:                                            ; preds = %11959
  %11966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11967 = call i32 @fileno(ptr noundef %11966) #13
  %11968 = call i32 @isatty(i32 noundef %11967) #13
  %.not1982 = icmp eq i32 %11968, 0
  br i1 %.not1982, label %11969, label %11970

11969:                                            ; preds = %11965, %11959
  br label %11970

11970:                                            ; preds = %11965, %11969
  %.str.5.sink6087 = phi ptr [ @.str.5, %11969 ], [ @.str.2, %11965 ]
  store i32 %11960, ptr %377, align 4, !tbaa !5
  %11971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11972 = load i32, ptr @test_count, align 4, !tbaa !5
  %11973 = load i32, ptr %323, align 4, !tbaa !5
  %11974 = call ptr @s2n_strerror(i32 noundef %11973, ptr noundef nonnull @.str.4) #13
  %11975 = load i32, ptr %323, align 4, !tbaa !5
  %11976 = call ptr @s2n_strerror_debug(i32 noundef %11975, ptr noundef nonnull @.str.4) #13
  %11977 = load i32, ptr %377, align 4, !tbaa !5
  %11978 = call ptr @strerror(i32 noundef %11977) #13
  %11979 = load i32, ptr %377, align 4, !tbaa !5
  %11980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11971, ptr noundef nonnull %.str.5.sink6087, i32 noundef %11972, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 1307, ptr noundef %11974, ptr noundef %11976, ptr noundef %11978, i32 noundef %11979) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11981:                                            ; preds = %11954
  %11982 = getelementptr inbounds i8, ptr %11957, i64 3616
  store i16 1, ptr %11982, align 8, !tbaa !91
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %114) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %114, i8 0, i64 40, i1 false)
  %11983 = load i32, ptr @test_count, align 4, !tbaa !5
  %11984 = add nsw i32 %11983, 1
  store i32 %11984, ptr @test_count, align 4, !tbaa !5
  %11985 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %114, i32 noundef 0) #13
  %11986 = icmp eq i32 %11985, -1
  br i1 %11986, label %11987, label %12009

11987:                                            ; preds = %11981
  %11988 = load i32, ptr %377, align 4, !tbaa !5
  %11989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11990 = call i32 @s2n_print_stacktrace(ptr noundef %11989) #13
  %11991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11992 = trunc nuw i8 %11991 to i1
  br i1 %11992, label %11993, label %11997

11993:                                            ; preds = %11987
  %11994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11995 = call i32 @fileno(ptr noundef %11994) #13
  %11996 = call i32 @isatty(i32 noundef %11995) #13
  %.not1981 = icmp eq i32 %11996, 0
  br i1 %.not1981, label %11997, label %11998

11997:                                            ; preds = %11993, %11987
  br label %11998

11998:                                            ; preds = %11993, %11997
  %.str.5.sink6096 = phi ptr [ @.str.5, %11997 ], [ @.str.2, %11993 ]
  store i32 %11988, ptr %377, align 4, !tbaa !5
  %11999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12000 = load i32, ptr @test_count, align 4, !tbaa !5
  %12001 = load i32, ptr %323, align 4, !tbaa !5
  %12002 = call ptr @s2n_strerror(i32 noundef %12001, ptr noundef nonnull @.str.4) #13
  %12003 = load i32, ptr %323, align 4, !tbaa !5
  %12004 = call ptr @s2n_strerror_debug(i32 noundef %12003, ptr noundef nonnull @.str.4) #13
  %12005 = load i32, ptr %377, align 4, !tbaa !5
  %12006 = call ptr @strerror(i32 noundef %12005) #13
  %12007 = load i32, ptr %377, align 4, !tbaa !5
  %12008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11999, ptr noundef nonnull %.str.5.sink6096, i32 noundef %12000, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.1, i32 noundef 1312, ptr noundef %12002, ptr noundef %12004, ptr noundef %12006, i32 noundef %12007) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12009:                                            ; preds = %11981
  %12010 = load i32, ptr @test_count, align 4, !tbaa !5
  %12011 = add nsw i32 %12010, 1
  store i32 %12011, ptr @test_count, align 4, !tbaa !5
  %12012 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %114, ptr noundef nonnull %113, i32 noundef 1) #13
  %12013 = icmp eq i32 %12012, -1
  br i1 %12013, label %12014, label %12036

12014:                                            ; preds = %12009
  %12015 = load i32, ptr %377, align 4, !tbaa !5
  %12016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12017 = call i32 @s2n_print_stacktrace(ptr noundef %12016) #13
  %12018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12019 = trunc nuw i8 %12018 to i1
  br i1 %12019, label %12020, label %12024

12020:                                            ; preds = %12014
  %12021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12022 = call i32 @fileno(ptr noundef %12021) #13
  %12023 = call i32 @isatty(i32 noundef %12022) #13
  %.not1980 = icmp eq i32 %12023, 0
  br i1 %.not1980, label %12024, label %12025

12024:                                            ; preds = %12020, %12014
  br label %12025

12025:                                            ; preds = %12020, %12024
  %.str.5.sink6105 = phi ptr [ @.str.5, %12024 ], [ @.str.2, %12020 ]
  store i32 %12015, ptr %377, align 4, !tbaa !5
  %12026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12027 = load i32, ptr @test_count, align 4, !tbaa !5
  %12028 = load i32, ptr %323, align 4, !tbaa !5
  %12029 = call ptr @s2n_strerror(i32 noundef %12028, ptr noundef nonnull @.str.4) #13
  %12030 = load i32, ptr %323, align 4, !tbaa !5
  %12031 = call ptr @s2n_strerror_debug(i32 noundef %12030, ptr noundef nonnull @.str.4) #13
  %12032 = load i32, ptr %377, align 4, !tbaa !5
  %12033 = call ptr @strerror(i32 noundef %12032) #13
  %12034 = load i32, ptr %377, align 4, !tbaa !5
  %12035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12026, ptr noundef nonnull %.str.5.sink6105, i32 noundef %12027, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.1, i32 noundef 1313, ptr noundef %12029, ptr noundef %12031, ptr noundef %12033, i32 noundef %12034) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12036:                                            ; preds = %12009
  %12037 = load i32, ptr @test_count, align 4, !tbaa !5
  %12038 = add nsw i32 %12037, 1
  store i32 %12038, ptr @test_count, align 4, !tbaa !5
  %12039 = getelementptr inbounds i8, ptr %11957, i64 1744
  %12040 = load i32, ptr %12039, align 8, !tbaa !92
  %12041 = icmp eq i32 %12040, 0
  br i1 %12041, label %12064, label %12042

12042:                                            ; preds = %12036
  %12043 = load i32, ptr %377, align 4, !tbaa !5
  %12044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12045 = call i32 @s2n_print_stacktrace(ptr noundef %12044) #13
  %12046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12047 = trunc nuw i8 %12046 to i1
  br i1 %12047, label %12048, label %12052

12048:                                            ; preds = %12042
  %12049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12050 = call i32 @fileno(ptr noundef %12049) #13
  %12051 = call i32 @isatty(i32 noundef %12050) #13
  %.not1838 = icmp eq i32 %12051, 0
  br i1 %.not1838, label %12052, label %12053

12052:                                            ; preds = %12048, %12042
  br label %12053

12053:                                            ; preds = %12048, %12052
  %.str.5.sink6114 = phi ptr [ @.str.5, %12052 ], [ @.str.2, %12048 ]
  store i32 %12043, ptr %377, align 4, !tbaa !5
  %12054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12055 = load i32, ptr @test_count, align 4, !tbaa !5
  %12056 = load i32, ptr %323, align 4, !tbaa !5
  %12057 = call ptr @s2n_strerror(i32 noundef %12056, ptr noundef nonnull @.str.4) #13
  %12058 = load i32, ptr %323, align 4, !tbaa !5
  %12059 = call ptr @s2n_strerror_debug(i32 noundef %12058, ptr noundef nonnull @.str.4) #13
  %12060 = load i32, ptr %377, align 4, !tbaa !5
  %12061 = call ptr @strerror(i32 noundef %12060) #13
  %12062 = load i32, ptr %377, align 4, !tbaa !5
  %12063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12054, ptr noundef nonnull %.str.5.sink6114, i32 noundef %12055, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.1, i32 noundef 1315, ptr noundef %12057, ptr noundef %12059, ptr noundef %12061, i32 noundef %12062) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12064:                                            ; preds = %12036
  %12065 = add nsw i32 %12037, 2
  store i32 %12065, ptr @test_count, align 4, !tbaa !5
  %12066 = getelementptr inbounds i8, ptr %11957, i64 102
  %12067 = load i8, ptr %106, align 1, !tbaa !90
  %12068 = zext i8 %12067 to i32
  %12069 = lshr i32 %12068, 3
  %12070 = zext nneg i32 %12069 to i64
  %12071 = getelementptr inbounds [22 x i8], ptr %12066, i64 0, i64 %12070
  %12072 = load i8, ptr %12071, align 1, !tbaa !90
  %12073 = zext i8 %12072 to i32
  %12074 = and i32 %12068, 7
  %12075 = shl nuw nsw i32 1, %12074
  %12076 = and i32 %12075, %12073
  %.not1839 = icmp eq i32 %12076, 0
  br i1 %.not1839, label %12099, label %12077

12077:                                            ; preds = %12064
  %12078 = load i32, ptr %377, align 4, !tbaa !5
  %12079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12080 = call i32 @s2n_print_stacktrace(ptr noundef %12079) #13
  %12081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12082 = trunc nuw i8 %12081 to i1
  br i1 %12082, label %12083, label %12087

12083:                                            ; preds = %12077
  %12084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12085 = call i32 @fileno(ptr noundef %12084) #13
  %12086 = call i32 @isatty(i32 noundef %12085) #13
  %.not1979 = icmp eq i32 %12086, 0
  br i1 %.not1979, label %12087, label %12088

12087:                                            ; preds = %12083, %12077
  br label %12088

12088:                                            ; preds = %12083, %12087
  %.str.5.sink6123 = phi ptr [ @.str.5, %12087 ], [ @.str.2, %12083 ]
  store i32 %12078, ptr %377, align 4, !tbaa !5
  %12089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12090 = load i32, ptr @test_count, align 4, !tbaa !5
  %12091 = load i32, ptr %323, align 4, !tbaa !5
  %12092 = call ptr @s2n_strerror(i32 noundef %12091, ptr noundef nonnull @.str.4) #13
  %12093 = load i32, ptr %323, align 4, !tbaa !5
  %12094 = call ptr @s2n_strerror_debug(i32 noundef %12093, ptr noundef nonnull @.str.4) #13
  %12095 = load i32, ptr %377, align 4, !tbaa !5
  %12096 = call ptr @strerror(i32 noundef %12095) #13
  %12097 = load i32, ptr %377, align 4, !tbaa !5
  %12098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12089, ptr noundef nonnull %.str.5.sink6123, i32 noundef %12090, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.1, i32 noundef 1317, ptr noundef %12092, ptr noundef %12094, ptr noundef %12096, i32 noundef %12097) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12099:                                            ; preds = %12064
  %12100 = add nsw i32 %12037, 3
  store i32 %12100, ptr @test_count, align 4, !tbaa !5
  %12101 = call i32 @s2n_client_psk_recv(ptr noundef nonnull %11957, ptr noundef nonnull %114)
  %12102 = icmp eq i32 %12101, -1
  br i1 %12102, label %12125, label %12103

12103:                                            ; preds = %12099
  %12104 = load i32, ptr %377, align 4, !tbaa !5
  %12105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12106 = call i32 @s2n_print_stacktrace(ptr noundef %12105) #13
  %12107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12108 = trunc nuw i8 %12107 to i1
  br i1 %12108, label %12109, label %12113

12109:                                            ; preds = %12103
  %12110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12111 = call i32 @fileno(ptr noundef %12110) #13
  %12112 = call i32 @isatty(i32 noundef %12111) #13
  %.not1840 = icmp eq i32 %12112, 0
  br i1 %.not1840, label %12113, label %12114

12113:                                            ; preds = %12109, %12103
  br label %12114

12114:                                            ; preds = %12109, %12113
  %.str.5.sink6132 = phi ptr [ @.str.5, %12113 ], [ @.str.2, %12109 ]
  store i32 %12104, ptr %377, align 4, !tbaa !5
  %12115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12116 = load i32, ptr @test_count, align 4, !tbaa !5
  %12117 = load i32, ptr %323, align 4, !tbaa !5
  %12118 = call ptr @s2n_strerror(i32 noundef %12117, ptr noundef nonnull @.str.4) #13
  %12119 = load i32, ptr %323, align 4, !tbaa !5
  %12120 = call ptr @s2n_strerror_debug(i32 noundef %12119, ptr noundef nonnull @.str.4) #13
  %12121 = load i32, ptr %377, align 4, !tbaa !5
  %12122 = call ptr @strerror(i32 noundef %12121) #13
  %12123 = load i32, ptr %377, align 4, !tbaa !5
  %12124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12115, ptr noundef nonnull %.str.5.sink6132, i32 noundef %12116, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.1, i32 noundef 1319, ptr noundef %12118, ptr noundef %12120, ptr noundef %12122, i32 noundef %12123) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12125:                                            ; preds = %12099
  %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 i32, ptr %323, align 4, !tbaa !5
  %12129 = icmp eq i32 %12128, 335544393
  br i1 %12129, label %12152, label %12130

12130:                                            ; preds = %12125
  %12131 = load i32, ptr %377, align 4, !tbaa !5
  %12132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12133 = call i32 @s2n_print_stacktrace(ptr noundef %12132) #13
  %12134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12135 = trunc nuw i8 %12134 to i1
  br i1 %12135, label %12136, label %12140

12136:                                            ; preds = %12130
  %12137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12138 = call i32 @fileno(ptr noundef %12137) #13
  %12139 = call i32 @isatty(i32 noundef %12138) #13
  %.not1841 = icmp eq i32 %12139, 0
  br i1 %.not1841, label %12140, label %12141

12140:                                            ; preds = %12136, %12130
  br label %12141

12141:                                            ; preds = %12136, %12140
  %.str.5.sink6141 = phi ptr [ @.str.5, %12140 ], [ @.str.2, %12136 ]
  store i32 %12131, ptr %377, align 4, !tbaa !5
  %12142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12143 = load i32, ptr @test_count, align 4, !tbaa !5
  %12144 = load i32, ptr %323, align 4, !tbaa !5
  %12145 = call ptr @s2n_strerror(i32 noundef %12144, ptr noundef nonnull @.str.4) #13
  %12146 = load i32, ptr %323, align 4, !tbaa !5
  %12147 = call ptr @s2n_strerror_debug(i32 noundef %12146, ptr noundef nonnull @.str.4) #13
  %12148 = load i32, ptr %377, align 4, !tbaa !5
  %12149 = call ptr @strerror(i32 noundef %12148) #13
  %12150 = load i32, ptr %377, align 4, !tbaa !5
  %12151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12142, ptr noundef nonnull %.str.5.sink6141, i32 noundef %12143, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.1, i32 noundef 1319, ptr noundef %12145, ptr noundef %12147, ptr noundef %12149, i32 noundef %12150) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12152:                                            ; preds = %12125
  %12153 = add nsw i32 %12126, 2
  store i32 %12153, ptr @test_count, align 4, !tbaa !5
  %12154 = call ptr @s2n_strerror_debug(i32 noundef 335544393, ptr noundef nonnull @.str.4) #13
  %12155 = icmp eq ptr %12154, null
  br i1 %12155, label %12156, label %12178

12156:                                            ; preds = %12152
  %12157 = load i32, ptr %377, align 4, !tbaa !5
  %12158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12159 = call i32 @s2n_print_stacktrace(ptr noundef %12158) #13
  %12160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12161 = trunc nuw i8 %12160 to i1
  br i1 %12161, label %12162, label %12166

12162:                                            ; preds = %12156
  %12163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12164 = call i32 @fileno(ptr noundef %12163) #13
  %12165 = call i32 @isatty(i32 noundef %12164) #13
  %.not1978 = icmp eq i32 %12165, 0
  br i1 %.not1978, label %12166, label %12167

12166:                                            ; preds = %12162, %12156
  br label %12167

12167:                                            ; preds = %12162, %12166
  %.str.5.sink6150 = phi ptr [ @.str.5, %12166 ], [ @.str.2, %12162 ]
  store i32 %12157, ptr %377, align 4, !tbaa !5
  %12168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12169 = load i32, ptr @test_count, align 4, !tbaa !5
  %12170 = load i32, ptr %323, align 4, !tbaa !5
  %12171 = call ptr @s2n_strerror(i32 noundef %12170, ptr noundef nonnull @.str.4) #13
  %12172 = load i32, ptr %323, align 4, !tbaa !5
  %12173 = call ptr @s2n_strerror_debug(i32 noundef %12172, ptr noundef nonnull @.str.4) #13
  %12174 = load i32, ptr %377, align 4, !tbaa !5
  %12175 = call ptr @strerror(i32 noundef %12174) #13
  %12176 = load i32, ptr %377, align 4, !tbaa !5
  %12177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12168, ptr noundef nonnull %.str.5.sink6150, i32 noundef %12169, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1319, ptr noundef %12171, ptr noundef %12173, ptr noundef %12175, i32 noundef %12176) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12178:                                            ; preds = %12152
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %12179 = load i32, ptr @test_count, align 4, !tbaa !5
  %12180 = add nsw i32 %12179, 1
  store i32 %12180, ptr @test_count, align 4, !tbaa !5
  %12181 = call i32 @s2n_connection_free(ptr noundef nonnull %11957) #13
  %12182 = icmp eq i32 %12181, -1
  br i1 %12182, label %12183, label %12205

12183:                                            ; preds = %12178
  %12184 = load i32, ptr %377, align 4, !tbaa !5
  %12185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12186 = call i32 @s2n_print_stacktrace(ptr noundef %12185) #13
  %12187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12188 = trunc nuw i8 %12187 to i1
  br i1 %12188, label %12189, label %12193

12189:                                            ; preds = %12183
  %12190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12191 = call i32 @fileno(ptr noundef %12190) #13
  %12192 = call i32 @isatty(i32 noundef %12191) #13
  %.not1977 = icmp eq i32 %12192, 0
  br i1 %.not1977, label %12193, label %12194

12193:                                            ; preds = %12189, %12183
  br label %12194

12194:                                            ; preds = %12189, %12193
  %.str.5.sink6159 = phi ptr [ @.str.5, %12193 ], [ @.str.2, %12189 ]
  store i32 %12184, ptr %377, align 4, !tbaa !5
  %12195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12196 = load i32, ptr @test_count, align 4, !tbaa !5
  %12197 = load i32, ptr %323, align 4, !tbaa !5
  %12198 = call ptr @s2n_strerror(i32 noundef %12197, ptr noundef nonnull @.str.4) #13
  %12199 = load i32, ptr %323, align 4, !tbaa !5
  %12200 = call ptr @s2n_strerror_debug(i32 noundef %12199, ptr noundef nonnull @.str.4) #13
  %12201 = load i32, ptr %377, align 4, !tbaa !5
  %12202 = call ptr @strerror(i32 noundef %12201) #13
  %12203 = load i32, ptr %377, align 4, !tbaa !5
  %12204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12195, ptr noundef nonnull %.str.5.sink6159, i32 noundef %12196, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 1321, ptr noundef %12198, ptr noundef %12200, ptr noundef %12202, i32 noundef %12203) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12205:                                            ; preds = %12178
  %12206 = load i32, ptr @test_count, align 4, !tbaa !5
  %12207 = add nsw i32 %12206, 1
  store i32 %12207, ptr @test_count, align 4, !tbaa !5
  %12208 = call i32 @s2n_stuffer_free(ptr noundef nonnull %114) #13
  %12209 = icmp eq i32 %12208, -1
  br i1 %12209, label %12210, label %12232

12210:                                            ; preds = %12205
  %12211 = load i32, ptr %377, align 4, !tbaa !5
  %12212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12213 = call i32 @s2n_print_stacktrace(ptr noundef %12212) #13
  %12214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12215 = trunc nuw i8 %12214 to i1
  br i1 %12215, label %12216, label %12220

12216:                                            ; preds = %12210
  %12217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12218 = call i32 @fileno(ptr noundef %12217) #13
  %12219 = call i32 @isatty(i32 noundef %12218) #13
  %.not1976 = icmp eq i32 %12219, 0
  br i1 %.not1976, label %12220, label %12221

12220:                                            ; preds = %12216, %12210
  br label %12221

12221:                                            ; preds = %12216, %12220
  %.str.5.sink6168 = phi ptr [ @.str.5, %12220 ], [ @.str.2, %12216 ]
  store i32 %12211, ptr %377, align 4, !tbaa !5
  %12222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12223 = load i32, ptr @test_count, align 4, !tbaa !5
  %12224 = load i32, ptr %323, align 4, !tbaa !5
  %12225 = call ptr @s2n_strerror(i32 noundef %12224, ptr noundef nonnull @.str.4) #13
  %12226 = load i32, ptr %323, align 4, !tbaa !5
  %12227 = call ptr @s2n_strerror_debug(i32 noundef %12226, ptr noundef nonnull @.str.4) #13
  %12228 = load i32, ptr %377, align 4, !tbaa !5
  %12229 = call ptr @strerror(i32 noundef %12228) #13
  %12230 = load i32, ptr %377, align 4, !tbaa !5
  %12231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12222, ptr noundef nonnull %.str.5.sink6168, i32 noundef %12223, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.1, i32 noundef 1322, ptr noundef %12225, ptr noundef %12227, ptr noundef %12229, i32 noundef %12230) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12232:                                            ; preds = %12205
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %114) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %113) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %115) #13
  store i8 0, ptr %115, align 1
  %12233 = load i32, ptr @test_count, align 4, !tbaa !5
  %12234 = add nsw i32 %12233, 1
  store i32 %12234, ptr @test_count, align 4, !tbaa !5
  %12235 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %12236 = icmp eq ptr %12235, null
  br i1 %12236, label %12237, label %12259

12237:                                            ; preds = %12232
  %12238 = load i32, ptr %377, align 4, !tbaa !5
  %12239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12240 = call i32 @s2n_print_stacktrace(ptr noundef %12239) #13
  %12241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12242 = trunc nuw i8 %12241 to i1
  br i1 %12242, label %12243, label %12247

12243:                                            ; preds = %12237
  %12244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12245 = call i32 @fileno(ptr noundef %12244) #13
  %12246 = call i32 @isatty(i32 noundef %12245) #13
  %.not1975 = icmp eq i32 %12246, 0
  br i1 %.not1975, label %12247, label %12248

12247:                                            ; preds = %12243, %12237
  br label %12248

12248:                                            ; preds = %12243, %12247
  %.str.5.sink6177 = phi ptr [ @.str.5, %12247 ], [ @.str.2, %12243 ]
  store i32 %12238, ptr %377, align 4, !tbaa !5
  %12249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12250 = load i32, ptr @test_count, align 4, !tbaa !5
  %12251 = load i32, ptr %323, align 4, !tbaa !5
  %12252 = call ptr @s2n_strerror(i32 noundef %12251, ptr noundef nonnull @.str.4) #13
  %12253 = load i32, ptr %323, align 4, !tbaa !5
  %12254 = call ptr @s2n_strerror_debug(i32 noundef %12253, ptr noundef nonnull @.str.4) #13
  %12255 = load i32, ptr %377, align 4, !tbaa !5
  %12256 = call ptr @strerror(i32 noundef %12255) #13
  %12257 = load i32, ptr %377, align 4, !tbaa !5
  %12258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12249, ptr noundef nonnull %.str.5.sink6177, i32 noundef %12250, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 1329, ptr noundef %12252, ptr noundef %12254, ptr noundef %12256, i32 noundef %12257) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12259:                                            ; preds = %12232
  %12260 = getelementptr inbounds i8, ptr %12235, i64 3616
  store i16 1, ptr %12260, align 8, !tbaa !91
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %116) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %116, i8 0, i64 40, i1 false)
  %12261 = load i32, ptr @test_count, align 4, !tbaa !5
  %12262 = add nsw i32 %12261, 1
  store i32 %12262, ptr @test_count, align 4, !tbaa !5
  %12263 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %116, i32 noundef 0) #13
  %12264 = icmp eq i32 %12263, -1
  br i1 %12264, label %12265, label %12287

12265:                                            ; preds = %12259
  %12266 = load i32, ptr %377, align 4, !tbaa !5
  %12267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12268 = call i32 @s2n_print_stacktrace(ptr noundef %12267) #13
  %12269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12270 = trunc nuw i8 %12269 to i1
  br i1 %12270, label %12271, label %12275

12271:                                            ; preds = %12265
  %12272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12273 = call i32 @fileno(ptr noundef %12272) #13
  %12274 = call i32 @isatty(i32 noundef %12273) #13
  %.not1974 = icmp eq i32 %12274, 0
  br i1 %.not1974, label %12275, label %12276

12275:                                            ; preds = %12271, %12265
  br label %12276

12276:                                            ; preds = %12271, %12275
  %.str.5.sink6186 = phi ptr [ @.str.5, %12275 ], [ @.str.2, %12271 ]
  store i32 %12266, ptr %377, align 4, !tbaa !5
  %12277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12278 = load i32, ptr @test_count, align 4, !tbaa !5
  %12279 = load i32, ptr %323, align 4, !tbaa !5
  %12280 = call ptr @s2n_strerror(i32 noundef %12279, ptr noundef nonnull @.str.4) #13
  %12281 = load i32, ptr %323, align 4, !tbaa !5
  %12282 = call ptr @s2n_strerror_debug(i32 noundef %12281, ptr noundef nonnull @.str.4) #13
  %12283 = load i32, ptr %377, align 4, !tbaa !5
  %12284 = call ptr @strerror(i32 noundef %12283) #13
  %12285 = load i32, ptr %377, align 4, !tbaa !5
  %12286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12277, ptr noundef nonnull %.str.5.sink6186, i32 noundef %12278, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.1, i32 noundef 1334, ptr noundef %12280, ptr noundef %12282, ptr noundef %12284, i32 noundef %12285) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12287:                                            ; preds = %12259
  %12288 = load i32, ptr @test_count, align 4, !tbaa !5
  %12289 = add nsw i32 %12288, 1
  store i32 %12289, ptr @test_count, align 4, !tbaa !5
  %12290 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %116, ptr noundef nonnull %115, i32 noundef 1) #13
  %12291 = icmp eq i32 %12290, -1
  br i1 %12291, label %12292, label %12314

12292:                                            ; preds = %12287
  %12293 = load i32, ptr %377, align 4, !tbaa !5
  %12294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12295 = call i32 @s2n_print_stacktrace(ptr noundef %12294) #13
  %12296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12297 = trunc nuw i8 %12296 to i1
  br i1 %12297, label %12298, label %12302

12298:                                            ; preds = %12292
  %12299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12300 = call i32 @fileno(ptr noundef %12299) #13
  %12301 = call i32 @isatty(i32 noundef %12300) #13
  %.not1973 = icmp eq i32 %12301, 0
  br i1 %.not1973, label %12302, label %12303

12302:                                            ; preds = %12298, %12292
  br label %12303

12303:                                            ; preds = %12298, %12302
  %.str.5.sink6195 = phi ptr [ @.str.5, %12302 ], [ @.str.2, %12298 ]
  store i32 %12293, ptr %377, align 4, !tbaa !5
  %12304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12305 = load i32, ptr @test_count, align 4, !tbaa !5
  %12306 = load i32, ptr %323, align 4, !tbaa !5
  %12307 = call ptr @s2n_strerror(i32 noundef %12306, ptr noundef nonnull @.str.4) #13
  %12308 = load i32, ptr %323, align 4, !tbaa !5
  %12309 = call ptr @s2n_strerror_debug(i32 noundef %12308, ptr noundef nonnull @.str.4) #13
  %12310 = load i32, ptr %377, align 4, !tbaa !5
  %12311 = call ptr @strerror(i32 noundef %12310) #13
  %12312 = load i32, ptr %377, align 4, !tbaa !5
  %12313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12304, ptr noundef nonnull %.str.5.sink6195, i32 noundef %12305, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.1, i32 noundef 1335, ptr noundef %12307, ptr noundef %12309, ptr noundef %12311, i32 noundef %12312) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12314:                                            ; preds = %12287
  %12315 = getelementptr inbounds i8, ptr %12235, i64 1744
  store i32 0, ptr %12315, align 8, !tbaa !92
  %12316 = load i8, ptr %106, align 1, !tbaa !90
  %12317 = and i8 %12316, 7
  %12318 = shl nuw i8 1, %12317
  %12319 = getelementptr inbounds i8, ptr %12235, i64 102
  %12320 = lshr i8 %12316, 3
  %12321 = zext nneg i8 %12320 to i64
  %12322 = getelementptr inbounds [22 x i8], ptr %12319, i64 0, i64 %12321
  %12323 = load i8, ptr %12322, align 1, !tbaa !90
  %12324 = or i8 %12318, %12323
  store i8 %12324, ptr %12322, align 1, !tbaa !90
  %12325 = load i32, ptr @test_count, align 4, !tbaa !5
  %12326 = add nsw i32 %12325, 1
  store i32 %12326, ptr @test_count, align 4, !tbaa !5
  %12327 = call i32 @s2n_client_psk_recv(ptr noundef nonnull %12235, ptr noundef nonnull %116)
  %12328 = icmp eq i32 %12327, -1
  br i1 %12328, label %12329, label %12351

12329:                                            ; preds = %12314
  %12330 = load i32, ptr %377, align 4, !tbaa !5
  %12331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12332 = call i32 @s2n_print_stacktrace(ptr noundef %12331) #13
  %12333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12334 = trunc nuw i8 %12333 to i1
  br i1 %12334, label %12335, label %12339

12335:                                            ; preds = %12329
  %12336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12337 = call i32 @fileno(ptr noundef %12336) #13
  %12338 = call i32 @isatty(i32 noundef %12337) #13
  %.not1972 = icmp eq i32 %12338, 0
  br i1 %.not1972, label %12339, label %12340

12339:                                            ; preds = %12335, %12329
  br label %12340

12340:                                            ; preds = %12335, %12339
  %.str.5.sink6204 = phi ptr [ @.str.5, %12339 ], [ @.str.2, %12335 ]
  store i32 %12330, ptr %377, align 4, !tbaa !5
  %12341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12342 = load i32, ptr @test_count, align 4, !tbaa !5
  %12343 = load i32, ptr %323, align 4, !tbaa !5
  %12344 = call ptr @s2n_strerror(i32 noundef %12343, ptr noundef nonnull @.str.4) #13
  %12345 = load i32, ptr %323, align 4, !tbaa !5
  %12346 = call ptr @s2n_strerror_debug(i32 noundef %12345, ptr noundef nonnull @.str.4) #13
  %12347 = load i32, ptr %377, align 4, !tbaa !5
  %12348 = call ptr @strerror(i32 noundef %12347) #13
  %12349 = load i32, ptr %377, align 4, !tbaa !5
  %12350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12341, ptr noundef nonnull %.str.5.sink6204, i32 noundef %12342, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.1, i32 noundef 1341, ptr noundef %12344, ptr noundef %12346, ptr noundef %12348, i32 noundef %12349) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12351:                                            ; preds = %12314
  %12352 = load i32, ptr @test_count, align 4, !tbaa !5
  %12353 = add nsw i32 %12352, 1
  store i32 %12353, ptr @test_count, align 4, !tbaa !5
  %12354 = getelementptr inbounds i8, ptr %12235, i64 1736
  %12355 = load ptr, ptr %12354, align 8, !tbaa !88
  %12356 = icmp eq ptr %12355, null
  br i1 %12356, label %12379, label %12357

12357:                                            ; preds = %12351
  %12358 = load i32, ptr %377, align 4, !tbaa !5
  %12359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12360 = call i32 @s2n_print_stacktrace(ptr noundef %12359) #13
  %12361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12362 = trunc nuw i8 %12361 to i1
  br i1 %12362, label %12363, label %12367

12363:                                            ; preds = %12357
  %12364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12365 = call i32 @fileno(ptr noundef %12364) #13
  %12366 = call i32 @isatty(i32 noundef %12365) #13
  %.not1842 = icmp eq i32 %12366, 0
  br i1 %.not1842, label %12367, label %12368

12367:                                            ; preds = %12363, %12357
  br label %12368

12368:                                            ; preds = %12363, %12367
  %.str.5.sink6213 = phi ptr [ @.str.5, %12367 ], [ @.str.2, %12363 ]
  store i32 %12358, ptr %377, align 4, !tbaa !5
  %12369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12370 = load i32, ptr @test_count, align 4, !tbaa !5
  %12371 = load i32, ptr %323, align 4, !tbaa !5
  %12372 = call ptr @s2n_strerror(i32 noundef %12371, ptr noundef nonnull @.str.4) #13
  %12373 = load i32, ptr %323, align 4, !tbaa !5
  %12374 = call ptr @s2n_strerror_debug(i32 noundef %12373, ptr noundef nonnull @.str.4) #13
  %12375 = load i32, ptr %377, align 4, !tbaa !5
  %12376 = call ptr @strerror(i32 noundef %12375) #13
  %12377 = load i32, ptr %377, align 4, !tbaa !5
  %12378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12369, ptr noundef nonnull %.str.5.sink6213, i32 noundef %12370, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 1342, ptr noundef %12372, ptr noundef %12374, ptr noundef %12376, i32 noundef %12377) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12379:                                            ; preds = %12351
  %12380 = add nsw i32 %12352, 2
  store i32 %12380, ptr @test_count, align 4, !tbaa !5
  %12381 = call i32 @s2n_connection_free(ptr noundef nonnull %12235) #13
  %12382 = icmp eq i32 %12381, -1
  br i1 %12382, label %12383, label %12405

12383:                                            ; preds = %12379
  %12384 = load i32, ptr %377, align 4, !tbaa !5
  %12385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12386 = call i32 @s2n_print_stacktrace(ptr noundef %12385) #13
  %12387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12388 = trunc nuw i8 %12387 to i1
  br i1 %12388, label %12389, label %12393

12389:                                            ; preds = %12383
  %12390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12391 = call i32 @fileno(ptr noundef %12390) #13
  %12392 = call i32 @isatty(i32 noundef %12391) #13
  %.not1971 = icmp eq i32 %12392, 0
  br i1 %.not1971, label %12393, label %12394

12393:                                            ; preds = %12389, %12383
  br label %12394

12394:                                            ; preds = %12389, %12393
  %.str.5.sink6222 = phi ptr [ @.str.5, %12393 ], [ @.str.2, %12389 ]
  store i32 %12384, ptr %377, align 4, !tbaa !5
  %12395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12396 = load i32, ptr @test_count, align 4, !tbaa !5
  %12397 = load i32, ptr %323, align 4, !tbaa !5
  %12398 = call ptr @s2n_strerror(i32 noundef %12397, ptr noundef nonnull @.str.4) #13
  %12399 = load i32, ptr %323, align 4, !tbaa !5
  %12400 = call ptr @s2n_strerror_debug(i32 noundef %12399, ptr noundef nonnull @.str.4) #13
  %12401 = load i32, ptr %377, align 4, !tbaa !5
  %12402 = call ptr @strerror(i32 noundef %12401) #13
  %12403 = load i32, ptr %377, align 4, !tbaa !5
  %12404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12395, ptr noundef nonnull %.str.5.sink6222, i32 noundef %12396, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 1344, ptr noundef %12398, ptr noundef %12400, ptr noundef %12402, i32 noundef %12403) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12405:                                            ; preds = %12379
  %12406 = load i32, ptr @test_count, align 4, !tbaa !5
  %12407 = add nsw i32 %12406, 1
  store i32 %12407, ptr @test_count, align 4, !tbaa !5
  %12408 = call i32 @s2n_stuffer_free(ptr noundef nonnull %116) #13
  %12409 = icmp eq i32 %12408, -1
  br i1 %12409, label %12410, label %12432

12410:                                            ; preds = %12405
  %12411 = load i32, ptr %377, align 4, !tbaa !5
  %12412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12413 = call i32 @s2n_print_stacktrace(ptr noundef %12412) #13
  %12414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12415 = trunc nuw i8 %12414 to i1
  br i1 %12415, label %12416, label %12420

12416:                                            ; preds = %12410
  %12417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12418 = call i32 @fileno(ptr noundef %12417) #13
  %12419 = call i32 @isatty(i32 noundef %12418) #13
  %.not1970 = icmp eq i32 %12419, 0
  br i1 %.not1970, label %12420, label %12421

12420:                                            ; preds = %12416, %12410
  br label %12421

12421:                                            ; preds = %12416, %12420
  %.str.5.sink6231 = phi ptr [ @.str.5, %12420 ], [ @.str.2, %12416 ]
  store i32 %12411, ptr %377, align 4, !tbaa !5
  %12422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12423 = load i32, ptr @test_count, align 4, !tbaa !5
  %12424 = load i32, ptr %323, align 4, !tbaa !5
  %12425 = call ptr @s2n_strerror(i32 noundef %12424, ptr noundef nonnull @.str.4) #13
  %12426 = load i32, ptr %323, align 4, !tbaa !5
  %12427 = call ptr @s2n_strerror_debug(i32 noundef %12426, ptr noundef nonnull @.str.4) #13
  %12428 = load i32, ptr %377, align 4, !tbaa !5
  %12429 = call ptr @strerror(i32 noundef %12428) #13
  %12430 = load i32, ptr %377, align 4, !tbaa !5
  %12431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12422, ptr noundef nonnull %.str.5.sink6231, i32 noundef %12423, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.1, i32 noundef 1345, ptr noundef %12425, ptr noundef %12427, ptr noundef %12429, i32 noundef %12430) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12432:                                            ; preds = %12405
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %116) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %117) #13
  store i8 0, ptr %117, align 1
  %12433 = load i32, ptr @test_count, align 4, !tbaa !5
  %12434 = add nsw i32 %12433, 1
  store i32 %12434, ptr @test_count, align 4, !tbaa !5
  %12435 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %12436 = icmp eq ptr %12435, null
  br i1 %12436, label %12437, label %12459

12437:                                            ; preds = %12432
  %12438 = load i32, ptr %377, align 4, !tbaa !5
  %12439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12440 = call i32 @s2n_print_stacktrace(ptr noundef %12439) #13
  %12441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12442 = trunc nuw i8 %12441 to i1
  br i1 %12442, label %12443, label %12447

12443:                                            ; preds = %12437
  %12444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12445 = call i32 @fileno(ptr noundef %12444) #13
  %12446 = call i32 @isatty(i32 noundef %12445) #13
  %.not1969 = icmp eq i32 %12446, 0
  br i1 %.not1969, label %12447, label %12448

12447:                                            ; preds = %12443, %12437
  br label %12448

12448:                                            ; preds = %12443, %12447
  %.str.5.sink6240 = phi ptr [ @.str.5, %12447 ], [ @.str.2, %12443 ]
  store i32 %12438, ptr %377, align 4, !tbaa !5
  %12449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12450 = load i32, ptr @test_count, align 4, !tbaa !5
  %12451 = load i32, ptr %323, align 4, !tbaa !5
  %12452 = call ptr @s2n_strerror(i32 noundef %12451, ptr noundef nonnull @.str.4) #13
  %12453 = load i32, ptr %323, align 4, !tbaa !5
  %12454 = call ptr @s2n_strerror_debug(i32 noundef %12453, ptr noundef nonnull @.str.4) #13
  %12455 = load i32, ptr %377, align 4, !tbaa !5
  %12456 = call ptr @strerror(i32 noundef %12455) #13
  %12457 = load i32, ptr %377, align 4, !tbaa !5
  %12458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12449, ptr noundef nonnull %.str.5.sink6240, i32 noundef %12450, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 1353, ptr noundef %12452, ptr noundef %12454, ptr noundef %12456, i32 noundef %12457) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12459:                                            ; preds = %12432
  %12460 = getelementptr inbounds i8, ptr %12435, i64 3616
  store i16 1, ptr %12460, align 8, !tbaa !91
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %118) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %118, i8 0, i64 40, i1 false)
  %12461 = load i32, ptr @test_count, align 4, !tbaa !5
  %12462 = add nsw i32 %12461, 1
  store i32 %12462, ptr @test_count, align 4, !tbaa !5
  %12463 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %118, i32 noundef 0) #13
  %12464 = icmp eq i32 %12463, -1
  br i1 %12464, label %12465, label %12487

12465:                                            ; preds = %12459
  %12466 = load i32, ptr %377, align 4, !tbaa !5
  %12467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12468 = call i32 @s2n_print_stacktrace(ptr noundef %12467) #13
  %12469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12470 = trunc nuw i8 %12469 to i1
  br i1 %12470, label %12471, label %12475

12471:                                            ; preds = %12465
  %12472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12473 = call i32 @fileno(ptr noundef %12472) #13
  %12474 = call i32 @isatty(i32 noundef %12473) #13
  %.not1968 = icmp eq i32 %12474, 0
  br i1 %.not1968, label %12475, label %12476

12475:                                            ; preds = %12471, %12465
  br label %12476

12476:                                            ; preds = %12471, %12475
  %.str.5.sink6249 = phi ptr [ @.str.5, %12475 ], [ @.str.2, %12471 ]
  store i32 %12466, ptr %377, align 4, !tbaa !5
  %12477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12478 = load i32, ptr @test_count, align 4, !tbaa !5
  %12479 = load i32, ptr %323, align 4, !tbaa !5
  %12480 = call ptr @s2n_strerror(i32 noundef %12479, ptr noundef nonnull @.str.4) #13
  %12481 = load i32, ptr %323, align 4, !tbaa !5
  %12482 = call ptr @s2n_strerror_debug(i32 noundef %12481, ptr noundef nonnull @.str.4) #13
  %12483 = load i32, ptr %377, align 4, !tbaa !5
  %12484 = call ptr @strerror(i32 noundef %12483) #13
  %12485 = load i32, ptr %377, align 4, !tbaa !5
  %12486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12477, ptr noundef nonnull %.str.5.sink6249, i32 noundef %12478, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.1, i32 noundef 1358, ptr noundef %12480, ptr noundef %12482, ptr noundef %12484, i32 noundef %12485) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12487:                                            ; preds = %12459
  %12488 = load i32, ptr @test_count, align 4, !tbaa !5
  %12489 = add nsw i32 %12488, 1
  store i32 %12489, ptr @test_count, align 4, !tbaa !5
  %12490 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %118, ptr noundef nonnull %117, i32 noundef 1) #13
  %12491 = icmp eq i32 %12490, -1
  br i1 %12491, label %12492, label %12514

12492:                                            ; preds = %12487
  %12493 = load i32, ptr %377, align 4, !tbaa !5
  %12494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12495 = call i32 @s2n_print_stacktrace(ptr noundef %12494) #13
  %12496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12497 = trunc nuw i8 %12496 to i1
  br i1 %12497, label %12498, label %12502

12498:                                            ; preds = %12492
  %12499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12500 = call i32 @fileno(ptr noundef %12499) #13
  %12501 = call i32 @isatty(i32 noundef %12500) #13
  %.not1967 = icmp eq i32 %12501, 0
  br i1 %.not1967, label %12502, label %12503

12502:                                            ; preds = %12498, %12492
  br label %12503

12503:                                            ; preds = %12498, %12502
  %.str.5.sink6258 = phi ptr [ @.str.5, %12502 ], [ @.str.2, %12498 ]
  store i32 %12493, ptr %377, align 4, !tbaa !5
  %12504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12505 = load i32, ptr @test_count, align 4, !tbaa !5
  %12506 = load i32, ptr %323, align 4, !tbaa !5
  %12507 = call ptr @s2n_strerror(i32 noundef %12506, ptr noundef nonnull @.str.4) #13
  %12508 = load i32, ptr %323, align 4, !tbaa !5
  %12509 = call ptr @s2n_strerror_debug(i32 noundef %12508, ptr noundef nonnull @.str.4) #13
  %12510 = load i32, ptr %377, align 4, !tbaa !5
  %12511 = call ptr @strerror(i32 noundef %12510) #13
  %12512 = load i32, ptr %377, align 4, !tbaa !5
  %12513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12504, ptr noundef nonnull %.str.5.sink6258, i32 noundef %12505, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.1, i32 noundef 1359, ptr noundef %12507, ptr noundef %12509, ptr noundef %12511, i32 noundef %12512) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12514:                                            ; preds = %12487
  %12515 = getelementptr inbounds i8, ptr %12435, i64 1744
  store i32 2, ptr %12515, align 8, !tbaa !92
  %12516 = load i8, ptr %106, align 1, !tbaa !90
  %12517 = and i8 %12516, 7
  %12518 = shl nuw i8 1, %12517
  %12519 = getelementptr inbounds i8, ptr %12435, i64 102
  %12520 = lshr i8 %12516, 3
  %12521 = zext nneg i8 %12520 to i64
  %12522 = getelementptr inbounds [22 x i8], ptr %12519, i64 0, i64 %12521
  %12523 = load i8, ptr %12522, align 1, !tbaa !90
  %12524 = or i8 %12518, %12523
  store i8 %12524, ptr %12522, align 1, !tbaa !90
  %12525 = load i32, ptr @test_count, align 4, !tbaa !5
  %12526 = add nsw i32 %12525, 1
  store i32 %12526, ptr @test_count, align 4, !tbaa !5
  %12527 = load i8, ptr %105, align 1, !tbaa !90
  %12528 = zext i8 %12527 to i32
  %12529 = lshr i32 %12528, 3
  %12530 = zext nneg i32 %12529 to i64
  %12531 = getelementptr inbounds [22 x i8], ptr %12519, i64 0, i64 %12530
  %12532 = load i8, ptr %12531, align 1, !tbaa !90
  %12533 = zext i8 %12532 to i32
  %12534 = and i32 %12528, 7
  %12535 = shl nuw nsw i32 1, %12534
  %12536 = and i32 %12535, %12533
  %.not1843 = icmp eq i32 %12536, 0
  br i1 %.not1843, label %12559, label %12537

12537:                                            ; preds = %12514
  %12538 = load i32, ptr %377, align 4, !tbaa !5
  %12539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12540 = call i32 @s2n_print_stacktrace(ptr noundef %12539) #13
  %12541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12542 = trunc nuw i8 %12541 to i1
  br i1 %12542, label %12543, label %12547

12543:                                            ; preds = %12537
  %12544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12545 = call i32 @fileno(ptr noundef %12544) #13
  %12546 = call i32 @isatty(i32 noundef %12545) #13
  %.not1966 = icmp eq i32 %12546, 0
  br i1 %.not1966, label %12547, label %12548

12547:                                            ; preds = %12543, %12537
  br label %12548

12548:                                            ; preds = %12543, %12547
  %.str.5.sink6267 = phi ptr [ @.str.5, %12547 ], [ @.str.2, %12543 ]
  store i32 %12538, ptr %377, align 4, !tbaa !5
  %12549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12550 = load i32, ptr @test_count, align 4, !tbaa !5
  %12551 = load i32, ptr %323, align 4, !tbaa !5
  %12552 = call ptr @s2n_strerror(i32 noundef %12551, ptr noundef nonnull @.str.4) #13
  %12553 = load i32, ptr %323, align 4, !tbaa !5
  %12554 = call ptr @s2n_strerror_debug(i32 noundef %12553, ptr noundef nonnull @.str.4) #13
  %12555 = load i32, ptr %377, align 4, !tbaa !5
  %12556 = call ptr @strerror(i32 noundef %12555) #13
  %12557 = load i32, ptr %377, align 4, !tbaa !5
  %12558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12549, ptr noundef nonnull %.str.5.sink6267, i32 noundef %12550, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.1, i32 noundef 1364, ptr noundef %12552, ptr noundef %12554, ptr noundef %12556, i32 noundef %12557) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12559:                                            ; preds = %12514
  %12560 = add nsw i32 %12525, 2
  store i32 %12560, ptr @test_count, align 4, !tbaa !5
  %12561 = call i32 @s2n_client_psk_recv(ptr noundef nonnull %12435, ptr noundef nonnull %118)
  %12562 = icmp eq i32 %12561, -1
  br i1 %12562, label %12585, label %12563

12563:                                            ; preds = %12559
  %12564 = load i32, ptr %377, align 4, !tbaa !5
  %12565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12566 = call i32 @s2n_print_stacktrace(ptr noundef %12565) #13
  %12567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12568 = trunc nuw i8 %12567 to i1
  br i1 %12568, label %12569, label %12573

12569:                                            ; preds = %12563
  %12570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12571 = call i32 @fileno(ptr noundef %12570) #13
  %12572 = call i32 @isatty(i32 noundef %12571) #13
  %.not1844 = icmp eq i32 %12572, 0
  br i1 %.not1844, label %12573, label %12574

12573:                                            ; preds = %12569, %12563
  br label %12574

12574:                                            ; preds = %12569, %12573
  %.str.5.sink6276 = phi ptr [ @.str.5, %12573 ], [ @.str.2, %12569 ]
  store i32 %12564, ptr %377, align 4, !tbaa !5
  %12575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12576 = load i32, ptr @test_count, align 4, !tbaa !5
  %12577 = load i32, ptr %323, align 4, !tbaa !5
  %12578 = call ptr @s2n_strerror(i32 noundef %12577, ptr noundef nonnull @.str.4) #13
  %12579 = load i32, ptr %323, align 4, !tbaa !5
  %12580 = call ptr @s2n_strerror_debug(i32 noundef %12579, ptr noundef nonnull @.str.4) #13
  %12581 = load i32, ptr %377, align 4, !tbaa !5
  %12582 = call ptr @strerror(i32 noundef %12581) #13
  %12583 = load i32, ptr %377, align 4, !tbaa !5
  %12584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12575, ptr noundef nonnull %.str.5.sink6276, i32 noundef %12576, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.1, i32 noundef 1366, ptr noundef %12578, ptr noundef %12580, ptr noundef %12582, i32 noundef %12583) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12585:                                            ; preds = %12559
  %12586 = load i32, ptr @test_count, align 4, !tbaa !5
  %12587 = add nsw i32 %12586, 1
  store i32 %12587, ptr @test_count, align 4, !tbaa !5
  %12588 = load i32, ptr %323, align 4, !tbaa !5
  %12589 = icmp eq i32 %12588, 335544393
  br i1 %12589, label %12612, label %12590

12590:                                            ; preds = %12585
  %12591 = load i32, ptr %377, align 4, !tbaa !5
  %12592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12593 = call i32 @s2n_print_stacktrace(ptr noundef %12592) #13
  %12594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12595 = trunc nuw i8 %12594 to i1
  br i1 %12595, label %12596, label %12600

12596:                                            ; preds = %12590
  %12597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12598 = call i32 @fileno(ptr noundef %12597) #13
  %12599 = call i32 @isatty(i32 noundef %12598) #13
  %.not1845 = icmp eq i32 %12599, 0
  br i1 %.not1845, label %12600, label %12601

12600:                                            ; preds = %12596, %12590
  br label %12601

12601:                                            ; preds = %12596, %12600
  %.str.5.sink6285 = phi ptr [ @.str.5, %12600 ], [ @.str.2, %12596 ]
  store i32 %12591, ptr %377, align 4, !tbaa !5
  %12602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12603 = load i32, ptr @test_count, align 4, !tbaa !5
  %12604 = load i32, ptr %323, align 4, !tbaa !5
  %12605 = call ptr @s2n_strerror(i32 noundef %12604, ptr noundef nonnull @.str.4) #13
  %12606 = load i32, ptr %323, align 4, !tbaa !5
  %12607 = call ptr @s2n_strerror_debug(i32 noundef %12606, ptr noundef nonnull @.str.4) #13
  %12608 = load i32, ptr %377, align 4, !tbaa !5
  %12609 = call ptr @strerror(i32 noundef %12608) #13
  %12610 = load i32, ptr %377, align 4, !tbaa !5
  %12611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12602, ptr noundef nonnull %.str.5.sink6285, i32 noundef %12603, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.1, i32 noundef 1366, ptr noundef %12605, ptr noundef %12607, ptr noundef %12609, i32 noundef %12610) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12612:                                            ; preds = %12585
  %12613 = add nsw i32 %12586, 2
  store i32 %12613, ptr @test_count, align 4, !tbaa !5
  %12614 = call ptr @s2n_strerror_debug(i32 noundef 335544393, ptr noundef nonnull @.str.4) #13
  %12615 = icmp eq ptr %12614, null
  br i1 %12615, label %12616, label %12638

12616:                                            ; preds = %12612
  %12617 = load i32, ptr %377, align 4, !tbaa !5
  %12618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12619 = call i32 @s2n_print_stacktrace(ptr noundef %12618) #13
  %12620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12621 = trunc nuw i8 %12620 to i1
  br i1 %12621, label %12622, label %12626

12622:                                            ; preds = %12616
  %12623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12624 = call i32 @fileno(ptr noundef %12623) #13
  %12625 = call i32 @isatty(i32 noundef %12624) #13
  %.not1965 = icmp eq i32 %12625, 0
  br i1 %.not1965, label %12626, label %12627

12626:                                            ; preds = %12622, %12616
  br label %12627

12627:                                            ; preds = %12622, %12626
  %.str.5.sink6294 = phi ptr [ @.str.5, %12626 ], [ @.str.2, %12622 ]
  store i32 %12617, ptr %377, align 4, !tbaa !5
  %12628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12629 = load i32, ptr @test_count, align 4, !tbaa !5
  %12630 = load i32, ptr %323, align 4, !tbaa !5
  %12631 = call ptr @s2n_strerror(i32 noundef %12630, ptr noundef nonnull @.str.4) #13
  %12632 = load i32, ptr %323, align 4, !tbaa !5
  %12633 = call ptr @s2n_strerror_debug(i32 noundef %12632, ptr noundef nonnull @.str.4) #13
  %12634 = load i32, ptr %377, align 4, !tbaa !5
  %12635 = call ptr @strerror(i32 noundef %12634) #13
  %12636 = load i32, ptr %377, align 4, !tbaa !5
  %12637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12628, ptr noundef nonnull %.str.5.sink6294, i32 noundef %12629, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1366, ptr noundef %12631, ptr noundef %12633, ptr noundef %12635, i32 noundef %12636) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12638:                                            ; preds = %12612
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %12639 = load i32, ptr @test_count, align 4, !tbaa !5
  %12640 = add nsw i32 %12639, 1
  store i32 %12640, ptr @test_count, align 4, !tbaa !5
  %12641 = call i32 @s2n_connection_free(ptr noundef nonnull %12435) #13
  %12642 = icmp eq i32 %12641, -1
  br i1 %12642, label %12643, label %12665

12643:                                            ; preds = %12638
  %12644 = load i32, ptr %377, align 4, !tbaa !5
  %12645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12646 = call i32 @s2n_print_stacktrace(ptr noundef %12645) #13
  %12647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12648 = trunc nuw i8 %12647 to i1
  br i1 %12648, label %12649, label %12653

12649:                                            ; preds = %12643
  %12650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12651 = call i32 @fileno(ptr noundef %12650) #13
  %12652 = call i32 @isatty(i32 noundef %12651) #13
  %.not1964 = icmp eq i32 %12652, 0
  br i1 %.not1964, label %12653, label %12654

12653:                                            ; preds = %12649, %12643
  br label %12654

12654:                                            ; preds = %12649, %12653
  %.str.5.sink6303 = phi ptr [ @.str.5, %12653 ], [ @.str.2, %12649 ]
  store i32 %12644, ptr %377, align 4, !tbaa !5
  %12655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12656 = load i32, ptr @test_count, align 4, !tbaa !5
  %12657 = load i32, ptr %323, align 4, !tbaa !5
  %12658 = call ptr @s2n_strerror(i32 noundef %12657, ptr noundef nonnull @.str.4) #13
  %12659 = load i32, ptr %323, align 4, !tbaa !5
  %12660 = call ptr @s2n_strerror_debug(i32 noundef %12659, ptr noundef nonnull @.str.4) #13
  %12661 = load i32, ptr %377, align 4, !tbaa !5
  %12662 = call ptr @strerror(i32 noundef %12661) #13
  %12663 = load i32, ptr %377, align 4, !tbaa !5
  %12664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12655, ptr noundef nonnull %.str.5.sink6303, i32 noundef %12656, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 1368, ptr noundef %12658, ptr noundef %12660, ptr noundef %12662, i32 noundef %12663) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12665:                                            ; preds = %12638
  %12666 = load i32, ptr @test_count, align 4, !tbaa !5
  %12667 = add nsw i32 %12666, 1
  store i32 %12667, ptr @test_count, align 4, !tbaa !5
  %12668 = call i32 @s2n_stuffer_free(ptr noundef nonnull %118) #13
  %12669 = icmp eq i32 %12668, -1
  br i1 %12669, label %12670, label %12692

12670:                                            ; preds = %12665
  %12671 = load i32, ptr %377, align 4, !tbaa !5
  %12672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12673 = call i32 @s2n_print_stacktrace(ptr noundef %12672) #13
  %12674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12675 = trunc nuw i8 %12674 to i1
  br i1 %12675, label %12676, label %12680

12676:                                            ; preds = %12670
  %12677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12678 = call i32 @fileno(ptr noundef %12677) #13
  %12679 = call i32 @isatty(i32 noundef %12678) #13
  %.not1963 = icmp eq i32 %12679, 0
  br i1 %.not1963, label %12680, label %12681

12680:                                            ; preds = %12676, %12670
  br label %12681

12681:                                            ; preds = %12676, %12680
  %.str.5.sink6312 = phi ptr [ @.str.5, %12680 ], [ @.str.2, %12676 ]
  store i32 %12671, ptr %377, align 4, !tbaa !5
  %12682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12683 = load i32, ptr @test_count, align 4, !tbaa !5
  %12684 = load i32, ptr %323, align 4, !tbaa !5
  %12685 = call ptr @s2n_strerror(i32 noundef %12684, ptr noundef nonnull @.str.4) #13
  %12686 = load i32, ptr %323, align 4, !tbaa !5
  %12687 = call ptr @s2n_strerror_debug(i32 noundef %12686, ptr noundef nonnull @.str.4) #13
  %12688 = load i32, ptr %377, align 4, !tbaa !5
  %12689 = call ptr @strerror(i32 noundef %12688) #13
  %12690 = load i32, ptr %377, align 4, !tbaa !5
  %12691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12682, ptr noundef nonnull %.str.5.sink6312, i32 noundef %12683, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.1, i32 noundef 1369, ptr noundef %12685, ptr noundef %12687, ptr noundef %12689, i32 noundef %12690) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12692:                                            ; preds = %12665
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %118) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %119) #13
  store i8 0, ptr %119, align 1, !tbaa !90
  %12693 = load i32, ptr @test_count, align 4, !tbaa !5
  %12694 = add nsw i32 %12693, 1
  store i32 %12694, ptr @test_count, align 4, !tbaa !5
  %12695 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 41, ptr noundef nonnull %119) #13
  %12696 = icmp eq i32 %12695, -1
  br i1 %12696, label %12697, label %12719

12697:                                            ; preds = %12692
  %12698 = load i32, ptr %377, align 4, !tbaa !5
  %12699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12700 = call i32 @s2n_print_stacktrace(ptr noundef %12699) #13
  %12701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12702 = trunc nuw i8 %12701 to i1
  br i1 %12702, label %12703, label %12707

12703:                                            ; preds = %12697
  %12704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12705 = call i32 @fileno(ptr noundef %12704) #13
  %12706 = call i32 @isatty(i32 noundef %12705) #13
  %.not1962 = icmp eq i32 %12706, 0
  br i1 %.not1962, label %12707, label %12708

12707:                                            ; preds = %12703, %12697
  br label %12708

12708:                                            ; preds = %12703, %12707
  %.str.5.sink6321 = phi ptr [ @.str.5, %12707 ], [ @.str.2, %12703 ]
  store i32 %12698, ptr %377, align 4, !tbaa !5
  %12709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12710 = load i32, ptr @test_count, align 4, !tbaa !5
  %12711 = load i32, ptr %323, align 4, !tbaa !5
  %12712 = call ptr @s2n_strerror(i32 noundef %12711, ptr noundef nonnull @.str.4) #13
  %12713 = load i32, ptr %323, align 4, !tbaa !5
  %12714 = call ptr @s2n_strerror_debug(i32 noundef %12713, ptr noundef nonnull @.str.4) #13
  %12715 = load i32, ptr %377, align 4, !tbaa !5
  %12716 = call ptr @strerror(i32 noundef %12715) #13
  %12717 = load i32, ptr %377, align 4, !tbaa !5
  %12718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12709, ptr noundef nonnull %.str.5.sink6321, i32 noundef %12710, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.1, i32 noundef 1375, ptr noundef %12712, ptr noundef %12714, ptr noundef %12716, i32 noundef %12717) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12719:                                            ; preds = %12692
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %120) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %120, i8 0, i64 40, i1 false)
  %12720 = load i32, ptr @test_count, align 4, !tbaa !5
  %12721 = add nsw i32 %12720, 1
  store i32 %12721, ptr @test_count, align 4, !tbaa !5
  %12722 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %12723 = icmp eq ptr %12722, null
  br i1 %12723, label %12724, label %12746

12724:                                            ; preds = %12719
  %12725 = load i32, ptr %377, align 4, !tbaa !5
  %12726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12727 = call i32 @s2n_print_stacktrace(ptr noundef %12726) #13
  %12728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12729 = trunc nuw i8 %12728 to i1
  br i1 %12729, label %12730, label %12734

12730:                                            ; preds = %12724
  %12731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12732 = call i32 @fileno(ptr noundef %12731) #13
  %12733 = call i32 @isatty(i32 noundef %12732) #13
  %.not1961 = icmp eq i32 %12733, 0
  br i1 %.not1961, label %12734, label %12735

12734:                                            ; preds = %12730, %12724
  br label %12735

12735:                                            ; preds = %12730, %12734
  %.str.5.sink6330 = phi ptr [ @.str.5, %12734 ], [ @.str.2, %12730 ]
  store i32 %12725, ptr %377, align 4, !tbaa !5
  %12736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12737 = load i32, ptr @test_count, align 4, !tbaa !5
  %12738 = load i32, ptr %323, align 4, !tbaa !5
  %12739 = call ptr @s2n_strerror(i32 noundef %12738, ptr noundef nonnull @.str.4) #13
  %12740 = load i32, ptr %323, align 4, !tbaa !5
  %12741 = call ptr @s2n_strerror_debug(i32 noundef %12740, ptr noundef nonnull @.str.4) #13
  %12742 = load i32, ptr %377, align 4, !tbaa !5
  %12743 = call ptr @strerror(i32 noundef %12742) #13
  %12744 = load i32, ptr %377, align 4, !tbaa !5
  %12745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12736, ptr noundef nonnull %.str.5.sink6330, i32 noundef %12737, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 1379, ptr noundef %12739, ptr noundef %12741, ptr noundef %12743, i32 noundef %12744) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12746:                                            ; preds = %12719
  %12747 = getelementptr inbounds i8, ptr %12722, i64 2920
  %12748 = getelementptr inbounds i8, ptr %12722, i64 3616
  store i16 2, ptr %12748, align 8, !tbaa !91
  %12749 = load i8, ptr %119, align 1, !tbaa !90
  %12750 = zext i8 %12749 to i64
  %12751 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %12747, i64 0, i64 %12750, i32 2
  store i16 0, ptr %12751, align 2, !tbaa !93
  %12752 = load i32, ptr @test_count, align 4, !tbaa !5
  %12753 = add nsw i32 %12752, 1
  store i32 %12753, ptr @test_count, align 4, !tbaa !5
  %12754 = call i32 @s2n_client_psk_recv(ptr noundef nonnull %12722, ptr noundef nonnull %120)
  %12755 = icmp eq i32 %12754, -1
  br i1 %12755, label %12778, label %12756

12756:                                            ; preds = %12746
  %12757 = load i32, ptr %377, align 4, !tbaa !5
  %12758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12759 = call i32 @s2n_print_stacktrace(ptr noundef %12758) #13
  %12760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12761 = trunc nuw i8 %12760 to i1
  br i1 %12761, label %12762, label %12766

12762:                                            ; preds = %12756
  %12763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12764 = call i32 @fileno(ptr noundef %12763) #13
  %12765 = call i32 @isatty(i32 noundef %12764) #13
  %.not1846 = icmp eq i32 %12765, 0
  br i1 %.not1846, label %12766, label %12767

12766:                                            ; preds = %12762, %12756
  br label %12767

12767:                                            ; preds = %12762, %12766
  %.str.5.sink6339 = phi ptr [ @.str.5, %12766 ], [ @.str.2, %12762 ]
  store i32 %12757, ptr %377, align 4, !tbaa !5
  %12768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12769 = load i32, ptr @test_count, align 4, !tbaa !5
  %12770 = load i32, ptr %323, align 4, !tbaa !5
  %12771 = call ptr @s2n_strerror(i32 noundef %12770, ptr noundef nonnull @.str.4) #13
  %12772 = load i32, ptr %323, align 4, !tbaa !5
  %12773 = call ptr @s2n_strerror_debug(i32 noundef %12772, ptr noundef nonnull @.str.4) #13
  %12774 = load i32, ptr %377, align 4, !tbaa !5
  %12775 = call ptr @strerror(i32 noundef %12774) #13
  %12776 = load i32, ptr %377, align 4, !tbaa !5
  %12777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12768, ptr noundef nonnull %.str.5.sink6339, i32 noundef %12769, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.1, i32 noundef 1383, ptr noundef %12771, ptr noundef %12773, ptr noundef %12775, i32 noundef %12776) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12778:                                            ; preds = %12746
  %12779 = load i32, ptr @test_count, align 4, !tbaa !5
  %12780 = add nsw i32 %12779, 1
  store i32 %12780, ptr @test_count, align 4, !tbaa !5
  %12781 = load i32, ptr %323, align 4, !tbaa !5
  %12782 = icmp eq i32 %12781, 335544394
  br i1 %12782, label %12805, label %12783

12783:                                            ; preds = %12778
  %12784 = load i32, ptr %377, align 4, !tbaa !5
  %12785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12786 = call i32 @s2n_print_stacktrace(ptr noundef %12785) #13
  %12787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12788 = trunc nuw i8 %12787 to i1
  br i1 %12788, label %12789, label %12793

12789:                                            ; preds = %12783
  %12790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12791 = call i32 @fileno(ptr noundef %12790) #13
  %12792 = call i32 @isatty(i32 noundef %12791) #13
  %.not1847 = icmp eq i32 %12792, 0
  br i1 %.not1847, label %12793, label %12794

12793:                                            ; preds = %12789, %12783
  br label %12794

12794:                                            ; preds = %12789, %12793
  %.str.5.sink6348 = phi ptr [ @.str.5, %12793 ], [ @.str.2, %12789 ]
  store i32 %12784, ptr %377, align 4, !tbaa !5
  %12795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12796 = load i32, ptr @test_count, align 4, !tbaa !5
  %12797 = load i32, ptr %323, align 4, !tbaa !5
  %12798 = call ptr @s2n_strerror(i32 noundef %12797, ptr noundef nonnull @.str.4) #13
  %12799 = load i32, ptr %323, align 4, !tbaa !5
  %12800 = call ptr @s2n_strerror_debug(i32 noundef %12799, ptr noundef nonnull @.str.4) #13
  %12801 = load i32, ptr %377, align 4, !tbaa !5
  %12802 = call ptr @strerror(i32 noundef %12801) #13
  %12803 = load i32, ptr %377, align 4, !tbaa !5
  %12804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12795, ptr noundef nonnull %.str.5.sink6348, i32 noundef %12796, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 1383, ptr noundef %12798, ptr noundef %12800, ptr noundef %12802, i32 noundef %12803) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12805:                                            ; preds = %12778
  %12806 = add nsw i32 %12779, 2
  store i32 %12806, ptr @test_count, align 4, !tbaa !5
  %12807 = call ptr @s2n_strerror_debug(i32 noundef 335544394, ptr noundef nonnull @.str.4) #13
  %12808 = icmp eq ptr %12807, null
  br i1 %12808, label %12809, label %12831

12809:                                            ; preds = %12805
  %12810 = load i32, ptr %377, align 4, !tbaa !5
  %12811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12812 = call i32 @s2n_print_stacktrace(ptr noundef %12811) #13
  %12813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12814 = trunc nuw i8 %12813 to i1
  br i1 %12814, label %12815, label %12819

12815:                                            ; preds = %12809
  %12816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12817 = call i32 @fileno(ptr noundef %12816) #13
  %12818 = call i32 @isatty(i32 noundef %12817) #13
  %.not1960 = icmp eq i32 %12818, 0
  br i1 %.not1960, label %12819, label %12820

12819:                                            ; preds = %12815, %12809
  br label %12820

12820:                                            ; preds = %12815, %12819
  %.str.5.sink6357 = phi ptr [ @.str.5, %12819 ], [ @.str.2, %12815 ]
  store i32 %12810, ptr %377, align 4, !tbaa !5
  %12821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12822 = load i32, ptr @test_count, align 4, !tbaa !5
  %12823 = load i32, ptr %323, align 4, !tbaa !5
  %12824 = call ptr @s2n_strerror(i32 noundef %12823, ptr noundef nonnull @.str.4) #13
  %12825 = load i32, ptr %323, align 4, !tbaa !5
  %12826 = call ptr @s2n_strerror_debug(i32 noundef %12825, ptr noundef nonnull @.str.4) #13
  %12827 = load i32, ptr %377, align 4, !tbaa !5
  %12828 = call ptr @strerror(i32 noundef %12827) #13
  %12829 = load i32, ptr %377, align 4, !tbaa !5
  %12830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12821, ptr noundef nonnull %.str.5.sink6357, i32 noundef %12822, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1383, ptr noundef %12824, ptr noundef %12826, ptr noundef %12828, i32 noundef %12829) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12831:                                            ; preds = %12805
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  store i16 5, ptr %12748, align 8, !tbaa !91
  %12832 = load i8, ptr %119, align 1, !tbaa !90
  %12833 = zext i8 %12832 to i64
  %12834 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %12747, i64 0, i64 %12833, i32 2
  store i16 1, ptr %12834, align 2, !tbaa !93
  %12835 = load i32, ptr @test_count, align 4, !tbaa !5
  %12836 = add nsw i32 %12835, 1
  store i32 %12836, ptr @test_count, align 4, !tbaa !5
  %12837 = call i32 @s2n_client_psk_recv(ptr noundef nonnull %12722, ptr noundef nonnull %120)
  %12838 = icmp eq i32 %12837, -1
  br i1 %12838, label %12861, label %12839

12839:                                            ; preds = %12831
  %12840 = load i32, ptr %377, align 4, !tbaa !5
  %12841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12842 = call i32 @s2n_print_stacktrace(ptr noundef %12841) #13
  %12843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12844 = trunc nuw i8 %12843 to i1
  br i1 %12844, label %12845, label %12849

12845:                                            ; preds = %12839
  %12846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12847 = call i32 @fileno(ptr noundef %12846) #13
  %12848 = call i32 @isatty(i32 noundef %12847) #13
  %.not1848 = icmp eq i32 %12848, 0
  br i1 %.not1848, label %12849, label %12850

12849:                                            ; preds = %12845, %12839
  br label %12850

12850:                                            ; preds = %12845, %12849
  %.str.5.sink6366 = phi ptr [ @.str.5, %12849 ], [ @.str.2, %12845 ]
  store i32 %12840, ptr %377, align 4, !tbaa !5
  %12851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12852 = load i32, ptr @test_count, align 4, !tbaa !5
  %12853 = load i32, ptr %323, align 4, !tbaa !5
  %12854 = call ptr @s2n_strerror(i32 noundef %12853, ptr noundef nonnull @.str.4) #13
  %12855 = load i32, ptr %323, align 4, !tbaa !5
  %12856 = call ptr @s2n_strerror_debug(i32 noundef %12855, ptr noundef nonnull @.str.4) #13
  %12857 = load i32, ptr %377, align 4, !tbaa !5
  %12858 = call ptr @strerror(i32 noundef %12857) #13
  %12859 = load i32, ptr %377, align 4, !tbaa !5
  %12860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12851, ptr noundef nonnull %.str.5.sink6366, i32 noundef %12852, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.1, i32 noundef 1387, ptr noundef %12854, ptr noundef %12856, ptr noundef %12858, i32 noundef %12859) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12861:                                            ; preds = %12831
  %12862 = load i32, ptr @test_count, align 4, !tbaa !5
  %12863 = add nsw i32 %12862, 1
  store i32 %12863, ptr @test_count, align 4, !tbaa !5
  %12864 = load i32, ptr %323, align 4, !tbaa !5
  %12865 = icmp eq i32 %12864, 335544394
  br i1 %12865, label %12888, label %12866

12866:                                            ; preds = %12861
  %12867 = load i32, ptr %377, align 4, !tbaa !5
  %12868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12869 = call i32 @s2n_print_stacktrace(ptr noundef %12868) #13
  %12870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12871 = trunc nuw i8 %12870 to i1
  br i1 %12871, label %12872, label %12876

12872:                                            ; preds = %12866
  %12873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12874 = call i32 @fileno(ptr noundef %12873) #13
  %12875 = call i32 @isatty(i32 noundef %12874) #13
  %.not1849 = icmp eq i32 %12875, 0
  br i1 %.not1849, label %12876, label %12877

12876:                                            ; preds = %12872, %12866
  br label %12877

12877:                                            ; preds = %12872, %12876
  %.str.5.sink6375 = phi ptr [ @.str.5, %12876 ], [ @.str.2, %12872 ]
  store i32 %12867, ptr %377, align 4, !tbaa !5
  %12878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12879 = load i32, ptr @test_count, align 4, !tbaa !5
  %12880 = load i32, ptr %323, align 4, !tbaa !5
  %12881 = call ptr @s2n_strerror(i32 noundef %12880, ptr noundef nonnull @.str.4) #13
  %12882 = load i32, ptr %323, align 4, !tbaa !5
  %12883 = call ptr @s2n_strerror_debug(i32 noundef %12882, ptr noundef nonnull @.str.4) #13
  %12884 = load i32, ptr %377, align 4, !tbaa !5
  %12885 = call ptr @strerror(i32 noundef %12884) #13
  %12886 = load i32, ptr %377, align 4, !tbaa !5
  %12887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12878, ptr noundef nonnull %.str.5.sink6375, i32 noundef %12879, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 1387, ptr noundef %12881, ptr noundef %12883, ptr noundef %12885, i32 noundef %12886) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12888:                                            ; preds = %12861
  %12889 = add nsw i32 %12862, 2
  store i32 %12889, ptr @test_count, align 4, !tbaa !5
  %12890 = call ptr @s2n_strerror_debug(i32 noundef 335544394, ptr noundef nonnull @.str.4) #13
  %12891 = icmp eq ptr %12890, null
  br i1 %12891, label %12892, label %12914

12892:                                            ; preds = %12888
  %12893 = load i32, ptr %377, align 4, !tbaa !5
  %12894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12895 = call i32 @s2n_print_stacktrace(ptr noundef %12894) #13
  %12896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12897 = trunc nuw i8 %12896 to i1
  br i1 %12897, label %12898, label %12902

12898:                                            ; preds = %12892
  %12899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12900 = call i32 @fileno(ptr noundef %12899) #13
  %12901 = call i32 @isatty(i32 noundef %12900) #13
  %.not1959 = icmp eq i32 %12901, 0
  br i1 %.not1959, label %12902, label %12903

12902:                                            ; preds = %12898, %12892
  br label %12903

12903:                                            ; preds = %12898, %12902
  %.str.5.sink6384 = phi ptr [ @.str.5, %12902 ], [ @.str.2, %12898 ]
  store i32 %12893, ptr %377, align 4, !tbaa !5
  %12904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12905 = load i32, ptr @test_count, align 4, !tbaa !5
  %12906 = load i32, ptr %323, align 4, !tbaa !5
  %12907 = call ptr @s2n_strerror(i32 noundef %12906, ptr noundef nonnull @.str.4) #13
  %12908 = load i32, ptr %323, align 4, !tbaa !5
  %12909 = call ptr @s2n_strerror_debug(i32 noundef %12908, ptr noundef nonnull @.str.4) #13
  %12910 = load i32, ptr %377, align 4, !tbaa !5
  %12911 = call ptr @strerror(i32 noundef %12910) #13
  %12912 = load i32, ptr %377, align 4, !tbaa !5
  %12913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12904, ptr noundef nonnull %.str.5.sink6384, i32 noundef %12905, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 1387, ptr noundef %12907, ptr noundef %12909, ptr noundef %12911, i32 noundef %12912) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12914:                                            ; preds = %12888
  store i32 0, ptr %323, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %377, align 4, !tbaa !5
  %12915 = load i32, ptr @test_count, align 4, !tbaa !5
  %12916 = add nsw i32 %12915, 1
  store i32 %12916, ptr @test_count, align 4, !tbaa !5
  %12917 = call i32 @s2n_connection_free(ptr noundef nonnull %12722) #13
  %12918 = icmp eq i32 %12917, -1
  br i1 %12918, label %12919, label %12941

12919:                                            ; preds = %12914
  %12920 = load i32, ptr %377, align 4, !tbaa !5
  %12921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12922 = call i32 @s2n_print_stacktrace(ptr noundef %12921) #13
  %12923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12924 = trunc nuw i8 %12923 to i1
  br i1 %12924, label %12925, label %12929

12925:                                            ; preds = %12919
  %12926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12927 = call i32 @fileno(ptr noundef %12926) #13
  %12928 = call i32 @isatty(i32 noundef %12927) #13
  %.not1958 = icmp eq i32 %12928, 0
  br i1 %.not1958, label %12929, label %12930

12929:                                            ; preds = %12925, %12919
  br label %12930

12930:                                            ; preds = %12925, %12929
  %.str.5.sink6393 = phi ptr [ @.str.5, %12929 ], [ @.str.2, %12925 ]
  store i32 %12920, ptr %377, align 4, !tbaa !5
  %12931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12932 = load i32, ptr @test_count, align 4, !tbaa !5
  %12933 = load i32, ptr %323, align 4, !tbaa !5
  %12934 = call ptr @s2n_strerror(i32 noundef %12933, ptr noundef nonnull @.str.4) #13
  %12935 = load i32, ptr %323, align 4, !tbaa !5
  %12936 = call ptr @s2n_strerror_debug(i32 noundef %12935, ptr noundef nonnull @.str.4) #13
  %12937 = load i32, ptr %377, align 4, !tbaa !5
  %12938 = call ptr @strerror(i32 noundef %12937) #13
  %12939 = load i32, ptr %377, align 4, !tbaa !5
  %12940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12931, ptr noundef nonnull %.str.5.sink6393, i32 noundef %12932, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 1389, ptr noundef %12934, ptr noundef %12936, ptr noundef %12938, i32 noundef %12939) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12941:                                            ; preds = %12914
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %120) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %119) #13
  call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %121) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %121, ptr noundef nonnull align 1 dereferenceable(7) @__const.main.client_hello_prefix_data, i64 7, i1 false)
  %12942 = load i32, ptr @test_count, align 4, !tbaa !5
  %12943 = add nsw i32 %12942, 1
  store i32 %12943, ptr @test_count, align 4, !tbaa !5
  %12944 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %12945 = icmp eq ptr %12944, null
  br i1 %12945, label %12946, label %12968

12946:                                            ; preds = %12941
  %12947 = load i32, ptr %377, align 4, !tbaa !5
  %12948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12949 = call i32 @s2n_print_stacktrace(ptr noundef %12948) #13
  %12950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12951 = trunc nuw i8 %12950 to i1
  br i1 %12951, label %12952, label %12956

12952:                                            ; preds = %12946
  %12953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12954 = call i32 @fileno(ptr noundef %12953) #13
  %12955 = call i32 @isatty(i32 noundef %12954) #13
  %.not1957 = icmp eq i32 %12955, 0
  br i1 %.not1957, label %12956, label %12957

12956:                                            ; preds = %12952, %12946
  br label %12957

12957:                                            ; preds = %12952, %12956
  %.str.5.sink6402 = phi ptr [ @.str.5, %12956 ], [ @.str.2, %12952 ]
  store i32 %12947, ptr %377, align 4, !tbaa !5
  %12958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12959 = load i32, ptr @test_count, align 4, !tbaa !5
  %12960 = load i32, ptr %323, align 4, !tbaa !5
  %12961 = call ptr @s2n_strerror(i32 noundef %12960, ptr noundef nonnull @.str.4) #13
  %12962 = load i32, ptr %323, align 4, !tbaa !5
  %12963 = call ptr @s2n_strerror_debug(i32 noundef %12962, ptr noundef nonnull @.str.4) #13
  %12964 = load i32, ptr %377, align 4, !tbaa !5
  %12965 = call ptr @strerror(i32 noundef %12964) #13
  %12966 = load i32, ptr %377, align 4, !tbaa !5
  %12967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12958, ptr noundef nonnull %.str.5.sink6402, i32 noundef %12959, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.1, i32 noundef 1401, ptr noundef %12961, ptr noundef %12963, ptr noundef %12965, i32 noundef %12966) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12968:                                            ; preds = %12941
  %12969 = getelementptr inbounds i8, ptr %12944, i64 2016
  %12970 = load i32, ptr @test_count, align 4, !tbaa !5
  %12971 = add nsw i32 %12970, 1
  store i32 %12971, ptr @test_count, align 4, !tbaa !5
  %12972 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %12973 = icmp eq ptr %12972, null
  br i1 %12973, label %12974, label %12996

12974:                                            ; preds = %12968
  %12975 = load i32, ptr %377, align 4, !tbaa !5
  %12976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12977 = call i32 @s2n_print_stacktrace(ptr noundef %12976) #13
  %12978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12979 = trunc nuw i8 %12978 to i1
  br i1 %12979, label %12980, label %12984

12980:                                            ; preds = %12974
  %12981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12982 = call i32 @fileno(ptr noundef %12981) #13
  %12983 = call i32 @isatty(i32 noundef %12982) #13
  %.not1956 = icmp eq i32 %12983, 0
  br i1 %.not1956, label %12984, label %12985

12984:                                            ; preds = %12980, %12974
  br label %12985

12985:                                            ; preds = %12980, %12984
  %.str.5.sink6411 = phi ptr [ @.str.5, %12984 ], [ @.str.2, %12980 ]
  store i32 %12975, ptr %377, align 4, !tbaa !5
  %12986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12987 = load i32, ptr @test_count, align 4, !tbaa !5
  %12988 = load i32, ptr %323, align 4, !tbaa !5
  %12989 = call ptr @s2n_strerror(i32 noundef %12988, ptr noundef nonnull @.str.4) #13
  %12990 = load i32, ptr %323, align 4, !tbaa !5
  %12991 = call ptr @s2n_strerror_debug(i32 noundef %12990, ptr noundef nonnull @.str.4) #13
  %12992 = load i32, ptr %377, align 4, !tbaa !5
  %12993 = call ptr @strerror(i32 noundef %12992) #13
  %12994 = load i32, ptr %377, align 4, !tbaa !5
  %12995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12986, ptr noundef nonnull %.str.5.sink6411, i32 noundef %12987, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.1, i32 noundef 1405, ptr noundef %12989, ptr noundef %12991, ptr noundef %12993, i32 noundef %12994) #15
  call void @exit(i32 noundef 1) #16
  unreachable

12996:                                            ; preds = %12968
  %12997 = load i32, ptr @test_count, align 4, !tbaa !5
  %12998 = add nsw i32 %12997, 1
  store i32 %12998, ptr @test_count, align 4, !tbaa !5
  %12999 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %12972, i32 noundef 1) #13
  %13000 = call zeroext i1 @s2n_result_is_ok(i32 %12999)
  br i1 %13000, label %13023, label %13001

13001:                                            ; preds = %12996
  %13002 = load i32, ptr %377, align 4, !tbaa !5
  %13003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13004 = call i32 @s2n_print_stacktrace(ptr noundef %13003) #13
  %13005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13006 = trunc nuw i8 %13005 to i1
  br i1 %13006, label %13007, label %13011

13007:                                            ; preds = %13001
  %13008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13009 = call i32 @fileno(ptr noundef %13008) #13
  %13010 = call i32 @isatty(i32 noundef %13009) #13
  %.not1850 = icmp eq i32 %13010, 0
  br i1 %.not1850, label %13011, label %13012

13011:                                            ; preds = %13007, %13001
  br label %13012

13012:                                            ; preds = %13007, %13011
  %.str.5.sink6420 = phi ptr [ @.str.5, %13011 ], [ @.str.2, %13007 ]
  store i32 %13002, ptr %377, align 4, !tbaa !5
  %13013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13014 = load i32, ptr @test_count, align 4, !tbaa !5
  %13015 = load i32, ptr %323, align 4, !tbaa !5
  %13016 = call ptr @s2n_strerror(i32 noundef %13015, ptr noundef nonnull @.str.4) #13
  %13017 = load i32, ptr %323, align 4, !tbaa !5
  %13018 = call ptr @s2n_strerror_debug(i32 noundef %13017, ptr noundef nonnull @.str.4) #13
  %13019 = load i32, ptr %377, align 4, !tbaa !5
  %13020 = call ptr @strerror(i32 noundef %13019) #13
  %13021 = load i32, ptr %377, align 4, !tbaa !5
  %13022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13013, ptr noundef nonnull %.str.5.sink6420, i32 noundef %13014, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.1, i32 noundef 1406, ptr noundef %13016, ptr noundef %13018, ptr noundef %13020, i32 noundef %13021) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13023:                                            ; preds = %12996
  %13024 = getelementptr inbounds i8, ptr %12972, i64 2016
  %13025 = getelementptr inbounds i8, ptr %12972, i64 3616
  store i16 1, ptr %13025, align 8, !tbaa !91
  %13026 = getelementptr inbounds i8, ptr %12972, i64 1744
  store i32 2, ptr %13026, align 8, !tbaa !92
  %13027 = load i8, ptr %106, align 1, !tbaa !90
  %13028 = and i8 %13027, 7
  %13029 = shl nuw i8 1, %13028
  %13030 = getelementptr inbounds i8, ptr %12972, i64 102
  %13031 = lshr i8 %13027, 3
  %13032 = zext nneg i8 %13031 to i64
  %13033 = getelementptr inbounds [22 x i8], ptr %13030, i64 0, i64 %13032
  %13034 = load i8, ptr %13033, align 1, !tbaa !90
  %13035 = or i8 %13029, %13034
  store i8 %13035, ptr %13033, align 1, !tbaa !90
  %13036 = load i8, ptr %105, align 1, !tbaa !90
  %13037 = and i8 %13036, 7
  %13038 = shl nuw i8 1, %13037
  %13039 = lshr i8 %13036, 3
  %13040 = zext nneg i8 %13039 to i64
  %13041 = getelementptr inbounds [22 x i8], ptr %13030, i64 0, i64 %13040
  %13042 = load i8, ptr %13041, align 1, !tbaa !90
  %13043 = or i8 %13038, %13042
  store i8 %13043, ptr %13041, align 1, !tbaa !90
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %122) #13
  store ptr null, ptr %122, align 8, !tbaa !9
  %13044 = load i32, ptr @test_count, align 4, !tbaa !5
  %13045 = add nsw i32 %13044, 1
  store i32 %13045, ptr @test_count, align 4, !tbaa !5
  %13046 = getelementptr inbounds i8, ptr %12944, i64 1696
  %13047 = call i32 @s2n_array_pushback(ptr noundef nonnull %13046, ptr noundef nonnull %122) #13
  %13048 = call zeroext i1 @s2n_result_is_ok(i32 %13047)
  br i1 %13048, label %13071, label %13049

13049:                                            ; preds = %13023
  %13050 = load i32, ptr %377, align 4, !tbaa !5
  %13051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13052 = call i32 @s2n_print_stacktrace(ptr noundef %13051) #13
  %13053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13054 = trunc nuw i8 %13053 to i1
  br i1 %13054, label %13055, label %13059

13055:                                            ; preds = %13049
  %13056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13057 = call i32 @fileno(ptr noundef %13056) #13
  %13058 = call i32 @isatty(i32 noundef %13057) #13
  %.not1851 = icmp eq i32 %13058, 0
  br i1 %.not1851, label %13059, label %13060

13059:                                            ; preds = %13055, %13049
  br label %13060

13060:                                            ; preds = %13055, %13059
  %.str.5.sink6429 = phi ptr [ @.str.5, %13059 ], [ @.str.2, %13055 ]
  store i32 %13050, ptr %377, align 4, !tbaa !5
  %13061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13062 = load i32, ptr @test_count, align 4, !tbaa !5
  %13063 = load i32, ptr %323, align 4, !tbaa !5
  %13064 = call ptr @s2n_strerror(i32 noundef %13063, ptr noundef nonnull @.str.4) #13
  %13065 = load i32, ptr %323, align 4, !tbaa !5
  %13066 = call ptr @s2n_strerror_debug(i32 noundef %13065, ptr noundef nonnull @.str.4) #13
  %13067 = load i32, ptr %377, align 4, !tbaa !5
  %13068 = call ptr @strerror(i32 noundef %13067) #13
  %13069 = load i32, ptr %377, align 4, !tbaa !5
  %13070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13061, ptr noundef nonnull %.str.5.sink6429, i32 noundef %13062, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.1, i32 noundef 1416, ptr noundef %13064, ptr noundef %13066, ptr noundef %13068, i32 noundef %13069) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13071:                                            ; preds = %13023
  %13072 = load i32, ptr @test_count, align 4, !tbaa !5
  %13073 = add nsw i32 %13072, 1
  store i32 %13073, ptr @test_count, align 4, !tbaa !5
  %13074 = load ptr, ptr %122, align 8, !tbaa !9
  %13075 = call i32 @s2n_psk_init(ptr noundef %13074, i32 noundef 1) #13
  %13076 = call zeroext i1 @s2n_result_is_ok(i32 %13075)
  br i1 %13076, label %13099, label %13077

13077:                                            ; preds = %13071
  %13078 = load i32, ptr %377, align 4, !tbaa !5
  %13079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13080 = call i32 @s2n_print_stacktrace(ptr noundef %13079) #13
  %13081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13082 = trunc nuw i8 %13081 to i1
  br i1 %13082, label %13083, label %13087

13083:                                            ; preds = %13077
  %13084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13085 = call i32 @fileno(ptr noundef %13084) #13
  %13086 = call i32 @isatty(i32 noundef %13085) #13
  %.not1852 = icmp eq i32 %13086, 0
  br i1 %.not1852, label %13087, label %13088

13087:                                            ; preds = %13083, %13077
  br label %13088

13088:                                            ; preds = %13083, %13087
  %.str.5.sink6438 = phi ptr [ @.str.5, %13087 ], [ @.str.2, %13083 ]
  store i32 %13078, ptr %377, align 4, !tbaa !5
  %13089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13090 = load i32, ptr @test_count, align 4, !tbaa !5
  %13091 = load i32, ptr %323, align 4, !tbaa !5
  %13092 = call ptr @s2n_strerror(i32 noundef %13091, ptr noundef nonnull @.str.4) #13
  %13093 = load i32, ptr %323, align 4, !tbaa !5
  %13094 = call ptr @s2n_strerror_debug(i32 noundef %13093, ptr noundef nonnull @.str.4) #13
  %13095 = load i32, ptr %377, align 4, !tbaa !5
  %13096 = call ptr @strerror(i32 noundef %13095) #13
  %13097 = load i32, ptr %377, align 4, !tbaa !5
  %13098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13089, ptr noundef nonnull %.str.5.sink6438, i32 noundef %13090, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 1417, ptr noundef %13092, ptr noundef %13094, ptr noundef %13096, i32 noundef %13097) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13099:                                            ; preds = %13071
  %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 %122, align 8, !tbaa !9
  %13103 = call i32 @s2n_psk_set_identity(ptr noundef %13102, ptr noundef nonnull %5, i16 noundef zeroext 14) #13
  %13104 = icmp eq i32 %13103, -1
  br i1 %13104, label %13105, label %13127

13105:                                            ; preds = %13099
  %13106 = load i32, ptr %377, align 4, !tbaa !5
  %13107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13108 = call i32 @s2n_print_stacktrace(ptr noundef %13107) #13
  %13109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13110 = trunc nuw i8 %13109 to i1
  br i1 %13110, label %13111, label %13115

13111:                                            ; preds = %13105
  %13112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13113 = call i32 @fileno(ptr noundef %13112) #13
  %13114 = call i32 @isatty(i32 noundef %13113) #13
  %.not1955 = icmp eq i32 %13114, 0
  br i1 %.not1955, label %13115, label %13116

13115:                                            ; preds = %13111, %13105
  br label %13116

13116:                                            ; preds = %13111, %13115
  %.str.5.sink6447 = phi ptr [ @.str.5, %13115 ], [ @.str.2, %13111 ]
  store i32 %13106, ptr %377, align 4, !tbaa !5
  %13117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13118 = load i32, ptr @test_count, align 4, !tbaa !5
  %13119 = load i32, ptr %323, align 4, !tbaa !5
  %13120 = call ptr @s2n_strerror(i32 noundef %13119, ptr noundef nonnull @.str.4) #13
  %13121 = load i32, ptr %323, align 4, !tbaa !5
  %13122 = call ptr @s2n_strerror_debug(i32 noundef %13121, ptr noundef nonnull @.str.4) #13
  %13123 = load i32, ptr %377, align 4, !tbaa !5
  %13124 = call ptr @strerror(i32 noundef %13123) #13
  %13125 = load i32, ptr %377, align 4, !tbaa !5
  %13126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13117, ptr noundef nonnull %.str.5.sink6447, i32 noundef %13118, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.1, i32 noundef 1418, ptr noundef %13120, ptr noundef %13122, ptr noundef %13124, i32 noundef %13125) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13127:                                            ; preds = %13099
  %13128 = load i32, ptr @test_count, align 4, !tbaa !5
  %13129 = add nsw i32 %13128, 1
  store i32 %13129, ptr @test_count, align 4, !tbaa !5
  %13130 = load ptr, ptr %122, align 8, !tbaa !9
  %13131 = call i32 @s2n_psk_set_secret(ptr noundef %13130, ptr noundef nonnull %8, i16 noundef zeroext 12) #13
  %13132 = icmp eq i32 %13131, -1
  br i1 %13132, label %13133, label %13155

13133:                                            ; preds = %13127
  %13134 = load i32, ptr %377, align 4, !tbaa !5
  %13135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13136 = call i32 @s2n_print_stacktrace(ptr noundef %13135) #13
  %13137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13138 = trunc nuw i8 %13137 to i1
  br i1 %13138, label %13139, label %13143

13139:                                            ; preds = %13133
  %13140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13141 = call i32 @fileno(ptr noundef %13140) #13
  %13142 = call i32 @isatty(i32 noundef %13141) #13
  %.not1954 = icmp eq i32 %13142, 0
  br i1 %.not1954, label %13143, label %13144

13143:                                            ; preds = %13139, %13133
  br label %13144

13144:                                            ; preds = %13139, %13143
  %.str.5.sink6456 = phi ptr [ @.str.5, %13143 ], [ @.str.2, %13139 ]
  store i32 %13134, ptr %377, align 4, !tbaa !5
  %13145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13146 = load i32, ptr @test_count, align 4, !tbaa !5
  %13147 = load i32, ptr %323, align 4, !tbaa !5
  %13148 = call ptr @s2n_strerror(i32 noundef %13147, ptr noundef nonnull @.str.4) #13
  %13149 = load i32, ptr %323, align 4, !tbaa !5
  %13150 = call ptr @s2n_strerror_debug(i32 noundef %13149, ptr noundef nonnull @.str.4) #13
  %13151 = load i32, ptr %377, align 4, !tbaa !5
  %13152 = call ptr @strerror(i32 noundef %13151) #13
  %13153 = load i32, ptr %377, align 4, !tbaa !5
  %13154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13145, ptr noundef nonnull %.str.5.sink6456, i32 noundef %13146, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.1, i32 noundef 1419, ptr noundef %13148, ptr noundef %13150, ptr noundef %13152, i32 noundef %13153) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13155:                                            ; preds = %13127
  %13156 = load i32, ptr @test_count, align 4, !tbaa !5
  %13157 = add nsw i32 %13156, 1
  store i32 %13157, ptr @test_count, align 4, !tbaa !5
  %13158 = getelementptr inbounds i8, ptr %12972, i64 1696
  %13159 = call i32 @s2n_array_pushback(ptr noundef nonnull %13158, ptr noundef nonnull %122) #13
  %13160 = call zeroext i1 @s2n_result_is_ok(i32 %13159)
  br i1 %13160, label %13183, label %13161

13161:                                            ; preds = %13155
  %13162 = load i32, ptr %377, align 4, !tbaa !5
  %13163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13164 = call i32 @s2n_print_stacktrace(ptr noundef %13163) #13
  %13165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13166 = trunc nuw i8 %13165 to i1
  br i1 %13166, label %13167, label %13171

13167:                                            ; preds = %13161
  %13168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13169 = call i32 @fileno(ptr noundef %13168) #13
  %13170 = call i32 @isatty(i32 noundef %13169) #13
  %.not1853 = icmp eq i32 %13170, 0
  br i1 %.not1853, label %13171, label %13172

13171:                                            ; preds = %13167, %13161
  br label %13172

13172:                                            ; preds = %13167, %13171
  %.str.5.sink6465 = phi ptr [ @.str.5, %13171 ], [ @.str.2, %13167 ]
  store i32 %13162, ptr %377, align 4, !tbaa !5
  %13173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13174 = load i32, ptr @test_count, align 4, !tbaa !5
  %13175 = load i32, ptr %323, align 4, !tbaa !5
  %13176 = call ptr @s2n_strerror(i32 noundef %13175, ptr noundef nonnull @.str.4) #13
  %13177 = load i32, ptr %323, align 4, !tbaa !5
  %13178 = call ptr @s2n_strerror_debug(i32 noundef %13177, ptr noundef nonnull @.str.4) #13
  %13179 = load i32, ptr %377, align 4, !tbaa !5
  %13180 = call ptr @strerror(i32 noundef %13179) #13
  %13181 = load i32, ptr %377, align 4, !tbaa !5
  %13182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13173, ptr noundef nonnull %.str.5.sink6465, i32 noundef %13174, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.1, i32 noundef 1420, ptr noundef %13176, ptr noundef %13178, ptr noundef %13180, i32 noundef %13181) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13183:                                            ; preds = %13155
  %13184 = load i32, ptr @test_count, align 4, !tbaa !5
  %13185 = add nsw i32 %13184, 1
  store i32 %13185, ptr @test_count, align 4, !tbaa !5
  %13186 = load ptr, ptr %122, align 8, !tbaa !9
  %13187 = call i32 @s2n_psk_init(ptr noundef %13186, i32 noundef 1) #13
  %13188 = call zeroext i1 @s2n_result_is_ok(i32 %13187)
  br i1 %13188, label %13211, label %13189

13189:                                            ; preds = %13183
  %13190 = load i32, ptr %377, align 4, !tbaa !5
  %13191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13192 = call i32 @s2n_print_stacktrace(ptr noundef %13191) #13
  %13193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13194 = trunc nuw i8 %13193 to i1
  br i1 %13194, label %13195, label %13199

13195:                                            ; preds = %13189
  %13196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13197 = call i32 @fileno(ptr noundef %13196) #13
  %13198 = call i32 @isatty(i32 noundef %13197) #13
  %.not1854 = icmp eq i32 %13198, 0
  br i1 %.not1854, label %13199, label %13200

13199:                                            ; preds = %13195, %13189
  br label %13200

13200:                                            ; preds = %13195, %13199
  %.str.5.sink6474 = phi ptr [ @.str.5, %13199 ], [ @.str.2, %13195 ]
  store i32 %13190, ptr %377, align 4, !tbaa !5
  %13201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13202 = load i32, ptr @test_count, align 4, !tbaa !5
  %13203 = load i32, ptr %323, align 4, !tbaa !5
  %13204 = call ptr @s2n_strerror(i32 noundef %13203, ptr noundef nonnull @.str.4) #13
  %13205 = load i32, ptr %323, align 4, !tbaa !5
  %13206 = call ptr @s2n_strerror_debug(i32 noundef %13205, ptr noundef nonnull @.str.4) #13
  %13207 = load i32, ptr %377, align 4, !tbaa !5
  %13208 = call ptr @strerror(i32 noundef %13207) #13
  %13209 = load i32, ptr %377, align 4, !tbaa !5
  %13210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13201, ptr noundef nonnull %.str.5.sink6474, i32 noundef %13202, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 1421, ptr noundef %13204, ptr noundef %13206, ptr noundef %13208, i32 noundef %13209) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13211:                                            ; preds = %13183
  %13212 = load i32, ptr @test_count, align 4, !tbaa !5
  %13213 = add nsw i32 %13212, 1
  store i32 %13213, ptr @test_count, align 4, !tbaa !5
  %13214 = load ptr, ptr %122, align 8, !tbaa !9
  %13215 = call i32 @s2n_psk_set_identity(ptr noundef %13214, ptr noundef nonnull %5, i16 noundef zeroext 14) #13
  %13216 = icmp eq i32 %13215, -1
  br i1 %13216, label %13217, label %13239

13217:                                            ; preds = %13211
  %13218 = load i32, ptr %377, align 4, !tbaa !5
  %13219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13220 = call i32 @s2n_print_stacktrace(ptr noundef %13219) #13
  %13221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13222 = trunc nuw i8 %13221 to i1
  br i1 %13222, label %13223, label %13227

13223:                                            ; preds = %13217
  %13224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13225 = call i32 @fileno(ptr noundef %13224) #13
  %13226 = call i32 @isatty(i32 noundef %13225) #13
  %.not1953 = icmp eq i32 %13226, 0
  br i1 %.not1953, label %13227, label %13228

13227:                                            ; preds = %13223, %13217
  br label %13228

13228:                                            ; preds = %13223, %13227
  %.str.5.sink6483 = phi ptr [ @.str.5, %13227 ], [ @.str.2, %13223 ]
  store i32 %13218, ptr %377, align 4, !tbaa !5
  %13229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13230 = load i32, ptr @test_count, align 4, !tbaa !5
  %13231 = load i32, ptr %323, align 4, !tbaa !5
  %13232 = call ptr @s2n_strerror(i32 noundef %13231, ptr noundef nonnull @.str.4) #13
  %13233 = load i32, ptr %323, align 4, !tbaa !5
  %13234 = call ptr @s2n_strerror_debug(i32 noundef %13233, ptr noundef nonnull @.str.4) #13
  %13235 = load i32, ptr %377, align 4, !tbaa !5
  %13236 = call ptr @strerror(i32 noundef %13235) #13
  %13237 = load i32, ptr %377, align 4, !tbaa !5
  %13238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13229, ptr noundef nonnull %.str.5.sink6483, i32 noundef %13230, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.1, i32 noundef 1422, ptr noundef %13232, ptr noundef %13234, ptr noundef %13236, i32 noundef %13237) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13239:                                            ; preds = %13211
  %13240 = load i32, ptr @test_count, align 4, !tbaa !5
  %13241 = add nsw i32 %13240, 1
  store i32 %13241, ptr @test_count, align 4, !tbaa !5
  %13242 = load ptr, ptr %122, align 8, !tbaa !9
  %13243 = call i32 @s2n_psk_set_secret(ptr noundef %13242, ptr noundef nonnull %8, i16 noundef zeroext 12) #13
  %13244 = icmp eq i32 %13243, -1
  br i1 %13244, label %13245, label %13267

13245:                                            ; preds = %13239
  %13246 = load i32, ptr %377, align 4, !tbaa !5
  %13247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13248 = call i32 @s2n_print_stacktrace(ptr noundef %13247) #13
  %13249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13250 = trunc nuw i8 %13249 to i1
  br i1 %13250, label %13251, label %13255

13251:                                            ; preds = %13245
  %13252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13253 = call i32 @fileno(ptr noundef %13252) #13
  %13254 = call i32 @isatty(i32 noundef %13253) #13
  %.not1952 = icmp eq i32 %13254, 0
  br i1 %.not1952, label %13255, label %13256

13255:                                            ; preds = %13251, %13245
  br label %13256

13256:                                            ; preds = %13251, %13255
  %.str.5.sink6492 = phi ptr [ @.str.5, %13255 ], [ @.str.2, %13251 ]
  store i32 %13246, ptr %377, align 4, !tbaa !5
  %13257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13258 = load i32, ptr @test_count, align 4, !tbaa !5
  %13259 = load i32, ptr %323, align 4, !tbaa !5
  %13260 = call ptr @s2n_strerror(i32 noundef %13259, ptr noundef nonnull @.str.4) #13
  %13261 = load i32, ptr %323, align 4, !tbaa !5
  %13262 = call ptr @s2n_strerror_debug(i32 noundef %13261, ptr noundef nonnull @.str.4) #13
  %13263 = load i32, ptr %377, align 4, !tbaa !5
  %13264 = call ptr @strerror(i32 noundef %13263) #13
  %13265 = load i32, ptr %377, align 4, !tbaa !5
  %13266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13257, ptr noundef nonnull %.str.5.sink6492, i32 noundef %13258, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.1, i32 noundef 1423, ptr noundef %13260, ptr noundef %13262, ptr noundef %13264, i32 noundef %13265) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13267:                                            ; preds = %13239
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %123) #13
  store ptr null, ptr %123, align 8, !tbaa !9
  %13268 = load i32, ptr @test_count, align 4, !tbaa !5
  %13269 = add nsw i32 %13268, 1
  store i32 %13269, ptr @test_count, align 4, !tbaa !5
  %13270 = call i32 @s2n_array_pushback(ptr noundef nonnull %13158, ptr noundef nonnull %123) #13
  %13271 = call zeroext i1 @s2n_result_is_ok(i32 %13270)
  br i1 %13271, label %13294, label %13272

13272:                                            ; preds = %13267
  %13273 = load i32, ptr %377, align 4, !tbaa !5
  %13274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13275 = call i32 @s2n_print_stacktrace(ptr noundef %13274) #13
  %13276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13277 = trunc nuw i8 %13276 to i1
  br i1 %13277, label %13278, label %13282

13278:                                            ; preds = %13272
  %13279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13280 = call i32 @fileno(ptr noundef %13279) #13
  %13281 = call i32 @isatty(i32 noundef %13280) #13
  %.not1855 = icmp eq i32 %13281, 0
  br i1 %.not1855, label %13282, label %13283

13282:                                            ; preds = %13278, %13272
  br label %13283

13283:                                            ; preds = %13278, %13282
  %.str.5.sink6501 = phi ptr [ @.str.5, %13282 ], [ @.str.2, %13278 ]
  store i32 %13273, ptr %377, align 4, !tbaa !5
  %13284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13285 = load i32, ptr @test_count, align 4, !tbaa !5
  %13286 = load i32, ptr %323, align 4, !tbaa !5
  %13287 = call ptr @s2n_strerror(i32 noundef %13286, ptr noundef nonnull @.str.4) #13
  %13288 = load i32, ptr %323, align 4, !tbaa !5
  %13289 = call ptr @s2n_strerror_debug(i32 noundef %13288, ptr noundef nonnull @.str.4) #13
  %13290 = load i32, ptr %377, align 4, !tbaa !5
  %13291 = call ptr @strerror(i32 noundef %13290) #13
  %13292 = load i32, ptr %377, align 4, !tbaa !5
  %13293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13284, ptr noundef nonnull %.str.5.sink6501, i32 noundef %13285, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.1, i32 noundef 1426, ptr noundef %13287, ptr noundef %13289, ptr noundef %13291, i32 noundef %13292) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13294:                                            ; preds = %13267
  %13295 = load i32, ptr @test_count, align 4, !tbaa !5
  %13296 = add nsw i32 %13295, 1
  store i32 %13296, ptr @test_count, align 4, !tbaa !5
  %13297 = load ptr, ptr %123, align 8, !tbaa !9
  %13298 = call i32 @s2n_psk_init(ptr noundef %13297, i32 noundef 1) #13
  %13299 = call zeroext i1 @s2n_result_is_ok(i32 %13298)
  br i1 %13299, label %13322, label %13300

13300:                                            ; preds = %13294
  %13301 = load i32, ptr %377, align 4, !tbaa !5
  %13302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13303 = call i32 @s2n_print_stacktrace(ptr noundef %13302) #13
  %13304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13305 = trunc nuw i8 %13304 to i1
  br i1 %13305, label %13306, label %13310

13306:                                            ; preds = %13300
  %13307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13308 = call i32 @fileno(ptr noundef %13307) #13
  %13309 = call i32 @isatty(i32 noundef %13308) #13
  %.not1856 = icmp eq i32 %13309, 0
  br i1 %.not1856, label %13310, label %13311

13310:                                            ; preds = %13306, %13300
  br label %13311

13311:                                            ; preds = %13306, %13310
  %.str.5.sink6510 = phi ptr [ @.str.5, %13310 ], [ @.str.2, %13306 ]
  store i32 %13301, ptr %377, align 4, !tbaa !5
  %13312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13313 = load i32, ptr @test_count, align 4, !tbaa !5
  %13314 = load i32, ptr %323, align 4, !tbaa !5
  %13315 = call ptr @s2n_strerror(i32 noundef %13314, ptr noundef nonnull @.str.4) #13
  %13316 = load i32, ptr %323, align 4, !tbaa !5
  %13317 = call ptr @s2n_strerror_debug(i32 noundef %13316, ptr noundef nonnull @.str.4) #13
  %13318 = load i32, ptr %377, align 4, !tbaa !5
  %13319 = call ptr @strerror(i32 noundef %13318) #13
  %13320 = load i32, ptr %377, align 4, !tbaa !5
  %13321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13312, ptr noundef nonnull %.str.5.sink6510, i32 noundef %13313, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.1, i32 noundef 1427, ptr noundef %13315, ptr noundef %13317, ptr noundef %13319, i32 noundef %13320) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13322:                                            ; preds = %13294
  %13323 = load i32, ptr @test_count, align 4, !tbaa !5
  %13324 = add nsw i32 %13323, 1
  store i32 %13324, ptr @test_count, align 4, !tbaa !5
  %13325 = load ptr, ptr %123, align 8, !tbaa !9
  %13326 = call i32 @s2n_psk_set_identity(ptr noundef %13325, ptr noundef nonnull %6, i16 noundef zeroext 17) #13
  %13327 = icmp eq i32 %13326, -1
  br i1 %13327, label %13328, label %13350

13328:                                            ; preds = %13322
  %13329 = load i32, ptr %377, align 4, !tbaa !5
  %13330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13331 = call i32 @s2n_print_stacktrace(ptr noundef %13330) #13
  %13332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13333 = trunc nuw i8 %13332 to i1
  br i1 %13333, label %13334, label %13338

13334:                                            ; preds = %13328
  %13335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13336 = call i32 @fileno(ptr noundef %13335) #13
  %13337 = call i32 @isatty(i32 noundef %13336) #13
  %.not1951 = icmp eq i32 %13337, 0
  br i1 %.not1951, label %13338, label %13339

13338:                                            ; preds = %13334, %13328
  br label %13339

13339:                                            ; preds = %13334, %13338
  %.str.5.sink6519 = phi ptr [ @.str.5, %13338 ], [ @.str.2, %13334 ]
  store i32 %13329, ptr %377, align 4, !tbaa !5
  %13340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13341 = load i32, ptr @test_count, align 4, !tbaa !5
  %13342 = load i32, ptr %323, align 4, !tbaa !5
  %13343 = call ptr @s2n_strerror(i32 noundef %13342, ptr noundef nonnull @.str.4) #13
  %13344 = load i32, ptr %323, align 4, !tbaa !5
  %13345 = call ptr @s2n_strerror_debug(i32 noundef %13344, ptr noundef nonnull @.str.4) #13
  %13346 = load i32, ptr %377, align 4, !tbaa !5
  %13347 = call ptr @strerror(i32 noundef %13346) #13
  %13348 = load i32, ptr %377, align 4, !tbaa !5
  %13349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13340, ptr noundef nonnull %.str.5.sink6519, i32 noundef %13341, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.1, i32 noundef 1428, ptr noundef %13343, ptr noundef %13345, ptr noundef %13347, i32 noundef %13348) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13350:                                            ; preds = %13322
  %13351 = load i32, ptr @test_count, align 4, !tbaa !5
  %13352 = add nsw i32 %13351, 1
  store i32 %13352, ptr @test_count, align 4, !tbaa !5
  %13353 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %12969, ptr noundef nonnull %121, i32 noundef 7) #13
  %13354 = icmp eq i32 %13353, -1
  br i1 %13354, label %13355, label %13377

13355:                                            ; preds = %13350
  %13356 = load i32, ptr %377, align 4, !tbaa !5
  %13357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13358 = call i32 @s2n_print_stacktrace(ptr noundef %13357) #13
  %13359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13360 = trunc nuw i8 %13359 to i1
  br i1 %13360, label %13361, label %13365

13361:                                            ; preds = %13355
  %13362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13363 = call i32 @fileno(ptr noundef %13362) #13
  %13364 = call i32 @isatty(i32 noundef %13363) #13
  %.not1950 = icmp eq i32 %13364, 0
  br i1 %.not1950, label %13365, label %13366

13365:                                            ; preds = %13361, %13355
  br label %13366

13366:                                            ; preds = %13361, %13365
  %.str.5.sink6528 = phi ptr [ @.str.5, %13365 ], [ @.str.2, %13361 ]
  store i32 %13356, ptr %377, align 4, !tbaa !5
  %13367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13368 = load i32, ptr @test_count, align 4, !tbaa !5
  %13369 = load i32, ptr %323, align 4, !tbaa !5
  %13370 = call ptr @s2n_strerror(i32 noundef %13369, ptr noundef nonnull @.str.4) #13
  %13371 = load i32, ptr %323, align 4, !tbaa !5
  %13372 = call ptr @s2n_strerror_debug(i32 noundef %13371, ptr noundef nonnull @.str.4) #13
  %13373 = load i32, ptr %377, align 4, !tbaa !5
  %13374 = call ptr @strerror(i32 noundef %13373) #13
  %13375 = load i32, ptr %377, align 4, !tbaa !5
  %13376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13367, ptr noundef nonnull %.str.5.sink6528, i32 noundef %13368, ptr noundef nonnull @.str.201, ptr noundef nonnull @.str.1, i32 noundef 1432, ptr noundef %13370, ptr noundef %13372, ptr noundef %13374, i32 noundef %13375) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13377:                                            ; preds = %13350
  %13378 = load i32, ptr @test_count, align 4, !tbaa !5
  %13379 = add nsw i32 %13378, 1
  store i32 %13379, ptr @test_count, align 4, !tbaa !5
  %13380 = call i32 %1299(ptr noundef nonnull %12944, ptr noundef nonnull %12969) #13
  %13381 = icmp eq i32 %13380, -1
  br i1 %13381, label %13382, label %13404

13382:                                            ; preds = %13377
  %13383 = load i32, ptr %377, align 4, !tbaa !5
  %13384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13385 = call i32 @s2n_print_stacktrace(ptr noundef %13384) #13
  %13386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13387 = trunc nuw i8 %13386 to i1
  br i1 %13387, label %13388, label %13392

13388:                                            ; preds = %13382
  %13389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13390 = call i32 @fileno(ptr noundef %13389) #13
  %13391 = call i32 @isatty(i32 noundef %13390) #13
  %.not1949 = icmp eq i32 %13391, 0
  br i1 %.not1949, label %13392, label %13393

13392:                                            ; preds = %13388, %13382
  br label %13393

13393:                                            ; preds = %13388, %13392
  %.str.5.sink6537 = phi ptr [ @.str.5, %13392 ], [ @.str.2, %13388 ]
  store i32 %13383, ptr %377, align 4, !tbaa !5
  %13394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13395 = load i32, ptr @test_count, align 4, !tbaa !5
  %13396 = load i32, ptr %323, align 4, !tbaa !5
  %13397 = call ptr @s2n_strerror(i32 noundef %13396, ptr noundef nonnull @.str.4) #13
  %13398 = load i32, ptr %323, align 4, !tbaa !5
  %13399 = call ptr @s2n_strerror_debug(i32 noundef %13398, ptr noundef nonnull @.str.4) #13
  %13400 = load i32, ptr %377, align 4, !tbaa !5
  %13401 = call ptr @strerror(i32 noundef %13400) #13
  %13402 = load i32, ptr %377, align 4, !tbaa !5
  %13403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13394, ptr noundef nonnull %.str.5.sink6537, i32 noundef %13395, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.1, i32 noundef 1434, ptr noundef %13397, ptr noundef %13399, ptr noundef %13401, i32 noundef %13402) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13404:                                            ; preds = %13377
  %13405 = load i32, ptr @test_count, align 4, !tbaa !5
  %13406 = add nsw i32 %13405, 1
  store i32 %13406, ptr @test_count, align 4, !tbaa !5
  %13407 = call i32 @s2n_finish_psk_extension(ptr noundef nonnull %12944) #13
  %13408 = call zeroext i1 @s2n_result_is_ok(i32 %13407)
  br i1 %13408, label %13431, label %13409

13409:                                            ; preds = %13404
  %13410 = load i32, ptr %377, align 4, !tbaa !5
  %13411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13412 = call i32 @s2n_print_stacktrace(ptr noundef %13411) #13
  %13413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13414 = trunc nuw i8 %13413 to i1
  br i1 %13414, label %13415, label %13419

13415:                                            ; preds = %13409
  %13416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13417 = call i32 @fileno(ptr noundef %13416) #13
  %13418 = call i32 @isatty(i32 noundef %13417) #13
  %.not1857 = icmp eq i32 %13418, 0
  br i1 %.not1857, label %13419, label %13420

13419:                                            ; preds = %13415, %13409
  br label %13420

13420:                                            ; preds = %13415, %13419
  %.str.5.sink6546 = phi ptr [ @.str.5, %13419 ], [ @.str.2, %13415 ]
  store i32 %13410, ptr %377, align 4, !tbaa !5
  %13421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13422 = load i32, ptr @test_count, align 4, !tbaa !5
  %13423 = load i32, ptr %323, align 4, !tbaa !5
  %13424 = call ptr @s2n_strerror(i32 noundef %13423, ptr noundef nonnull @.str.4) #13
  %13425 = load i32, ptr %323, align 4, !tbaa !5
  %13426 = call ptr @s2n_strerror_debug(i32 noundef %13425, ptr noundef nonnull @.str.4) #13
  %13427 = load i32, ptr %377, align 4, !tbaa !5
  %13428 = call ptr @strerror(i32 noundef %13427) #13
  %13429 = load i32, ptr %377, align 4, !tbaa !5
  %13430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13421, ptr noundef nonnull %.str.5.sink6546, i32 noundef %13422, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.1, i32 noundef 1435, ptr noundef %13424, ptr noundef %13426, ptr noundef %13428, i32 noundef %13429) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13431:                                            ; preds = %13404
  %13432 = load i32, ptr @test_count, align 4, !tbaa !5
  %13433 = add nsw i32 %13432, 1
  store i32 %13433, ptr @test_count, align 4, !tbaa !5
  %13434 = getelementptr inbounds i8, ptr %12944, i64 2044
  %13435 = load i32, ptr %13434, align 4, !tbaa !67
  %13436 = getelementptr inbounds i8, ptr %12944, i64 2040
  %13437 = load i32, ptr %13436, align 8, !tbaa !68
  %13438 = sub i32 %13435, %13437
  %13439 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %12969, ptr noundef nonnull %13024, i32 noundef %13438) #13
  %13440 = icmp eq i32 %13439, -1
  br i1 %13440, label %13441, label %13463

13441:                                            ; preds = %13431
  %13442 = load i32, ptr %377, align 4, !tbaa !5
  %13443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13444 = call i32 @s2n_print_stacktrace(ptr noundef %13443) #13
  %13445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13446 = trunc nuw i8 %13445 to i1
  br i1 %13446, label %13447, label %13451

13447:                                            ; preds = %13441
  %13448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13449 = call i32 @fileno(ptr noundef %13448) #13
  %13450 = call i32 @isatty(i32 noundef %13449) #13
  %.not1948 = icmp eq i32 %13450, 0
  br i1 %.not1948, label %13451, label %13452

13451:                                            ; preds = %13447, %13441
  br label %13452

13452:                                            ; preds = %13447, %13451
  %.str.5.sink6555 = phi ptr [ @.str.5, %13451 ], [ @.str.2, %13447 ]
  store i32 %13442, ptr %377, align 4, !tbaa !5
  %13453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13454 = load i32, ptr @test_count, align 4, !tbaa !5
  %13455 = load i32, ptr %323, align 4, !tbaa !5
  %13456 = call ptr @s2n_strerror(i32 noundef %13455, ptr noundef nonnull @.str.4) #13
  %13457 = load i32, ptr %323, align 4, !tbaa !5
  %13458 = call ptr @s2n_strerror_debug(i32 noundef %13457, ptr noundef nonnull @.str.4) #13
  %13459 = load i32, ptr %377, align 4, !tbaa !5
  %13460 = call ptr @strerror(i32 noundef %13459) #13
  %13461 = load i32, ptr %377, align 4, !tbaa !5
  %13462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13453, ptr noundef nonnull %.str.5.sink6555, i32 noundef %13454, ptr noundef nonnull @.str.204, ptr noundef nonnull @.str.1, i32 noundef 1439, ptr noundef %13456, ptr noundef %13458, ptr noundef %13460, i32 noundef %13461) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13463:                                            ; preds = %13431
  %13464 = load i32, ptr @test_count, align 4, !tbaa !5
  %13465 = add nsw i32 %13464, 1
  store i32 %13465, ptr @test_count, align 4, !tbaa !5
  %13466 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %13024, i32 noundef 7) #13
  %13467 = icmp eq i32 %13466, -1
  br i1 %13467, label %13468, label %13490

13468:                                            ; preds = %13463
  %13469 = load i32, ptr %377, align 4, !tbaa !5
  %13470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13471 = call i32 @s2n_print_stacktrace(ptr noundef %13470) #13
  %13472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13473 = trunc nuw i8 %13472 to i1
  br i1 %13473, label %13474, label %13478

13474:                                            ; preds = %13468
  %13475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13476 = call i32 @fileno(ptr noundef %13475) #13
  %13477 = call i32 @isatty(i32 noundef %13476) #13
  %.not1947 = icmp eq i32 %13477, 0
  br i1 %.not1947, label %13478, label %13479

13478:                                            ; preds = %13474, %13468
  br label %13479

13479:                                            ; preds = %13474, %13478
  %.str.5.sink6564 = phi ptr [ @.str.5, %13478 ], [ @.str.2, %13474 ]
  store i32 %13469, ptr %377, align 4, !tbaa !5
  %13480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13481 = load i32, ptr @test_count, align 4, !tbaa !5
  %13482 = load i32, ptr %323, align 4, !tbaa !5
  %13483 = call ptr @s2n_strerror(i32 noundef %13482, ptr noundef nonnull @.str.4) #13
  %13484 = load i32, ptr %323, align 4, !tbaa !5
  %13485 = call ptr @s2n_strerror_debug(i32 noundef %13484, ptr noundef nonnull @.str.4) #13
  %13486 = load i32, ptr %377, align 4, !tbaa !5
  %13487 = call ptr @strerror(i32 noundef %13486) #13
  %13488 = load i32, ptr %377, align 4, !tbaa !5
  %13489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13480, ptr noundef nonnull %.str.5.sink6564, i32 noundef %13481, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.1, i32 noundef 1440, ptr noundef %13483, ptr noundef %13485, ptr noundef %13487, i32 noundef %13488) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13490:                                            ; preds = %13463
  %13491 = load i32, ptr @test_count, align 4, !tbaa !5
  %13492 = add nsw i32 %13491, 1
  store i32 %13492, ptr @test_count, align 4, !tbaa !5
  %13493 = call i32 @s2n_client_psk_recv(ptr noundef nonnull %12972, ptr noundef nonnull %13024)
  %13494 = icmp eq i32 %13493, -1
  br i1 %13494, label %13495, label %13517

13495:                                            ; preds = %13490
  %13496 = load i32, ptr %377, align 4, !tbaa !5
  %13497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13498 = call i32 @s2n_print_stacktrace(ptr noundef %13497) #13
  %13499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13500 = trunc nuw i8 %13499 to i1
  br i1 %13500, label %13501, label %13505

13501:                                            ; preds = %13495
  %13502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13503 = call i32 @fileno(ptr noundef %13502) #13
  %13504 = call i32 @isatty(i32 noundef %13503) #13
  %.not1946 = icmp eq i32 %13504, 0
  br i1 %.not1946, label %13505, label %13506

13505:                                            ; preds = %13501, %13495
  br label %13506

13506:                                            ; preds = %13501, %13505
  %.str.5.sink6573 = phi ptr [ @.str.5, %13505 ], [ @.str.2, %13501 ]
  store i32 %13496, ptr %377, align 4, !tbaa !5
  %13507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13508 = load i32, ptr @test_count, align 4, !tbaa !5
  %13509 = load i32, ptr %323, align 4, !tbaa !5
  %13510 = call ptr @s2n_strerror(i32 noundef %13509, ptr noundef nonnull @.str.4) #13
  %13511 = load i32, ptr %323, align 4, !tbaa !5
  %13512 = call ptr @s2n_strerror_debug(i32 noundef %13511, ptr noundef nonnull @.str.4) #13
  %13513 = load i32, ptr %377, align 4, !tbaa !5
  %13514 = call ptr @strerror(i32 noundef %13513) #13
  %13515 = load i32, ptr %377, align 4, !tbaa !5
  %13516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13507, ptr noundef nonnull %.str.5.sink6573, i32 noundef %13508, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.1, i32 noundef 1442, ptr noundef %13510, ptr noundef %13512, ptr noundef %13514, i32 noundef %13515) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13517:                                            ; preds = %13490
  %13518 = load i32, ptr @test_count, align 4, !tbaa !5
  %13519 = add nsw i32 %13518, 1
  store i32 %13519, ptr @test_count, align 4, !tbaa !5
  %13520 = getelementptr inbounds i8, ptr %12972, i64 1730
  %13521 = load i16, ptr %13520, align 2, !tbaa !87
  %13522 = icmp eq i16 %13521, 0
  br i1 %13522, label %13545, label %13523

13523:                                            ; preds = %13517
  %13524 = load i32, ptr %377, align 4, !tbaa !5
  %13525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13526 = call i32 @s2n_print_stacktrace(ptr noundef %13525) #13
  %13527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13528 = trunc nuw i8 %13527 to i1
  br i1 %13528, label %13529, label %13533

13529:                                            ; preds = %13523
  %13530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13531 = call i32 @fileno(ptr noundef %13530) #13
  %13532 = call i32 @isatty(i32 noundef %13531) #13
  %.not1858 = icmp eq i32 %13532, 0
  br i1 %.not1858, label %13533, label %13534

13533:                                            ; preds = %13529, %13523
  br label %13534

13534:                                            ; preds = %13529, %13533
  %.str.5.sink6582 = phi ptr [ @.str.5, %13533 ], [ @.str.2, %13529 ]
  store i32 %13524, ptr %377, align 4, !tbaa !5
  %13535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13536 = load i32, ptr @test_count, align 4, !tbaa !5
  %13537 = load i32, ptr %323, align 4, !tbaa !5
  %13538 = call ptr @s2n_strerror(i32 noundef %13537, ptr noundef nonnull @.str.4) #13
  %13539 = load i32, ptr %323, align 4, !tbaa !5
  %13540 = call ptr @s2n_strerror_debug(i32 noundef %13539, ptr noundef nonnull @.str.4) #13
  %13541 = load i32, ptr %377, align 4, !tbaa !5
  %13542 = call ptr @strerror(i32 noundef %13541) #13
  %13543 = load i32, ptr %377, align 4, !tbaa !5
  %13544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13535, ptr noundef nonnull %.str.5.sink6582, i32 noundef %13536, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.1, i32 noundef 1443, ptr noundef %13538, ptr noundef %13540, ptr noundef %13542, i32 noundef %13543) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13545:                                            ; preds = %13517
  %13546 = add nsw i32 %13518, 2
  store i32 %13546, ptr @test_count, align 4, !tbaa !5
  %13547 = getelementptr inbounds i8, ptr %12972, i64 1736
  %13548 = load ptr, ptr %13547, align 8, !tbaa !88
  %13549 = load ptr, ptr %122, align 8, !tbaa !9
  %13550 = icmp eq ptr %13548, %13549
  br i1 %13550, label %13573, label %13551

13551:                                            ; preds = %13545
  %13552 = load i32, ptr %377, align 4, !tbaa !5
  %13553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13554 = call i32 @s2n_print_stacktrace(ptr noundef %13553) #13
  %13555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13556 = trunc nuw i8 %13555 to i1
  br i1 %13556, label %13557, label %13561

13557:                                            ; preds = %13551
  %13558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13559 = call i32 @fileno(ptr noundef %13558) #13
  %13560 = call i32 @isatty(i32 noundef %13559) #13
  %.not1859 = icmp eq i32 %13560, 0
  br i1 %.not1859, label %13561, label %13562

13561:                                            ; preds = %13557, %13551
  br label %13562

13562:                                            ; preds = %13557, %13561
  %.str.5.sink6591 = phi ptr [ @.str.5, %13561 ], [ @.str.2, %13557 ]
  store i32 %13552, ptr %377, align 4, !tbaa !5
  %13563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13564 = load i32, ptr @test_count, align 4, !tbaa !5
  %13565 = load i32, ptr %323, align 4, !tbaa !5
  %13566 = call ptr @s2n_strerror(i32 noundef %13565, ptr noundef nonnull @.str.4) #13
  %13567 = load i32, ptr %323, align 4, !tbaa !5
  %13568 = call ptr @s2n_strerror_debug(i32 noundef %13567, ptr noundef nonnull @.str.4) #13
  %13569 = load i32, ptr %377, align 4, !tbaa !5
  %13570 = call ptr @strerror(i32 noundef %13569) #13
  %13571 = load i32, ptr %377, align 4, !tbaa !5
  %13572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13563, ptr noundef nonnull %.str.5.sink6591, i32 noundef %13564, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.1, i32 noundef 1444, ptr noundef %13566, ptr noundef %13568, ptr noundef %13570, i32 noundef %13571) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13573:                                            ; preds = %13545
  %13574 = add nsw i32 %13518, 3
  store i32 %13574, ptr @test_count, align 4, !tbaa !5
  %13575 = call i32 @s2n_connection_free(ptr noundef nonnull %12972) #13
  %13576 = icmp eq i32 %13575, -1
  br i1 %13576, label %13577, label %13599

13577:                                            ; preds = %13573
  %13578 = load i32, ptr %377, align 4, !tbaa !5
  %13579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13580 = call i32 @s2n_print_stacktrace(ptr noundef %13579) #13
  %13581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13582 = trunc nuw i8 %13581 to i1
  br i1 %13582, label %13583, label %13587

13583:                                            ; preds = %13577
  %13584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13585 = call i32 @fileno(ptr noundef %13584) #13
  %13586 = call i32 @isatty(i32 noundef %13585) #13
  %.not1945 = icmp eq i32 %13586, 0
  br i1 %.not1945, label %13587, label %13588

13587:                                            ; preds = %13583, %13577
  br label %13588

13588:                                            ; preds = %13583, %13587
  %.str.5.sink6600 = phi ptr [ @.str.5, %13587 ], [ @.str.2, %13583 ]
  store i32 %13578, ptr %377, align 4, !tbaa !5
  %13589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13590 = load i32, ptr @test_count, align 4, !tbaa !5
  %13591 = load i32, ptr %323, align 4, !tbaa !5
  %13592 = call ptr @s2n_strerror(i32 noundef %13591, ptr noundef nonnull @.str.4) #13
  %13593 = load i32, ptr %323, align 4, !tbaa !5
  %13594 = call ptr @s2n_strerror_debug(i32 noundef %13593, ptr noundef nonnull @.str.4) #13
  %13595 = load i32, ptr %377, align 4, !tbaa !5
  %13596 = call ptr @strerror(i32 noundef %13595) #13
  %13597 = load i32, ptr %377, align 4, !tbaa !5
  %13598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13589, ptr noundef nonnull %.str.5.sink6600, i32 noundef %13590, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.1, i32 noundef 1446, ptr noundef %13592, ptr noundef %13594, ptr noundef %13596, i32 noundef %13597) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13599:                                            ; preds = %13573
  %13600 = load i32, ptr @test_count, align 4, !tbaa !5
  %13601 = add nsw i32 %13600, 1
  store i32 %13601, ptr @test_count, align 4, !tbaa !5
  %13602 = call i32 @s2n_connection_free(ptr noundef nonnull %12944) #13
  %13603 = icmp eq i32 %13602, -1
  br i1 %13603, label %13604, label %13626

13604:                                            ; preds = %13599
  %13605 = load i32, ptr %377, align 4, !tbaa !5
  %13606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13607 = call i32 @s2n_print_stacktrace(ptr noundef %13606) #13
  %13608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13609 = trunc nuw i8 %13608 to i1
  br i1 %13609, label %13610, label %13614

13610:                                            ; preds = %13604
  %13611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13612 = call i32 @fileno(ptr noundef %13611) #13
  %13613 = call i32 @isatty(i32 noundef %13612) #13
  %.not1944 = icmp eq i32 %13613, 0
  br i1 %.not1944, label %13614, label %13615

13614:                                            ; preds = %13610, %13604
  br label %13615

13615:                                            ; preds = %13610, %13614
  %.str.5.sink6609 = phi ptr [ @.str.5, %13614 ], [ @.str.2, %13610 ]
  store i32 %13605, ptr %377, align 4, !tbaa !5
  %13616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13617 = load i32, ptr @test_count, align 4, !tbaa !5
  %13618 = load i32, ptr %323, align 4, !tbaa !5
  %13619 = call ptr @s2n_strerror(i32 noundef %13618, ptr noundef nonnull @.str.4) #13
  %13620 = load i32, ptr %323, align 4, !tbaa !5
  %13621 = call ptr @s2n_strerror_debug(i32 noundef %13620, ptr noundef nonnull @.str.4) #13
  %13622 = load i32, ptr %377, align 4, !tbaa !5
  %13623 = call ptr @strerror(i32 noundef %13622) #13
  %13624 = load i32, ptr %377, align 4, !tbaa !5
  %13625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13616, ptr noundef nonnull %.str.5.sink6609, i32 noundef %13617, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 1447, ptr noundef %13619, ptr noundef %13621, ptr noundef %13623, i32 noundef %13624) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13626:                                            ; preds = %13599
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %122) #13
  call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %121) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %106) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #13
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %104) #13
  %13627 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #13
  br i1 %13627, label %13628, label %14569

13628:                                            ; preds = %13626
  %13629 = load i32, ptr @test_count, align 4, !tbaa !5
  %13630 = add nsw i32 %13629, 1
  store i32 %13630, ptr @test_count, align 4, !tbaa !5
  %13631 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %13632 = icmp eq ptr %13631, null
  br i1 %13632, label %13633, label %13655

13633:                                            ; preds = %13628
  %13634 = load i32, ptr %377, align 4, !tbaa !5
  %13635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13636 = call i32 @s2n_print_stacktrace(ptr noundef %13635) #13
  %13637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13638 = trunc nuw i8 %13637 to i1
  br i1 %13638, label %13639, label %13643

13639:                                            ; preds = %13633
  %13640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13641 = call i32 @fileno(ptr noundef %13640) #13
  %13642 = call i32 @isatty(i32 noundef %13641) #13
  %.not1943 = icmp eq i32 %13642, 0
  br i1 %.not1943, label %13643, label %13644

13643:                                            ; preds = %13639, %13633
  br label %13644

13644:                                            ; preds = %13639, %13643
  %.str.5.sink6618 = phi ptr [ @.str.5, %13643 ], [ @.str.2, %13639 ]
  store i32 %13634, ptr %377, align 4, !tbaa !5
  %13645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13646 = load i32, ptr @test_count, align 4, !tbaa !5
  %13647 = load i32, ptr %323, align 4, !tbaa !5
  %13648 = call ptr @s2n_strerror(i32 noundef %13647, ptr noundef nonnull @.str.4) #13
  %13649 = load i32, ptr %323, align 4, !tbaa !5
  %13650 = call ptr @s2n_strerror_debug(i32 noundef %13649, ptr noundef nonnull @.str.4) #13
  %13651 = load i32, ptr %377, align 4, !tbaa !5
  %13652 = call ptr @strerror(i32 noundef %13651) #13
  %13653 = load i32, ptr %377, align 4, !tbaa !5
  %13654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13645, ptr noundef nonnull %.str.5.sink6618, i32 noundef %13646, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.1, i32 noundef 1455, ptr noundef %13648, ptr noundef %13650, ptr noundef %13652, i32 noundef %13653) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13655:                                            ; preds = %13628
  %13656 = load i32, ptr @test_count, align 4, !tbaa !5
  %13657 = add nsw i32 %13656, 1
  store i32 %13657, ptr @test_count, align 4, !tbaa !5
  %13658 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %13659 = icmp eq ptr %13658, null
  br i1 %13659, label %13660, label %13682

13660:                                            ; preds = %13655
  %13661 = load i32, ptr %377, align 4, !tbaa !5
  %13662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13663 = call i32 @s2n_print_stacktrace(ptr noundef %13662) #13
  %13664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13665 = trunc nuw i8 %13664 to i1
  br i1 %13665, label %13666, label %13670

13666:                                            ; preds = %13660
  %13667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13668 = call i32 @fileno(ptr noundef %13667) #13
  %13669 = call i32 @isatty(i32 noundef %13668) #13
  %.not1942 = icmp eq i32 %13669, 0
  br i1 %.not1942, label %13670, label %13671

13670:                                            ; preds = %13666, %13660
  br label %13671

13671:                                            ; preds = %13666, %13670
  %.str.5.sink6627 = phi ptr [ @.str.5, %13670 ], [ @.str.2, %13666 ]
  store i32 %13661, ptr %377, align 4, !tbaa !5
  %13672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13673 = load i32, ptr @test_count, align 4, !tbaa !5
  %13674 = load i32, ptr %323, align 4, !tbaa !5
  %13675 = call ptr @s2n_strerror(i32 noundef %13674, ptr noundef nonnull @.str.4) #13
  %13676 = load i32, ptr %323, align 4, !tbaa !5
  %13677 = call ptr @s2n_strerror_debug(i32 noundef %13676, ptr noundef nonnull @.str.4) #13
  %13678 = load i32, ptr %377, align 4, !tbaa !5
  %13679 = call ptr @strerror(i32 noundef %13678) #13
  %13680 = load i32, ptr %377, align 4, !tbaa !5
  %13681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13672, ptr noundef nonnull %.str.5.sink6627, i32 noundef %13673, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.1, i32 noundef 1456, ptr noundef %13675, ptr noundef %13677, ptr noundef %13679, i32 noundef %13680) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13682:                                            ; preds = %13655
  %13683 = load i32, ptr @test_count, align 4, !tbaa !5
  %13684 = add nsw i32 %13683, 1
  store i32 %13684, ptr @test_count, align 4, !tbaa !5
  %13685 = call i32 @s2n_connection_set_psk_type(ptr noundef nonnull %13658, i32 noundef 1) #13
  %13686 = call zeroext i1 @s2n_result_is_ok(i32 %13685)
  br i1 %13686, label %13709, label %13687

13687:                                            ; preds = %13682
  %13688 = load i32, ptr %377, align 4, !tbaa !5
  %13689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13690 = call i32 @s2n_print_stacktrace(ptr noundef %13689) #13
  %13691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13692 = trunc nuw i8 %13691 to i1
  br i1 %13692, label %13693, label %13697

13693:                                            ; preds = %13687
  %13694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13695 = call i32 @fileno(ptr noundef %13694) #13
  %13696 = call i32 @isatty(i32 noundef %13695) #13
  %.not1860 = icmp eq i32 %13696, 0
  br i1 %.not1860, label %13697, label %13698

13697:                                            ; preds = %13693, %13687
  br label %13698

13698:                                            ; preds = %13693, %13697
  %.str.5.sink6636 = phi ptr [ @.str.5, %13697 ], [ @.str.2, %13693 ]
  store i32 %13688, ptr %377, align 4, !tbaa !5
  %13699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13700 = load i32, ptr @test_count, align 4, !tbaa !5
  %13701 = load i32, ptr %323, align 4, !tbaa !5
  %13702 = call ptr @s2n_strerror(i32 noundef %13701, ptr noundef nonnull @.str.4) #13
  %13703 = load i32, ptr %323, align 4, !tbaa !5
  %13704 = call ptr @s2n_strerror_debug(i32 noundef %13703, ptr noundef nonnull @.str.4) #13
  %13705 = load i32, ptr %377, align 4, !tbaa !5
  %13706 = call ptr @strerror(i32 noundef %13705) #13
  %13707 = load i32, ptr %377, align 4, !tbaa !5
  %13708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13699, ptr noundef nonnull %.str.5.sink6636, i32 noundef %13700, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.1, i32 noundef 1457, ptr noundef %13702, ptr noundef %13704, ptr noundef %13706, i32 noundef %13707) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13709:                                            ; preds = %13682
  %13710 = load i32, ptr @test_count, align 4, !tbaa !5
  %13711 = add nsw i32 %13710, 1
  store i32 %13711, ptr @test_count, align 4, !tbaa !5
  %13712 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %13631, ptr noundef nonnull @.str.62) #13
  %13713 = icmp eq i32 %13712, -1
  br i1 %13713, label %13714, label %13736

13714:                                            ; preds = %13709
  %13715 = load i32, ptr %377, align 4, !tbaa !5
  %13716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13717 = call i32 @s2n_print_stacktrace(ptr noundef %13716) #13
  %13718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13719 = trunc nuw i8 %13718 to i1
  br i1 %13719, label %13720, label %13724

13720:                                            ; preds = %13714
  %13721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13722 = call i32 @fileno(ptr noundef %13721) #13
  %13723 = call i32 @isatty(i32 noundef %13722) #13
  %.not1941 = icmp eq i32 %13723, 0
  br i1 %.not1941, label %13724, label %13725

13724:                                            ; preds = %13720, %13714
  br label %13725

13725:                                            ; preds = %13720, %13724
  %.str.5.sink6645 = phi ptr [ @.str.5, %13724 ], [ @.str.2, %13720 ]
  store i32 %13715, ptr %377, align 4, !tbaa !5
  %13726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13727 = load i32, ptr @test_count, align 4, !tbaa !5
  %13728 = load i32, ptr %323, align 4, !tbaa !5
  %13729 = call ptr @s2n_strerror(i32 noundef %13728, ptr noundef nonnull @.str.4) #13
  %13730 = load i32, ptr %323, align 4, !tbaa !5
  %13731 = call ptr @s2n_strerror_debug(i32 noundef %13730, ptr noundef nonnull @.str.4) #13
  %13732 = load i32, ptr %377, align 4, !tbaa !5
  %13733 = call ptr @strerror(i32 noundef %13732) #13
  %13734 = load i32, ptr %377, align 4, !tbaa !5
  %13735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13726, ptr noundef nonnull %.str.5.sink6645, i32 noundef %13727, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.1, i32 noundef 1458, ptr noundef %13729, ptr noundef %13731, ptr noundef %13733, i32 noundef %13734) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13736:                                            ; preds = %13709
  %13737 = load i32, ptr @test_count, align 4, !tbaa !5
  %13738 = add nsw i32 %13737, 1
  store i32 %13738, ptr @test_count, align 4, !tbaa !5
  %13739 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %13658, ptr noundef nonnull @.str.62) #13
  %13740 = icmp eq i32 %13739, -1
  br i1 %13740, label %13741, label %13763

13741:                                            ; preds = %13736
  %13742 = load i32, ptr %377, align 4, !tbaa !5
  %13743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13744 = call i32 @s2n_print_stacktrace(ptr noundef %13743) #13
  %13745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13746 = trunc nuw i8 %13745 to i1
  br i1 %13746, label %13747, label %13751

13747:                                            ; preds = %13741
  %13748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13749 = call i32 @fileno(ptr noundef %13748) #13
  %13750 = call i32 @isatty(i32 noundef %13749) #13
  %.not1940 = icmp eq i32 %13750, 0
  br i1 %.not1940, label %13751, label %13752

13751:                                            ; preds = %13747, %13741
  br label %13752

13752:                                            ; preds = %13747, %13751
  %.str.5.sink6654 = phi ptr [ @.str.5, %13751 ], [ @.str.2, %13747 ]
  store i32 %13742, ptr %377, align 4, !tbaa !5
  %13753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13754 = load i32, ptr @test_count, align 4, !tbaa !5
  %13755 = load i32, ptr %323, align 4, !tbaa !5
  %13756 = call ptr @s2n_strerror(i32 noundef %13755, ptr noundef nonnull @.str.4) #13
  %13757 = load i32, ptr %323, align 4, !tbaa !5
  %13758 = call ptr @s2n_strerror_debug(i32 noundef %13757, ptr noundef nonnull @.str.4) #13
  %13759 = load i32, ptr %377, align 4, !tbaa !5
  %13760 = call ptr @strerror(i32 noundef %13759) #13
  %13761 = load i32, ptr %377, align 4, !tbaa !5
  %13762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13753, ptr noundef nonnull %.str.5.sink6654, i32 noundef %13754, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.1, i32 noundef 1459, ptr noundef %13756, ptr noundef %13758, ptr noundef %13760, i32 noundef %13761) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13763:                                            ; preds = %13736
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %124) #13
  store i64 0, ptr %124, align 8
  %13764 = load i32, ptr @test_count, align 4, !tbaa !5
  %13765 = add nsw i32 %13764, 1
  store i32 %13765, ptr @test_count, align 4, !tbaa !5
  %13766 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %124) #13
  %13767 = icmp eq i32 %13766, -1
  br i1 %13767, label %13768, label %13790

13768:                                            ; preds = %13763
  %13769 = load i32, ptr %377, align 4, !tbaa !5
  %13770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13771 = call i32 @s2n_print_stacktrace(ptr noundef %13770) #13
  %13772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13773 = trunc nuw i8 %13772 to i1
  br i1 %13773, label %13774, label %13778

13774:                                            ; preds = %13768
  %13775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13776 = call i32 @fileno(ptr noundef %13775) #13
  %13777 = call i32 @isatty(i32 noundef %13776) #13
  %.not1939 = icmp eq i32 %13777, 0
  br i1 %.not1939, label %13778, label %13779

13778:                                            ; preds = %13774, %13768
  br label %13779

13779:                                            ; preds = %13774, %13778
  %.str.5.sink6663 = phi ptr [ @.str.5, %13778 ], [ @.str.2, %13774 ]
  store i32 %13769, ptr %377, align 4, !tbaa !5
  %13780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13781 = load i32, ptr @test_count, align 4, !tbaa !5
  %13782 = load i32, ptr %323, align 4, !tbaa !5
  %13783 = call ptr @s2n_strerror(i32 noundef %13782, ptr noundef nonnull @.str.4) #13
  %13784 = load i32, ptr %323, align 4, !tbaa !5
  %13785 = call ptr @s2n_strerror_debug(i32 noundef %13784, ptr noundef nonnull @.str.4) #13
  %13786 = load i32, ptr %377, align 4, !tbaa !5
  %13787 = call ptr @strerror(i32 noundef %13786) #13
  %13788 = load i32, ptr %377, align 4, !tbaa !5
  %13789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13780, ptr noundef nonnull %.str.5.sink6663, i32 noundef %13781, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 1463, ptr noundef %13783, ptr noundef %13785, ptr noundef %13787, i32 noundef %13788) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13790:                                            ; preds = %13763
  %13791 = load i32, ptr @test_count, align 4, !tbaa !5
  %13792 = add nsw i32 %13791, 1
  store i32 %13792, ptr @test_count, align 4, !tbaa !5
  %13793 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %13631, ptr noundef nonnull %124) #13
  %13794 = icmp eq i32 %13793, -1
  br i1 %13794, label %13795, label %13817

13795:                                            ; preds = %13790
  %13796 = load i32, ptr %377, align 4, !tbaa !5
  %13797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13798 = call i32 @s2n_print_stacktrace(ptr noundef %13797) #13
  %13799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13800 = trunc nuw i8 %13799 to i1
  br i1 %13800, label %13801, label %13805

13801:                                            ; preds = %13795
  %13802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13803 = call i32 @fileno(ptr noundef %13802) #13
  %13804 = call i32 @isatty(i32 noundef %13803) #13
  %.not1938 = icmp eq i32 %13804, 0
  br i1 %.not1938, label %13805, label %13806

13805:                                            ; preds = %13801, %13795
  br label %13806

13806:                                            ; preds = %13801, %13805
  %.str.5.sink6672 = phi ptr [ @.str.5, %13805 ], [ @.str.2, %13801 ]
  store i32 %13796, ptr %377, align 4, !tbaa !5
  %13807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13808 = load i32, ptr @test_count, align 4, !tbaa !5
  %13809 = load i32, ptr %323, align 4, !tbaa !5
  %13810 = call ptr @s2n_strerror(i32 noundef %13809, ptr noundef nonnull @.str.4) #13
  %13811 = load i32, ptr %323, align 4, !tbaa !5
  %13812 = call ptr @s2n_strerror_debug(i32 noundef %13811, ptr noundef nonnull @.str.4) #13
  %13813 = load i32, ptr %377, align 4, !tbaa !5
  %13814 = call ptr @strerror(i32 noundef %13813) #13
  %13815 = load i32, ptr %377, align 4, !tbaa !5
  %13816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13807, ptr noundef nonnull %.str.5.sink6672, i32 noundef %13808, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.1, i32 noundef 1464, ptr noundef %13810, ptr noundef %13812, ptr noundef %13814, i32 noundef %13815) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13817:                                            ; preds = %13790
  %13818 = load i32, ptr @test_count, align 4, !tbaa !5
  %13819 = add nsw i32 %13818, 1
  store i32 %13819, ptr @test_count, align 4, !tbaa !5
  %13820 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %13658, ptr noundef nonnull %124) #13
  %13821 = icmp eq i32 %13820, -1
  br i1 %13821, label %13822, label %13844

13822:                                            ; preds = %13817
  %13823 = load i32, ptr %377, align 4, !tbaa !5
  %13824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13825 = call i32 @s2n_print_stacktrace(ptr noundef %13824) #13
  %13826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13827 = trunc nuw i8 %13826 to i1
  br i1 %13827, label %13828, label %13832

13828:                                            ; preds = %13822
  %13829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13830 = call i32 @fileno(ptr noundef %13829) #13
  %13831 = call i32 @isatty(i32 noundef %13830) #13
  %.not1937 = icmp eq i32 %13831, 0
  br i1 %.not1937, label %13832, label %13833

13832:                                            ; preds = %13828, %13822
  br label %13833

13833:                                            ; preds = %13828, %13832
  %.str.5.sink6681 = phi ptr [ @.str.5, %13832 ], [ @.str.2, %13828 ]
  store i32 %13823, ptr %377, align 4, !tbaa !5
  %13834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13835 = load i32, ptr @test_count, align 4, !tbaa !5
  %13836 = load i32, ptr %323, align 4, !tbaa !5
  %13837 = call ptr @s2n_strerror(i32 noundef %13836, ptr noundef nonnull @.str.4) #13
  %13838 = load i32, ptr %323, align 4, !tbaa !5
  %13839 = call ptr @s2n_strerror_debug(i32 noundef %13838, ptr noundef nonnull @.str.4) #13
  %13840 = load i32, ptr %377, align 4, !tbaa !5
  %13841 = call ptr @strerror(i32 noundef %13840) #13
  %13842 = load i32, ptr %377, align 4, !tbaa !5
  %13843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13834, ptr noundef nonnull %.str.5.sink6681, i32 noundef %13835, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.1, i32 noundef 1465, ptr noundef %13837, ptr noundef %13839, ptr noundef %13841, i32 noundef %13842) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13844:                                            ; preds = %13817
  call void @llvm.lifetime.start.p0(i64 18, ptr nonnull %125) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(18) %125, ptr noundef nonnull align 16 dereferenceable(18) @__const.main.other_client_data, i64 18, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %126) #13
  store ptr null, ptr %126, align 8, !tbaa !9
  %13845 = load i32, ptr @test_count, align 4, !tbaa !5
  %13846 = add nsw i32 %13845, 1
  store i32 %13846, ptr @test_count, align 4, !tbaa !5
  %13847 = getelementptr inbounds i8, ptr %13631, i64 1696
  %13848 = call i32 @s2n_array_pushback(ptr noundef nonnull %13847, ptr noundef nonnull %126) #13
  %13849 = call zeroext i1 @s2n_result_is_ok(i32 %13848)
  br i1 %13849, label %13872, label %13850

13850:                                            ; preds = %13844
  %13851 = load i32, ptr %377, align 4, !tbaa !5
  %13852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13853 = call i32 @s2n_print_stacktrace(ptr noundef %13852) #13
  %13854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13855 = trunc nuw i8 %13854 to i1
  br i1 %13855, label %13856, label %13860

13856:                                            ; preds = %13850
  %13857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13858 = call i32 @fileno(ptr noundef %13857) #13
  %13859 = call i32 @isatty(i32 noundef %13858) #13
  %.not1861 = icmp eq i32 %13859, 0
  br i1 %.not1861, label %13860, label %13861

13860:                                            ; preds = %13856, %13850
  br label %13861

13861:                                            ; preds = %13856, %13860
  %.str.5.sink6690 = phi ptr [ @.str.5, %13860 ], [ @.str.2, %13856 ]
  store i32 %13851, ptr %377, align 4, !tbaa !5
  %13862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13863 = load i32, ptr @test_count, align 4, !tbaa !5
  %13864 = load i32, ptr %323, align 4, !tbaa !5
  %13865 = call ptr @s2n_strerror(i32 noundef %13864, ptr noundef nonnull @.str.4) #13
  %13866 = load i32, ptr %323, align 4, !tbaa !5
  %13867 = call ptr @s2n_strerror_debug(i32 noundef %13866, ptr noundef nonnull @.str.4) #13
  %13868 = load i32, ptr %377, align 4, !tbaa !5
  %13869 = call ptr @strerror(i32 noundef %13868) #13
  %13870 = load i32, ptr %377, align 4, !tbaa !5
  %13871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13862, ptr noundef nonnull %.str.5.sink6690, i32 noundef %13863, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.1, i32 noundef 1470, ptr noundef %13865, ptr noundef %13867, ptr noundef %13869, i32 noundef %13870) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13872:                                            ; preds = %13844
  %13873 = load i32, ptr @test_count, align 4, !tbaa !5
  %13874 = add nsw i32 %13873, 1
  store i32 %13874, ptr @test_count, align 4, !tbaa !5
  %13875 = load ptr, ptr %126, align 8, !tbaa !9
  %13876 = call i32 @s2n_psk_init(ptr noundef %13875, i32 noundef 1) #13
  %13877 = call zeroext i1 @s2n_result_is_ok(i32 %13876)
  br i1 %13877, label %13900, label %13878

13878:                                            ; preds = %13872
  %13879 = load i32, ptr %377, align 4, !tbaa !5
  %13880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13881 = call i32 @s2n_print_stacktrace(ptr noundef %13880) #13
  %13882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13883 = trunc nuw i8 %13882 to i1
  br i1 %13883, label %13884, label %13888

13884:                                            ; preds = %13878
  %13885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13886 = call i32 @fileno(ptr noundef %13885) #13
  %13887 = call i32 @isatty(i32 noundef %13886) #13
  %.not1862 = icmp eq i32 %13887, 0
  br i1 %.not1862, label %13888, label %13889

13888:                                            ; preds = %13884, %13878
  br label %13889

13889:                                            ; preds = %13884, %13888
  %.str.5.sink6699 = phi ptr [ @.str.5, %13888 ], [ @.str.2, %13884 ]
  store i32 %13879, ptr %377, align 4, !tbaa !5
  %13890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13891 = load i32, ptr @test_count, align 4, !tbaa !5
  %13892 = load i32, ptr %323, align 4, !tbaa !5
  %13893 = call ptr @s2n_strerror(i32 noundef %13892, ptr noundef nonnull @.str.4) #13
  %13894 = load i32, ptr %323, align 4, !tbaa !5
  %13895 = call ptr @s2n_strerror_debug(i32 noundef %13894, ptr noundef nonnull @.str.4) #13
  %13896 = load i32, ptr %377, align 4, !tbaa !5
  %13897 = call ptr @strerror(i32 noundef %13896) #13
  %13898 = load i32, ptr %377, align 4, !tbaa !5
  %13899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13890, ptr noundef nonnull %.str.5.sink6699, i32 noundef %13891, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.1, i32 noundef 1471, ptr noundef %13893, ptr noundef %13895, ptr noundef %13897, i32 noundef %13898) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13900:                                            ; preds = %13872
  %13901 = load i32, ptr @test_count, align 4, !tbaa !5
  %13902 = add nsw i32 %13901, 1
  store i32 %13902, ptr @test_count, align 4, !tbaa !5
  %13903 = load ptr, ptr %126, align 8, !tbaa !9
  %13904 = call i32 @s2n_psk_set_identity(ptr noundef %13903, ptr noundef nonnull %125, i16 noundef zeroext 18) #13
  %13905 = icmp eq i32 %13904, -1
  br i1 %13905, label %13906, label %13928

13906:                                            ; preds = %13900
  %13907 = load i32, ptr %377, align 4, !tbaa !5
  %13908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13909 = call i32 @s2n_print_stacktrace(ptr noundef %13908) #13
  %13910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13911 = trunc nuw i8 %13910 to i1
  br i1 %13911, label %13912, label %13916

13912:                                            ; preds = %13906
  %13913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13914 = call i32 @fileno(ptr noundef %13913) #13
  %13915 = call i32 @isatty(i32 noundef %13914) #13
  %.not1936 = icmp eq i32 %13915, 0
  br i1 %.not1936, label %13916, label %13917

13916:                                            ; preds = %13912, %13906
  br label %13917

13917:                                            ; preds = %13912, %13916
  %.str.5.sink6708 = phi ptr [ @.str.5, %13916 ], [ @.str.2, %13912 ]
  store i32 %13907, ptr %377, align 4, !tbaa !5
  %13918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13919 = load i32, ptr @test_count, align 4, !tbaa !5
  %13920 = load i32, ptr %323, align 4, !tbaa !5
  %13921 = call ptr @s2n_strerror(i32 noundef %13920, ptr noundef nonnull @.str.4) #13
  %13922 = load i32, ptr %323, align 4, !tbaa !5
  %13923 = call ptr @s2n_strerror_debug(i32 noundef %13922, ptr noundef nonnull @.str.4) #13
  %13924 = load i32, ptr %377, align 4, !tbaa !5
  %13925 = call ptr @strerror(i32 noundef %13924) #13
  %13926 = load i32, ptr %377, align 4, !tbaa !5
  %13927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13918, ptr noundef nonnull %.str.5.sink6708, i32 noundef %13919, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.1, i32 noundef 1472, ptr noundef %13921, ptr noundef %13923, ptr noundef %13925, i32 noundef %13926) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13928:                                            ; preds = %13900
  %13929 = load i32, ptr @test_count, align 4, !tbaa !5
  %13930 = add nsw i32 %13929, 1
  store i32 %13930, ptr @test_count, align 4, !tbaa !5
  %13931 = load ptr, ptr %126, align 8, !tbaa !9
  %13932 = call i32 @s2n_psk_set_secret(ptr noundef %13931, ptr noundef nonnull %125, i16 noundef zeroext 18) #13
  %13933 = icmp eq i32 %13932, -1
  br i1 %13933, label %13934, label %13956

13934:                                            ; preds = %13928
  %13935 = load i32, ptr %377, align 4, !tbaa !5
  %13936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13937 = call i32 @s2n_print_stacktrace(ptr noundef %13936) #13
  %13938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13939 = trunc nuw i8 %13938 to i1
  br i1 %13939, label %13940, label %13944

13940:                                            ; preds = %13934
  %13941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13942 = call i32 @fileno(ptr noundef %13941) #13
  %13943 = call i32 @isatty(i32 noundef %13942) #13
  %.not1935 = icmp eq i32 %13943, 0
  br i1 %.not1935, label %13944, label %13945

13944:                                            ; preds = %13940, %13934
  br label %13945

13945:                                            ; preds = %13940, %13944
  %.str.5.sink6717 = phi ptr [ @.str.5, %13944 ], [ @.str.2, %13940 ]
  store i32 %13935, ptr %377, align 4, !tbaa !5
  %13946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13947 = load i32, ptr @test_count, align 4, !tbaa !5
  %13948 = load i32, ptr %323, align 4, !tbaa !5
  %13949 = call ptr @s2n_strerror(i32 noundef %13948, ptr noundef nonnull @.str.4) #13
  %13950 = load i32, ptr %323, align 4, !tbaa !5
  %13951 = call ptr @s2n_strerror_debug(i32 noundef %13950, ptr noundef nonnull @.str.4) #13
  %13952 = load i32, ptr %377, align 4, !tbaa !5
  %13953 = call ptr @strerror(i32 noundef %13952) #13
  %13954 = load i32, ptr %377, align 4, !tbaa !5
  %13955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13946, ptr noundef nonnull %.str.5.sink6717, i32 noundef %13947, ptr noundef nonnull @.str.218, ptr noundef nonnull @.str.1, i32 noundef 1473, ptr noundef %13949, ptr noundef %13951, ptr noundef %13953, i32 noundef %13954) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13956:                                            ; preds = %13928
  call void @llvm.lifetime.start.p0(i64 18, ptr nonnull %127) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(18) %127, ptr noundef nonnull align 16 dereferenceable(18) @__const.main.other_server_data, i64 18, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #13
  store ptr null, ptr %128, align 8, !tbaa !9
  %13957 = load i32, ptr @test_count, align 4, !tbaa !5
  %13958 = add nsw i32 %13957, 1
  store i32 %13958, ptr @test_count, align 4, !tbaa !5
  %13959 = getelementptr inbounds i8, ptr %13658, i64 1696
  %13960 = call i32 @s2n_array_pushback(ptr noundef nonnull %13959, ptr noundef nonnull %128) #13
  %13961 = call zeroext i1 @s2n_result_is_ok(i32 %13960)
  br i1 %13961, label %13984, label %13962

13962:                                            ; preds = %13956
  %13963 = load i32, ptr %377, align 4, !tbaa !5
  %13964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13965 = call i32 @s2n_print_stacktrace(ptr noundef %13964) #13
  %13966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13967 = trunc nuw i8 %13966 to i1
  br i1 %13967, label %13968, label %13972

13968:                                            ; preds = %13962
  %13969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13970 = call i32 @fileno(ptr noundef %13969) #13
  %13971 = call i32 @isatty(i32 noundef %13970) #13
  %.not1863 = icmp eq i32 %13971, 0
  br i1 %.not1863, label %13972, label %13973

13972:                                            ; preds = %13968, %13962
  br label %13973

13973:                                            ; preds = %13968, %13972
  %.str.5.sink6726 = phi ptr [ @.str.5, %13972 ], [ @.str.2, %13968 ]
  store i32 %13963, ptr %377, align 4, !tbaa !5
  %13974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13975 = load i32, ptr @test_count, align 4, !tbaa !5
  %13976 = load i32, ptr %323, align 4, !tbaa !5
  %13977 = call ptr @s2n_strerror(i32 noundef %13976, ptr noundef nonnull @.str.4) #13
  %13978 = load i32, ptr %323, align 4, !tbaa !5
  %13979 = call ptr @s2n_strerror_debug(i32 noundef %13978, ptr noundef nonnull @.str.4) #13
  %13980 = load i32, ptr %377, align 4, !tbaa !5
  %13981 = call ptr @strerror(i32 noundef %13980) #13
  %13982 = load i32, ptr %377, align 4, !tbaa !5
  %13983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13974, ptr noundef nonnull %.str.5.sink6726, i32 noundef %13975, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.1, i32 noundef 1478, ptr noundef %13977, ptr noundef %13979, ptr noundef %13981, i32 noundef %13982) #15
  call void @exit(i32 noundef 1) #16
  unreachable

13984:                                            ; preds = %13956
  %13985 = load i32, ptr @test_count, align 4, !tbaa !5
  %13986 = add nsw i32 %13985, 1
  store i32 %13986, ptr @test_count, align 4, !tbaa !5
  %13987 = load ptr, ptr %128, align 8, !tbaa !9
  %13988 = call i32 @s2n_psk_init(ptr noundef %13987, i32 noundef 1) #13
  %13989 = call zeroext i1 @s2n_result_is_ok(i32 %13988)
  br i1 %13989, label %14012, label %13990

13990:                                            ; preds = %13984
  %13991 = load i32, ptr %377, align 4, !tbaa !5
  %13992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13993 = call i32 @s2n_print_stacktrace(ptr noundef %13992) #13
  %13994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13995 = trunc nuw i8 %13994 to i1
  br i1 %13995, label %13996, label %14000

13996:                                            ; preds = %13990
  %13997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13998 = call i32 @fileno(ptr noundef %13997) #13
  %13999 = call i32 @isatty(i32 noundef %13998) #13
  %.not1864 = icmp eq i32 %13999, 0
  br i1 %.not1864, label %14000, label %14001

14000:                                            ; preds = %13996, %13990
  br label %14001

14001:                                            ; preds = %13996, %14000
  %.str.5.sink6735 = phi ptr [ @.str.5, %14000 ], [ @.str.2, %13996 ]
  store i32 %13991, ptr %377, align 4, !tbaa !5
  %14002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14003 = load i32, ptr @test_count, align 4, !tbaa !5
  %14004 = load i32, ptr %323, align 4, !tbaa !5
  %14005 = call ptr @s2n_strerror(i32 noundef %14004, ptr noundef nonnull @.str.4) #13
  %14006 = load i32, ptr %323, align 4, !tbaa !5
  %14007 = call ptr @s2n_strerror_debug(i32 noundef %14006, ptr noundef nonnull @.str.4) #13
  %14008 = load i32, ptr %377, align 4, !tbaa !5
  %14009 = call ptr @strerror(i32 noundef %14008) #13
  %14010 = load i32, ptr %377, align 4, !tbaa !5
  %14011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14002, ptr noundef nonnull %.str.5.sink6735, i32 noundef %14003, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.1, i32 noundef 1479, ptr noundef %14005, ptr noundef %14007, ptr noundef %14009, i32 noundef %14010) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14012:                                            ; preds = %13984
  %14013 = load i32, ptr @test_count, align 4, !tbaa !5
  %14014 = add nsw i32 %14013, 1
  store i32 %14014, ptr @test_count, align 4, !tbaa !5
  %14015 = load ptr, ptr %128, align 8, !tbaa !9
  %14016 = call i32 @s2n_psk_set_identity(ptr noundef %14015, ptr noundef nonnull %127, i16 noundef zeroext 18) #13
  %14017 = icmp eq i32 %14016, -1
  br i1 %14017, label %14018, label %14040

14018:                                            ; preds = %14012
  %14019 = load i32, ptr %377, align 4, !tbaa !5
  %14020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14021 = call i32 @s2n_print_stacktrace(ptr noundef %14020) #13
  %14022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14023 = trunc nuw i8 %14022 to i1
  br i1 %14023, label %14024, label %14028

14024:                                            ; preds = %14018
  %14025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14026 = call i32 @fileno(ptr noundef %14025) #13
  %14027 = call i32 @isatty(i32 noundef %14026) #13
  %.not1934 = icmp eq i32 %14027, 0
  br i1 %.not1934, label %14028, label %14029

14028:                                            ; preds = %14024, %14018
  br label %14029

14029:                                            ; preds = %14024, %14028
  %.str.5.sink6744 = phi ptr [ @.str.5, %14028 ], [ @.str.2, %14024 ]
  store i32 %14019, ptr %377, align 4, !tbaa !5
  %14030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14031 = load i32, ptr @test_count, align 4, !tbaa !5
  %14032 = load i32, ptr %323, align 4, !tbaa !5
  %14033 = call ptr @s2n_strerror(i32 noundef %14032, ptr noundef nonnull @.str.4) #13
  %14034 = load i32, ptr %323, align 4, !tbaa !5
  %14035 = call ptr @s2n_strerror_debug(i32 noundef %14034, ptr noundef nonnull @.str.4) #13
  %14036 = load i32, ptr %377, align 4, !tbaa !5
  %14037 = call ptr @strerror(i32 noundef %14036) #13
  %14038 = load i32, ptr %377, align 4, !tbaa !5
  %14039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14030, ptr noundef nonnull %.str.5.sink6744, i32 noundef %14031, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.1, i32 noundef 1480, ptr noundef %14033, ptr noundef %14035, ptr noundef %14037, i32 noundef %14038) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14040:                                            ; preds = %14012
  %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 = load ptr, ptr %128, align 8, !tbaa !9
  %14044 = call i32 @s2n_psk_set_secret(ptr noundef %14043, ptr noundef nonnull %127, i16 noundef zeroext 18) #13
  %14045 = icmp eq i32 %14044, -1
  br i1 %14045, label %14046, label %14068

14046:                                            ; preds = %14040
  %14047 = load i32, ptr %377, align 4, !tbaa !5
  %14048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14049 = call i32 @s2n_print_stacktrace(ptr noundef %14048) #13
  %14050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14051 = trunc nuw i8 %14050 to i1
  br i1 %14051, label %14052, label %14056

14052:                                            ; preds = %14046
  %14053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14054 = call i32 @fileno(ptr noundef %14053) #13
  %14055 = call i32 @isatty(i32 noundef %14054) #13
  %.not1933 = icmp eq i32 %14055, 0
  br i1 %.not1933, label %14056, label %14057

14056:                                            ; preds = %14052, %14046
  br label %14057

14057:                                            ; preds = %14052, %14056
  %.str.5.sink6753 = phi ptr [ @.str.5, %14056 ], [ @.str.2, %14052 ]
  store i32 %14047, ptr %377, align 4, !tbaa !5
  %14058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14059 = load i32, ptr @test_count, align 4, !tbaa !5
  %14060 = load i32, ptr %323, align 4, !tbaa !5
  %14061 = call ptr @s2n_strerror(i32 noundef %14060, ptr noundef nonnull @.str.4) #13
  %14062 = load i32, ptr %323, align 4, !tbaa !5
  %14063 = call ptr @s2n_strerror_debug(i32 noundef %14062, ptr noundef nonnull @.str.4) #13
  %14064 = load i32, ptr %377, align 4, !tbaa !5
  %14065 = call ptr @strerror(i32 noundef %14064) #13
  %14066 = load i32, ptr %377, align 4, !tbaa !5
  %14067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14058, ptr noundef nonnull %.str.5.sink6753, i32 noundef %14059, ptr noundef nonnull @.str.220, ptr noundef nonnull @.str.1, i32 noundef 1481, ptr noundef %14061, ptr noundef %14063, ptr noundef %14065, i32 noundef %14066) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14068:                                            ; preds = %14040
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #13
  store ptr null, ptr %129, align 8, !tbaa !9
  %14069 = load i32, ptr @test_count, align 4, !tbaa !5
  %14070 = add nsw i32 %14069, 1
  store i32 %14070, ptr @test_count, align 4, !tbaa !5
  %14071 = call i32 @s2n_array_pushback(ptr noundef nonnull %13847, ptr noundef nonnull %129) #13
  %14072 = call zeroext i1 @s2n_result_is_ok(i32 %14071)
  br i1 %14072, label %14095, label %14073

14073:                                            ; preds = %14068
  %14074 = load i32, ptr %377, align 4, !tbaa !5
  %14075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14076 = call i32 @s2n_print_stacktrace(ptr noundef %14075) #13
  %14077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14078 = trunc nuw i8 %14077 to i1
  br i1 %14078, label %14079, label %14083

14079:                                            ; preds = %14073
  %14080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14081 = call i32 @fileno(ptr noundef %14080) #13
  %14082 = call i32 @isatty(i32 noundef %14081) #13
  %.not1865 = icmp eq i32 %14082, 0
  br i1 %.not1865, label %14083, label %14084

14083:                                            ; preds = %14079, %14073
  br label %14084

14084:                                            ; preds = %14079, %14083
  %.str.5.sink6762 = phi ptr [ @.str.5, %14083 ], [ @.str.2, %14079 ]
  store i32 %14074, ptr %377, align 4, !tbaa !5
  %14085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14086 = load i32, ptr @test_count, align 4, !tbaa !5
  %14087 = load i32, ptr %323, align 4, !tbaa !5
  %14088 = call ptr @s2n_strerror(i32 noundef %14087, ptr noundef nonnull @.str.4) #13
  %14089 = load i32, ptr %323, align 4, !tbaa !5
  %14090 = call ptr @s2n_strerror_debug(i32 noundef %14089, ptr noundef nonnull @.str.4) #13
  %14091 = load i32, ptr %377, align 4, !tbaa !5
  %14092 = call ptr @strerror(i32 noundef %14091) #13
  %14093 = load i32, ptr %377, align 4, !tbaa !5
  %14094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14085, ptr noundef nonnull %.str.5.sink6762, i32 noundef %14086, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.1, i32 noundef 1485, ptr noundef %14088, ptr noundef %14090, ptr noundef %14092, i32 noundef %14093) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14095:                                            ; preds = %14068
  %14096 = load i32, ptr @test_count, align 4, !tbaa !5
  %14097 = add nsw i32 %14096, 1
  store i32 %14097, ptr @test_count, align 4, !tbaa !5
  %14098 = load ptr, ptr %129, align 8, !tbaa !9
  %14099 = call i32 @s2n_psk_init(ptr noundef %14098, i32 noundef 1) #13
  %14100 = call zeroext i1 @s2n_result_is_ok(i32 %14099)
  br i1 %14100, label %14123, label %14101

14101:                                            ; preds = %14095
  %14102 = load i32, ptr %377, align 4, !tbaa !5
  %14103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14104 = call i32 @s2n_print_stacktrace(ptr noundef %14103) #13
  %14105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14106 = trunc nuw i8 %14105 to i1
  br i1 %14106, label %14107, label %14111

14107:                                            ; preds = %14101
  %14108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14109 = call i32 @fileno(ptr noundef %14108) #13
  %14110 = call i32 @isatty(i32 noundef %14109) #13
  %.not1866 = icmp eq i32 %14110, 0
  br i1 %.not1866, label %14111, label %14112

14111:                                            ; preds = %14107, %14101
  br label %14112

14112:                                            ; preds = %14107, %14111
  %.str.5.sink6771 = phi ptr [ @.str.5, %14111 ], [ @.str.2, %14107 ]
  store i32 %14102, ptr %377, align 4, !tbaa !5
  %14113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14114 = load i32, ptr @test_count, align 4, !tbaa !5
  %14115 = load i32, ptr %323, align 4, !tbaa !5
  %14116 = call ptr @s2n_strerror(i32 noundef %14115, ptr noundef nonnull @.str.4) #13
  %14117 = load i32, ptr %323, align 4, !tbaa !5
  %14118 = call ptr @s2n_strerror_debug(i32 noundef %14117, ptr noundef nonnull @.str.4) #13
  %14119 = load i32, ptr %377, align 4, !tbaa !5
  %14120 = call ptr @strerror(i32 noundef %14119) #13
  %14121 = load i32, ptr %377, align 4, !tbaa !5
  %14122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14113, ptr noundef nonnull %.str.5.sink6771, i32 noundef %14114, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 1486, ptr noundef %14116, ptr noundef %14118, ptr noundef %14120, i32 noundef %14121) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14123:                                            ; preds = %14095
  %14124 = load i32, ptr @test_count, align 4, !tbaa !5
  %14125 = add nsw i32 %14124, 1
  store i32 %14125, ptr @test_count, align 4, !tbaa !5
  %14126 = load ptr, ptr %129, align 8, !tbaa !9
  %14127 = call i32 @s2n_psk_set_identity(ptr noundef %14126, ptr noundef nonnull %5, i16 noundef zeroext 14) #13
  %14128 = icmp eq i32 %14127, -1
  br i1 %14128, label %14129, label %14151

14129:                                            ; preds = %14123
  %14130 = load i32, ptr %377, align 4, !tbaa !5
  %14131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14132 = call i32 @s2n_print_stacktrace(ptr noundef %14131) #13
  %14133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14134 = trunc nuw i8 %14133 to i1
  br i1 %14134, label %14135, label %14139

14135:                                            ; preds = %14129
  %14136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14137 = call i32 @fileno(ptr noundef %14136) #13
  %14138 = call i32 @isatty(i32 noundef %14137) #13
  %.not1932 = icmp eq i32 %14138, 0
  br i1 %.not1932, label %14139, label %14140

14139:                                            ; preds = %14135, %14129
  br label %14140

14140:                                            ; preds = %14135, %14139
  %.str.5.sink6780 = phi ptr [ @.str.5, %14139 ], [ @.str.2, %14135 ]
  store i32 %14130, ptr %377, align 4, !tbaa !5
  %14141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14142 = load i32, ptr @test_count, align 4, !tbaa !5
  %14143 = load i32, ptr %323, align 4, !tbaa !5
  %14144 = call ptr @s2n_strerror(i32 noundef %14143, ptr noundef nonnull @.str.4) #13
  %14145 = load i32, ptr %323, align 4, !tbaa !5
  %14146 = call ptr @s2n_strerror_debug(i32 noundef %14145, ptr noundef nonnull @.str.4) #13
  %14147 = load i32, ptr %377, align 4, !tbaa !5
  %14148 = call ptr @strerror(i32 noundef %14147) #13
  %14149 = load i32, ptr %377, align 4, !tbaa !5
  %14150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14141, ptr noundef nonnull %.str.5.sink6780, i32 noundef %14142, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.1, i32 noundef 1487, ptr noundef %14144, ptr noundef %14146, ptr noundef %14148, i32 noundef %14149) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14151:                                            ; preds = %14123
  %14152 = load i32, ptr @test_count, align 4, !tbaa !5
  %14153 = add nsw i32 %14152, 1
  store i32 %14153, ptr @test_count, align 4, !tbaa !5
  %14154 = load ptr, ptr %129, align 8, !tbaa !9
  %14155 = call i32 @s2n_psk_set_secret(ptr noundef %14154, ptr noundef nonnull %8, i16 noundef zeroext 12) #13
  %14156 = icmp eq i32 %14155, -1
  br i1 %14156, label %14157, label %14179

14157:                                            ; preds = %14151
  %14158 = load i32, ptr %377, align 4, !tbaa !5
  %14159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14160 = call i32 @s2n_print_stacktrace(ptr noundef %14159) #13
  %14161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14162 = trunc nuw i8 %14161 to i1
  br i1 %14162, label %14163, label %14167

14163:                                            ; preds = %14157
  %14164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14165 = call i32 @fileno(ptr noundef %14164) #13
  %14166 = call i32 @isatty(i32 noundef %14165) #13
  %.not1931 = icmp eq i32 %14166, 0
  br i1 %.not1931, label %14167, label %14168

14167:                                            ; preds = %14163, %14157
  br label %14168

14168:                                            ; preds = %14163, %14167
  %.str.5.sink6789 = phi ptr [ @.str.5, %14167 ], [ @.str.2, %14163 ]
  store i32 %14158, ptr %377, align 4, !tbaa !5
  %14169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14170 = load i32, ptr @test_count, align 4, !tbaa !5
  %14171 = load i32, ptr %323, align 4, !tbaa !5
  %14172 = call ptr @s2n_strerror(i32 noundef %14171, ptr noundef nonnull @.str.4) #13
  %14173 = load i32, ptr %323, align 4, !tbaa !5
  %14174 = call ptr @s2n_strerror_debug(i32 noundef %14173, ptr noundef nonnull @.str.4) #13
  %14175 = load i32, ptr %377, align 4, !tbaa !5
  %14176 = call ptr @strerror(i32 noundef %14175) #13
  %14177 = load i32, ptr %377, align 4, !tbaa !5
  %14178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14169, ptr noundef nonnull %.str.5.sink6789, i32 noundef %14170, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.1, i32 noundef 1488, ptr noundef %14172, ptr noundef %14174, ptr noundef %14176, i32 noundef %14177) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14179:                                            ; preds = %14151
  %14180 = load i32, ptr @test_count, align 4, !tbaa !5
  %14181 = add nsw i32 %14180, 1
  store i32 %14181, ptr @test_count, align 4, !tbaa !5
  %14182 = call i32 @s2n_array_pushback(ptr noundef nonnull %13959, ptr noundef nonnull %129) #13
  %14183 = call zeroext i1 @s2n_result_is_ok(i32 %14182)
  br i1 %14183, label %14206, label %14184

14184:                                            ; preds = %14179
  %14185 = load i32, ptr %377, align 4, !tbaa !5
  %14186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14187 = call i32 @s2n_print_stacktrace(ptr noundef %14186) #13
  %14188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14189 = trunc nuw i8 %14188 to i1
  br i1 %14189, label %14190, label %14194

14190:                                            ; preds = %14184
  %14191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14192 = call i32 @fileno(ptr noundef %14191) #13
  %14193 = call i32 @isatty(i32 noundef %14192) #13
  %.not1867 = icmp eq i32 %14193, 0
  br i1 %.not1867, label %14194, label %14195

14194:                                            ; preds = %14190, %14184
  br label %14195

14195:                                            ; preds = %14190, %14194
  %.str.5.sink6798 = phi ptr [ @.str.5, %14194 ], [ @.str.2, %14190 ]
  store i32 %14185, ptr %377, align 4, !tbaa !5
  %14196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14197 = load i32, ptr @test_count, align 4, !tbaa !5
  %14198 = load i32, ptr %323, align 4, !tbaa !5
  %14199 = call ptr @s2n_strerror(i32 noundef %14198, ptr noundef nonnull @.str.4) #13
  %14200 = load i32, ptr %323, align 4, !tbaa !5
  %14201 = call ptr @s2n_strerror_debug(i32 noundef %14200, ptr noundef nonnull @.str.4) #13
  %14202 = load i32, ptr %377, align 4, !tbaa !5
  %14203 = call ptr @strerror(i32 noundef %14202) #13
  %14204 = load i32, ptr %377, align 4, !tbaa !5
  %14205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14196, ptr noundef nonnull %.str.5.sink6798, i32 noundef %14197, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.1, i32 noundef 1491, ptr noundef %14199, ptr noundef %14201, ptr noundef %14203, i32 noundef %14204) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14206:                                            ; preds = %14179
  %14207 = load i32, ptr @test_count, align 4, !tbaa !5
  %14208 = add nsw i32 %14207, 1
  store i32 %14208, ptr @test_count, align 4, !tbaa !5
  %14209 = load ptr, ptr %129, align 8, !tbaa !9
  %14210 = call i32 @s2n_psk_init(ptr noundef %14209, i32 noundef 1) #13
  %14211 = call zeroext i1 @s2n_result_is_ok(i32 %14210)
  br i1 %14211, label %14234, label %14212

14212:                                            ; preds = %14206
  %14213 = load i32, ptr %377, align 4, !tbaa !5
  %14214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14215 = call i32 @s2n_print_stacktrace(ptr noundef %14214) #13
  %14216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14217 = trunc nuw i8 %14216 to i1
  br i1 %14217, label %14218, label %14222

14218:                                            ; preds = %14212
  %14219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14220 = call i32 @fileno(ptr noundef %14219) #13
  %14221 = call i32 @isatty(i32 noundef %14220) #13
  %.not1868 = icmp eq i32 %14221, 0
  br i1 %.not1868, label %14222, label %14223

14222:                                            ; preds = %14218, %14212
  br label %14223

14223:                                            ; preds = %14218, %14222
  %.str.5.sink6807 = phi ptr [ @.str.5, %14222 ], [ @.str.2, %14218 ]
  store i32 %14213, ptr %377, align 4, !tbaa !5
  %14224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14225 = load i32, ptr @test_count, align 4, !tbaa !5
  %14226 = load i32, ptr %323, align 4, !tbaa !5
  %14227 = call ptr @s2n_strerror(i32 noundef %14226, ptr noundef nonnull @.str.4) #13
  %14228 = load i32, ptr %323, align 4, !tbaa !5
  %14229 = call ptr @s2n_strerror_debug(i32 noundef %14228, ptr noundef nonnull @.str.4) #13
  %14230 = load i32, ptr %377, align 4, !tbaa !5
  %14231 = call ptr @strerror(i32 noundef %14230) #13
  %14232 = load i32, ptr %377, align 4, !tbaa !5
  %14233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14224, ptr noundef nonnull %.str.5.sink6807, i32 noundef %14225, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 1492, ptr noundef %14227, ptr noundef %14229, ptr noundef %14231, i32 noundef %14232) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14234:                                            ; preds = %14206
  %14235 = load i32, ptr @test_count, align 4, !tbaa !5
  %14236 = add nsw i32 %14235, 1
  store i32 %14236, ptr @test_count, align 4, !tbaa !5
  %14237 = load ptr, ptr %129, align 8, !tbaa !9
  %14238 = call i32 @s2n_psk_set_identity(ptr noundef %14237, ptr noundef nonnull %5, i16 noundef zeroext 14) #13
  %14239 = icmp eq i32 %14238, -1
  br i1 %14239, label %14240, label %14262

14240:                                            ; preds = %14234
  %14241 = load i32, ptr %377, align 4, !tbaa !5
  %14242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14243 = call i32 @s2n_print_stacktrace(ptr noundef %14242) #13
  %14244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14245 = trunc nuw i8 %14244 to i1
  br i1 %14245, label %14246, label %14250

14246:                                            ; preds = %14240
  %14247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14248 = call i32 @fileno(ptr noundef %14247) #13
  %14249 = call i32 @isatty(i32 noundef %14248) #13
  %.not1930 = icmp eq i32 %14249, 0
  br i1 %.not1930, label %14250, label %14251

14250:                                            ; preds = %14246, %14240
  br label %14251

14251:                                            ; preds = %14246, %14250
  %.str.5.sink6816 = phi ptr [ @.str.5, %14250 ], [ @.str.2, %14246 ]
  store i32 %14241, ptr %377, align 4, !tbaa !5
  %14252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14253 = load i32, ptr @test_count, align 4, !tbaa !5
  %14254 = load i32, ptr %323, align 4, !tbaa !5
  %14255 = call ptr @s2n_strerror(i32 noundef %14254, ptr noundef nonnull @.str.4) #13
  %14256 = load i32, ptr %323, align 4, !tbaa !5
  %14257 = call ptr @s2n_strerror_debug(i32 noundef %14256, ptr noundef nonnull @.str.4) #13
  %14258 = load i32, ptr %377, align 4, !tbaa !5
  %14259 = call ptr @strerror(i32 noundef %14258) #13
  %14260 = load i32, ptr %377, align 4, !tbaa !5
  %14261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14252, ptr noundef nonnull %.str.5.sink6816, i32 noundef %14253, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.1, i32 noundef 1493, ptr noundef %14255, ptr noundef %14257, ptr noundef %14259, i32 noundef %14260) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14262:                                            ; preds = %14234
  %14263 = load i32, ptr @test_count, align 4, !tbaa !5
  %14264 = add nsw i32 %14263, 1
  store i32 %14264, ptr @test_count, align 4, !tbaa !5
  %14265 = load ptr, ptr %129, align 8, !tbaa !9
  %14266 = call i32 @s2n_psk_set_secret(ptr noundef %14265, ptr noundef nonnull %8, i16 noundef zeroext 12) #13
  %14267 = icmp eq i32 %14266, -1
  br i1 %14267, label %14268, label %14290

14268:                                            ; preds = %14262
  %14269 = load i32, ptr %377, align 4, !tbaa !5
  %14270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14271 = call i32 @s2n_print_stacktrace(ptr noundef %14270) #13
  %14272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14273 = trunc nuw i8 %14272 to i1
  br i1 %14273, label %14274, label %14278

14274:                                            ; preds = %14268
  %14275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14276 = call i32 @fileno(ptr noundef %14275) #13
  %14277 = call i32 @isatty(i32 noundef %14276) #13
  %.not1929 = icmp eq i32 %14277, 0
  br i1 %.not1929, label %14278, label %14279

14278:                                            ; preds = %14274, %14268
  br label %14279

14279:                                            ; preds = %14274, %14278
  %.str.5.sink6825 = phi ptr [ @.str.5, %14278 ], [ @.str.2, %14274 ]
  store i32 %14269, ptr %377, align 4, !tbaa !5
  %14280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14281 = load i32, ptr @test_count, align 4, !tbaa !5
  %14282 = load i32, ptr %323, align 4, !tbaa !5
  %14283 = call ptr @s2n_strerror(i32 noundef %14282, ptr noundef nonnull @.str.4) #13
  %14284 = load i32, ptr %323, align 4, !tbaa !5
  %14285 = call ptr @s2n_strerror_debug(i32 noundef %14284, ptr noundef nonnull @.str.4) #13
  %14286 = load i32, ptr %377, align 4, !tbaa !5
  %14287 = call ptr @strerror(i32 noundef %14286) #13
  %14288 = load i32, ptr %377, align 4, !tbaa !5
  %14289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14280, ptr noundef nonnull %.str.5.sink6825, i32 noundef %14281, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.1, i32 noundef 1494, ptr noundef %14283, ptr noundef %14285, ptr noundef %14287, i32 noundef %14288) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14290:                                            ; preds = %14262
  %14291 = load i32, ptr @test_count, align 4, !tbaa !5
  %14292 = add nsw i32 %14291, 1
  store i32 %14292, ptr @test_count, align 4, !tbaa !5
  %14293 = call i32 @s2n_client_hello_send(ptr noundef nonnull %13631) #13
  %14294 = icmp eq i32 %14293, -1
  br i1 %14294, label %14295, label %14317

14295:                                            ; preds = %14290
  %14296 = load i32, ptr %377, align 4, !tbaa !5
  %14297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14298 = call i32 @s2n_print_stacktrace(ptr noundef %14297) #13
  %14299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14300 = trunc nuw i8 %14299 to i1
  br i1 %14300, label %14301, label %14305

14301:                                            ; preds = %14295
  %14302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14303 = call i32 @fileno(ptr noundef %14302) #13
  %14304 = call i32 @isatty(i32 noundef %14303) #13
  %.not1928 = icmp eq i32 %14304, 0
  br i1 %.not1928, label %14305, label %14306

14305:                                            ; preds = %14301, %14295
  br label %14306

14306:                                            ; preds = %14301, %14305
  %.str.5.sink6834 = phi ptr [ @.str.5, %14305 ], [ @.str.2, %14301 ]
  store i32 %14296, ptr %377, align 4, !tbaa !5
  %14307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14308 = load i32, ptr @test_count, align 4, !tbaa !5
  %14309 = load i32, ptr %323, align 4, !tbaa !5
  %14310 = call ptr @s2n_strerror(i32 noundef %14309, ptr noundef nonnull @.str.4) #13
  %14311 = load i32, ptr %323, align 4, !tbaa !5
  %14312 = call ptr @s2n_strerror_debug(i32 noundef %14311, ptr noundef nonnull @.str.4) #13
  %14313 = load i32, ptr %377, align 4, !tbaa !5
  %14314 = call ptr @strerror(i32 noundef %14313) #13
  %14315 = load i32, ptr %377, align 4, !tbaa !5
  %14316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14307, ptr noundef nonnull %.str.5.sink6834, i32 noundef %14308, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.1, i32 noundef 1496, ptr noundef %14310, ptr noundef %14312, ptr noundef %14314, i32 noundef %14315) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14317:                                            ; preds = %14290
  %14318 = load i32, ptr @test_count, align 4, !tbaa !5
  %14319 = add nsw i32 %14318, 1
  store i32 %14319, ptr @test_count, align 4, !tbaa !5
  %14320 = getelementptr inbounds i8, ptr %13631, i64 2016
  %14321 = getelementptr inbounds i8, ptr %13658, i64 2016
  %14322 = getelementptr inbounds i8, ptr %13631, i64 2044
  %14323 = load i32, ptr %14322, align 4, !tbaa !95
  %14324 = getelementptr inbounds i8, ptr %13631, i64 2040
  %14325 = load i32, ptr %14324, align 8, !tbaa !96
  %14326 = sub i32 %14323, %14325
  %14327 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %14320, ptr noundef nonnull %14321, i32 noundef %14326) #13
  %14328 = icmp eq i32 %14327, -1
  br i1 %14328, label %14329, label %14351

14329:                                            ; preds = %14317
  %14330 = load i32, ptr %377, align 4, !tbaa !5
  %14331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14332 = call i32 @s2n_print_stacktrace(ptr noundef %14331) #13
  %14333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14334 = trunc nuw i8 %14333 to i1
  br i1 %14334, label %14335, label %14339

14335:                                            ; preds = %14329
  %14336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14337 = call i32 @fileno(ptr noundef %14336) #13
  %14338 = call i32 @isatty(i32 noundef %14337) #13
  %.not1927 = icmp eq i32 %14338, 0
  br i1 %.not1927, label %14339, label %14340

14339:                                            ; preds = %14335, %14329
  br label %14340

14340:                                            ; preds = %14335, %14339
  %.str.5.sink6843 = phi ptr [ @.str.5, %14339 ], [ @.str.2, %14335 ]
  store i32 %14330, ptr %377, align 4, !tbaa !5
  %14341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14342 = load i32, ptr @test_count, align 4, !tbaa !5
  %14343 = load i32, ptr %323, align 4, !tbaa !5
  %14344 = call ptr @s2n_strerror(i32 noundef %14343, ptr noundef nonnull @.str.4) #13
  %14345 = load i32, ptr %323, align 4, !tbaa !5
  %14346 = call ptr @s2n_strerror_debug(i32 noundef %14345, ptr noundef nonnull @.str.4) #13
  %14347 = load i32, ptr %377, align 4, !tbaa !5
  %14348 = call ptr @strerror(i32 noundef %14347) #13
  %14349 = load i32, ptr %377, align 4, !tbaa !5
  %14350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14341, ptr noundef nonnull %.str.5.sink6843, i32 noundef %14342, ptr noundef nonnull @.str.222, ptr noundef nonnull @.str.1, i32 noundef 1498, ptr noundef %14344, ptr noundef %14346, ptr noundef %14348, i32 noundef %14349) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14351:                                            ; preds = %14317
  %14352 = load i32, ptr @test_count, align 4, !tbaa !5
  %14353 = add nsw i32 %14352, 1
  store i32 %14353, ptr @test_count, align 4, !tbaa !5
  %14354 = call i32 @s2n_client_hello_recv(ptr noundef nonnull %13658) #13
  %14355 = icmp eq i32 %14354, -1
  br i1 %14355, label %14356, label %14378

14356:                                            ; preds = %14351
  %14357 = load i32, ptr %377, align 4, !tbaa !5
  %14358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14359 = call i32 @s2n_print_stacktrace(ptr noundef %14358) #13
  %14360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14361 = trunc nuw i8 %14360 to i1
  br i1 %14361, label %14362, label %14366

14362:                                            ; preds = %14356
  %14363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14364 = call i32 @fileno(ptr noundef %14363) #13
  %14365 = call i32 @isatty(i32 noundef %14364) #13
  %.not1926 = icmp eq i32 %14365, 0
  br i1 %.not1926, label %14366, label %14367

14366:                                            ; preds = %14362, %14356
  br label %14367

14367:                                            ; preds = %14362, %14366
  %.str.5.sink6852 = phi ptr [ @.str.5, %14366 ], [ @.str.2, %14362 ]
  store i32 %14357, ptr %377, align 4, !tbaa !5
  %14368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14369 = load i32, ptr @test_count, align 4, !tbaa !5
  %14370 = load i32, ptr %323, align 4, !tbaa !5
  %14371 = call ptr @s2n_strerror(i32 noundef %14370, ptr noundef nonnull @.str.4) #13
  %14372 = load i32, ptr %323, align 4, !tbaa !5
  %14373 = call ptr @s2n_strerror_debug(i32 noundef %14372, ptr noundef nonnull @.str.4) #13
  %14374 = load i32, ptr %377, align 4, !tbaa !5
  %14375 = call ptr @strerror(i32 noundef %14374) #13
  %14376 = load i32, ptr %377, align 4, !tbaa !5
  %14377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14368, ptr noundef nonnull %.str.5.sink6852, i32 noundef %14369, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.1, i32 noundef 1499, ptr noundef %14371, ptr noundef %14373, ptr noundef %14375, i32 noundef %14376) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14378:                                            ; preds = %14351
  %14379 = load i32, ptr @test_count, align 4, !tbaa !5
  %14380 = add nsw i32 %14379, 1
  store i32 %14380, ptr @test_count, align 4, !tbaa !5
  %14381 = getelementptr inbounds i8, ptr %13658, i64 1730
  %14382 = load i16, ptr %14381, align 2, !tbaa !87
  %14383 = icmp eq i16 %14382, 1
  br i1 %14383, label %14406, label %14384

14384:                                            ; preds = %14378
  %14385 = load i32, ptr %377, align 4, !tbaa !5
  %14386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14387 = call i32 @s2n_print_stacktrace(ptr noundef %14386) #13
  %14388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14389 = trunc nuw i8 %14388 to i1
  br i1 %14389, label %14390, label %14394

14390:                                            ; preds = %14384
  %14391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14392 = call i32 @fileno(ptr noundef %14391) #13
  %14393 = call i32 @isatty(i32 noundef %14392) #13
  %.not1869 = icmp eq i32 %14393, 0
  br i1 %.not1869, label %14394, label %14395

14394:                                            ; preds = %14390, %14384
  br label %14395

14395:                                            ; preds = %14390, %14394
  %.str.5.sink6861 = phi ptr [ @.str.5, %14394 ], [ @.str.2, %14390 ]
  store i32 %14385, ptr %377, align 4, !tbaa !5
  %14396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14397 = load i32, ptr @test_count, align 4, !tbaa !5
  %14398 = load i32, ptr %323, align 4, !tbaa !5
  %14399 = call ptr @s2n_strerror(i32 noundef %14398, ptr noundef nonnull @.str.4) #13
  %14400 = load i32, ptr %323, align 4, !tbaa !5
  %14401 = call ptr @s2n_strerror_debug(i32 noundef %14400, ptr noundef nonnull @.str.4) #13
  %14402 = load i32, ptr %377, align 4, !tbaa !5
  %14403 = call ptr @strerror(i32 noundef %14402) #13
  %14404 = load i32, ptr %377, align 4, !tbaa !5
  %14405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14396, ptr noundef nonnull %.str.5.sink6861, i32 noundef %14397, ptr noundef nonnull @.str.224, ptr noundef nonnull @.str.1, i32 noundef 1502, ptr noundef %14399, ptr noundef %14401, ptr noundef %14403, i32 noundef %14404) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14406:                                            ; preds = %14378
  %14407 = add nsw i32 %14379, 2
  store i32 %14407, ptr @test_count, align 4, !tbaa !5
  %14408 = getelementptr inbounds i8, ptr %13658, i64 1736
  %14409 = load ptr, ptr %14408, align 8, !tbaa !88
  %14410 = load ptr, ptr %129, align 8, !tbaa !9
  %14411 = icmp eq ptr %14409, %14410
  br i1 %14411, label %14434, label %14412

14412:                                            ; preds = %14406
  %14413 = load i32, ptr %377, align 4, !tbaa !5
  %14414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14415 = call i32 @s2n_print_stacktrace(ptr noundef %14414) #13
  %14416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14417 = trunc nuw i8 %14416 to i1
  br i1 %14417, label %14418, label %14422

14418:                                            ; preds = %14412
  %14419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14420 = call i32 @fileno(ptr noundef %14419) #13
  %14421 = call i32 @isatty(i32 noundef %14420) #13
  %.not1870 = icmp eq i32 %14421, 0
  br i1 %.not1870, label %14422, label %14423

14422:                                            ; preds = %14418, %14412
  br label %14423

14423:                                            ; preds = %14418, %14422
  %.str.5.sink6870 = phi ptr [ @.str.5, %14422 ], [ @.str.2, %14418 ]
  store i32 %14413, ptr %377, align 4, !tbaa !5
  %14424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14425 = load i32, ptr @test_count, align 4, !tbaa !5
  %14426 = load i32, ptr %323, align 4, !tbaa !5
  %14427 = call ptr @s2n_strerror(i32 noundef %14426, ptr noundef nonnull @.str.4) #13
  %14428 = load i32, ptr %323, align 4, !tbaa !5
  %14429 = call ptr @s2n_strerror_debug(i32 noundef %14428, ptr noundef nonnull @.str.4) #13
  %14430 = load i32, ptr %377, align 4, !tbaa !5
  %14431 = call ptr @strerror(i32 noundef %14430) #13
  %14432 = load i32, ptr %377, align 4, !tbaa !5
  %14433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14424, ptr noundef nonnull %.str.5.sink6870, i32 noundef %14425, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.1, i32 noundef 1503, ptr noundef %14427, ptr noundef %14429, ptr noundef %14431, i32 noundef %14432) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14434:                                            ; preds = %14406
  %14435 = add nsw i32 %14379, 3
  store i32 %14435, ptr @test_count, align 4, !tbaa !5
  %14436 = getelementptr inbounds i8, ptr %14410, i64 40
  %14437 = load i32, ptr %14436, align 8, !tbaa !97
  %14438 = icmp eq i32 %14437, 12
  br i1 %14438, label %14461, label %14439

14439:                                            ; preds = %14434
  %14440 = load i32, ptr %377, align 4, !tbaa !5
  %14441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14442 = call i32 @s2n_print_stacktrace(ptr noundef %14441) #13
  %14443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14444 = trunc nuw i8 %14443 to i1
  br i1 %14444, label %14445, label %14449

14445:                                            ; preds = %14439
  %14446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14447 = call i32 @fileno(ptr noundef %14446) #13
  %14448 = call i32 @isatty(i32 noundef %14447) #13
  %.not1871 = icmp eq i32 %14448, 0
  br i1 %.not1871, label %14449, label %14450

14449:                                            ; preds = %14445, %14439
  br label %14450

14450:                                            ; preds = %14445, %14449
  %.str.5.sink6879 = phi ptr [ @.str.5, %14449 ], [ @.str.2, %14445 ]
  store i32 %14440, ptr %377, align 4, !tbaa !5
  %14451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14452 = load i32, ptr @test_count, align 4, !tbaa !5
  %14453 = load i32, ptr %323, align 4, !tbaa !5
  %14454 = call ptr @s2n_strerror(i32 noundef %14453, ptr noundef nonnull @.str.4) #13
  %14455 = load i32, ptr %323, align 4, !tbaa !5
  %14456 = call ptr @s2n_strerror_debug(i32 noundef %14455, ptr noundef nonnull @.str.4) #13
  %14457 = load i32, ptr %377, align 4, !tbaa !5
  %14458 = call ptr @strerror(i32 noundef %14457) #13
  %14459 = load i32, ptr %377, align 4, !tbaa !5
  %14460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14451, ptr noundef nonnull %.str.5.sink6879, i32 noundef %14452, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.1, i32 noundef 1504, ptr noundef %14454, ptr noundef %14456, ptr noundef %14458, i32 noundef %14459) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14461:                                            ; preds = %14434
  %14462 = add nsw i32 %14379, 4
  store i32 %14462, ptr @test_count, align 4, !tbaa !5
  %14463 = getelementptr inbounds i8, ptr %14410, i64 32
  %14464 = load ptr, ptr %14463, align 8, !tbaa !98
  %bcmp1872 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %14464, ptr noundef nonnull dereferenceable(12) %8, i64 12)
  %14465 = icmp eq i32 %bcmp1872, 0
  br i1 %14465, label %14488, label %14466

14466:                                            ; preds = %14461
  %14467 = load i32, ptr %377, align 4, !tbaa !5
  %14468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14469 = call i32 @s2n_print_stacktrace(ptr noundef %14468) #13
  %14470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14471 = trunc nuw i8 %14470 to i1
  br i1 %14471, label %14472, label %14476

14472:                                            ; preds = %14466
  %14473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14474 = call i32 @fileno(ptr noundef %14473) #13
  %14475 = call i32 @isatty(i32 noundef %14474) #13
  %.not1873 = icmp eq i32 %14475, 0
  br i1 %.not1873, label %14476, label %14477

14476:                                            ; preds = %14472, %14466
  br label %14477

14477:                                            ; preds = %14472, %14476
  %.str.5.sink6888 = phi ptr [ @.str.5, %14476 ], [ @.str.2, %14472 ]
  store i32 %14467, ptr %377, align 4, !tbaa !5
  %14478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14479 = load i32, ptr @test_count, align 4, !tbaa !5
  %14480 = load i32, ptr %323, align 4, !tbaa !5
  %14481 = call ptr @s2n_strerror(i32 noundef %14480, ptr noundef nonnull @.str.4) #13
  %14482 = load i32, ptr %323, align 4, !tbaa !5
  %14483 = call ptr @s2n_strerror_debug(i32 noundef %14482, ptr noundef nonnull @.str.4) #13
  %14484 = load i32, ptr %377, align 4, !tbaa !5
  %14485 = call ptr @strerror(i32 noundef %14484) #13
  %14486 = load i32, ptr %377, align 4, !tbaa !5
  %14487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14478, ptr noundef nonnull %.str.5.sink6888, i32 noundef %14479, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.1, i32 noundef 1505, ptr noundef %14481, ptr noundef %14483, ptr noundef %14485, i32 noundef %14486) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14488:                                            ; preds = %14461
  %14489 = add nsw i32 %14379, 5
  store i32 %14489, ptr @test_count, align 4, !tbaa !5
  %14490 = call i32 @s2n_connection_free(ptr noundef nonnull %13658) #13
  %14491 = icmp eq i32 %14490, -1
  br i1 %14491, label %14492, label %14514

14492:                                            ; preds = %14488
  %14493 = load i32, ptr %377, align 4, !tbaa !5
  %14494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14495 = call i32 @s2n_print_stacktrace(ptr noundef %14494) #13
  %14496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14497 = trunc nuw i8 %14496 to i1
  br i1 %14497, label %14498, label %14502

14498:                                            ; preds = %14492
  %14499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14500 = call i32 @fileno(ptr noundef %14499) #13
  %14501 = call i32 @isatty(i32 noundef %14500) #13
  %.not1925 = icmp eq i32 %14501, 0
  br i1 %.not1925, label %14502, label %14503

14502:                                            ; preds = %14498, %14492
  br label %14503

14503:                                            ; preds = %14498, %14502
  %.str.5.sink6897 = phi ptr [ @.str.5, %14502 ], [ @.str.2, %14498 ]
  store i32 %14493, ptr %377, align 4, !tbaa !5
  %14504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14505 = load i32, ptr @test_count, align 4, !tbaa !5
  %14506 = load i32, ptr %323, align 4, !tbaa !5
  %14507 = call ptr @s2n_strerror(i32 noundef %14506, ptr noundef nonnull @.str.4) #13
  %14508 = load i32, ptr %323, align 4, !tbaa !5
  %14509 = call ptr @s2n_strerror_debug(i32 noundef %14508, ptr noundef nonnull @.str.4) #13
  %14510 = load i32, ptr %377, align 4, !tbaa !5
  %14511 = call ptr @strerror(i32 noundef %14510) #13
  %14512 = load i32, ptr %377, align 4, !tbaa !5
  %14513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14504, ptr noundef nonnull %.str.5.sink6897, i32 noundef %14505, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.1, i32 noundef 1507, ptr noundef %14507, ptr noundef %14509, ptr noundef %14511, i32 noundef %14512) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14514:                                            ; preds = %14488
  %14515 = load i32, ptr @test_count, align 4, !tbaa !5
  %14516 = add nsw i32 %14515, 1
  store i32 %14516, ptr @test_count, align 4, !tbaa !5
  %14517 = call i32 @s2n_connection_free(ptr noundef nonnull %13631) #13
  %14518 = icmp eq i32 %14517, -1
  br i1 %14518, label %14519, label %14541

14519:                                            ; preds = %14514
  %14520 = load i32, ptr %377, align 4, !tbaa !5
  %14521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14522 = call i32 @s2n_print_stacktrace(ptr noundef %14521) #13
  %14523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14524 = trunc nuw i8 %14523 to i1
  br i1 %14524, label %14525, label %14529

14525:                                            ; preds = %14519
  %14526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14527 = call i32 @fileno(ptr noundef %14526) #13
  %14528 = call i32 @isatty(i32 noundef %14527) #13
  %.not1924 = icmp eq i32 %14528, 0
  br i1 %.not1924, label %14529, label %14530

14529:                                            ; preds = %14525, %14519
  br label %14530

14530:                                            ; preds = %14525, %14529
  %.str.5.sink6906 = phi ptr [ @.str.5, %14529 ], [ @.str.2, %14525 ]
  store i32 %14520, ptr %377, align 4, !tbaa !5
  %14531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14532 = load i32, ptr @test_count, align 4, !tbaa !5
  %14533 = load i32, ptr %323, align 4, !tbaa !5
  %14534 = call ptr @s2n_strerror(i32 noundef %14533, ptr noundef nonnull @.str.4) #13
  %14535 = load i32, ptr %323, align 4, !tbaa !5
  %14536 = call ptr @s2n_strerror_debug(i32 noundef %14535, ptr noundef nonnull @.str.4) #13
  %14537 = load i32, ptr %377, align 4, !tbaa !5
  %14538 = call ptr @strerror(i32 noundef %14537) #13
  %14539 = load i32, ptr %377, align 4, !tbaa !5
  %14540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14531, ptr noundef nonnull %.str.5.sink6906, i32 noundef %14532, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 1508, ptr noundef %14534, ptr noundef %14536, ptr noundef %14538, i32 noundef %14539) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14541:                                            ; preds = %14514
  %14542 = load i32, ptr @test_count, align 4, !tbaa !5
  %14543 = add nsw i32 %14542, 1
  store i32 %14543, ptr @test_count, align 4, !tbaa !5
  %14544 = call i32 @s2n_io_pair_close(ptr noundef nonnull %124) #13
  %14545 = icmp eq i32 %14544, -1
  br i1 %14545, label %14546, label %14568

14546:                                            ; preds = %14541
  %14547 = load i32, ptr %377, align 4, !tbaa !5
  %14548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14549 = call i32 @s2n_print_stacktrace(ptr noundef %14548) #13
  %14550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14551 = trunc nuw i8 %14550 to i1
  br i1 %14551, label %14552, label %14556

14552:                                            ; preds = %14546
  %14553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14554 = call i32 @fileno(ptr noundef %14553) #13
  %14555 = call i32 @isatty(i32 noundef %14554) #13
  %.not1923 = icmp eq i32 %14555, 0
  br i1 %.not1923, label %14556, label %14557

14556:                                            ; preds = %14552, %14546
  br label %14557

14557:                                            ; preds = %14552, %14556
  %.str.5.sink6915 = phi ptr [ @.str.5, %14556 ], [ @.str.2, %14552 ]
  store i32 %14547, ptr %377, align 4, !tbaa !5
  %14558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14559 = load i32, ptr @test_count, align 4, !tbaa !5
  %14560 = load i32, ptr %323, align 4, !tbaa !5
  %14561 = call ptr @s2n_strerror(i32 noundef %14560, ptr noundef nonnull @.str.4) #13
  %14562 = load i32, ptr %323, align 4, !tbaa !5
  %14563 = call ptr @s2n_strerror_debug(i32 noundef %14562, ptr noundef nonnull @.str.4) #13
  %14564 = load i32, ptr %377, align 4, !tbaa !5
  %14565 = call ptr @strerror(i32 noundef %14564) #13
  %14566 = load i32, ptr %377, align 4, !tbaa !5
  %14567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14558, ptr noundef nonnull %.str.5.sink6915, i32 noundef %14559, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.1, i32 noundef 1509, ptr noundef %14561, ptr noundef %14563, ptr noundef %14565, i32 noundef %14566) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14568:                                            ; preds = %14541
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #13
  call void @llvm.lifetime.end.p0(i64 18, ptr nonnull %127) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %126) #13
  call void @llvm.lifetime.end.p0(i64 18, ptr nonnull %125) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %124) #13
  br label %14569

14569:                                            ; preds = %14568, %13626
  %14570 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #13
  br i1 %14570, label %14571, label %15726

14571:                                            ; preds = %14569
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %130) #13
  store ptr null, ptr %130, align 8, !tbaa !9
  %14572 = load i32, ptr @test_count, align 4, !tbaa !5
  %14573 = add nsw i32 %14572, 1
  store i32 %14573, ptr @test_count, align 4, !tbaa !5
  %14574 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %130, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.59) #13
  %14575 = icmp eq i32 %14574, -1
  br i1 %14575, label %14576, label %14598

14576:                                            ; preds = %14571
  %14577 = load i32, ptr %377, align 4, !tbaa !5
  %14578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14579 = call i32 @s2n_print_stacktrace(ptr noundef %14578) #13
  %14580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14581 = trunc nuw i8 %14580 to i1
  br i1 %14581, label %14582, label %14586

14582:                                            ; preds = %14576
  %14583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14584 = call i32 @fileno(ptr noundef %14583) #13
  %14585 = call i32 @isatty(i32 noundef %14584) #13
  %.not1922 = icmp eq i32 %14585, 0
  br i1 %.not1922, label %14586, label %14587

14586:                                            ; preds = %14582, %14576
  br label %14587

14587:                                            ; preds = %14582, %14586
  %.str.5.sink6924 = phi ptr [ @.str.5, %14586 ], [ @.str.2, %14582 ]
  store i32 %14577, ptr %377, align 4, !tbaa !5
  %14588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14589 = load i32, ptr @test_count, align 4, !tbaa !5
  %14590 = load i32, ptr %323, align 4, !tbaa !5
  %14591 = call ptr @s2n_strerror(i32 noundef %14590, ptr noundef nonnull @.str.4) #13
  %14592 = load i32, ptr %323, align 4, !tbaa !5
  %14593 = call ptr @s2n_strerror_debug(i32 noundef %14592, ptr noundef nonnull @.str.4) #13
  %14594 = load i32, ptr %377, align 4, !tbaa !5
  %14595 = call ptr @strerror(i32 noundef %14594) #13
  %14596 = load i32, ptr %377, align 4, !tbaa !5
  %14597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14588, ptr noundef nonnull %.str.5.sink6924, i32 noundef %14589, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 1527, ptr noundef %14591, ptr noundef %14593, ptr noundef %14595, i32 noundef %14596) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14598:                                            ; preds = %14571
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %131) #13
  %14599 = call ptr @s2n_config_new() #13
  store ptr %14599, ptr %131, align 8, !tbaa !9
  %14600 = load i32, ptr @test_count, align 4, !tbaa !5
  %14601 = add nsw i32 %14600, 1
  store i32 %14601, ptr @test_count, align 4, !tbaa !5
  %14602 = load ptr, ptr %130, align 8, !tbaa !9
  %14603 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %14599, ptr noundef %14602) #13
  %14604 = icmp eq i32 %14603, -1
  br i1 %14604, label %14605, label %14627

14605:                                            ; preds = %14598
  %14606 = load i32, ptr %377, align 4, !tbaa !5
  %14607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14608 = call i32 @s2n_print_stacktrace(ptr noundef %14607) #13
  %14609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14610 = trunc nuw i8 %14609 to i1
  br i1 %14610, label %14611, label %14615

14611:                                            ; preds = %14605
  %14612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14613 = call i32 @fileno(ptr noundef %14612) #13
  %14614 = call i32 @isatty(i32 noundef %14613) #13
  %.not1921 = icmp eq i32 %14614, 0
  br i1 %.not1921, label %14615, label %14616

14615:                                            ; preds = %14611, %14605
  br label %14616

14616:                                            ; preds = %14611, %14615
  %.str.5.sink6933 = phi ptr [ @.str.5, %14615 ], [ @.str.2, %14611 ]
  store i32 %14606, ptr %377, align 4, !tbaa !5
  %14617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14618 = load i32, ptr @test_count, align 4, !tbaa !5
  %14619 = load i32, ptr %323, align 4, !tbaa !5
  %14620 = call ptr @s2n_strerror(i32 noundef %14619, ptr noundef nonnull @.str.4) #13
  %14621 = load i32, ptr %323, align 4, !tbaa !5
  %14622 = call ptr @s2n_strerror_debug(i32 noundef %14621, ptr noundef nonnull @.str.4) #13
  %14623 = load i32, ptr %377, align 4, !tbaa !5
  %14624 = call ptr @strerror(i32 noundef %14623) #13
  %14625 = load i32, ptr %377, align 4, !tbaa !5
  %14626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14617, ptr noundef nonnull %.str.5.sink6933, i32 noundef %14618, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 1531, ptr noundef %14620, ptr noundef %14622, ptr noundef %14624, i32 noundef %14625) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14627:                                            ; preds = %14598
  %14628 = load i32, ptr @test_count, align 4, !tbaa !5
  %14629 = add nsw i32 %14628, 1
  store i32 %14629, ptr @test_count, align 4, !tbaa !5
  %14630 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %14599, ptr noundef nonnull @.str.62) #13
  %14631 = icmp eq i32 %14630, -1
  br i1 %14631, label %14632, label %14654

14632:                                            ; preds = %14627
  %14633 = load i32, ptr %377, align 4, !tbaa !5
  %14634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14635 = call i32 @s2n_print_stacktrace(ptr noundef %14634) #13
  %14636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14637 = trunc nuw i8 %14636 to i1
  br i1 %14637, label %14638, label %14642

14638:                                            ; preds = %14632
  %14639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14640 = call i32 @fileno(ptr noundef %14639) #13
  %14641 = call i32 @isatty(i32 noundef %14640) #13
  %.not1920 = icmp eq i32 %14641, 0
  br i1 %.not1920, label %14642, label %14643

14642:                                            ; preds = %14638, %14632
  br label %14643

14643:                                            ; preds = %14638, %14642
  %.str.5.sink6942 = phi ptr [ @.str.5, %14642 ], [ @.str.2, %14638 ]
  store i32 %14633, ptr %377, align 4, !tbaa !5
  %14644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14645 = load i32, ptr @test_count, align 4, !tbaa !5
  %14646 = load i32, ptr %323, align 4, !tbaa !5
  %14647 = call ptr @s2n_strerror(i32 noundef %14646, ptr noundef nonnull @.str.4) #13
  %14648 = load i32, ptr %323, align 4, !tbaa !5
  %14649 = call ptr @s2n_strerror_debug(i32 noundef %14648, ptr noundef nonnull @.str.4) #13
  %14650 = load i32, ptr %377, align 4, !tbaa !5
  %14651 = call ptr @strerror(i32 noundef %14650) #13
  %14652 = load i32, ptr %377, align 4, !tbaa !5
  %14653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14644, ptr noundef nonnull %.str.5.sink6942, i32 noundef %14645, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 1532, ptr noundef %14647, ptr noundef %14649, ptr noundef %14651, i32 noundef %14652) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14654:                                            ; preds = %14627
  %14655 = load i32, ptr @test_count, align 4, !tbaa !5
  %14656 = add nsw i32 %14655, 1
  store i32 %14656, ptr @test_count, align 4, !tbaa !5
  %14657 = call i32 @s2n_config_disable_x509_verification(ptr noundef %14599) #13
  %14658 = icmp eq i32 %14657, -1
  br i1 %14658, label %14659, label %14681

14659:                                            ; preds = %14654
  %14660 = load i32, ptr %377, align 4, !tbaa !5
  %14661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14662 = call i32 @s2n_print_stacktrace(ptr noundef %14661) #13
  %14663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14664 = trunc nuw i8 %14663 to i1
  br i1 %14664, label %14665, label %14669

14665:                                            ; preds = %14659
  %14666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14667 = call i32 @fileno(ptr noundef %14666) #13
  %14668 = call i32 @isatty(i32 noundef %14667) #13
  %.not1919 = icmp eq i32 %14668, 0
  br i1 %.not1919, label %14669, label %14670

14669:                                            ; preds = %14665, %14659
  br label %14670

14670:                                            ; preds = %14665, %14669
  %.str.5.sink6951 = phi ptr [ @.str.5, %14669 ], [ @.str.2, %14665 ]
  store i32 %14660, ptr %377, align 4, !tbaa !5
  %14671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14672 = load i32, ptr @test_count, align 4, !tbaa !5
  %14673 = load i32, ptr %323, align 4, !tbaa !5
  %14674 = call ptr @s2n_strerror(i32 noundef %14673, ptr noundef nonnull @.str.4) #13
  %14675 = load i32, ptr %323, align 4, !tbaa !5
  %14676 = call ptr @s2n_strerror_debug(i32 noundef %14675, ptr noundef nonnull @.str.4) #13
  %14677 = load i32, ptr %377, align 4, !tbaa !5
  %14678 = call ptr @strerror(i32 noundef %14677) #13
  %14679 = load i32, ptr %377, align 4, !tbaa !5
  %14680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14671, ptr noundef nonnull %.str.5.sink6951, i32 noundef %14672, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 1533, ptr noundef %14674, ptr noundef %14676, ptr noundef %14678, i32 noundef %14679) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14681:                                            ; preds = %14654
  %14682 = load i32, ptr @test_count, align 4, !tbaa !5
  %14683 = add nsw i32 %14682, 1
  store i32 %14683, ptr @test_count, align 4, !tbaa !5
  %14684 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %14599) #13
  %14685 = call zeroext i1 @s2n_result_is_ok(i32 %14684)
  br i1 %14685, label %14708, label %14686

14686:                                            ; preds = %14681
  %14687 = load i32, ptr %377, align 4, !tbaa !5
  %14688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14689 = call i32 @s2n_print_stacktrace(ptr noundef %14688) #13
  %14690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14691 = trunc nuw i8 %14690 to i1
  br i1 %14691, label %14692, label %14696

14692:                                            ; preds = %14686
  %14693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14694 = call i32 @fileno(ptr noundef %14693) #13
  %14695 = call i32 @isatty(i32 noundef %14694) #13
  %.not1874 = icmp eq i32 %14695, 0
  br i1 %.not1874, label %14696, label %14697

14696:                                            ; preds = %14692, %14686
  br label %14697

14697:                                            ; preds = %14692, %14696
  %.str.5.sink6960 = phi ptr [ @.str.5, %14696 ], [ @.str.2, %14692 ]
  store i32 %14687, ptr %377, align 4, !tbaa !5
  %14698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14699 = load i32, ptr @test_count, align 4, !tbaa !5
  %14700 = load i32, ptr %323, align 4, !tbaa !5
  %14701 = call ptr @s2n_strerror(i32 noundef %14700, ptr noundef nonnull @.str.4) #13
  %14702 = load i32, ptr %323, align 4, !tbaa !5
  %14703 = call ptr @s2n_strerror_debug(i32 noundef %14702, ptr noundef nonnull @.str.4) #13
  %14704 = load i32, ptr %377, align 4, !tbaa !5
  %14705 = call ptr @strerror(i32 noundef %14704) #13
  %14706 = load i32, ptr %377, align 4, !tbaa !5
  %14707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14698, ptr noundef nonnull %.str.5.sink6960, i32 noundef %14699, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 1534, ptr noundef %14701, ptr noundef %14703, ptr noundef %14705, i32 noundef %14706) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14708:                                            ; preds = %14681
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %132) #13
  %14709 = call ptr @s2n_connection_new(i32 noundef 0) #13
  store ptr %14709, ptr %132, align 8, !tbaa !9
  %14710 = load i32, ptr @test_count, align 4, !tbaa !5
  %14711 = add nsw i32 %14710, 1
  store i32 %14711, ptr @test_count, align 4, !tbaa !5
  %14712 = icmp eq ptr %14709, null
  br i1 %14712, label %14713, label %14735

14713:                                            ; preds = %14708
  %14714 = load i32, ptr %377, align 4, !tbaa !5
  %14715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14716 = call i32 @s2n_print_stacktrace(ptr noundef %14715) #13
  %14717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14718 = trunc nuw i8 %14717 to i1
  br i1 %14718, label %14719, label %14723

14719:                                            ; preds = %14713
  %14720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14721 = call i32 @fileno(ptr noundef %14720) #13
  %14722 = call i32 @isatty(i32 noundef %14721) #13
  %.not1918 = icmp eq i32 %14722, 0
  br i1 %.not1918, label %14723, label %14724

14723:                                            ; preds = %14719, %14713
  br label %14724

14724:                                            ; preds = %14719, %14723
  %.str.5.sink6969 = phi ptr [ @.str.5, %14723 ], [ @.str.2, %14719 ]
  store i32 %14714, ptr %377, align 4, !tbaa !5
  %14725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14726 = load i32, ptr @test_count, align 4, !tbaa !5
  %14727 = load i32, ptr %323, align 4, !tbaa !5
  %14728 = call ptr @s2n_strerror(i32 noundef %14727, ptr noundef nonnull @.str.4) #13
  %14729 = load i32, ptr %323, align 4, !tbaa !5
  %14730 = call ptr @s2n_strerror_debug(i32 noundef %14729, ptr noundef nonnull @.str.4) #13
  %14731 = load i32, ptr %377, align 4, !tbaa !5
  %14732 = call ptr @strerror(i32 noundef %14731) #13
  %14733 = load i32, ptr %377, align 4, !tbaa !5
  %14734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14725, ptr noundef nonnull %.str.5.sink6969, i32 noundef %14726, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 1538, ptr noundef %14728, ptr noundef %14730, ptr noundef %14732, i32 noundef %14733) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14735:                                            ; preds = %14708
  %14736 = add nsw i32 %14710, 2
  store i32 %14736, ptr @test_count, align 4, !tbaa !5
  %14737 = call i32 @s2n_connection_set_config(ptr noundef nonnull %14709, ptr noundef %14599) #13
  %14738 = icmp eq i32 %14737, -1
  br i1 %14738, label %14739, label %14761

14739:                                            ; preds = %14735
  %14740 = load i32, ptr %377, align 4, !tbaa !5
  %14741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14742 = call i32 @s2n_print_stacktrace(ptr noundef %14741) #13
  %14743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14744 = trunc nuw i8 %14743 to i1
  br i1 %14744, label %14745, label %14749

14745:                                            ; preds = %14739
  %14746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14747 = call i32 @fileno(ptr noundef %14746) #13
  %14748 = call i32 @isatty(i32 noundef %14747) #13
  %.not1917 = icmp eq i32 %14748, 0
  br i1 %.not1917, label %14749, label %14750

14749:                                            ; preds = %14745, %14739
  br label %14750

14750:                                            ; preds = %14745, %14749
  %.str.5.sink6978 = phi ptr [ @.str.5, %14749 ], [ @.str.2, %14745 ]
  store i32 %14740, ptr %377, align 4, !tbaa !5
  %14751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14752 = load i32, ptr @test_count, align 4, !tbaa !5
  %14753 = load i32, ptr %323, align 4, !tbaa !5
  %14754 = call ptr @s2n_strerror(i32 noundef %14753, ptr noundef nonnull @.str.4) #13
  %14755 = load i32, ptr %323, align 4, !tbaa !5
  %14756 = call ptr @s2n_strerror_debug(i32 noundef %14755, ptr noundef nonnull @.str.4) #13
  %14757 = load i32, ptr %377, align 4, !tbaa !5
  %14758 = call ptr @strerror(i32 noundef %14757) #13
  %14759 = load i32, ptr %377, align 4, !tbaa !5
  %14760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14751, ptr noundef nonnull %.str.5.sink6978, i32 noundef %14752, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 1539, ptr noundef %14754, ptr noundef %14756, ptr noundef %14758, i32 noundef %14759) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14761:                                            ; preds = %14735
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %133) #13
  %14762 = call ptr @s2n_connection_new(i32 noundef 1) #13
  store ptr %14762, ptr %133, align 8, !tbaa !9
  %14763 = load i32, ptr @test_count, align 4, !tbaa !5
  %14764 = add nsw i32 %14763, 1
  store i32 %14764, ptr @test_count, align 4, !tbaa !5
  %14765 = icmp eq ptr %14762, null
  br i1 %14765, label %14766, label %14788

14766:                                            ; preds = %14761
  %14767 = load i32, ptr %377, align 4, !tbaa !5
  %14768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14769 = call i32 @s2n_print_stacktrace(ptr noundef %14768) #13
  %14770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14771 = trunc nuw i8 %14770 to i1
  br i1 %14771, label %14772, label %14776

14772:                                            ; preds = %14766
  %14773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14774 = call i32 @fileno(ptr noundef %14773) #13
  %14775 = call i32 @isatty(i32 noundef %14774) #13
  %.not1916 = icmp eq i32 %14775, 0
  br i1 %.not1916, label %14776, label %14777

14776:                                            ; preds = %14772, %14766
  br label %14777

14777:                                            ; preds = %14772, %14776
  %.str.5.sink6987 = phi ptr [ @.str.5, %14776 ], [ @.str.2, %14772 ]
  store i32 %14767, ptr %377, align 4, !tbaa !5
  %14778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14779 = load i32, ptr @test_count, align 4, !tbaa !5
  %14780 = load i32, ptr %323, align 4, !tbaa !5
  %14781 = call ptr @s2n_strerror(i32 noundef %14780, ptr noundef nonnull @.str.4) #13
  %14782 = load i32, ptr %323, align 4, !tbaa !5
  %14783 = call ptr @s2n_strerror_debug(i32 noundef %14782, ptr noundef nonnull @.str.4) #13
  %14784 = load i32, ptr %377, align 4, !tbaa !5
  %14785 = call ptr @strerror(i32 noundef %14784) #13
  %14786 = load i32, ptr %377, align 4, !tbaa !5
  %14787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14778, ptr noundef nonnull %.str.5.sink6987, i32 noundef %14779, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.1, i32 noundef 1543, ptr noundef %14781, ptr noundef %14783, ptr noundef %14785, i32 noundef %14786) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14788:                                            ; preds = %14761
  %14789 = add nsw i32 %14763, 2
  store i32 %14789, ptr @test_count, align 4, !tbaa !5
  %14790 = call i32 @s2n_connection_set_config(ptr noundef nonnull %14762, ptr noundef %14599) #13
  %14791 = icmp eq i32 %14790, -1
  br i1 %14791, label %14792, label %14814

14792:                                            ; preds = %14788
  %14793 = load i32, ptr %377, align 4, !tbaa !5
  %14794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14795 = call i32 @s2n_print_stacktrace(ptr noundef %14794) #13
  %14796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14797 = trunc nuw i8 %14796 to i1
  br i1 %14797, label %14798, label %14802

14798:                                            ; preds = %14792
  %14799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14800 = call i32 @fileno(ptr noundef %14799) #13
  %14801 = call i32 @isatty(i32 noundef %14800) #13
  %.not1915 = icmp eq i32 %14801, 0
  br i1 %.not1915, label %14802, label %14803

14802:                                            ; preds = %14798, %14792
  br label %14803

14803:                                            ; preds = %14798, %14802
  %.str.5.sink6996 = phi ptr [ @.str.5, %14802 ], [ @.str.2, %14798 ]
  store i32 %14793, ptr %377, align 4, !tbaa !5
  %14804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14805 = load i32, ptr @test_count, align 4, !tbaa !5
  %14806 = load i32, ptr %323, align 4, !tbaa !5
  %14807 = call ptr @s2n_strerror(i32 noundef %14806, ptr noundef nonnull @.str.4) #13
  %14808 = load i32, ptr %323, align 4, !tbaa !5
  %14809 = call ptr @s2n_strerror_debug(i32 noundef %14808, ptr noundef nonnull @.str.4) #13
  %14810 = load i32, ptr %377, align 4, !tbaa !5
  %14811 = call ptr @strerror(i32 noundef %14810) #13
  %14812 = load i32, ptr %377, align 4, !tbaa !5
  %14813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14804, ptr noundef nonnull %.str.5.sink6996, i32 noundef %14805, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 1544, ptr noundef %14807, ptr noundef %14809, ptr noundef %14811, i32 noundef %14812) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14814:                                            ; preds = %14788
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %134) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %134, i8 0, i64 40, i1 false)
  %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 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %134, i32 noundef 0) #13
  %14818 = icmp eq i32 %14817, -1
  br i1 %14818, label %14819, label %14841

14819:                                            ; preds = %14814
  %14820 = load i32, ptr %377, align 4, !tbaa !5
  %14821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14822 = call i32 @s2n_print_stacktrace(ptr noundef %14821) #13
  %14823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14824 = trunc nuw i8 %14823 to i1
  br i1 %14824, label %14825, label %14829

14825:                                            ; preds = %14819
  %14826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14827 = call i32 @fileno(ptr noundef %14826) #13
  %14828 = call i32 @isatty(i32 noundef %14827) #13
  %.not1914 = icmp eq i32 %14828, 0
  br i1 %.not1914, label %14829, label %14830

14829:                                            ; preds = %14825, %14819
  br label %14830

14830:                                            ; preds = %14825, %14829
  %.str.5.sink7005 = phi ptr [ @.str.5, %14829 ], [ @.str.2, %14825 ]
  store i32 %14820, ptr %377, align 4, !tbaa !5
  %14831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14832 = load i32, ptr @test_count, align 4, !tbaa !5
  %14833 = load i32, ptr %323, align 4, !tbaa !5
  %14834 = call ptr @s2n_strerror(i32 noundef %14833, ptr noundef nonnull @.str.4) #13
  %14835 = load i32, ptr %323, align 4, !tbaa !5
  %14836 = call ptr @s2n_strerror_debug(i32 noundef %14835, ptr noundef nonnull @.str.4) #13
  %14837 = load i32, ptr %377, align 4, !tbaa !5
  %14838 = call ptr @strerror(i32 noundef %14837) #13
  %14839 = load i32, ptr %377, align 4, !tbaa !5
  %14840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14831, ptr noundef nonnull %.str.5.sink7005, i32 noundef %14832, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.1, i32 noundef 1547, ptr noundef %14834, ptr noundef %14836, ptr noundef %14838, i32 noundef %14839) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14841:                                            ; preds = %14814
  %14842 = load i32, ptr @test_count, align 4, !tbaa !5
  %14843 = add nsw i32 %14842, 1
  store i32 %14843, ptr @test_count, align 4, !tbaa !5
  %14844 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %134, ptr noundef nonnull %134, ptr noundef nonnull %14762) #13
  %14845 = icmp eq i32 %14844, -1
  br i1 %14845, label %14846, label %14868

14846:                                            ; preds = %14841
  %14847 = load i32, ptr %377, align 4, !tbaa !5
  %14848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14849 = call i32 @s2n_print_stacktrace(ptr noundef %14848) #13
  %14850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14851 = trunc nuw i8 %14850 to i1
  br i1 %14851, label %14852, label %14856

14852:                                            ; preds = %14846
  %14853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14854 = call i32 @fileno(ptr noundef %14853) #13
  %14855 = call i32 @isatty(i32 noundef %14854) #13
  %.not1913 = icmp eq i32 %14855, 0
  br i1 %.not1913, label %14856, label %14857

14856:                                            ; preds = %14852, %14846
  br label %14857

14857:                                            ; preds = %14852, %14856
  %.str.5.sink7014 = phi ptr [ @.str.5, %14856 ], [ @.str.2, %14852 ]
  store i32 %14847, ptr %377, align 4, !tbaa !5
  %14858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14859 = load i32, ptr @test_count, align 4, !tbaa !5
  %14860 = load i32, ptr %323, align 4, !tbaa !5
  %14861 = call ptr @s2n_strerror(i32 noundef %14860, ptr noundef nonnull @.str.4) #13
  %14862 = load i32, ptr %323, align 4, !tbaa !5
  %14863 = call ptr @s2n_strerror_debug(i32 noundef %14862, ptr noundef nonnull @.str.4) #13
  %14864 = load i32, ptr %377, align 4, !tbaa !5
  %14865 = call ptr @strerror(i32 noundef %14864) #13
  %14866 = load i32, ptr %377, align 4, !tbaa !5
  %14867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14858, ptr noundef nonnull %.str.5.sink7014, i32 noundef %14859, ptr noundef nonnull @.str.230, ptr noundef nonnull @.str.1, i32 noundef 1548, ptr noundef %14861, ptr noundef %14863, ptr noundef %14865, i32 noundef %14866) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14868:                                            ; preds = %14841
  %14869 = load i32, ptr @test_count, align 4, !tbaa !5
  %14870 = add nsw i32 %14869, 1
  store i32 %14870, ptr @test_count, align 4, !tbaa !5
  %14871 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %134, ptr noundef nonnull %134, ptr noundef nonnull %14709) #13
  %14872 = icmp eq i32 %14871, -1
  br i1 %14872, label %14873, label %14895

14873:                                            ; preds = %14868
  %14874 = load i32, ptr %377, align 4, !tbaa !5
  %14875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14876 = call i32 @s2n_print_stacktrace(ptr noundef %14875) #13
  %14877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14878 = trunc nuw i8 %14877 to i1
  br i1 %14878, label %14879, label %14883

14879:                                            ; preds = %14873
  %14880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14881 = call i32 @fileno(ptr noundef %14880) #13
  %14882 = call i32 @isatty(i32 noundef %14881) #13
  %.not1912 = icmp eq i32 %14882, 0
  br i1 %.not1912, label %14883, label %14884

14883:                                            ; preds = %14879, %14873
  br label %14884

14884:                                            ; preds = %14879, %14883
  %.str.5.sink7023 = phi ptr [ @.str.5, %14883 ], [ @.str.2, %14879 ]
  store i32 %14874, ptr %377, align 4, !tbaa !5
  %14885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14886 = load i32, ptr @test_count, align 4, !tbaa !5
  %14887 = load i32, ptr %323, align 4, !tbaa !5
  %14888 = call ptr @s2n_strerror(i32 noundef %14887, ptr noundef nonnull @.str.4) #13
  %14889 = load i32, ptr %323, align 4, !tbaa !5
  %14890 = call ptr @s2n_strerror_debug(i32 noundef %14889, ptr noundef nonnull @.str.4) #13
  %14891 = load i32, ptr %377, align 4, !tbaa !5
  %14892 = call ptr @strerror(i32 noundef %14891) #13
  %14893 = load i32, ptr %377, align 4, !tbaa !5
  %14894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14885, ptr noundef nonnull %.str.5.sink7023, i32 noundef %14886, ptr noundef nonnull @.str.231, ptr noundef nonnull @.str.1, i32 noundef 1549, ptr noundef %14888, ptr noundef %14890, ptr noundef %14892, i32 noundef %14893) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14895:                                            ; preds = %14868
  %14896 = getelementptr inbounds i8, ptr %14762, i64 16
  store ptr @security_policy_test_tls13_retry, ptr %14896, align 8, !tbaa !70
  %14897 = getelementptr inbounds i8, ptr %14762, i64 232
  %14898 = load ptr, ptr %14897, align 8, !tbaa !46
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %14898, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %135) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %135, i8 0, i64 40, i1 false)
  %14899 = load i32, ptr @test_count, align 4, !tbaa !5
  %14900 = add nsw i32 %14899, 1
  store i32 %14900, ptr @test_count, align 4, !tbaa !5
  %14901 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %135, i32 noundef 0) #13
  %14902 = icmp eq i32 %14901, -1
  br i1 %14902, label %14903, label %14925

14903:                                            ; preds = %14895
  %14904 = load i32, ptr %377, align 4, !tbaa !5
  %14905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14906 = call i32 @s2n_print_stacktrace(ptr noundef %14905) #13
  %14907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14908 = trunc nuw i8 %14907 to i1
  br i1 %14908, label %14909, label %14913

14909:                                            ; preds = %14903
  %14910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14911 = call i32 @fileno(ptr noundef %14910) #13
  %14912 = call i32 @isatty(i32 noundef %14911) #13
  %.not1911 = icmp eq i32 %14912, 0
  br i1 %.not1911, label %14913, label %14914

14913:                                            ; preds = %14909, %14903
  br label %14914

14914:                                            ; preds = %14909, %14913
  %.str.5.sink7032 = phi ptr [ @.str.5, %14913 ], [ @.str.2, %14909 ]
  store i32 %14904, ptr %377, align 4, !tbaa !5
  %14915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14916 = load i32, ptr @test_count, align 4, !tbaa !5
  %14917 = load i32, ptr %323, align 4, !tbaa !5
  %14918 = call ptr @s2n_strerror(i32 noundef %14917, ptr noundef nonnull @.str.4) #13
  %14919 = load i32, ptr %323, align 4, !tbaa !5
  %14920 = call ptr @s2n_strerror_debug(i32 noundef %14919, ptr noundef nonnull @.str.4) #13
  %14921 = load i32, ptr %377, align 4, !tbaa !5
  %14922 = call ptr @strerror(i32 noundef %14921) #13
  %14923 = load i32, ptr %377, align 4, !tbaa !5
  %14924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14915, ptr noundef nonnull %.str.5.sink7032, i32 noundef %14916, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 1558, ptr noundef %14918, ptr noundef %14920, ptr noundef %14922, i32 noundef %14923) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14925:                                            ; preds = %14895
  %14926 = load i32, ptr @test_count, align 4, !tbaa !5
  %14927 = add nsw i32 %14926, 1
  store i32 %14927, ptr @test_count, align 4, !tbaa !5
  %14928 = call i32 @s2n_setup_encrypted_ticket(ptr noundef nonnull %14762, ptr noundef nonnull %135)
  %14929 = call zeroext i1 @s2n_result_is_ok(i32 %14928)
  br i1 %14929, label %14952, label %14930

14930:                                            ; preds = %14925
  %14931 = load i32, ptr %377, align 4, !tbaa !5
  %14932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14933 = call i32 @s2n_print_stacktrace(ptr noundef %14932) #13
  %14934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14935 = trunc nuw i8 %14934 to i1
  br i1 %14935, label %14936, label %14940

14936:                                            ; preds = %14930
  %14937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14938 = call i32 @fileno(ptr noundef %14937) #13
  %14939 = call i32 @isatty(i32 noundef %14938) #13
  %.not1875 = icmp eq i32 %14939, 0
  br i1 %.not1875, label %14940, label %14941

14940:                                            ; preds = %14936, %14930
  br label %14941

14941:                                            ; preds = %14936, %14940
  %.str.5.sink7041 = phi ptr [ @.str.5, %14940 ], [ @.str.2, %14936 ]
  store i32 %14931, ptr %377, align 4, !tbaa !5
  %14942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14943 = load i32, ptr @test_count, align 4, !tbaa !5
  %14944 = load i32, ptr %323, align 4, !tbaa !5
  %14945 = call ptr @s2n_strerror(i32 noundef %14944, ptr noundef nonnull @.str.4) #13
  %14946 = load i32, ptr %323, align 4, !tbaa !5
  %14947 = call ptr @s2n_strerror_debug(i32 noundef %14946, ptr noundef nonnull @.str.4) #13
  %14948 = load i32, ptr %377, align 4, !tbaa !5
  %14949 = call ptr @strerror(i32 noundef %14948) #13
  %14950 = load i32, ptr %377, align 4, !tbaa !5
  %14951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14942, ptr noundef nonnull %.str.5.sink7041, i32 noundef %14943, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.1, i32 noundef 1559, ptr noundef %14945, ptr noundef %14947, ptr noundef %14949, i32 noundef %14950) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14952:                                            ; preds = %14925
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %136) #13
  %14953 = getelementptr inbounds i8, ptr %136, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(56) %14953, i8 0, i64 48, i1 false)
  store ptr %14762, ptr %136, align 8, !tbaa !80
  %14954 = load i32, ptr @test_count, align 4, !tbaa !5
  %14955 = add nsw i32 %14954, 1
  store i32 %14955, ptr @test_count, align 4, !tbaa !5
  %14956 = getelementptr inbounds i8, ptr %136, i64 8
  %14957 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %14956, i32 noundef 0) #13
  %14958 = icmp eq i32 %14957, -1
  br i1 %14958, label %14959, label %14981

14959:                                            ; preds = %14952
  %14960 = load i32, ptr %377, align 4, !tbaa !5
  %14961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14962 = call i32 @s2n_print_stacktrace(ptr noundef %14961) #13
  %14963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14964 = trunc nuw i8 %14963 to i1
  br i1 %14964, label %14965, label %14969

14965:                                            ; preds = %14959
  %14966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14967 = call i32 @fileno(ptr noundef %14966) #13
  %14968 = call i32 @isatty(i32 noundef %14967) #13
  %.not1910 = icmp eq i32 %14968, 0
  br i1 %.not1910, label %14969, label %14970

14969:                                            ; preds = %14965, %14959
  br label %14970

14970:                                            ; preds = %14965, %14969
  %.str.5.sink7050 = phi ptr [ @.str.5, %14969 ], [ @.str.2, %14965 ]
  store i32 %14960, ptr %377, align 4, !tbaa !5
  %14971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14972 = load i32, ptr @test_count, align 4, !tbaa !5
  %14973 = load i32, ptr %323, align 4, !tbaa !5
  %14974 = call ptr @s2n_strerror(i32 noundef %14973, ptr noundef nonnull @.str.4) #13
  %14975 = load i32, ptr %323, align 4, !tbaa !5
  %14976 = call ptr @s2n_strerror_debug(i32 noundef %14975, ptr noundef nonnull @.str.4) #13
  %14977 = load i32, ptr %377, align 4, !tbaa !5
  %14978 = call ptr @strerror(i32 noundef %14977) #13
  %14979 = load i32, ptr %377, align 4, !tbaa !5
  %14980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14971, ptr noundef nonnull %.str.5.sink7050, i32 noundef %14972, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 1561, ptr noundef %14974, ptr noundef %14976, ptr noundef %14978, i32 noundef %14979) #15
  call void @exit(i32 noundef 1) #16
  unreachable

14981:                                            ; preds = %14952
  %14982 = load i32, ptr @test_count, align 4, !tbaa !5
  %14983 = add nsw i32 %14982, 1
  store i32 %14983, ptr @test_count, align 4, !tbaa !5
  %14984 = call i32 @s2n_write_test_identity(ptr noundef nonnull %14956, ptr noundef nonnull %135)
  %14985 = call zeroext i1 @s2n_result_is_ok(i32 %14984)
  br i1 %14985, label %15008, label %14986

14986:                                            ; preds = %14981
  %14987 = load i32, ptr %377, align 4, !tbaa !5
  %14988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14989 = call i32 @s2n_print_stacktrace(ptr noundef %14988) #13
  %14990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14991 = trunc nuw i8 %14990 to i1
  br i1 %14991, label %14992, label %14996

14992:                                            ; preds = %14986
  %14993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14994 = call i32 @fileno(ptr noundef %14993) #13
  %14995 = call i32 @isatty(i32 noundef %14994) #13
  %.not1876 = icmp eq i32 %14995, 0
  br i1 %.not1876, label %14996, label %14997

14996:                                            ; preds = %14992, %14986
  br label %14997

14997:                                            ; preds = %14992, %14996
  %.str.5.sink7059 = phi ptr [ @.str.5, %14996 ], [ @.str.2, %14992 ]
  store i32 %14987, ptr %377, align 4, !tbaa !5
  %14998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14999 = load i32, ptr @test_count, align 4, !tbaa !5
  %15000 = load i32, ptr %323, align 4, !tbaa !5
  %15001 = call ptr @s2n_strerror(i32 noundef %15000, ptr noundef nonnull @.str.4) #13
  %15002 = load i32, ptr %323, align 4, !tbaa !5
  %15003 = call ptr @s2n_strerror_debug(i32 noundef %15002, ptr noundef nonnull @.str.4) #13
  %15004 = load i32, ptr %377, align 4, !tbaa !5
  %15005 = call ptr @strerror(i32 noundef %15004) #13
  %15006 = load i32, ptr %377, align 4, !tbaa !5
  %15007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14998, ptr noundef nonnull %.str.5.sink7059, i32 noundef %14999, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 1562, ptr noundef %15001, ptr noundef %15003, ptr noundef %15005, i32 noundef %15006) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15008:                                            ; preds = %14981
  %15009 = load i32, ptr @test_count, align 4, !tbaa !5
  %15010 = add nsw i32 %15009, 1
  store i32 %15010, ptr @test_count, align 4, !tbaa !5
  %15011 = call i32 @s2n_select_resumption_psk(ptr noundef nonnull %14709, ptr noundef nonnull %136)
  %15012 = call zeroext i1 @s2n_result_is_ok(i32 %15011)
  br i1 %15012, label %15035, label %15013

15013:                                            ; preds = %15008
  %15014 = load i32, ptr %377, align 4, !tbaa !5
  %15015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15016 = call i32 @s2n_print_stacktrace(ptr noundef %15015) #13
  %15017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15018 = trunc nuw i8 %15017 to i1
  br i1 %15018, label %15019, label %15023

15019:                                            ; preds = %15013
  %15020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15021 = call i32 @fileno(ptr noundef %15020) #13
  %15022 = call i32 @isatty(i32 noundef %15021) #13
  %.not1877 = icmp eq i32 %15022, 0
  br i1 %.not1877, label %15023, label %15024

15023:                                            ; preds = %15019, %15013
  br label %15024

15024:                                            ; preds = %15019, %15023
  %.str.5.sink7068 = phi ptr [ @.str.5, %15023 ], [ @.str.2, %15019 ]
  store i32 %15014, ptr %377, align 4, !tbaa !5
  %15025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15026 = load i32, ptr @test_count, align 4, !tbaa !5
  %15027 = load i32, ptr %323, align 4, !tbaa !5
  %15028 = call ptr @s2n_strerror(i32 noundef %15027, ptr noundef nonnull @.str.4) #13
  %15029 = load i32, ptr %323, align 4, !tbaa !5
  %15030 = call ptr @s2n_strerror_debug(i32 noundef %15029, ptr noundef nonnull @.str.4) #13
  %15031 = load i32, ptr %377, align 4, !tbaa !5
  %15032 = call ptr @strerror(i32 noundef %15031) #13
  %15033 = load i32, ptr %377, align 4, !tbaa !5
  %15034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15025, ptr noundef nonnull %.str.5.sink7068, i32 noundef %15026, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.1, i32 noundef 1563, ptr noundef %15028, ptr noundef %15030, ptr noundef %15032, i32 noundef %15033) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15035:                                            ; preds = %15008
  %15036 = getelementptr inbounds i8, ptr %14762, i64 1736
  %15037 = load ptr, ptr %15036, align 8, !tbaa !88
  %15038 = getelementptr inbounds i8, ptr %15037, i64 64
  %15039 = load i64, ptr %15038, align 8, !tbaa !58
  %15040 = add i64 %15039, -10000000
  store i64 %15040, ptr %15038, align 8, !tbaa !58
  %15041 = getelementptr inbounds i8, ptr %15037, i64 8
  %15042 = getelementptr inbounds i8, ptr %15037, i64 16
  %15043 = load i32, ptr %15042, align 8, !tbaa !99
  %15044 = load ptr, ptr %15041, align 8, !tbaa !100
  %15045 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %15044) #17
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %137) #13
  store i32 0, ptr %137, align 4, !tbaa !5
  %15046 = load i32, ptr @test_count, align 4, !tbaa !5
  %15047 = add nsw i32 %15046, 1
  store i32 %15047, ptr @test_count, align 4, !tbaa !5
  %15048 = call i32 @s2n_negotiate_until_message(ptr noundef nonnull %14762, ptr noundef nonnull %137, i32 noundef 1) #13
  %15049 = call zeroext i1 @s2n_result_is_ok(i32 %15048)
  br i1 %15049, label %15072, label %15050

15050:                                            ; preds = %15035
  %15051 = load i32, ptr %377, align 4, !tbaa !5
  %15052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15053 = call i32 @s2n_print_stacktrace(ptr noundef %15052) #13
  %15054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15055 = trunc nuw i8 %15054 to i1
  br i1 %15055, label %15056, label %15060

15056:                                            ; preds = %15050
  %15057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15058 = call i32 @fileno(ptr noundef %15057) #13
  %15059 = call i32 @isatty(i32 noundef %15058) #13
  %.not1878 = icmp eq i32 %15059, 0
  br i1 %.not1878, label %15060, label %15061

15060:                                            ; preds = %15056, %15050
  br label %15061

15061:                                            ; preds = %15056, %15060
  %.str.5.sink7077 = phi ptr [ @.str.5, %15060 ], [ @.str.2, %15056 ]
  store i32 %15051, ptr %377, align 4, !tbaa !5
  %15062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15063 = load i32, ptr @test_count, align 4, !tbaa !5
  %15064 = load i32, ptr %323, align 4, !tbaa !5
  %15065 = call ptr @s2n_strerror(i32 noundef %15064, ptr noundef nonnull @.str.4) #13
  %15066 = load i32, ptr %323, align 4, !tbaa !5
  %15067 = call ptr @s2n_strerror_debug(i32 noundef %15066, ptr noundef nonnull @.str.4) #13
  %15068 = load i32, ptr %377, align 4, !tbaa !5
  %15069 = call ptr @strerror(i32 noundef %15068) #13
  %15070 = load i32, ptr %377, align 4, !tbaa !5
  %15071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15062, ptr noundef nonnull %.str.5.sink7077, i32 noundef %15063, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 1576, ptr noundef %15065, ptr noundef %15067, ptr noundef %15069, i32 noundef %15070) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15072:                                            ; preds = %15035
  %15073 = load i32, ptr @test_count, align 4, !tbaa !5
  %15074 = add nsw i32 %15073, 1
  store i32 %15074, ptr @test_count, align 4, !tbaa !5
  %15075 = load ptr, ptr %15041, align 8, !tbaa !100
  %15076 = call i32 @s2n_stuffer_skip_read_until(ptr noundef nonnull %134, ptr noundef %15075) #13
  %15077 = icmp eq i32 %15076, -1
  br i1 %15077, label %15078, label %15100

15078:                                            ; preds = %15072
  %15079 = load i32, ptr %377, align 4, !tbaa !5
  %15080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15081 = call i32 @s2n_print_stacktrace(ptr noundef %15080) #13
  %15082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15083 = trunc nuw i8 %15082 to i1
  br i1 %15083, label %15084, label %15088

15084:                                            ; preds = %15078
  %15085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15086 = call i32 @fileno(ptr noundef %15085) #13
  %15087 = call i32 @isatty(i32 noundef %15086) #13
  %.not1909 = icmp eq i32 %15087, 0
  br i1 %.not1909, label %15088, label %15089

15088:                                            ; preds = %15084, %15078
  br label %15089

15089:                                            ; preds = %15084, %15088
  %.str.5.sink7086 = phi ptr [ @.str.5, %15088 ], [ @.str.2, %15084 ]
  store i32 %15079, ptr %377, align 4, !tbaa !5
  %15090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15091 = load i32, ptr @test_count, align 4, !tbaa !5
  %15092 = load i32, ptr %323, align 4, !tbaa !5
  %15093 = call ptr @s2n_strerror(i32 noundef %15092, ptr noundef nonnull @.str.4) #13
  %15094 = load i32, ptr %323, align 4, !tbaa !5
  %15095 = call ptr @s2n_strerror_debug(i32 noundef %15094, ptr noundef nonnull @.str.4) #13
  %15096 = load i32, ptr %377, align 4, !tbaa !5
  %15097 = call ptr @strerror(i32 noundef %15096) #13
  %15098 = load i32, ptr %377, align 4, !tbaa !5
  %15099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15090, ptr noundef nonnull %.str.5.sink7086, i32 noundef %15091, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.1, i32 noundef 1579, ptr noundef %15093, ptr noundef %15095, ptr noundef %15097, i32 noundef %15098) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15100:                                            ; preds = %15072
  %15101 = load i32, ptr @test_count, align 4, !tbaa !5
  %15102 = add nsw i32 %15101, 1
  store i32 %15102, ptr @test_count, align 4, !tbaa !5
  %15103 = trunc i64 %15045 to i32
  %15104 = sub i32 %15043, %15103
  %15105 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %134, i32 noundef %15104) #13
  %15106 = icmp eq i32 %15105, -1
  br i1 %15106, label %15107, label %15129

15107:                                            ; preds = %15100
  %15108 = load i32, ptr %377, align 4, !tbaa !5
  %15109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15110 = call i32 @s2n_print_stacktrace(ptr noundef %15109) #13
  %15111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15112 = trunc nuw i8 %15111 to i1
  br i1 %15112, label %15113, label %15117

15113:                                            ; preds = %15107
  %15114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15115 = call i32 @fileno(ptr noundef %15114) #13
  %15116 = call i32 @isatty(i32 noundef %15115) #13
  %.not1908 = icmp eq i32 %15116, 0
  br i1 %.not1908, label %15117, label %15118

15117:                                            ; preds = %15113, %15107
  br label %15118

15118:                                            ; preds = %15113, %15117
  %.str.5.sink7095 = phi ptr [ @.str.5, %15117 ], [ @.str.2, %15113 ]
  store i32 %15108, ptr %377, align 4, !tbaa !5
  %15119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15120 = load i32, ptr @test_count, align 4, !tbaa !5
  %15121 = load i32, ptr %323, align 4, !tbaa !5
  %15122 = call ptr @s2n_strerror(i32 noundef %15121, ptr noundef nonnull @.str.4) #13
  %15123 = load i32, ptr %323, align 4, !tbaa !5
  %15124 = call ptr @s2n_strerror_debug(i32 noundef %15123, ptr noundef nonnull @.str.4) #13
  %15125 = load i32, ptr %377, align 4, !tbaa !5
  %15126 = call ptr @strerror(i32 noundef %15125) #13
  %15127 = load i32, ptr %377, align 4, !tbaa !5
  %15128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15119, ptr noundef nonnull %.str.5.sink7095, i32 noundef %15120, ptr noundef nonnull @.str.235, ptr noundef nonnull @.str.1, i32 noundef 1580, ptr noundef %15122, ptr noundef %15124, ptr noundef %15126, i32 noundef %15127) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15129:                                            ; preds = %15100
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %138) #13
  store i32 0, ptr %138, align 4, !tbaa !5
  %15130 = load i32, ptr @test_count, align 4, !tbaa !5
  %15131 = add nsw i32 %15130, 1
  store i32 %15131, ptr @test_count, align 4, !tbaa !5
  %15132 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %134, ptr noundef nonnull %138) #13
  %15133 = icmp eq i32 %15132, -1
  br i1 %15133, label %15134, label %15156

15134:                                            ; preds = %15129
  %15135 = load i32, ptr %377, align 4, !tbaa !5
  %15136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15137 = call i32 @s2n_print_stacktrace(ptr noundef %15136) #13
  %15138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15139 = trunc nuw i8 %15138 to i1
  br i1 %15139, label %15140, label %15144

15140:                                            ; preds = %15134
  %15141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15142 = call i32 @fileno(ptr noundef %15141) #13
  %15143 = call i32 @isatty(i32 noundef %15142) #13
  %.not1907 = icmp eq i32 %15143, 0
  br i1 %.not1907, label %15144, label %15145

15144:                                            ; preds = %15140, %15134
  br label %15145

15145:                                            ; preds = %15140, %15144
  %.str.5.sink7104 = phi ptr [ @.str.5, %15144 ], [ @.str.2, %15140 ]
  store i32 %15135, ptr %377, align 4, !tbaa !5
  %15146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15147 = load i32, ptr @test_count, align 4, !tbaa !5
  %15148 = load i32, ptr %323, align 4, !tbaa !5
  %15149 = call ptr @s2n_strerror(i32 noundef %15148, ptr noundef nonnull @.str.4) #13
  %15150 = load i32, ptr %323, align 4, !tbaa !5
  %15151 = call ptr @s2n_strerror_debug(i32 noundef %15150, ptr noundef nonnull @.str.4) #13
  %15152 = load i32, ptr %377, align 4, !tbaa !5
  %15153 = call ptr @strerror(i32 noundef %15152) #13
  %15154 = load i32, ptr %377, align 4, !tbaa !5
  %15155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15146, ptr noundef nonnull %.str.5.sink7104, i32 noundef %15147, ptr noundef nonnull @.str.236, ptr noundef nonnull @.str.1, i32 noundef 1582, ptr noundef %15149, ptr noundef %15151, ptr noundef %15153, i32 noundef %15154) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15156:                                            ; preds = %15129
  %15157 = load i32, ptr @test_count, align 4, !tbaa !5
  %15158 = add nsw i32 %15157, 1
  store i32 %15158, ptr @test_count, align 4, !tbaa !5
  %15159 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %134, i32 noundef 2) #13
  %15160 = icmp eq i32 %15159, -1
  br i1 %15160, label %15161, label %15183

15161:                                            ; preds = %15156
  %15162 = load i32, ptr %377, align 4, !tbaa !5
  %15163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15164 = call i32 @s2n_print_stacktrace(ptr noundef %15163) #13
  %15165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15166 = trunc nuw i8 %15165 to i1
  br i1 %15166, label %15167, label %15171

15167:                                            ; preds = %15161
  %15168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15169 = call i32 @fileno(ptr noundef %15168) #13
  %15170 = call i32 @isatty(i32 noundef %15169) #13
  %.not1906 = icmp eq i32 %15170, 0
  br i1 %.not1906, label %15171, label %15172

15171:                                            ; preds = %15167, %15161
  br label %15172

15172:                                            ; preds = %15167, %15171
  %.str.5.sink7113 = phi ptr [ @.str.5, %15171 ], [ @.str.2, %15167 ]
  store i32 %15162, ptr %377, align 4, !tbaa !5
  %15173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15174 = load i32, ptr @test_count, align 4, !tbaa !5
  %15175 = load i32, ptr %323, align 4, !tbaa !5
  %15176 = call ptr @s2n_strerror(i32 noundef %15175, ptr noundef nonnull @.str.4) #13
  %15177 = load i32, ptr %323, align 4, !tbaa !5
  %15178 = call ptr @s2n_strerror_debug(i32 noundef %15177, ptr noundef nonnull @.str.4) #13
  %15179 = load i32, ptr %377, align 4, !tbaa !5
  %15180 = call ptr @strerror(i32 noundef %15179) #13
  %15181 = load i32, ptr %377, align 4, !tbaa !5
  %15182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15173, ptr noundef nonnull %.str.5.sink7113, i32 noundef %15174, ptr noundef nonnull @.str.237, ptr noundef nonnull @.str.1, i32 noundef 1585, ptr noundef %15176, ptr noundef %15178, ptr noundef %15180, i32 noundef %15181) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15183:                                            ; preds = %15156
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %139) #13
  store i8 0, ptr %139, align 1, !tbaa !90
  %15184 = load i32, ptr @test_count, align 4, !tbaa !5
  %15185 = add nsw i32 %15184, 1
  store i32 %15185, ptr @test_count, align 4, !tbaa !5
  %15186 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %134, ptr noundef nonnull %139) #13
  %15187 = icmp eq i32 %15186, -1
  br i1 %15187, label %15188, label %15210

15188:                                            ; preds = %15183
  %15189 = load i32, ptr %377, align 4, !tbaa !5
  %15190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15191 = call i32 @s2n_print_stacktrace(ptr noundef %15190) #13
  %15192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15193 = trunc nuw i8 %15192 to i1
  br i1 %15193, label %15194, label %15198

15194:                                            ; preds = %15188
  %15195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15196 = call i32 @fileno(ptr noundef %15195) #13
  %15197 = call i32 @isatty(i32 noundef %15196) #13
  %.not1905 = icmp eq i32 %15197, 0
  br i1 %.not1905, label %15198, label %15199

15198:                                            ; preds = %15194, %15188
  br label %15199

15199:                                            ; preds = %15194, %15198
  %.str.5.sink7122 = phi ptr [ @.str.5, %15198 ], [ @.str.2, %15194 ]
  store i32 %15189, ptr %377, align 4, !tbaa !5
  %15200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15201 = load i32, ptr @test_count, align 4, !tbaa !5
  %15202 = load i32, ptr %323, align 4, !tbaa !5
  %15203 = call ptr @s2n_strerror(i32 noundef %15202, ptr noundef nonnull @.str.4) #13
  %15204 = load i32, ptr %323, align 4, !tbaa !5
  %15205 = call ptr @s2n_strerror_debug(i32 noundef %15204, ptr noundef nonnull @.str.4) #13
  %15206 = load i32, ptr %377, align 4, !tbaa !5
  %15207 = call ptr @strerror(i32 noundef %15206) #13
  %15208 = load i32, ptr %377, align 4, !tbaa !5
  %15209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15200, ptr noundef nonnull %.str.5.sink7122, i32 noundef %15201, ptr noundef nonnull @.str.238, ptr noundef nonnull @.str.1, i32 noundef 1589, ptr noundef %15203, ptr noundef %15205, ptr noundef %15207, i32 noundef %15208) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15210:                                            ; preds = %15183
  %15211 = load i32, ptr @test_count, align 4, !tbaa !5
  %15212 = add nsw i32 %15211, 1
  store i32 %15212, ptr @test_count, align 4, !tbaa !5
  %15213 = load i8, ptr %139, align 1, !tbaa !90
  %15214 = icmp eq i8 %15213, 32
  br i1 %15214, label %15237, label %15215

15215:                                            ; preds = %15210
  %15216 = load i32, ptr %377, align 4, !tbaa !5
  %15217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15218 = call i32 @s2n_print_stacktrace(ptr noundef %15217) #13
  %15219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15220 = trunc nuw i8 %15219 to i1
  br i1 %15220, label %15221, label %15225

15221:                                            ; preds = %15215
  %15222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15223 = call i32 @fileno(ptr noundef %15222) #13
  %15224 = call i32 @isatty(i32 noundef %15223) #13
  %.not1879 = icmp eq i32 %15224, 0
  br i1 %.not1879, label %15225, label %15226

15225:                                            ; preds = %15221, %15215
  br label %15226

15226:                                            ; preds = %15221, %15225
  %.str.5.sink7131 = phi ptr [ @.str.5, %15225 ], [ @.str.2, %15221 ]
  store i32 %15216, ptr %377, align 4, !tbaa !5
  %15227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15228 = load i32, ptr @test_count, align 4, !tbaa !5
  %15229 = load i32, ptr %323, align 4, !tbaa !5
  %15230 = call ptr @s2n_strerror(i32 noundef %15229, ptr noundef nonnull @.str.4) #13
  %15231 = load i32, ptr %323, align 4, !tbaa !5
  %15232 = call ptr @s2n_strerror_debug(i32 noundef %15231, ptr noundef nonnull @.str.4) #13
  %15233 = load i32, ptr %377, align 4, !tbaa !5
  %15234 = call ptr @strerror(i32 noundef %15233) #13
  %15235 = load i32, ptr %377, align 4, !tbaa !5
  %15236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15227, ptr noundef nonnull %.str.5.sink7131, i32 noundef %15228, ptr noundef nonnull @.str.239, ptr noundef nonnull @.str.1, i32 noundef 1590, ptr noundef %15230, ptr noundef %15232, ptr noundef %15234, i32 noundef %15235) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15237:                                            ; preds = %15210
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %140) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %140, i8 0, i64 32, i1 false)
  %15238 = add nsw i32 %15211, 2
  store i32 %15238, ptr @test_count, align 4, !tbaa !5
  %15239 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %134, ptr noundef nonnull %140, i32 noundef 32) #13
  %15240 = icmp eq i32 %15239, -1
  br i1 %15240, label %15241, label %15263

15241:                                            ; preds = %15237
  %15242 = load i32, ptr %377, align 4, !tbaa !5
  %15243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15244 = call i32 @s2n_print_stacktrace(ptr noundef %15243) #13
  %15245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15246 = trunc nuw i8 %15245 to i1
  br i1 %15246, label %15247, label %15251

15247:                                            ; preds = %15241
  %15248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15249 = call i32 @fileno(ptr noundef %15248) #13
  %15250 = call i32 @isatty(i32 noundef %15249) #13
  %.not1904 = icmp eq i32 %15250, 0
  br i1 %.not1904, label %15251, label %15252

15251:                                            ; preds = %15247, %15241
  br label %15252

15252:                                            ; preds = %15247, %15251
  %.str.5.sink7140 = phi ptr [ @.str.5, %15251 ], [ @.str.2, %15247 ]
  store i32 %15242, ptr %377, align 4, !tbaa !5
  %15253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15254 = load i32, ptr @test_count, align 4, !tbaa !5
  %15255 = load i32, ptr %323, align 4, !tbaa !5
  %15256 = call ptr @s2n_strerror(i32 noundef %15255, ptr noundef nonnull @.str.4) #13
  %15257 = load i32, ptr %323, align 4, !tbaa !5
  %15258 = call ptr @s2n_strerror_debug(i32 noundef %15257, ptr noundef nonnull @.str.4) #13
  %15259 = load i32, ptr %377, align 4, !tbaa !5
  %15260 = call ptr @strerror(i32 noundef %15259) #13
  %15261 = load i32, ptr %377, align 4, !tbaa !5
  %15262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15253, ptr noundef nonnull %.str.5.sink7140, i32 noundef %15254, ptr noundef nonnull @.str.240, ptr noundef nonnull @.str.1, i32 noundef 1594, ptr noundef %15256, ptr noundef %15258, ptr noundef %15260, i32 noundef %15261) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15263:                                            ; preds = %15237
  %15264 = load i32, ptr @test_count, align 4, !tbaa !5
  %15265 = add nsw i32 %15264, 1
  store i32 %15265, ptr @test_count, align 4, !tbaa !5
  %15266 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %134) #13
  %15267 = icmp eq i32 %15266, -1
  br i1 %15267, label %15268, label %15290

15268:                                            ; preds = %15263
  %15269 = load i32, ptr %377, align 4, !tbaa !5
  %15270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15271 = call i32 @s2n_print_stacktrace(ptr noundef %15270) #13
  %15272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15273 = trunc nuw i8 %15272 to i1
  br i1 %15273, label %15274, label %15278

15274:                                            ; preds = %15268
  %15275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15276 = call i32 @fileno(ptr noundef %15275) #13
  %15277 = call i32 @isatty(i32 noundef %15276) #13
  %.not1903 = icmp eq i32 %15277, 0
  br i1 %.not1903, label %15278, label %15279

15278:                                            ; preds = %15274, %15268
  br label %15279

15279:                                            ; preds = %15274, %15278
  %.str.5.sink7149 = phi ptr [ @.str.5, %15278 ], [ @.str.2, %15274 ]
  store i32 %15269, ptr %377, align 4, !tbaa !5
  %15280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15281 = load i32, ptr @test_count, align 4, !tbaa !5
  %15282 = load i32, ptr %323, align 4, !tbaa !5
  %15283 = call ptr @s2n_strerror(i32 noundef %15282, ptr noundef nonnull @.str.4) #13
  %15284 = load i32, ptr %323, align 4, !tbaa !5
  %15285 = call ptr @s2n_strerror_debug(i32 noundef %15284, ptr noundef nonnull @.str.4) #13
  %15286 = load i32, ptr %377, align 4, !tbaa !5
  %15287 = call ptr @strerror(i32 noundef %15286) #13
  %15288 = load i32, ptr %377, align 4, !tbaa !5
  %15289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15280, ptr noundef nonnull %.str.5.sink7149, i32 noundef %15281, ptr noundef nonnull @.str.241, ptr noundef nonnull @.str.1, i32 noundef 1595, ptr noundef %15283, ptr noundef %15285, ptr noundef %15287, i32 noundef %15288) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15290:                                            ; preds = %15263
  %15291 = load i32, ptr @test_count, align 4, !tbaa !5
  %15292 = add nsw i32 %15291, 1
  store i32 %15292, ptr @test_count, align 4, !tbaa !5
  %15293 = load i32, ptr %138, align 4, !tbaa !5
  %.not1880 = icmp eq i32 %15293, 0
  br i1 %.not1880, label %15294, label %15316

15294:                                            ; preds = %15290
  %15295 = load i32, ptr %377, align 4, !tbaa !5
  %15296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15297 = call i32 @s2n_print_stacktrace(ptr noundef %15296) #13
  %15298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15299 = trunc nuw i8 %15298 to i1
  br i1 %15299, label %15300, label %15304

15300:                                            ; preds = %15294
  %15301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15302 = call i32 @fileno(ptr noundef %15301) #13
  %15303 = call i32 @isatty(i32 noundef %15302) #13
  %.not1881 = icmp eq i32 %15303, 0
  br i1 %.not1881, label %15304, label %15305

15304:                                            ; preds = %15300, %15294
  br label %15305

15305:                                            ; preds = %15300, %15304
  %.str.5.sink7158 = phi ptr [ @.str.5, %15304 ], [ @.str.2, %15300 ]
  store i32 %15295, ptr %377, align 4, !tbaa !5
  %15306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15307 = load i32, ptr @test_count, align 4, !tbaa !5
  %15308 = load i32, ptr %323, align 4, !tbaa !5
  %15309 = call ptr @s2n_strerror(i32 noundef %15308, ptr noundef nonnull @.str.4) #13
  %15310 = load i32, ptr %323, align 4, !tbaa !5
  %15311 = call ptr @s2n_strerror_debug(i32 noundef %15310, ptr noundef nonnull @.str.4) #13
  %15312 = load i32, ptr %377, align 4, !tbaa !5
  %15313 = call ptr @strerror(i32 noundef %15312) #13
  %15314 = load i32, ptr %377, align 4, !tbaa !5
  %15315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15306, ptr noundef nonnull %.str.5.sink7158, i32 noundef %15307, ptr noundef nonnull @.str.242, ptr noundef nonnull @.str.1, i32 noundef 1598, ptr noundef %15309, ptr noundef %15311, ptr noundef %15313, i32 noundef %15314) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15316:                                            ; preds = %15290
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %141) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %141, i8 0, i64 32, i1 false)
  %15317 = add nsw i32 %15291, 2
  store i32 %15317, ptr @test_count, align 4, !tbaa !5
  %15318 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %140, ptr noundef nonnull %141, i32 noundef 32) #13
  br i1 %15318, label %15319, label %15341

15319:                                            ; preds = %15316
  %15320 = load i32, ptr %377, align 4, !tbaa !5
  %15321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15322 = call i32 @s2n_print_stacktrace(ptr noundef %15321) #13
  %15323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15324 = trunc nuw i8 %15323 to i1
  br i1 %15324, label %15325, label %15329

15325:                                            ; preds = %15319
  %15326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15327 = call i32 @fileno(ptr noundef %15326) #13
  %15328 = call i32 @isatty(i32 noundef %15327) #13
  %.not1902 = icmp eq i32 %15328, 0
  br i1 %.not1902, label %15329, label %15330

15329:                                            ; preds = %15325, %15319
  br label %15330

15330:                                            ; preds = %15325, %15329
  %.str.5.sink7167 = phi ptr [ @.str.5, %15329 ], [ @.str.2, %15325 ]
  store i32 %15320, ptr %377, align 4, !tbaa !5
  %15331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15332 = load i32, ptr @test_count, align 4, !tbaa !5
  %15333 = load i32, ptr %323, align 4, !tbaa !5
  %15334 = call ptr @s2n_strerror(i32 noundef %15333, ptr noundef nonnull @.str.4) #13
  %15335 = load i32, ptr %323, align 4, !tbaa !5
  %15336 = call ptr @s2n_strerror_debug(i32 noundef %15335, ptr noundef nonnull @.str.4) #13
  %15337 = load i32, ptr %377, align 4, !tbaa !5
  %15338 = call ptr @strerror(i32 noundef %15337) #13
  %15339 = load i32, ptr %377, align 4, !tbaa !5
  %15340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15331, ptr noundef nonnull %.str.5.sink7167, i32 noundef %15332, ptr noundef nonnull @.str.243, ptr noundef nonnull @.str.1, i32 noundef 1600, ptr noundef %15334, ptr noundef %15336, ptr noundef %15338, i32 noundef %15339) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15341:                                            ; preds = %15316
  %15342 = load i32, ptr @test_count, align 4, !tbaa !5
  %15343 = add nsw i32 %15342, 1
  store i32 %15343, ptr @test_count, align 4, !tbaa !5
  %15344 = call i32 @s2n_negotiate_until_message(ptr noundef nonnull %14709, ptr noundef nonnull %137, i32 noundef 18) #13
  %15345 = call zeroext i1 @s2n_result_is_ok(i32 %15344)
  br i1 %15345, label %15368, label %15346

15346:                                            ; preds = %15341
  %15347 = load i32, ptr %377, align 4, !tbaa !5
  %15348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15349 = call i32 @s2n_print_stacktrace(ptr noundef %15348) #13
  %15350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15351 = trunc nuw i8 %15350 to i1
  br i1 %15351, label %15352, label %15356

15352:                                            ; preds = %15346
  %15353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15354 = call i32 @fileno(ptr noundef %15353) #13
  %15355 = call i32 @isatty(i32 noundef %15354) #13
  %.not1882 = icmp eq i32 %15355, 0
  br i1 %.not1882, label %15356, label %15357

15356:                                            ; preds = %15352, %15346
  br label %15357

15357:                                            ; preds = %15352, %15356
  %.str.5.sink7176 = phi ptr [ @.str.5, %15356 ], [ @.str.2, %15352 ]
  store i32 %15347, ptr %377, align 4, !tbaa !5
  %15358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15359 = load i32, ptr @test_count, align 4, !tbaa !5
  %15360 = load i32, ptr %323, align 4, !tbaa !5
  %15361 = call ptr @s2n_strerror(i32 noundef %15360, ptr noundef nonnull @.str.4) #13
  %15362 = load i32, ptr %323, align 4, !tbaa !5
  %15363 = call ptr @s2n_strerror_debug(i32 noundef %15362, ptr noundef nonnull @.str.4) #13
  %15364 = load i32, ptr %377, align 4, !tbaa !5
  %15365 = call ptr @strerror(i32 noundef %15364) #13
  %15366 = load i32, ptr %377, align 4, !tbaa !5
  %15367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15358, ptr noundef nonnull %.str.5.sink7176, i32 noundef %15359, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 1603, ptr noundef %15361, ptr noundef %15363, ptr noundef %15365, i32 noundef %15366) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15368:                                            ; preds = %15341
  %15369 = load i32, ptr @test_count, align 4, !tbaa !5
  %15370 = add nsw i32 %15369, 1
  store i32 %15370, ptr @test_count, align 4, !tbaa !5
  %15371 = call i32 @s2n_negotiate_until_message(ptr noundef nonnull %14709, ptr noundef nonnull %137, i32 noundef 0) #13
  %15372 = call zeroext i1 @s2n_result_is_ok(i32 %15371)
  br i1 %15372, label %15395, label %15373

15373:                                            ; preds = %15368
  %15374 = load i32, ptr %377, align 4, !tbaa !5
  %15375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15376 = call i32 @s2n_print_stacktrace(ptr noundef %15375) #13
  %15377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15378 = trunc nuw i8 %15377 to i1
  br i1 %15378, label %15379, label %15383

15379:                                            ; preds = %15373
  %15380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15381 = call i32 @fileno(ptr noundef %15380) #13
  %15382 = call i32 @isatty(i32 noundef %15381) #13
  %.not1883 = icmp eq i32 %15382, 0
  br i1 %.not1883, label %15383, label %15384

15383:                                            ; preds = %15379, %15373
  br label %15384

15384:                                            ; preds = %15379, %15383
  %.str.5.sink7185 = phi ptr [ @.str.5, %15383 ], [ @.str.2, %15379 ]
  store i32 %15374, ptr %377, align 4, !tbaa !5
  %15385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15386 = load i32, ptr @test_count, align 4, !tbaa !5
  %15387 = load i32, ptr %323, align 4, !tbaa !5
  %15388 = call ptr @s2n_strerror(i32 noundef %15387, ptr noundef nonnull @.str.4) #13
  %15389 = load i32, ptr %323, align 4, !tbaa !5
  %15390 = call ptr @s2n_strerror_debug(i32 noundef %15389, ptr noundef nonnull @.str.4) #13
  %15391 = load i32, ptr %377, align 4, !tbaa !5
  %15392 = call ptr @strerror(i32 noundef %15391) #13
  %15393 = load i32, ptr %377, align 4, !tbaa !5
  %15394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15385, ptr noundef nonnull %.str.5.sink7185, i32 noundef %15386, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 1604, ptr noundef %15388, ptr noundef %15390, ptr noundef %15392, i32 noundef %15393) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15395:                                            ; preds = %15368
  %15396 = load i32, ptr @test_count, align 4, !tbaa !5
  %15397 = add nsw i32 %15396, 1
  store i32 %15397, ptr @test_count, align 4, !tbaa !5
  %15398 = call i32 @s2n_negotiate_until_message(ptr noundef nonnull %14762, ptr noundef nonnull %137, i32 noundef 0) #13
  %15399 = call zeroext i1 @s2n_result_is_ok(i32 %15398)
  br i1 %15399, label %15422, label %15400

15400:                                            ; preds = %15395
  %15401 = load i32, ptr %377, align 4, !tbaa !5
  %15402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15403 = call i32 @s2n_print_stacktrace(ptr noundef %15402) #13
  %15404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15405 = trunc nuw i8 %15404 to i1
  br i1 %15405, label %15406, label %15410

15406:                                            ; preds = %15400
  %15407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15408 = call i32 @fileno(ptr noundef %15407) #13
  %15409 = call i32 @isatty(i32 noundef %15408) #13
  %.not1884 = icmp eq i32 %15409, 0
  br i1 %.not1884, label %15410, label %15411

15410:                                            ; preds = %15406, %15400
  br label %15411

15411:                                            ; preds = %15406, %15410
  %.str.5.sink7194 = phi ptr [ @.str.5, %15410 ], [ @.str.2, %15406 ]
  store i32 %15401, ptr %377, align 4, !tbaa !5
  %15412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15413 = load i32, ptr @test_count, align 4, !tbaa !5
  %15414 = load i32, ptr %323, align 4, !tbaa !5
  %15415 = call ptr @s2n_strerror(i32 noundef %15414, ptr noundef nonnull @.str.4) #13
  %15416 = load i32, ptr %323, align 4, !tbaa !5
  %15417 = call ptr @s2n_strerror_debug(i32 noundef %15416, ptr noundef nonnull @.str.4) #13
  %15418 = load i32, ptr %377, align 4, !tbaa !5
  %15419 = call ptr @strerror(i32 noundef %15418) #13
  %15420 = load i32, ptr %377, align 4, !tbaa !5
  %15421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15412, ptr noundef nonnull %.str.5.sink7194, i32 noundef %15413, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 1605, ptr noundef %15415, ptr noundef %15417, ptr noundef %15419, i32 noundef %15420) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15422:                                            ; preds = %15395
  %15423 = load i64, ptr %15038, align 8, !tbaa !58
  %15424 = add i64 %15423, -1000000
  store i64 %15424, ptr %15038, align 8, !tbaa !58
  %15425 = load i32, ptr @test_count, align 4, !tbaa !5
  %15426 = add nsw i32 %15425, 1
  store i32 %15426, ptr @test_count, align 4, !tbaa !5
  %15427 = call i32 @s2n_negotiate_until_message(ptr noundef nonnull %14762, ptr noundef nonnull %137, i32 noundef 1) #13
  %15428 = call zeroext i1 @s2n_result_is_ok(i32 %15427)
  br i1 %15428, label %15451, label %15429

15429:                                            ; preds = %15422
  %15430 = load i32, ptr %377, align 4, !tbaa !5
  %15431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15432 = call i32 @s2n_print_stacktrace(ptr noundef %15431) #13
  %15433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15434 = trunc nuw i8 %15433 to i1
  br i1 %15434, label %15435, label %15439

15435:                                            ; preds = %15429
  %15436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15437 = call i32 @fileno(ptr noundef %15436) #13
  %15438 = call i32 @isatty(i32 noundef %15437) #13
  %.not1885 = icmp eq i32 %15438, 0
  br i1 %.not1885, label %15439, label %15440

15439:                                            ; preds = %15435, %15429
  br label %15440

15440:                                            ; preds = %15435, %15439
  %.str.5.sink7203 = phi ptr [ @.str.5, %15439 ], [ @.str.2, %15435 ]
  store i32 %15430, ptr %377, align 4, !tbaa !5
  %15441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15442 = load i32, ptr @test_count, align 4, !tbaa !5
  %15443 = load i32, ptr %323, align 4, !tbaa !5
  %15444 = call ptr @s2n_strerror(i32 noundef %15443, ptr noundef nonnull @.str.4) #13
  %15445 = load i32, ptr %323, align 4, !tbaa !5
  %15446 = call ptr @s2n_strerror_debug(i32 noundef %15445, ptr noundef nonnull @.str.4) #13
  %15447 = load i32, ptr %377, align 4, !tbaa !5
  %15448 = call ptr @strerror(i32 noundef %15447) #13
  %15449 = load i32, ptr %377, align 4, !tbaa !5
  %15450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15441, ptr noundef nonnull %.str.5.sink7203, i32 noundef %15442, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 1611, ptr noundef %15444, ptr noundef %15446, ptr noundef %15448, i32 noundef %15449) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15451:                                            ; preds = %15422
  %15452 = load i32, ptr @test_count, align 4, !tbaa !5
  %15453 = add nsw i32 %15452, 1
  store i32 %15453, ptr @test_count, align 4, !tbaa !5
  %15454 = load ptr, ptr %15041, align 8, !tbaa !100
  %15455 = call i32 @s2n_stuffer_skip_read_until(ptr noundef nonnull %134, ptr noundef %15454) #13
  %15456 = icmp eq i32 %15455, -1
  br i1 %15456, label %15457, label %15479

15457:                                            ; preds = %15451
  %15458 = load i32, ptr %377, align 4, !tbaa !5
  %15459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15460 = call i32 @s2n_print_stacktrace(ptr noundef %15459) #13
  %15461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15462 = trunc nuw i8 %15461 to i1
  br i1 %15462, label %15463, label %15467

15463:                                            ; preds = %15457
  %15464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15465 = call i32 @fileno(ptr noundef %15464) #13
  %15466 = call i32 @isatty(i32 noundef %15465) #13
  %.not1901 = icmp eq i32 %15466, 0
  br i1 %.not1901, label %15467, label %15468

15467:                                            ; preds = %15463, %15457
  br label %15468

15468:                                            ; preds = %15463, %15467
  %.str.5.sink7212 = phi ptr [ @.str.5, %15467 ], [ @.str.2, %15463 ]
  store i32 %15458, ptr %377, align 4, !tbaa !5
  %15469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15470 = load i32, ptr @test_count, align 4, !tbaa !5
  %15471 = load i32, ptr %323, align 4, !tbaa !5
  %15472 = call ptr @s2n_strerror(i32 noundef %15471, ptr noundef nonnull @.str.4) #13
  %15473 = load i32, ptr %323, align 4, !tbaa !5
  %15474 = call ptr @s2n_strerror_debug(i32 noundef %15473, ptr noundef nonnull @.str.4) #13
  %15475 = load i32, ptr %377, align 4, !tbaa !5
  %15476 = call ptr @strerror(i32 noundef %15475) #13
  %15477 = load i32, ptr %377, align 4, !tbaa !5
  %15478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15469, ptr noundef nonnull %.str.5.sink7212, i32 noundef %15470, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.1, i32 noundef 1614, ptr noundef %15472, ptr noundef %15474, ptr noundef %15476, i32 noundef %15477) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15479:                                            ; preds = %15451
  %15480 = load i32, ptr @test_count, align 4, !tbaa !5
  %15481 = add nsw i32 %15480, 1
  store i32 %15481, ptr @test_count, align 4, !tbaa !5
  %15482 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %134, i32 noundef %15104) #13
  %15483 = icmp eq i32 %15482, -1
  br i1 %15483, label %15484, label %15506

15484:                                            ; preds = %15479
  %15485 = load i32, ptr %377, align 4, !tbaa !5
  %15486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15487 = call i32 @s2n_print_stacktrace(ptr noundef %15486) #13
  %15488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15489 = trunc nuw i8 %15488 to i1
  br i1 %15489, label %15490, label %15494

15490:                                            ; preds = %15484
  %15491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15492 = call i32 @fileno(ptr noundef %15491) #13
  %15493 = call i32 @isatty(i32 noundef %15492) #13
  %.not1900 = icmp eq i32 %15493, 0
  br i1 %.not1900, label %15494, label %15495

15494:                                            ; preds = %15490, %15484
  br label %15495

15495:                                            ; preds = %15490, %15494
  %.str.5.sink7221 = phi ptr [ @.str.5, %15494 ], [ @.str.2, %15490 ]
  store i32 %15485, ptr %377, align 4, !tbaa !5
  %15496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15497 = load i32, ptr @test_count, align 4, !tbaa !5
  %15498 = load i32, ptr %323, align 4, !tbaa !5
  %15499 = call ptr @s2n_strerror(i32 noundef %15498, ptr noundef nonnull @.str.4) #13
  %15500 = load i32, ptr %323, align 4, !tbaa !5
  %15501 = call ptr @s2n_strerror_debug(i32 noundef %15500, ptr noundef nonnull @.str.4) #13
  %15502 = load i32, ptr %377, align 4, !tbaa !5
  %15503 = call ptr @strerror(i32 noundef %15502) #13
  %15504 = load i32, ptr %377, align 4, !tbaa !5
  %15505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15496, ptr noundef nonnull %.str.5.sink7221, i32 noundef %15497, ptr noundef nonnull @.str.235, ptr noundef nonnull @.str.1, i32 noundef 1615, ptr noundef %15499, ptr noundef %15501, ptr noundef %15503, i32 noundef %15504) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15506:                                            ; preds = %15479
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %142) #13
  store i32 0, ptr %142, align 4, !tbaa !5
  %15507 = load i32, ptr @test_count, align 4, !tbaa !5
  %15508 = add nsw i32 %15507, 1
  store i32 %15508, ptr @test_count, align 4, !tbaa !5
  %15509 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %134, ptr noundef nonnull %142) #13
  %15510 = icmp eq i32 %15509, -1
  br i1 %15510, label %15511, label %15533

15511:                                            ; preds = %15506
  %15512 = load i32, ptr %377, align 4, !tbaa !5
  %15513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15514 = call i32 @s2n_print_stacktrace(ptr noundef %15513) #13
  %15515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15516 = trunc nuw i8 %15515 to i1
  br i1 %15516, label %15517, label %15521

15517:                                            ; preds = %15511
  %15518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15519 = call i32 @fileno(ptr noundef %15518) #13
  %15520 = call i32 @isatty(i32 noundef %15519) #13
  %.not1899 = icmp eq i32 %15520, 0
  br i1 %.not1899, label %15521, label %15522

15521:                                            ; preds = %15517, %15511
  br label %15522

15522:                                            ; preds = %15517, %15521
  %.str.5.sink7230 = phi ptr [ @.str.5, %15521 ], [ @.str.2, %15517 ]
  store i32 %15512, ptr %377, align 4, !tbaa !5
  %15523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15524 = load i32, ptr @test_count, align 4, !tbaa !5
  %15525 = load i32, ptr %323, align 4, !tbaa !5
  %15526 = call ptr @s2n_strerror(i32 noundef %15525, ptr noundef nonnull @.str.4) #13
  %15527 = load i32, ptr %323, align 4, !tbaa !5
  %15528 = call ptr @s2n_strerror_debug(i32 noundef %15527, ptr noundef nonnull @.str.4) #13
  %15529 = load i32, ptr %377, align 4, !tbaa !5
  %15530 = call ptr @strerror(i32 noundef %15529) #13
  %15531 = load i32, ptr %377, align 4, !tbaa !5
  %15532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15523, ptr noundef nonnull %.str.5.sink7230, i32 noundef %15524, ptr noundef nonnull @.str.244, ptr noundef nonnull @.str.1, i32 noundef 1617, ptr noundef %15526, ptr noundef %15528, ptr noundef %15530, i32 noundef %15531) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15533:                                            ; preds = %15506
  %15534 = load i32, ptr @test_count, align 4, !tbaa !5
  %15535 = add nsw i32 %15534, 1
  store i32 %15535, ptr @test_count, align 4, !tbaa !5
  %15536 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %134, i32 noundef 2) #13
  %15537 = icmp eq i32 %15536, -1
  br i1 %15537, label %15538, label %15560

15538:                                            ; preds = %15533
  %15539 = load i32, ptr %377, align 4, !tbaa !5
  %15540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15541 = call i32 @s2n_print_stacktrace(ptr noundef %15540) #13
  %15542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15543 = trunc nuw i8 %15542 to i1
  br i1 %15543, label %15544, label %15548

15544:                                            ; preds = %15538
  %15545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15546 = call i32 @fileno(ptr noundef %15545) #13
  %15547 = call i32 @isatty(i32 noundef %15546) #13
  %.not1898 = icmp eq i32 %15547, 0
  br i1 %.not1898, label %15548, label %15549

15548:                                            ; preds = %15544, %15538
  br label %15549

15549:                                            ; preds = %15544, %15548
  %.str.5.sink7239 = phi ptr [ @.str.5, %15548 ], [ @.str.2, %15544 ]
  store i32 %15539, ptr %377, align 4, !tbaa !5
  %15550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15551 = load i32, ptr @test_count, align 4, !tbaa !5
  %15552 = load i32, ptr %323, align 4, !tbaa !5
  %15553 = call ptr @s2n_strerror(i32 noundef %15552, ptr noundef nonnull @.str.4) #13
  %15554 = load i32, ptr %323, align 4, !tbaa !5
  %15555 = call ptr @s2n_strerror_debug(i32 noundef %15554, ptr noundef nonnull @.str.4) #13
  %15556 = load i32, ptr %377, align 4, !tbaa !5
  %15557 = call ptr @strerror(i32 noundef %15556) #13
  %15558 = load i32, ptr %377, align 4, !tbaa !5
  %15559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15550, ptr noundef nonnull %.str.5.sink7239, i32 noundef %15551, ptr noundef nonnull @.str.237, ptr noundef nonnull @.str.1, i32 noundef 1620, ptr noundef %15553, ptr noundef %15555, ptr noundef %15557, i32 noundef %15558) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15560:                                            ; preds = %15533
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %143) #13
  store i8 0, ptr %143, align 1, !tbaa !90
  %15561 = load i32, ptr @test_count, align 4, !tbaa !5
  %15562 = add nsw i32 %15561, 1
  store i32 %15562, ptr @test_count, align 4, !tbaa !5
  %15563 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %134, ptr noundef nonnull %143) #13
  %15564 = icmp eq i32 %15563, -1
  br i1 %15564, label %15565, label %15587

15565:                                            ; preds = %15560
  %15566 = load i32, ptr %377, align 4, !tbaa !5
  %15567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15568 = call i32 @s2n_print_stacktrace(ptr noundef %15567) #13
  %15569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15570 = trunc nuw i8 %15569 to i1
  br i1 %15570, label %15571, label %15575

15571:                                            ; preds = %15565
  %15572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15573 = call i32 @fileno(ptr noundef %15572) #13
  %15574 = call i32 @isatty(i32 noundef %15573) #13
  %.not1897 = icmp eq i32 %15574, 0
  br i1 %.not1897, label %15575, label %15576

15575:                                            ; preds = %15571, %15565
  br label %15576

15576:                                            ; preds = %15571, %15575
  %.str.5.sink7248 = phi ptr [ @.str.5, %15575 ], [ @.str.2, %15571 ]
  store i32 %15566, ptr %377, align 4, !tbaa !5
  %15577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15578 = load i32, ptr @test_count, align 4, !tbaa !5
  %15579 = load i32, ptr %323, align 4, !tbaa !5
  %15580 = call ptr @s2n_strerror(i32 noundef %15579, ptr noundef nonnull @.str.4) #13
  %15581 = load i32, ptr %323, align 4, !tbaa !5
  %15582 = call ptr @s2n_strerror_debug(i32 noundef %15581, ptr noundef nonnull @.str.4) #13
  %15583 = load i32, ptr %377, align 4, !tbaa !5
  %15584 = call ptr @strerror(i32 noundef %15583) #13
  %15585 = load i32, ptr %377, align 4, !tbaa !5
  %15586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15577, ptr noundef nonnull %.str.5.sink7248, i32 noundef %15578, ptr noundef nonnull @.str.245, ptr noundef nonnull @.str.1, i32 noundef 1624, ptr noundef %15580, ptr noundef %15582, ptr noundef %15584, i32 noundef %15585) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15587:                                            ; preds = %15560
  %15588 = load i32, ptr @test_count, align 4, !tbaa !5
  %15589 = add nsw i32 %15588, 1
  store i32 %15589, ptr @test_count, align 4, !tbaa !5
  %15590 = load i8, ptr %143, align 1, !tbaa !90
  %15591 = icmp eq i8 %15590, 32
  br i1 %15591, label %15614, label %15592

15592:                                            ; preds = %15587
  %15593 = load i32, ptr %377, align 4, !tbaa !5
  %15594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15595 = call i32 @s2n_print_stacktrace(ptr noundef %15594) #13
  %15596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15597 = trunc nuw i8 %15596 to i1
  br i1 %15597, label %15598, label %15602

15598:                                            ; preds = %15592
  %15599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15600 = call i32 @fileno(ptr noundef %15599) #13
  %15601 = call i32 @isatty(i32 noundef %15600) #13
  %.not1886 = icmp eq i32 %15601, 0
  br i1 %.not1886, label %15602, label %15603

15602:                                            ; preds = %15598, %15592
  br label %15603

15603:                                            ; preds = %15598, %15602
  %.str.5.sink7257 = phi ptr [ @.str.5, %15602 ], [ @.str.2, %15598 ]
  store i32 %15593, ptr %377, align 4, !tbaa !5
  %15604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15605 = load i32, ptr @test_count, align 4, !tbaa !5
  %15606 = load i32, ptr %323, align 4, !tbaa !5
  %15607 = call ptr @s2n_strerror(i32 noundef %15606, ptr noundef nonnull @.str.4) #13
  %15608 = load i32, ptr %323, align 4, !tbaa !5
  %15609 = call ptr @s2n_strerror_debug(i32 noundef %15608, ptr noundef nonnull @.str.4) #13
  %15610 = load i32, ptr %377, align 4, !tbaa !5
  %15611 = call ptr @strerror(i32 noundef %15610) #13
  %15612 = load i32, ptr %377, align 4, !tbaa !5
  %15613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15604, ptr noundef nonnull %.str.5.sink7257, i32 noundef %15605, ptr noundef nonnull @.str.246, ptr noundef nonnull @.str.1, i32 noundef 1625, ptr noundef %15607, ptr noundef %15609, ptr noundef %15611, i32 noundef %15612) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15614:                                            ; preds = %15587
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %144) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(32) %144, i8 0, i64 32, i1 false)
  %15615 = add nsw i32 %15588, 2
  store i32 %15615, ptr @test_count, align 4, !tbaa !5
  %15616 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %134, ptr noundef nonnull %144, i32 noundef 32) #13
  %15617 = icmp eq i32 %15616, -1
  br i1 %15617, label %15618, label %15640

15618:                                            ; preds = %15614
  %15619 = load i32, ptr %377, align 4, !tbaa !5
  %15620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15621 = call i32 @s2n_print_stacktrace(ptr noundef %15620) #13
  %15622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15623 = trunc nuw i8 %15622 to i1
  br i1 %15623, label %15624, label %15628

15624:                                            ; preds = %15618
  %15625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15626 = call i32 @fileno(ptr noundef %15625) #13
  %15627 = call i32 @isatty(i32 noundef %15626) #13
  %.not1896 = icmp eq i32 %15627, 0
  br i1 %.not1896, label %15628, label %15629

15628:                                            ; preds = %15624, %15618
  br label %15629

15629:                                            ; preds = %15624, %15628
  %.str.5.sink7266 = phi ptr [ @.str.5, %15628 ], [ @.str.2, %15624 ]
  store i32 %15619, ptr %377, align 4, !tbaa !5
  %15630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15631 = load i32, ptr @test_count, align 4, !tbaa !5
  %15632 = load i32, ptr %323, align 4, !tbaa !5
  %15633 = call ptr @s2n_strerror(i32 noundef %15632, ptr noundef nonnull @.str.4) #13
  %15634 = load i32, ptr %323, align 4, !tbaa !5
  %15635 = call ptr @s2n_strerror_debug(i32 noundef %15634, ptr noundef nonnull @.str.4) #13
  %15636 = load i32, ptr %377, align 4, !tbaa !5
  %15637 = call ptr @strerror(i32 noundef %15636) #13
  %15638 = load i32, ptr %377, align 4, !tbaa !5
  %15639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15630, ptr noundef nonnull %.str.5.sink7266, i32 noundef %15631, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.1, i32 noundef 1629, ptr noundef %15633, ptr noundef %15635, ptr noundef %15637, i32 noundef %15638) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15640:                                            ; preds = %15614
  %15641 = load i32, ptr @test_count, align 4, !tbaa !5
  %15642 = add nsw i32 %15641, 1
  store i32 %15642, ptr @test_count, align 4, !tbaa !5
  %15643 = load i32, ptr %138, align 4, !tbaa !5
  %15644 = load i32, ptr %142, align 4, !tbaa !5
  %.not1887 = icmp eq i32 %15643, %15644
  br i1 %.not1887, label %15645, label %15667

15645:                                            ; preds = %15640
  %15646 = load i32, ptr %377, align 4, !tbaa !5
  %15647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15648 = call i32 @s2n_print_stacktrace(ptr noundef %15647) #13
  %15649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15650 = trunc nuw i8 %15649 to i1
  br i1 %15650, label %15651, label %15655

15651:                                            ; preds = %15645
  %15652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15653 = call i32 @fileno(ptr noundef %15652) #13
  %15654 = call i32 @isatty(i32 noundef %15653) #13
  %.not1888 = icmp eq i32 %15654, 0
  br i1 %.not1888, label %15655, label %15656

15655:                                            ; preds = %15651, %15645
  br label %15656

15656:                                            ; preds = %15651, %15655
  %.str.5.sink7275 = phi ptr [ @.str.5, %15655 ], [ @.str.2, %15651 ]
  store i32 %15646, ptr %377, align 4, !tbaa !5
  %15657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15658 = load i32, ptr @test_count, align 4, !tbaa !5
  %15659 = load i32, ptr %323, align 4, !tbaa !5
  %15660 = call ptr @s2n_strerror(i32 noundef %15659, ptr noundef nonnull @.str.4) #13
  %15661 = load i32, ptr %323, align 4, !tbaa !5
  %15662 = call ptr @s2n_strerror_debug(i32 noundef %15661, ptr noundef nonnull @.str.4) #13
  %15663 = load i32, ptr %377, align 4, !tbaa !5
  %15664 = call ptr @strerror(i32 noundef %15663) #13
  %15665 = load i32, ptr %377, align 4, !tbaa !5
  %15666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15657, ptr noundef nonnull %.str.5.sink7275, i32 noundef %15658, ptr noundef nonnull @.str.248, ptr noundef nonnull @.str.1, i32 noundef 1632, ptr noundef %15660, ptr noundef %15662, ptr noundef %15664, i32 noundef %15665) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15667:                                            ; preds = %15640
  %15668 = add nsw i32 %15641, 2
  store i32 %15668, ptr @test_count, align 4, !tbaa !5
  %15669 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %140, ptr noundef nonnull %144, i32 noundef 32) #13
  br i1 %15669, label %15670, label %15692

15670:                                            ; preds = %15667
  %15671 = load i32, ptr %377, align 4, !tbaa !5
  %15672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15673 = call i32 @s2n_print_stacktrace(ptr noundef %15672) #13
  %15674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15675 = trunc nuw i8 %15674 to i1
  br i1 %15675, label %15676, label %15680

15676:                                            ; preds = %15670
  %15677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15678 = call i32 @fileno(ptr noundef %15677) #13
  %15679 = call i32 @isatty(i32 noundef %15678) #13
  %.not1895 = icmp eq i32 %15679, 0
  br i1 %.not1895, label %15680, label %15681

15680:                                            ; preds = %15676, %15670
  br label %15681

15681:                                            ; preds = %15676, %15680
  %.str.5.sink7284 = phi ptr [ @.str.5, %15680 ], [ @.str.2, %15676 ]
  store i32 %15671, ptr %377, align 4, !tbaa !5
  %15682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15683 = load i32, ptr @test_count, align 4, !tbaa !5
  %15684 = load i32, ptr %323, align 4, !tbaa !5
  %15685 = call ptr @s2n_strerror(i32 noundef %15684, ptr noundef nonnull @.str.4) #13
  %15686 = load i32, ptr %323, align 4, !tbaa !5
  %15687 = call ptr @s2n_strerror_debug(i32 noundef %15686, ptr noundef nonnull @.str.4) #13
  %15688 = load i32, ptr %377, align 4, !tbaa !5
  %15689 = call ptr @strerror(i32 noundef %15688) #13
  %15690 = load i32, ptr %377, align 4, !tbaa !5
  %15691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15682, ptr noundef nonnull %.str.5.sink7284, i32 noundef %15683, ptr noundef nonnull @.str.249, ptr noundef nonnull @.str.1, i32 noundef 1633, ptr noundef %15685, ptr noundef %15687, ptr noundef %15689, i32 noundef %15690) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15692:                                            ; preds = %15667
  %15693 = load i32, ptr @test_count, align 4, !tbaa !5
  %15694 = add nsw i32 %15693, 1
  store i32 %15694, ptr @test_count, align 4, !tbaa !5
  %15695 = call i32 @s2n_stuffer_free(ptr noundef nonnull %14956) #13
  %15696 = icmp eq i32 %15695, -1
  br i1 %15696, label %15697, label %15719

15697:                                            ; preds = %15692
  %15698 = load i32, ptr %377, align 4, !tbaa !5
  %15699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15700 = call i32 @s2n_print_stacktrace(ptr noundef %15699) #13
  %15701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15702 = trunc nuw i8 %15701 to i1
  br i1 %15702, label %15703, label %15707

15703:                                            ; preds = %15697
  %15704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15705 = call i32 @fileno(ptr noundef %15704) #13
  %15706 = call i32 @isatty(i32 noundef %15705) #13
  %.not1894 = icmp eq i32 %15706, 0
  br i1 %.not1894, label %15707, label %15708

15707:                                            ; preds = %15703, %15697
  br label %15708

15708:                                            ; preds = %15703, %15707
  %.str.5.sink7293 = phi ptr [ @.str.5, %15707 ], [ @.str.2, %15703 ]
  store i32 %15698, ptr %377, align 4, !tbaa !5
  %15709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15710 = load i32, ptr @test_count, align 4, !tbaa !5
  %15711 = load i32, ptr %323, align 4, !tbaa !5
  %15712 = call ptr @s2n_strerror(i32 noundef %15711, ptr noundef nonnull @.str.4) #13
  %15713 = load i32, ptr %323, align 4, !tbaa !5
  %15714 = call ptr @s2n_strerror_debug(i32 noundef %15713, ptr noundef nonnull @.str.4) #13
  %15715 = load i32, ptr %377, align 4, !tbaa !5
  %15716 = call ptr @strerror(i32 noundef %15715) #13
  %15717 = load i32, ptr %377, align 4, !tbaa !5
  %15718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15709, ptr noundef nonnull %.str.5.sink7293, i32 noundef %15710, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 1635, ptr noundef %15712, ptr noundef %15714, ptr noundef %15716, i32 noundef %15717) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15719:                                            ; preds = %15692
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %144) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %143) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %142) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %141) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %139) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %138) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %137) #13
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %136) #13
  %15720 = call i32 @s2n_stuffer_free(ptr noundef nonnull %135) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %135) #13
  %15721 = call i32 @s2n_stuffer_free(ptr noundef nonnull %134) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %134) #13
  %15722 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %133) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #13
  %15723 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %132) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %132) #13
  %15724 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %131) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %131) #13
  %15725 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %130) #13
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %130) #13
  br label %15726

15726:                                            ; preds = %15719, %14569
  %15727 = call i32 @s2n_cleanup() #13
  %15728 = icmp eq i32 %15727, -1
  br i1 %15728, label %15729, label %15751

15729:                                            ; preds = %15726
  %15730 = load i32, ptr %377, align 4, !tbaa !5
  %15731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15732 = call i32 @s2n_print_stacktrace(ptr noundef %15731) #13
  %15733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15734 = trunc nuw i8 %15733 to i1
  br i1 %15734, label %15735, label %15739

15735:                                            ; preds = %15729
  %15736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15737 = call i32 @fileno(ptr noundef %15736) #13
  %15738 = call i32 @isatty(i32 noundef %15737) #13
  %.not1893 = icmp eq i32 %15738, 0
  br i1 %.not1893, label %15739, label %15740

15739:                                            ; preds = %15735, %15729
  br label %15740

15740:                                            ; preds = %15735, %15739
  %.str.5.sink7302 = phi ptr [ @.str.5, %15739 ], [ @.str.2, %15735 ]
  store i32 %15730, ptr %377, align 4, !tbaa !5
  %15741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15742 = load i32, ptr @test_count, align 4, !tbaa !5
  %15743 = load i32, ptr %323, align 4, !tbaa !5
  %15744 = call ptr @s2n_strerror(i32 noundef %15743, ptr noundef nonnull @.str.4) #13
  %15745 = load i32, ptr %323, align 4, !tbaa !5
  %15746 = call ptr @s2n_strerror_debug(i32 noundef %15745, ptr noundef nonnull @.str.4) #13
  %15747 = load i32, ptr %377, align 4, !tbaa !5
  %15748 = call ptr @strerror(i32 noundef %15747) #13
  %15749 = load i32, ptr %377, align 4, !tbaa !5
  %15750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15741, ptr noundef nonnull %.str.5.sink7302, i32 noundef %15742, ptr noundef nonnull @.str.250, ptr noundef nonnull @.str.1, i32 noundef 1638, ptr noundef %15744, ptr noundef %15746, ptr noundef %15748, i32 noundef %15749) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15751:                                            ; preds = %15726
  %15752 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #13
  %15753 = icmp eq i32 %15752, -1
  br i1 %15753, label %15754, label %15776

15754:                                            ; preds = %15751
  %15755 = load i32, ptr %377, align 4, !tbaa !5
  %15756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15757 = call i32 @s2n_print_stacktrace(ptr noundef %15756) #13
  %15758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15759 = trunc nuw i8 %15758 to i1
  br i1 %15759, label %15760, label %15764

15760:                                            ; preds = %15754
  %15761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15762 = call i32 @fileno(ptr noundef %15761) #13
  %15763 = call i32 @isatty(i32 noundef %15762) #13
  %.not1892 = icmp eq i32 %15763, 0
  br i1 %.not1892, label %15764, label %15765

15764:                                            ; preds = %15760, %15754
  br label %15765

15765:                                            ; preds = %15760, %15764
  %.str.5.sink7311 = phi ptr [ @.str.5, %15764 ], [ @.str.2, %15760 ]
  store i32 %15755, ptr %377, align 4, !tbaa !5
  %15766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15767 = load i32, ptr @test_count, align 4, !tbaa !5
  %15768 = load i32, ptr %323, align 4, !tbaa !5
  %15769 = call ptr @s2n_strerror(i32 noundef %15768, ptr noundef nonnull @.str.4) #13
  %15770 = load i32, ptr %323, align 4, !tbaa !5
  %15771 = call ptr @s2n_strerror_debug(i32 noundef %15770, ptr noundef nonnull @.str.4) #13
  %15772 = load i32, ptr %377, align 4, !tbaa !5
  %15773 = call ptr @strerror(i32 noundef %15772) #13
  %15774 = load i32, ptr %377, align 4, !tbaa !5
  %15775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15766, ptr noundef nonnull %.str.5.sink7311, i32 noundef %15767, ptr noundef nonnull @.str.251, ptr noundef nonnull @.str.1, i32 noundef 1638, ptr noundef %15769, ptr noundef %15771, ptr noundef %15773, i32 noundef %15774) #15
  call void @exit(i32 noundef 1) #16
  unreachable

15776:                                            ; preds = %15751
  %15777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15778 = trunc nuw i8 %15777 to i1
  br i1 %15778, label %15779, label %15790

15779:                                            ; preds = %15776
  %15780 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15781 = call i32 @fileno(ptr noundef %15780) #13
  %15782 = call i32 @isatty(i32 noundef %15781) #13
  %.not1889 = icmp eq i32 %15782, 0
  br i1 %.not1889, label %15790, label %15783

15783:                                            ; preds = %15779
  %15784 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1891 = icmp eq i32 %15784, 0
  %15785 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1891, label %15788, label %15786

15786:                                            ; preds = %15783
  %15787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15785, ptr noundef nonnull @.str.252, i32 noundef %15784) #13
  br label %15797

15788:                                            ; preds = %15783
  %15789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15785, ptr noundef nonnull @.str.253) #13
  br label %15797

15790:                                            ; preds = %15779, %15776
  %15791 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1890 = icmp eq i32 %15791, 0
  %15792 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1890, label %15795, label %15793

15793:                                            ; preds = %15790
  %15794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15792, ptr noundef nonnull @.str.254, i32 noundef %15791) #13
  br label %15797

15795:                                            ; preds = %15790
  %15796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15792, ptr noundef nonnull @.str.255) #13
  br label %15797

15797:                                            ; preds = %15793, %15795, %15786, %15788
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10) #13
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %9) #13
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %8) #13
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %7) #13
  call void @llvm.lifetime.end.p0(i64 17, ptr nonnull %6) #13
  call void @llvm.lifetime.end.p0(i64 14, ptr nonnull %5) #13
  call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %4) #13
  call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %3) #13
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #3

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #3

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #5

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #6

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #3

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #4

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #6

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #8

declare i32 @s2n_enable_atexit() local_unnamed_addr #4

declare i32 @s2n_init() local_unnamed_addr #4

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

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #4

declare void @s2n_debug_info_reset() local_unnamed_addr #4

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_array_pushback(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_extension_send(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

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

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #2

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

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_psk_init(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #4

declare i32 @s2n_psk_parameters_offered_psks_size(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_read_uint16(ptr noundef, ptr noundef) local_unnamed_addr #4

declare ptr @s2n_stuffer_raw_read(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_read_uint32(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #4

declare ptr @s2n_config_new() local_unnamed_addr #4

declare i32 @s2n_config_set_wall_clock(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

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

declare i32 @s2n_connection_set_config(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #4

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #4

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_config_disable_x509_verification(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare ptr @s2n_test_psk_new(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_psk_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_append_psk(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_negotiate_until_message(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #4

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

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

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

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

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) local_unnamed_addr #4

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

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

declare i32 @s2n_connection_set_psk_type(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_alloc(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_config_set_psk_selection_callback(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

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

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

declare i32 @s2n_stuffer_rewrite(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_psk_wipe(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #4

declare i32 @s2n_psk_calculate_binder_hash(ptr noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_psk_calculate_binder(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) local_unnamed_addr #4

declare i32 @s2n_stuffer_write(ptr noundef, ptr noundef) local_unnamed_addr #4

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

declare i32 @s2n_stuffer_reread(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_extension_recv(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_finish_psk_extension(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_set_io_pair(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_client_hello_send(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_client_hello_recv(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #11

declare i32 @s2n_stuffer_skip_read_until(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_read_uint8(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_read_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare zeroext i1 @s2n_constant_time_equals(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_cleanup() local_unnamed_addr #4

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #12

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 #4 = { "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 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 #6 = { 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 #7 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #8 = { 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 #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #10 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { mustprogress nofree nounwind willreturn memory(argmem: 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 #12 = { nofree nounwind willreturn memory(argmem: read) }
attributes #13 = { nounwind }
attributes #14 = { nounwind willreturn memory(none) }
attributes #15 = { cold nounwind }
attributes #16 = { noreturn nounwind }
attributes #17 = { 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 4088}
!16 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !17, i64 160, !18, i64 168, !18, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!43, !10, i64 32}
!43 = !{!"", !31, i64 0, !6, i64 2, !31, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!44 = !{!43, !10, i64 24}
!45 = !{!16, !7, i64 220}
!46 = !{!16, !10, i64 232}
!47 = !{!48, !10, i64 0}
!48 = !{!"s2n_crypto_parameters", !10, i64 0, !49, i64 8, !49, i64 16, !50, i64 24, !50, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!49 = !{!"s2n_session_key", !10, i64 0}
!50 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !51, i64 16, !51, i64 72, !51, i64 128, !51, i64 184, !7, i64 240, !7, i64 368}
!51 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!52 = !{!53, !6, i64 96}
!53 = !{!"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}
!54 = !{!16, !6, i64 2172}
!55 = !{!56, !6, i64 56}
!56 = !{!"s2n_psk", !6, i64 0, !25, i64 8, !25, i64 32, !6, i64 56, !6, i64 60, !18, i64 64, !25, i64 72, !57, i64 96, !18, i64 160}
!57 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !25, i64 16, !25, i64 40}
!58 = !{!56, !18, i64 64}
!59 = !{!56, !6, i64 0}
!60 = !{!61, !18, i64 0}
!61 = !{!"", !18, i64 0, !18, i64 8, !6, i64 16, !6, i64 20}
!62 = !{!61, !18, i64 8}
!63 = !{!61, !6, i64 16}
!64 = !{!56, !6, i64 60}
!65 = !{!61, !6, i64 20}
!66 = !{!43, !10, i64 8}
!67 = !{!32, !6, i64 28}
!68 = !{!32, !6, i64 24}
!69 = !{!31, !31, i64 0}
!70 = !{!16, !10, i64 16}
!71 = !{!72, !10, i64 8}
!72 = !{!"", !12, i64 0, !10, i64 8, !18, i64 16, !10, i64 24, !18, i64 32, !18, i64 40, !18, i64 48}
!73 = !{!72, !18, i64 16}
!74 = !{!72, !10, i64 24}
!75 = !{!72, !18, i64 32}
!76 = !{!72, !12, i64 0}
!77 = !{!72, !18, i64 40}
!78 = !{!72, !18, i64 48}
!79 = !{!16, !6, i64 1688}
!80 = !{!81, !10, i64 0}
!81 = !{!"s2n_offered_psk_list", !10, i64 0, !32, i64 8, !31, i64 48}
!82 = distinct !{!82, !83}
!83 = !{!"llvm.loop.mustprogress"}
!84 = !{!25, !10, i64 0}
!85 = !{!25, !6, i64 8}
!86 = distinct !{!86, !83}
!87 = !{!16, !31, i64 1730}
!88 = !{!16, !10, i64 1736}
!89 = distinct !{!89, !83}
!90 = !{!7, !7, i64 0}
!91 = !{!16, !31, i64 3616}
!92 = !{!16, !6, i64 1744}
!93 = !{!94, !31, i64 26}
!94 = !{!"", !25, i64 0, !31, i64 24, !31, i64 26, !6, i64 28}
!95 = !{!16, !6, i64 2044}
!96 = !{!16, !6, i64 2040}
!97 = !{!56, !6, i64 40}
!98 = !{!56, !10, i64 32}
!99 = !{!56, !6, i64 16}
!100 = !{!56, !10, i64 8}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass